// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: message.proto
// </auto-generated>
#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 message.proto</summary>
public static partial class MessageReflection {

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

  static MessageReflection() {
    byte[] descriptorData = global::System.Convert.FromBase64String(
        string.Concat(
          "Cg1tZXNzYWdlLnByb3RvIoYCCgxtZWFzdXJlX2luZm8SCgoCY3gYASABKAIS",
          "CgoCY3kYAiABKAISDQoFdGhldGEYAyABKAISDgoGbGVuZ3RoGAQgASgCEg0K",
          "BXdpZHRoGAUgASgCEg4KBmhlaWdodBgGIAEoAhIRCgl3aGVlbGJhc2UYByAB",
          "KAISEwoLZnJvbnRfdGhldGEYCCABKAISFAoMYm9yZGVyX3N0YXR1GAkgASgF",
          "EiQKDWdyb3VuZF9zdGF0dXMYCiABKA4yDS5NZWFzdXJlU3RhdHUSDwoHaXNf",
          "c3RvcBgLIAEoBRIUCgxtb3Rpb25fc3RhdHUYDCABKAUSFQoNbW92ZV9kaXN0",
          "YW5jZRgNIAEoAiKCAQoOcGFya3NwYWNlX2luZm8SCgoCaWQYASABKAUSEQoJ",
          "c2VyaWFsX2lkGAIgASgFEhAKCHRhYmxlX2lkGAMgASgFEg8KB3VuaXRfaWQY",
          "BCABKAUSDQoFZmxvb3IYBSABKAUSDwoHcm9vbV9pZBgGIAEoBRIOCgZoZWln",
          "aHQYByABKAIidwoLdGFibGVfc3RhdHUSHQoNZXhlY3V0ZV9zdGF0dRgBIAEo",
          "DjIGLlNUQVRVEhkKEXN0YXR1X2Rlc2NyaXB0aW9uGAIgASgJEi4KEXRhYmxl",
          "X3Byb2Nlc3NfbW9kGAMgASgOMhMuVGFibGVfcHJvY2Vzc19tb2RlIroBChFw",
          "bGF0ZV9udW1iZXJfaW5mbxIUCgxwbGF0ZV9udW1iZXIYASABKAkSEwoLcGxh",
          "dGVfY29sb3IYAiABKAkSEgoKcGxhdGVfdHlwZRgDIAEoCRIYChBwbGF0ZV9j",
          "b25maWRlbmNlGAQgASgFEhgKEHJlY29nbml0aW9uX3RpbWUYBSABKAkSGAoQ",
          "cGxhdGVfZnVsbF9pbWFnZRgGIAEoCRIYChBwbGF0ZV9jbGlwX2ltYWdlGAcg",
          "ASgJIocDCgpwYXJrX3RhYmxlEhsKBXN0YXR1GAEgASgLMgwudGFibGVfc3Rh",
          "dHUSEAoIcXVldWVfaWQYAiABKAUSEgoKY2FyX251bWJlchgDIAEoCRIPCgd1",
          "bml0X2lkGAQgASgFEhMKC3Rlcm1pbmFsX2lkGAUgASgFEhMKC3ByaW1hcnlf",
          "a2V5GAYgASgJEi4KFWVudHJhbmNlX21lYXN1cmVfaW5mbxgHIAEoCzIPLm1l",
          "YXN1cmVfYnVmZmVyEi0KFGFsbG9jYXRlZF9zcGFjZV9pbmZvGAggASgLMg8u",
          "cGFya3NwYWNlX2luZm8SLgoVYWN0dWFsbHlfbWVhc3VyZV9pbmZvGAkgASgL",
          "Mg8ubWVhc3VyZV9idWZmZXISLAoTYWN0dWFsbHlfc3BhY2VfaW5mbxgKIAEo",
          "CzIPLnBhcmtzcGFjZV9pbmZvEhEKCWltcG9ydF9pZBgLIAEoBRIrCg9jYXJf",
          "bnVtYmVyX2luZm8YDCABKAsyEi5wbGF0ZV9udW1iZXJfaW5mbyK7AgoKcGlj",
          "a190YWJsZRIbCgVzdGF0dRgBIAEoCzIMLnRhYmxlX3N0YXR1EhAKCHF1ZXVl",
          "X2lkGAIgASgFEhIKCmNhcl9udW1iZXIYAyABKAkSDwoHdW5pdF9pZBgEIAEo",
          "BRITCgt0ZXJtaW5hbF9pZBgFIAEoBRITCgtwcmltYXJ5X2tleRgGIAEoCRIs",
          "ChNhY3R1YWxseV9zcGFjZV9pbmZvGAcgASgLMg8ucGFya3NwYWNlX2luZm8S",
          "LgoVYWN0dWFsbHlfbWVhc3VyZV9pbmZvGAggASgLMg8ubWVhc3VyZV9idWZm",
          "ZXISEQoJZXhwb3J0X2lkGAkgASgFEhEKCWlzX2xlYXZlZBgKIAEoCBIrCg9j",
          "YXJfbnVtYmVyX2luZm8YCyABKAsyEi5wbGF0ZV9udW1iZXJfaW5mbyI8Cg5v",
          "dXRfbWNwdV9zdGF0dRISCgpkb29yX3N0YXR1GAEgASgFEhYKDm91dHNpZGVf",
          "c2FmZXR5GAIgASgFIlgKDWluX21jcHVfc3RhdHUSEgoKZG9vcl9zdGF0dRgB",
          "IAEoBRIPCgdiYWNrX2lvGAIgASgFEhEKCWlzX29jY3VweRgDIAEoBRIPCgdo",
          "ZWlnaHRoGAQgASgFIqkBCg5tZWFzdXJlX2J1ZmZlchIyChttZWFzdXJlX2lu",
          "Zm9fdG9fcGxjX2ZvcndhcmQYASABKAsyDS5tZWFzdXJlX2luZm8SMgobbWVh",
          "c3VyZV9pbmZvX3RvX3BsY19yZXZlcnNlGAIgASgLMg0ubWVhc3VyZV9pbmZv",
          "Ei8KGG1lYXN1cmVfaW5mb190b190ZXJtaW5hbBgDIAEoCzINLm1lYXN1cmVf",
          "aW5mbyL+AQobZGlzcGF0Y2hfcGxjX3Bhc3N3YXlfc3RhdHVzEhIKCmNhcl9o",
          "ZWlnaHQYASABKAUSGwoTb3V0c2lkZV9kb29yX3N0YXR1cxgCIAEoBRIaChJp",
          "bnNpZGVfZG9vcl9zdGF0dXMYAyABKAUSGAoQY29tYl9ib2R5X3N0YXR1cxgE",
          "IAEoBRIbChN0dXJucGxhdGVfYW5nbGVfbWluGAUgASgCEhsKE3R1cm5wbGF0",
          "ZV9hbmdsZV9tYXgYBiABKAISEAoIc2Vuc29yXzEYByABKAUSEAoIc2Vuc29y",
          "XzIYCCABKAUSGgoScGxjX3Bhc3N3YXlfZW5hYmxlGAkgASgFIk8KG2Rpc3Bh",
          "dGNoX2NhcnJ5X2JvYXJkX3N0YXR1cxIWCg5zcGFjZV90YWJsZV9pZBgBIAEo",
          "BRIYChBjYXJyeV9ib2FyZF9tb2RlGAIgASgFIpsEChNkaXNwYXRjaF9ub2Rl",
          "X3N0YXR1EhwKBXN0YXR1GAEgASgOMg0uQ2FycmllclN0YXR1EhcKD2lkbGVf",
          "c3RvcF9mbG9vchgCIAEoBRImChFydW5uaW5nX3BhY2tfaW5mbxgDIAEoCzIL",
          "LnBhcmtfdGFibGUSJgoRcnVubmluZ19waWNrX2luZm8YBCABKAsyCy5waWNr",
          "X3RhYmxlEg8KB3VuaXRfaWQYBSABKAUSFQoNcGxjX2hlYXJ0YmVhdBgGIAEo",
          "BRIXCg9wbGNfbW9kZV9zdGF0dXMYByABKAUSGgoScGxjX3Bhc3N3YXlfc3Rh",
          "dHVzGAggASgFEhoKEnBsY19jYXJyaWVyX3N0YXR1cxgJIAEoBRIaChJwbGNf",
          "aW5sZXRfMV9zdGF0dXMYCiABKAUSGgoScGxjX2lubGV0XzJfc3RhdHVzGAsg",
          "ASgFEhsKE3BsY19vdXRsZXRfM19zdGF0dXMYDCABKAUSGwoTcGxjX291dGxl",
          "dF80X3N0YXR1cxgNIAEoBRJICiJkaXNwYXRjaF9wbGNfcGFzc3dheV9zdGF0",
          "dXNfdmVjdG9yGA4gAygLMhwuZGlzcGF0Y2hfcGxjX3Bhc3N3YXlfc3RhdHVz",
          "EkgKImRpc3BhdGNoX2NhcnJ5X2JvYXJkX3N0YXR1c192ZWN0b3IYDyADKAsy",
          "HC5kaXNwYXRjaF9jYXJyeV9ib2FyZF9zdGF0dXMiUQoTdGVybWluYWxfbm9k",
          "ZV9zdGF0dRITCgt0ZXJtaW5hbF9pZBgBIAEoBRIRCglpbXBvcnRfaWQYAiAB",
          "KAUSEgoKY2FyX251bWJlchgDIAEoCSJqChBDbGFtcF9saWRhcl9pbmZvEhYK",
          "Dmhhc193aGVlbF9mbGFnGAEgASgFEhIKCmRpc3RhbmNlX3kYAiABKAISEgoK",
          "ZGlzdGFuY2VfeBgDIAEoAhIWCg5oYXNfY2xhbXBfZmxhZxgEIAEoBSJIChJD",
          "bGFtcF9saWRhcl9idWZmZXISMgoXY2xhbXBfbGlkYXJfaW5mb192ZWN0b3IY",
          "ASADKAsyES5DbGFtcF9saWRhcl9pbmZvKqECCgxSYW5nZV9zdGF0dXMSEQoN",
          "UmFuZ2VfY29ycmVjdBAAEg8KC1JhbmdlX2Zyb250EAESDgoKUmFuZ2VfYmFj",
          "axACEg4KClJhbmdlX2xlZnQQBBIPCgtSYW5nZV9yaWdodBAIEhAKDFJhbmdl",
          "X2JvdHRvbRAQEg0KCVJhbmdlX3RvcBAgEhMKD1JhbmdlX2Nhcl93aWR0aBBA",
          "EhgKE1JhbmdlX2Nhcl93aGVlbGJhc2UQgAESGwoWUmFuZ2VfYW5nbGVfYW50",
          "aV9jbG9jaxCAAhIWChFSYW5nZV9hbmdsZV9jbG9jaxCABBIgChtSYW5nZV9z",
          "dGVlcmluZ193aGVlbF9ub3plcm8QgAgSFQoQUmFuZ2VfY2FyX21vdmluZxCA",
          "ECqsAQoMTWVhc3VyZVN0YXR1Eg4KCk1lYXN1cmVfT0sQABIYChRNZWFzdXJl",
          "X0VtcHR5X0Nsb3VkcxABEhQKEE1lYXN1cmVfRmFpbHR1cmUQAhISCg5NZWFz",
          "dXJlX0JvcmRlchADEhsKF01lYXN1cmVfVGVybWluYWxfQm9yZGVyEAQSFAoQ",
          "TGlkYXJfRGlzY29ubmVjdBAFEhUKEU1lYXN1cmVfU3RhdHVfTWF4EAYqPQoF",
          "U1RBVFUSCwoHZU5vcm1hbBAAEgwKCGVXYXJuaW5nEAESCgoGZUVycm9yEAIS",
          "DQoJZUNyaXRpY2FsEAMqXwoSVGFibGVfcHJvY2Vzc19tb2RlEhIKDlBST0NF",
          "U1NfTk9STUFMEAASHAoYUFJPQ0VTU19PTkxZX1RPX0RJU1BBVENIEAESFwoT",
          "UFJPQ0VTU19PTkxZX1RPX1BBWRACKjAKDENhcnJpZXJTdGF0dRIJCgVlSWRs",
          "ZRAAEgkKBWVCdXN5EAESCgoGZUZhdWx0EAJiBnByb3RvMw=="));
    descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
        new pbr::FileDescriptor[] { },
        new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Range_status), typeof(global::MeasureStatu), typeof(global::STATU), typeof(global::Table_process_mode), typeof(global::CarrierStatu), }, null, new pbr::GeneratedClrTypeInfo[] {
          new pbr::GeneratedClrTypeInfo(typeof(global::measure_info), global::measure_info.Parser, new[]{ "Cx", "Cy", "Theta", "Length", "Width", "Height", "Wheelbase", "FrontTheta", "BorderStatu", "GroundStatus", "IsStop", "MotionStatu", "MoveDistance" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::parkspace_info), global::parkspace_info.Parser, new[]{ "Id", "SerialId", "TableId", "UnitId", "Floor", "RoomId", "Height" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::table_statu), global::table_statu.Parser, new[]{ "ExecuteStatu", "StatuDescription", "TableProcessMod" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::plate_number_info), global::plate_number_info.Parser, new[]{ "PlateNumber", "PlateColor", "PlateType", "PlateConfidence", "RecognitionTime", "PlateFullImage", "PlateClipImage" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::park_table), global::park_table.Parser, new[]{ "Statu", "QueueId", "CarNumber", "UnitId", "TerminalId", "PrimaryKey", "EntranceMeasureInfo", "AllocatedSpaceInfo", "ActuallyMeasureInfo", "ActuallySpaceInfo", "ImportId", "CarNumberInfo" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::pick_table), global::pick_table.Parser, new[]{ "Statu", "QueueId", "CarNumber", "UnitId", "TerminalId", "PrimaryKey", "ActuallySpaceInfo", "ActuallyMeasureInfo", "ExportId", "IsLeaved", "CarNumberInfo" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::out_mcpu_statu), global::out_mcpu_statu.Parser, new[]{ "DoorStatu", "OutsideSafety" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::in_mcpu_statu), global::in_mcpu_statu.Parser, new[]{ "DoorStatu", "BackIo", "IsOccupy", "Heighth" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::measure_buffer), global::measure_buffer.Parser, new[]{ "MeasureInfoToPlcForward", "MeasureInfoToPlcReverse", "MeasureInfoToTerminal" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::dispatch_plc_passway_status), global::dispatch_plc_passway_status.Parser, new[]{ "CarHeight", "OutsideDoorStatus", "InsideDoorStatus", "CombBodyStatus", "TurnplateAngleMin", "TurnplateAngleMax", "Sensor1", "Sensor2", "PlcPasswayEnable" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::dispatch_carry_board_status), global::dispatch_carry_board_status.Parser, new[]{ "SpaceTableId", "CarryBoardMode" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::dispatch_node_statu), global::dispatch_node_statu.Parser, new[]{ "Statu", "IdleStopFloor", "RunningPackInfo", "RunningPickInfo", "UnitId", "PlcHeartbeat", "PlcModeStatus", "PlcPasswayStatus", "PlcCarrierStatus", "PlcInlet1Status", "PlcInlet2Status", "PlcOutlet3Status", "PlcOutlet4Status", "DispatchPlcPasswayStatusVector", "DispatchCarryBoardStatusVector" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::terminal_node_statu), global::terminal_node_statu.Parser, new[]{ "TerminalId", "ImportId", "CarNumber" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Clamp_lidar_info), global::Clamp_lidar_info.Parser, new[]{ "HasWheelFlag", "DistanceY", "DistanceX", "HasClampFlag" }, null, null, null, null),
          new pbr::GeneratedClrTypeInfo(typeof(global::Clamp_lidar_buffer), global::Clamp_lidar_buffer.Parser, new[]{ "ClampLidarInfoVector" }, null, null, null, null)
        }));
  }
  #endregion

}
#region Enums
public enum Range_status {
  /// <summary>
  /// 未超界
  /// </summary>
  [pbr::OriginalName("Range_correct")] RangeCorrect = 0,
  /// <summary>
  ///前超界
  /// </summary>
  [pbr::OriginalName("Range_front")] RangeFront = 1,
  /// <summary>
  ///后超界
  /// </summary>
  [pbr::OriginalName("Range_back")] RangeBack = 2,
  /// <summary>
  /// 左超界
  /// </summary>
  [pbr::OriginalName("Range_left")] RangeLeft = 4,
  /// <summary>
  /// 右超界
  /// </summary>
  [pbr::OriginalName("Range_right")] RangeRight = 8,
  /// <summary>
  ///底盘超界
  /// </summary>
  [pbr::OriginalName("Range_bottom")] RangeBottom = 16,
  /// <summary>
  /// 车顶超界
  /// </summary>
  [pbr::OriginalName("Range_top")] RangeTop = 32,
  /// <summary>
  /// 车宽超界
  /// </summary>
  [pbr::OriginalName("Range_car_width")] RangeCarWidth = 64,
  /// <summary>
  /// 轴距超界
  /// </summary>
  [pbr::OriginalName("Range_car_wheelbase")] RangeCarWheelbase = 128,
  /// <summary>
  /// 左(逆时针)旋转超界
  /// </summary>
  [pbr::OriginalName("Range_angle_anti_clock")] RangeAngleAntiClock = 256,
  /// <summary>
  /// 右(顺时针)旋转超界
  /// </summary>
  [pbr::OriginalName("Range_angle_clock")] RangeAngleClock = 512,
  /// <summary>
  /// 方向盘未回正
  /// </summary>
  [pbr::OriginalName("Range_steering_wheel_nozero")] RangeSteeringWheelNozero = 1024,
  /// <summary>
  /// 车辆移动为1,静止为0
  /// </summary>
  [pbr::OriginalName("Range_car_moving")] RangeCarMoving = 2048,
}

public enum MeasureStatu {
  /// <summary>
  /// 测量完成
  /// </summary>
  [pbr::OriginalName("Measure_OK")] MeasureOk = 0,
  /// <summary>
  /// 测量结果：测量区域数据为空
  /// </summary>
  [pbr::OriginalName("Measure_Empty_Clouds")] MeasureEmptyClouds = 1,
  /// <summary>
  /// 测量结果：测量区域数据无法检测出车辆
  /// </summary>
  [pbr::OriginalName("Measure_Failture")] MeasureFailture = 2,
  /// <summary>
  /// 测量结果：对于PLC, 车辆存在超界，具体超界状态对比Range_status
  /// </summary>
  [pbr::OriginalName("Measure_Border")] MeasureBorder = 3,
  /// <summary>
  /// 测量结果：对于终端, 车辆存在超界，具体超界状态对比Range_status
  /// </summary>
  [pbr::OriginalName("Measure_Terminal_Border")] MeasureTerminalBorder = 4,
  /// <summary>
  /// 测量雷达：失去连接
  /// </summary>
  [pbr::OriginalName("Lidar_Disconnect")] LidarDisconnect = 5,
  [pbr::OriginalName("Measure_Statu_Max")] Max = 6,
}

/// <summary>
///任务表单状态
/// </summary>
public enum STATU {
  /// <summary>
  /// 正常
  /// </summary>
  [pbr::OriginalName("eNormal")] ENormal = 0,
  /// <summary>
  /// 警告
  /// </summary>
  [pbr::OriginalName("eWarning")] EWarning = 1,
  /// <summary>
  /// 错误
  /// </summary>
  [pbr::OriginalName("eError")] EError = 2,
  /// <summary>
  /// 严重错误
  /// </summary>
  [pbr::OriginalName("eCritical")] ECritical = 3,
}

/// <summary>
///表单流程模式
/// </summary>
public enum Table_process_mode {
  /// <summary>
  /// 0：正常模式， 检查节点会向收费系统发送请求，收费系统的答复 通过后，再向调度发送请求
  /// </summary>
  [pbr::OriginalName("PROCESS_NORMAL")] ProcessNormal = 0,
  /// <summary>
  /// 1：强制存取车，检查节点会向收费系统发送请求，忽略收费系统的答复，直接向调度发送请求。
  /// </summary>
  [pbr::OriginalName("PROCESS_ONLY_TO_DISPATCH")] ProcessOnlyToDispatch = 1,
  /// <summary>
  /// 2：虚拟存取车， 检查节点会向收费系统发送请求，忽略收费系统的答复。
  /// </summary>
  [pbr::OriginalName("PROCESS_ONLY_TO_PAY")] ProcessOnlyToPay = 2,
}

/// <summary>
///搬运器状态枚举
/// </summary>
public enum CarrierStatu {
  [pbr::OriginalName("eIdle")] EIdle = 0,
  [pbr::OriginalName("eBusy")] EBusy = 1,
  [pbr::OriginalName("eFault")] EFault = 2,
}

#endregion

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

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public measure_info(measure_info other) : this() {
    cx_ = other.cx_;
    cy_ = other.cy_;
    theta_ = other.theta_;
    length_ = other.length_;
    width_ = other.width_;
    height_ = other.height_;
    wheelbase_ = other.wheelbase_;
    frontTheta_ = other.frontTheta_;
    borderStatu_ = other.borderStatu_;
    groundStatus_ = other.groundStatus_;
    isStop_ = other.isStop_;
    motionStatu_ = other.motionStatu_;
    moveDistance_ = other.moveDistance_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "cx" field.</summary>
  public const int CxFieldNumber = 1;
  private float cx_;
  /// <summary>
  /// 车辆中心坐标x
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Cx {
    get { return cx_; }
    set {
      cx_ = value;
    }
  }

  /// <summary>Field number for the "cy" field.</summary>
  public const int CyFieldNumber = 2;
  private float cy_;
  /// <summary>
  /// 车辆中心坐标y
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Cy {
    get { return cy_; }
    set {
      cy_ = value;
    }
  }

  /// <summary>Field number for the "theta" field.</summary>
  public const int ThetaFieldNumber = 3;
  private float theta_;
  /// <summary>
  /// 车身偏转角度（相对于y轴，左正右负）
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Theta {
    get { return theta_; }
    set {
      theta_ = value;
    }
  }

  /// <summary>Field number for the "length" field.</summary>
  public const int LengthFieldNumber = 4;
  private float length_;
  /// <summary>
  /// 车身长度（厦门四个雷达，含有该值，楚天两个雷达，该值为0）
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Length {
    get { return length_; }
    set {
      length_ = value;
    }
  }

  /// <summary>Field number for the "width" field.</summary>
  public const int WidthFieldNumber = 5;
  private float width_;
  /// <summary>
  /// 车身宽度（左右两侧轮子最大宽度）
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Width {
    get { return width_; }
    set {
      width_ = value;
    }
  }

  /// <summary>Field number for the "height" field.</summary>
  public const int HeightFieldNumber = 6;
  private float height_;
  /// <summary>
  /// 车身高度
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Height {
    get { return height_; }
    set {
      height_ = value;
    }
  }

  /// <summary>Field number for the "wheelbase" field.</summary>
  public const int WheelbaseFieldNumber = 7;
  private float wheelbase_;
  /// <summary>
  /// 车辆前后轴距
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Wheelbase {
    get { return wheelbase_; }
    set {
      wheelbase_ = value;
    }
  }

  /// <summary>Field number for the "front_theta" field.</summary>
  public const int FrontThetaFieldNumber = 8;
  private float frontTheta_;
  /// <summary>
  /// 车辆前轮偏转角度
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float FrontTheta {
    get { return frontTheta_; }
    set {
      frontTheta_ = value;
    }
  }

  /// <summary>Field number for the "border_statu" field.</summary>
  public const int BorderStatuFieldNumber = 9;
  private int borderStatu_;
  /// <summary>
  /// 超界状态， 位运算
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int BorderStatu {
    get { return borderStatu_; }
    set {
      borderStatu_ = value;
    }
  }

  /// <summary>Field number for the "ground_status" field.</summary>
  public const int GroundStatusFieldNumber = 10;
  private global::MeasureStatu groundStatus_ = global::MeasureStatu.MeasureOk;
  /// <summary>
  /// 测量状态，0=正常, 1=空, 2=测量失败, 3=超界, 4=终端超界， 5=雷达断连
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::MeasureStatu GroundStatus {
    get { return groundStatus_; }
    set {
      groundStatus_ = value;
    }
  }

  /// <summary>Field number for the "is_stop" field.</summary>
  public const int IsStopFieldNumber = 11;
  private int isStop_;
  /// <summary>
  /// &lt;是否可停> 1为可停，0为不可停
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int IsStop {
    get { return isStop_; }
    set {
      isStop_ = value;
    }
  }

  /// <summary>Field number for the "motion_statu" field.</summary>
  public const int MotionStatuFieldNumber = 12;
  private int motionStatu_;
  /// <summary>
  /// 运动状态，0=运动， 1=静止（只有三秒内都是静止才会写1，只要瞬间触发运动就会写0）
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int MotionStatu {
    get { return motionStatu_; }
    set {
      motionStatu_ = value;
    }
  }

  /// <summary>Field number for the "move_distance" field.</summary>
  public const int MoveDistanceFieldNumber = 13;
  private float moveDistance_;
  /// <summary>
  /// 汽车需要往前移动的距离。
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float MoveDistance {
    get { return moveDistance_; }
    set {
      moveDistance_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(measure_info other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Cx, other.Cx)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Cy, other.Cy)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Theta, other.Theta)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Length, other.Length)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Width, other.Width)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Height, other.Height)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Wheelbase, other.Wheelbase)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(FrontTheta, other.FrontTheta)) return false;
    if (BorderStatu != other.BorderStatu) return false;
    if (GroundStatus != other.GroundStatus) return false;
    if (IsStop != other.IsStop) return false;
    if (MotionStatu != other.MotionStatu) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(MoveDistance, other.MoveDistance)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (Cx != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Cx);
    if (Cy != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Cy);
    if (Theta != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Theta);
    if (Length != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Length);
    if (Width != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Width);
    if (Height != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Height);
    if (Wheelbase != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Wheelbase);
    if (FrontTheta != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(FrontTheta);
    if (BorderStatu != 0) hash ^= BorderStatu.GetHashCode();
    if (GroundStatus != global::MeasureStatu.MeasureOk) hash ^= GroundStatus.GetHashCode();
    if (IsStop != 0) hash ^= IsStop.GetHashCode();
    if (MotionStatu != 0) hash ^= MotionStatu.GetHashCode();
    if (MoveDistance != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(MoveDistance);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (Cx != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(Cx);
    }
    if (Cy != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(Cy);
    }
    if (Theta != 0F) {
      output.WriteRawTag(29);
      output.WriteFloat(Theta);
    }
    if (Length != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(Length);
    }
    if (Width != 0F) {
      output.WriteRawTag(45);
      output.WriteFloat(Width);
    }
    if (Height != 0F) {
      output.WriteRawTag(53);
      output.WriteFloat(Height);
    }
    if (Wheelbase != 0F) {
      output.WriteRawTag(61);
      output.WriteFloat(Wheelbase);
    }
    if (FrontTheta != 0F) {
      output.WriteRawTag(69);
      output.WriteFloat(FrontTheta);
    }
    if (BorderStatu != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(BorderStatu);
    }
    if (GroundStatus != global::MeasureStatu.MeasureOk) {
      output.WriteRawTag(80);
      output.WriteEnum((int) GroundStatus);
    }
    if (IsStop != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(IsStop);
    }
    if (MotionStatu != 0) {
      output.WriteRawTag(96);
      output.WriteInt32(MotionStatu);
    }
    if (MoveDistance != 0F) {
      output.WriteRawTag(109);
      output.WriteFloat(MoveDistance);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (Cx != 0F) {
      output.WriteRawTag(13);
      output.WriteFloat(Cx);
    }
    if (Cy != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(Cy);
    }
    if (Theta != 0F) {
      output.WriteRawTag(29);
      output.WriteFloat(Theta);
    }
    if (Length != 0F) {
      output.WriteRawTag(37);
      output.WriteFloat(Length);
    }
    if (Width != 0F) {
      output.WriteRawTag(45);
      output.WriteFloat(Width);
    }
    if (Height != 0F) {
      output.WriteRawTag(53);
      output.WriteFloat(Height);
    }
    if (Wheelbase != 0F) {
      output.WriteRawTag(61);
      output.WriteFloat(Wheelbase);
    }
    if (FrontTheta != 0F) {
      output.WriteRawTag(69);
      output.WriteFloat(FrontTheta);
    }
    if (BorderStatu != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(BorderStatu);
    }
    if (GroundStatus != global::MeasureStatu.MeasureOk) {
      output.WriteRawTag(80);
      output.WriteEnum((int) GroundStatus);
    }
    if (IsStop != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(IsStop);
    }
    if (MotionStatu != 0) {
      output.WriteRawTag(96);
      output.WriteInt32(MotionStatu);
    }
    if (MoveDistance != 0F) {
      output.WriteRawTag(109);
      output.WriteFloat(MoveDistance);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (Cx != 0F) {
      size += 1 + 4;
    }
    if (Cy != 0F) {
      size += 1 + 4;
    }
    if (Theta != 0F) {
      size += 1 + 4;
    }
    if (Length != 0F) {
      size += 1 + 4;
    }
    if (Width != 0F) {
      size += 1 + 4;
    }
    if (Height != 0F) {
      size += 1 + 4;
    }
    if (Wheelbase != 0F) {
      size += 1 + 4;
    }
    if (FrontTheta != 0F) {
      size += 1 + 4;
    }
    if (BorderStatu != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(BorderStatu);
    }
    if (GroundStatus != global::MeasureStatu.MeasureOk) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) GroundStatus);
    }
    if (IsStop != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(IsStop);
    }
    if (MotionStatu != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(MotionStatu);
    }
    if (MoveDistance != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(measure_info other) {
    if (other == null) {
      return;
    }
    if (other.Cx != 0F) {
      Cx = other.Cx;
    }
    if (other.Cy != 0F) {
      Cy = other.Cy;
    }
    if (other.Theta != 0F) {
      Theta = other.Theta;
    }
    if (other.Length != 0F) {
      Length = other.Length;
    }
    if (other.Width != 0F) {
      Width = other.Width;
    }
    if (other.Height != 0F) {
      Height = other.Height;
    }
    if (other.Wheelbase != 0F) {
      Wheelbase = other.Wheelbase;
    }
    if (other.FrontTheta != 0F) {
      FrontTheta = other.FrontTheta;
    }
    if (other.BorderStatu != 0) {
      BorderStatu = other.BorderStatu;
    }
    if (other.GroundStatus != global::MeasureStatu.MeasureOk) {
      GroundStatus = other.GroundStatus;
    }
    if (other.IsStop != 0) {
      IsStop = other.IsStop;
    }
    if (other.MotionStatu != 0) {
      MotionStatu = other.MotionStatu;
    }
    if (other.MoveDistance != 0F) {
      MoveDistance = other.MoveDistance;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 13: {
          Cx = input.ReadFloat();
          break;
        }
        case 21: {
          Cy = input.ReadFloat();
          break;
        }
        case 29: {
          Theta = input.ReadFloat();
          break;
        }
        case 37: {
          Length = input.ReadFloat();
          break;
        }
        case 45: {
          Width = input.ReadFloat();
          break;
        }
        case 53: {
          Height = input.ReadFloat();
          break;
        }
        case 61: {
          Wheelbase = input.ReadFloat();
          break;
        }
        case 69: {
          FrontTheta = input.ReadFloat();
          break;
        }
        case 72: {
          BorderStatu = input.ReadInt32();
          break;
        }
        case 80: {
          GroundStatus = (global::MeasureStatu) input.ReadEnum();
          break;
        }
        case 88: {
          IsStop = input.ReadInt32();
          break;
        }
        case 96: {
          MotionStatu = input.ReadInt32();
          break;
        }
        case 109: {
          MoveDistance = input.ReadFloat();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 13: {
          Cx = input.ReadFloat();
          break;
        }
        case 21: {
          Cy = input.ReadFloat();
          break;
        }
        case 29: {
          Theta = input.ReadFloat();
          break;
        }
        case 37: {
          Length = input.ReadFloat();
          break;
        }
        case 45: {
          Width = input.ReadFloat();
          break;
        }
        case 53: {
          Height = input.ReadFloat();
          break;
        }
        case 61: {
          Wheelbase = input.ReadFloat();
          break;
        }
        case 69: {
          FrontTheta = input.ReadFloat();
          break;
        }
        case 72: {
          BorderStatu = input.ReadInt32();
          break;
        }
        case 80: {
          GroundStatus = (global::MeasureStatu) input.ReadEnum();
          break;
        }
        case 88: {
          IsStop = input.ReadInt32();
          break;
        }
        case 96: {
          MotionStatu = input.ReadInt32();
          break;
        }
        case 109: {
          MoveDistance = input.ReadFloat();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///分配的车位信息
/// </summary>
public sealed partial class parkspace_info : pb::IMessage<parkspace_info>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<parkspace_info> _parser = new pb::MessageParser<parkspace_info>(() => new parkspace_info());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<parkspace_info> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public parkspace_info(parkspace_info other) : this() {
    id_ = other.id_;
    serialId_ = other.serialId_;
    tableId_ = other.tableId_;
    unitId_ = other.unitId_;
    floor_ = other.floor_;
    roomId_ = other.roomId_;
    height_ = other.height_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

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

  /// <summary>Field number for the "serial_id" field.</summary>
  public const int SerialIdFieldNumber = 2;
  private int serialId_;
  /// <summary>
  ///排序id
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int SerialId {
    get { return serialId_; }
    set {
      serialId_ = value;
    }
  }

  /// <summary>Field number for the "table_id" field.</summary>
  public const int TableIdFieldNumber = 3;
  private int tableId_;
  /// <summary>
  ///标签id
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int TableId {
    get { return tableId_; }
    set {
      tableId_ = value;
    }
  }

  /// <summary>Field number for the "unit_id" field.</summary>
  public const int UnitIdFieldNumber = 4;
  private int unitId_;
  /// <summary>
  ///单元号
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int UnitId {
    get { return unitId_; }
    set {
      unitId_ = value;
    }
  }

  /// <summary>Field number for the "floor" field.</summary>
  public const int FloorFieldNumber = 5;
  private int floor_;
  /// <summary>
  ///楼层号
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int Floor {
    get { return floor_; }
    set {
      floor_ = value;
    }
  }

  /// <summary>Field number for the "room_id" field.</summary>
  public const int RoomIdFieldNumber = 6;
  private int roomId_;
  /// <summary>
  ///同层编号
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int RoomId {
    get { return roomId_; }
    set {
      roomId_ = value;
    }
  }

  /// <summary>Field number for the "height" field.</summary>
  public const int HeightFieldNumber = 7;
  private float height_;
  /// <summary>
  ///车高档位
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float Height {
    get { return height_; }
    set {
      height_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(parkspace_info other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Id != other.Id) return false;
    if (SerialId != other.SerialId) return false;
    if (TableId != other.TableId) return false;
    if (UnitId != other.UnitId) return false;
    if (Floor != other.Floor) return false;
    if (RoomId != other.RoomId) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Height, other.Height)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (Id != 0) hash ^= Id.GetHashCode();
    if (SerialId != 0) hash ^= SerialId.GetHashCode();
    if (TableId != 0) hash ^= TableId.GetHashCode();
    if (UnitId != 0) hash ^= UnitId.GetHashCode();
    if (Floor != 0) hash ^= Floor.GetHashCode();
    if (RoomId != 0) hash ^= RoomId.GetHashCode();
    if (Height != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Height);
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (Id != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Id);
    }
    if (SerialId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SerialId);
    }
    if (TableId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(TableId);
    }
    if (UnitId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(UnitId);
    }
    if (Floor != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(Floor);
    }
    if (RoomId != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(RoomId);
    }
    if (Height != 0F) {
      output.WriteRawTag(61);
      output.WriteFloat(Height);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (Id != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(Id);
    }
    if (SerialId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(SerialId);
    }
    if (TableId != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(TableId);
    }
    if (UnitId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(UnitId);
    }
    if (Floor != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(Floor);
    }
    if (RoomId != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(RoomId);
    }
    if (Height != 0F) {
      output.WriteRawTag(61);
      output.WriteFloat(Height);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (Id != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
    }
    if (SerialId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(SerialId);
    }
    if (TableId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TableId);
    }
    if (UnitId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnitId);
    }
    if (Floor != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Floor);
    }
    if (RoomId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomId);
    }
    if (Height != 0F) {
      size += 1 + 4;
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(parkspace_info other) {
    if (other == null) {
      return;
    }
    if (other.Id != 0) {
      Id = other.Id;
    }
    if (other.SerialId != 0) {
      SerialId = other.SerialId;
    }
    if (other.TableId != 0) {
      TableId = other.TableId;
    }
    if (other.UnitId != 0) {
      UnitId = other.UnitId;
    }
    if (other.Floor != 0) {
      Floor = other.Floor;
    }
    if (other.RoomId != 0) {
      RoomId = other.RoomId;
    }
    if (other.Height != 0F) {
      Height = other.Height;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Id = input.ReadInt32();
          break;
        }
        case 16: {
          SerialId = input.ReadInt32();
          break;
        }
        case 24: {
          TableId = input.ReadInt32();
          break;
        }
        case 32: {
          UnitId = input.ReadInt32();
          break;
        }
        case 40: {
          Floor = input.ReadInt32();
          break;
        }
        case 48: {
          RoomId = input.ReadInt32();
          break;
        }
        case 61: {
          Height = input.ReadFloat();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          Id = input.ReadInt32();
          break;
        }
        case 16: {
          SerialId = input.ReadInt32();
          break;
        }
        case 24: {
          TableId = input.ReadInt32();
          break;
        }
        case 32: {
          UnitId = input.ReadInt32();
          break;
        }
        case 40: {
          Floor = input.ReadInt32();
          break;
        }
        case 48: {
          RoomId = input.ReadInt32();
          break;
        }
        case 61: {
          Height = input.ReadFloat();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///
///表单执行状态
/// </summary>
public sealed partial class table_statu : pb::IMessage<table_statu>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<table_statu> _parser = new pb::MessageParser<table_statu>(() => new table_statu());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<table_statu> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

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

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

  /// <summary>Field number for the "execute_statu" field.</summary>
  public const int ExecuteStatuFieldNumber = 1;
  private global::STATU executeStatu_ = global::STATU.ENormal;
  /// <summary>
  /// 执行状态
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::STATU ExecuteStatu {
    get { return executeStatu_; }
    set {
      executeStatu_ = value;
    }
  }

  /// <summary>Field number for the "statu_description" field.</summary>
  public const int StatuDescriptionFieldNumber = 2;
  private string statuDescription_ = "";
  /// <summary>
  /// 状态描述
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public string StatuDescription {
    get { return statuDescription_; }
    set {
      statuDescription_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "table_process_mod" field.</summary>
  public const int TableProcessModFieldNumber = 3;
  private global::Table_process_mode tableProcessMod_ = global::Table_process_mode.ProcessNormal;
  /// <summary>
  /// 表单流程模式
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::Table_process_mode TableProcessMod {
    get { return tableProcessMod_; }
    set {
      tableProcessMod_ = value;
    }
  }

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (ExecuteStatu != global::STATU.ENormal) hash ^= ExecuteStatu.GetHashCode();
    if (StatuDescription.Length != 0) hash ^= StatuDescription.GetHashCode();
    if (TableProcessMod != global::Table_process_mode.ProcessNormal) hash ^= TableProcessMod.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (ExecuteStatu != global::STATU.ENormal) {
      output.WriteRawTag(8);
      output.WriteEnum((int) ExecuteStatu);
    }
    if (StatuDescription.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(StatuDescription);
    }
    if (TableProcessMod != global::Table_process_mode.ProcessNormal) {
      output.WriteRawTag(24);
      output.WriteEnum((int) TableProcessMod);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (ExecuteStatu != global::STATU.ENormal) {
      output.WriteRawTag(8);
      output.WriteEnum((int) ExecuteStatu);
    }
    if (StatuDescription.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(StatuDescription);
    }
    if (TableProcessMod != global::Table_process_mode.ProcessNormal) {
      output.WriteRawTag(24);
      output.WriteEnum((int) TableProcessMod);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (ExecuteStatu != global::STATU.ENormal) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) ExecuteStatu);
    }
    if (StatuDescription.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(StatuDescription);
    }
    if (TableProcessMod != global::Table_process_mode.ProcessNormal) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) TableProcessMod);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(table_statu other) {
    if (other == null) {
      return;
    }
    if (other.ExecuteStatu != global::STATU.ENormal) {
      ExecuteStatu = other.ExecuteStatu;
    }
    if (other.StatuDescription.Length != 0) {
      StatuDescription = other.StatuDescription;
    }
    if (other.TableProcessMod != global::Table_process_mode.ProcessNormal) {
      TableProcessMod = other.TableProcessMod;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          ExecuteStatu = (global::STATU) input.ReadEnum();
          break;
        }
        case 18: {
          StatuDescription = input.ReadString();
          break;
        }
        case 24: {
          TableProcessMod = (global::Table_process_mode) input.ReadEnum();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          ExecuteStatu = (global::STATU) input.ReadEnum();
          break;
        }
        case 18: {
          StatuDescription = input.ReadString();
          break;
        }
        case 24: {
          TableProcessMod = (global::Table_process_mode) input.ReadEnum();
          break;
        }
      }
    }
  }
  #endif

}

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

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public plate_number_info(plate_number_info other) : this() {
    plateNumber_ = other.plateNumber_;
    plateColor_ = other.plateColor_;
    plateType_ = other.plateType_;
    plateConfidence_ = other.plateConfidence_;
    recognitionTime_ = other.recognitionTime_;
    plateFullImage_ = other.plateFullImage_;
    plateClipImage_ = other.plateClipImage_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

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

  /// <summary>Field number for the "plate_color" field.</summary>
  public const int PlateColorFieldNumber = 2;
  private string plateColor_ = "";
  /// <summary>
  /// 号牌颜色
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public string PlateColor {
    get { return plateColor_; }
    set {
      plateColor_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "plate_type" field.</summary>
  public const int PlateTypeFieldNumber = 3;
  private string plateType_ = "";
  /// <summary>
  /// 号牌类型, 车辆类型
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public string PlateType {
    get { return plateType_; }
    set {
      plateType_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "plate_confidence" field.</summary>
  public const int PlateConfidenceFieldNumber = 4;
  private int plateConfidence_;
  /// <summary>
  /// 号牌可信度, 1-100 值越高可信度越高
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlateConfidence {
    get { return plateConfidence_; }
    set {
      plateConfidence_ = value;
    }
  }

  /// <summary>Field number for the "recognition_time" field.</summary>
  public const int RecognitionTimeFieldNumber = 5;
  private string recognitionTime_ = "";
  /// <summary>
  /// 识别时间点, yyyyMMddHHmmss
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public string RecognitionTime {
    get { return recognitionTime_; }
    set {
      recognitionTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "plate_full_image" field.</summary>
  public const int PlateFullImageFieldNumber = 6;
  private string plateFullImage_ = "";
  /// <summary>
  /// 号牌全景图, base64编码
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public string PlateFullImage {
    get { return plateFullImage_; }
    set {
      plateFullImage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

  /// <summary>Field number for the "plate_clip_image" field.</summary>
  public const int PlateClipImageFieldNumber = 7;
  private string plateClipImage_ = "";
  /// <summary>
  /// 号牌特写图, base64编码
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public string PlateClipImage {
    get { return plateClipImage_; }
    set {
      plateClipImage_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(plate_number_info other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (PlateNumber != other.PlateNumber) return false;
    if (PlateColor != other.PlateColor) return false;
    if (PlateType != other.PlateType) return false;
    if (PlateConfidence != other.PlateConfidence) return false;
    if (RecognitionTime != other.RecognitionTime) return false;
    if (PlateFullImage != other.PlateFullImage) return false;
    if (PlateClipImage != other.PlateClipImage) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (PlateNumber.Length != 0) hash ^= PlateNumber.GetHashCode();
    if (PlateColor.Length != 0) hash ^= PlateColor.GetHashCode();
    if (PlateType.Length != 0) hash ^= PlateType.GetHashCode();
    if (PlateConfidence != 0) hash ^= PlateConfidence.GetHashCode();
    if (RecognitionTime.Length != 0) hash ^= RecognitionTime.GetHashCode();
    if (PlateFullImage.Length != 0) hash ^= PlateFullImage.GetHashCode();
    if (PlateClipImage.Length != 0) hash ^= PlateClipImage.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (PlateNumber.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(PlateNumber);
    }
    if (PlateColor.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(PlateColor);
    }
    if (PlateType.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(PlateType);
    }
    if (PlateConfidence != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(PlateConfidence);
    }
    if (RecognitionTime.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(RecognitionTime);
    }
    if (PlateFullImage.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(PlateFullImage);
    }
    if (PlateClipImage.Length != 0) {
      output.WriteRawTag(58);
      output.WriteString(PlateClipImage);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (PlateNumber.Length != 0) {
      output.WriteRawTag(10);
      output.WriteString(PlateNumber);
    }
    if (PlateColor.Length != 0) {
      output.WriteRawTag(18);
      output.WriteString(PlateColor);
    }
    if (PlateType.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(PlateType);
    }
    if (PlateConfidence != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(PlateConfidence);
    }
    if (RecognitionTime.Length != 0) {
      output.WriteRawTag(42);
      output.WriteString(RecognitionTime);
    }
    if (PlateFullImage.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(PlateFullImage);
    }
    if (PlateClipImage.Length != 0) {
      output.WriteRawTag(58);
      output.WriteString(PlateClipImage);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (PlateNumber.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PlateNumber);
    }
    if (PlateColor.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PlateColor);
    }
    if (PlateType.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PlateType);
    }
    if (PlateConfidence != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlateConfidence);
    }
    if (RecognitionTime.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(RecognitionTime);
    }
    if (PlateFullImage.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PlateFullImage);
    }
    if (PlateClipImage.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PlateClipImage);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(plate_number_info other) {
    if (other == null) {
      return;
    }
    if (other.PlateNumber.Length != 0) {
      PlateNumber = other.PlateNumber;
    }
    if (other.PlateColor.Length != 0) {
      PlateColor = other.PlateColor;
    }
    if (other.PlateType.Length != 0) {
      PlateType = other.PlateType;
    }
    if (other.PlateConfidence != 0) {
      PlateConfidence = other.PlateConfidence;
    }
    if (other.RecognitionTime.Length != 0) {
      RecognitionTime = other.RecognitionTime;
    }
    if (other.PlateFullImage.Length != 0) {
      PlateFullImage = other.PlateFullImage;
    }
    if (other.PlateClipImage.Length != 0) {
      PlateClipImage = other.PlateClipImage;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          PlateNumber = input.ReadString();
          break;
        }
        case 18: {
          PlateColor = input.ReadString();
          break;
        }
        case 26: {
          PlateType = input.ReadString();
          break;
        }
        case 32: {
          PlateConfidence = input.ReadInt32();
          break;
        }
        case 42: {
          RecognitionTime = input.ReadString();
          break;
        }
        case 50: {
          PlateFullImage = input.ReadString();
          break;
        }
        case 58: {
          PlateClipImage = input.ReadString();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 10: {
          PlateNumber = input.ReadString();
          break;
        }
        case 18: {
          PlateColor = input.ReadString();
          break;
        }
        case 26: {
          PlateType = input.ReadString();
          break;
        }
        case 32: {
          PlateConfidence = input.ReadInt32();
          break;
        }
        case 42: {
          RecognitionTime = input.ReadString();
          break;
        }
        case 50: {
          PlateFullImage = input.ReadString();
          break;
        }
        case 58: {
          PlateClipImage = input.ReadString();
          break;
        }
      }
    }
  }
  #endif

}

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

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public park_table(park_table other) : this() {
    statu_ = other.statu_ != null ? other.statu_.Clone() : null;
    queueId_ = other.queueId_;
    carNumber_ = other.carNumber_;
    unitId_ = other.unitId_;
    terminalId_ = other.terminalId_;
    primaryKey_ = other.primaryKey_;
    entranceMeasureInfo_ = other.entranceMeasureInfo_ != null ? other.entranceMeasureInfo_.Clone() : null;
    allocatedSpaceInfo_ = other.allocatedSpaceInfo_ != null ? other.allocatedSpaceInfo_.Clone() : null;
    actuallyMeasureInfo_ = other.actuallyMeasureInfo_ != null ? other.actuallyMeasureInfo_.Clone() : null;
    actuallySpaceInfo_ = other.actuallySpaceInfo_ != null ? other.actuallySpaceInfo_.Clone() : null;
    importId_ = other.importId_;
    carNumberInfo_ = other.carNumberInfo_ != null ? other.carNumberInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "statu" field.</summary>
  public const int StatuFieldNumber = 1;
  private global::table_statu statu_;
  /// <summary>
  ///表单状态
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::table_statu Statu {
    get { return statu_; }
    set {
      statu_ = value;
    }
  }

  /// <summary>Field number for the "queue_id" field.</summary>
  public const int QueueIdFieldNumber = 2;
  private int queueId_;
  /// <summary>
  ///指令排队编号
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int QueueId {
    get { return queueId_; }
    set {
      queueId_ = value;
    }
  }

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

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

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

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

  /// <summary>Field number for the "entrance_measure_info" field.</summary>
  public const int EntranceMeasureInfoFieldNumber = 7;
  private global::measure_buffer entranceMeasureInfo_;
  /// <summary>
  /// 入口测量信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::measure_buffer EntranceMeasureInfo {
    get { return entranceMeasureInfo_; }
    set {
      entranceMeasureInfo_ = value;
    }
  }

  /// <summary>Field number for the "allocated_space_info" field.</summary>
  public const int AllocatedSpaceInfoFieldNumber = 8;
  private global::parkspace_info allocatedSpaceInfo_;
  /// <summary>
  /// 分配的车位信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::parkspace_info AllocatedSpaceInfo {
    get { return allocatedSpaceInfo_; }
    set {
      allocatedSpaceInfo_ = value;
    }
  }

  /// <summary>Field number for the "actually_measure_info" field.</summary>
  public const int ActuallyMeasureInfoFieldNumber = 9;
  private global::measure_buffer actuallyMeasureInfo_;
  /// <summary>
  /// 实际测量信息或者叫二次测量信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::measure_buffer ActuallyMeasureInfo {
    get { return actuallyMeasureInfo_; }
    set {
      actuallyMeasureInfo_ = value;
    }
  }

  /// <summary>Field number for the "actually_space_info" field.</summary>
  public const int ActuallySpaceInfoFieldNumber = 10;
  private global::parkspace_info actuallySpaceInfo_;
  /// <summary>
  /// 实际停放的车位
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::parkspace_info ActuallySpaceInfo {
    get { return actuallySpaceInfo_; }
    set {
      actuallySpaceInfo_ = value;
    }
  }

  /// <summary>Field number for the "import_id" field.</summary>
  public const int ImportIdFieldNumber = 11;
  private int importId_;
  /// <summary>
  /// 入口id, 1~2
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int ImportId {
    get { return importId_; }
    set {
      importId_ = value;
    }
  }

  /// <summary>Field number for the "car_number_info" field.</summary>
  public const int CarNumberInfoFieldNumber = 12;
  private global::plate_number_info carNumberInfo_;
  /// <summary>
  /// 车牌号信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::plate_number_info CarNumberInfo {
    get { return carNumberInfo_; }
    set {
      carNumberInfo_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(park_table other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Statu, other.Statu)) return false;
    if (QueueId != other.QueueId) return false;
    if (CarNumber != other.CarNumber) return false;
    if (UnitId != other.UnitId) return false;
    if (TerminalId != other.TerminalId) return false;
    if (PrimaryKey != other.PrimaryKey) return false;
    if (!object.Equals(EntranceMeasureInfo, other.EntranceMeasureInfo)) return false;
    if (!object.Equals(AllocatedSpaceInfo, other.AllocatedSpaceInfo)) return false;
    if (!object.Equals(ActuallyMeasureInfo, other.ActuallyMeasureInfo)) return false;
    if (!object.Equals(ActuallySpaceInfo, other.ActuallySpaceInfo)) return false;
    if (ImportId != other.ImportId) return false;
    if (!object.Equals(CarNumberInfo, other.CarNumberInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (statu_ != null) hash ^= Statu.GetHashCode();
    if (QueueId != 0) hash ^= QueueId.GetHashCode();
    if (CarNumber.Length != 0) hash ^= CarNumber.GetHashCode();
    if (UnitId != 0) hash ^= UnitId.GetHashCode();
    if (TerminalId != 0) hash ^= TerminalId.GetHashCode();
    if (PrimaryKey.Length != 0) hash ^= PrimaryKey.GetHashCode();
    if (entranceMeasureInfo_ != null) hash ^= EntranceMeasureInfo.GetHashCode();
    if (allocatedSpaceInfo_ != null) hash ^= AllocatedSpaceInfo.GetHashCode();
    if (actuallyMeasureInfo_ != null) hash ^= ActuallyMeasureInfo.GetHashCode();
    if (actuallySpaceInfo_ != null) hash ^= ActuallySpaceInfo.GetHashCode();
    if (ImportId != 0) hash ^= ImportId.GetHashCode();
    if (carNumberInfo_ != null) hash ^= CarNumberInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (statu_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Statu);
    }
    if (QueueId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(QueueId);
    }
    if (CarNumber.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CarNumber);
    }
    if (UnitId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(UnitId);
    }
    if (TerminalId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(TerminalId);
    }
    if (PrimaryKey.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(PrimaryKey);
    }
    if (entranceMeasureInfo_ != null) {
      output.WriteRawTag(58);
      output.WriteMessage(EntranceMeasureInfo);
    }
    if (allocatedSpaceInfo_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(AllocatedSpaceInfo);
    }
    if (actuallyMeasureInfo_ != null) {
      output.WriteRawTag(74);
      output.WriteMessage(ActuallyMeasureInfo);
    }
    if (actuallySpaceInfo_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(ActuallySpaceInfo);
    }
    if (ImportId != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ImportId);
    }
    if (carNumberInfo_ != null) {
      output.WriteRawTag(98);
      output.WriteMessage(CarNumberInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (statu_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Statu);
    }
    if (QueueId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(QueueId);
    }
    if (CarNumber.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CarNumber);
    }
    if (UnitId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(UnitId);
    }
    if (TerminalId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(TerminalId);
    }
    if (PrimaryKey.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(PrimaryKey);
    }
    if (entranceMeasureInfo_ != null) {
      output.WriteRawTag(58);
      output.WriteMessage(EntranceMeasureInfo);
    }
    if (allocatedSpaceInfo_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(AllocatedSpaceInfo);
    }
    if (actuallyMeasureInfo_ != null) {
      output.WriteRawTag(74);
      output.WriteMessage(ActuallyMeasureInfo);
    }
    if (actuallySpaceInfo_ != null) {
      output.WriteRawTag(82);
      output.WriteMessage(ActuallySpaceInfo);
    }
    if (ImportId != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(ImportId);
    }
    if (carNumberInfo_ != null) {
      output.WriteRawTag(98);
      output.WriteMessage(CarNumberInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (statu_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Statu);
    }
    if (QueueId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(QueueId);
    }
    if (CarNumber.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CarNumber);
    }
    if (UnitId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnitId);
    }
    if (TerminalId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminalId);
    }
    if (PrimaryKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PrimaryKey);
    }
    if (entranceMeasureInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(EntranceMeasureInfo);
    }
    if (allocatedSpaceInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(AllocatedSpaceInfo);
    }
    if (actuallyMeasureInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ActuallyMeasureInfo);
    }
    if (actuallySpaceInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ActuallySpaceInfo);
    }
    if (ImportId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ImportId);
    }
    if (carNumberInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CarNumberInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(park_table other) {
    if (other == null) {
      return;
    }
    if (other.statu_ != null) {
      if (statu_ == null) {
        Statu = new global::table_statu();
      }
      Statu.MergeFrom(other.Statu);
    }
    if (other.QueueId != 0) {
      QueueId = other.QueueId;
    }
    if (other.CarNumber.Length != 0) {
      CarNumber = other.CarNumber;
    }
    if (other.UnitId != 0) {
      UnitId = other.UnitId;
    }
    if (other.TerminalId != 0) {
      TerminalId = other.TerminalId;
    }
    if (other.PrimaryKey.Length != 0) {
      PrimaryKey = other.PrimaryKey;
    }
    if (other.entranceMeasureInfo_ != null) {
      if (entranceMeasureInfo_ == null) {
        EntranceMeasureInfo = new global::measure_buffer();
      }
      EntranceMeasureInfo.MergeFrom(other.EntranceMeasureInfo);
    }
    if (other.allocatedSpaceInfo_ != null) {
      if (allocatedSpaceInfo_ == null) {
        AllocatedSpaceInfo = new global::parkspace_info();
      }
      AllocatedSpaceInfo.MergeFrom(other.AllocatedSpaceInfo);
    }
    if (other.actuallyMeasureInfo_ != null) {
      if (actuallyMeasureInfo_ == null) {
        ActuallyMeasureInfo = new global::measure_buffer();
      }
      ActuallyMeasureInfo.MergeFrom(other.ActuallyMeasureInfo);
    }
    if (other.actuallySpaceInfo_ != null) {
      if (actuallySpaceInfo_ == null) {
        ActuallySpaceInfo = new global::parkspace_info();
      }
      ActuallySpaceInfo.MergeFrom(other.ActuallySpaceInfo);
    }
    if (other.ImportId != 0) {
      ImportId = other.ImportId;
    }
    if (other.carNumberInfo_ != null) {
      if (carNumberInfo_ == null) {
        CarNumberInfo = new global::plate_number_info();
      }
      CarNumberInfo.MergeFrom(other.CarNumberInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (statu_ == null) {
            Statu = new global::table_statu();
          }
          input.ReadMessage(Statu);
          break;
        }
        case 16: {
          QueueId = input.ReadInt32();
          break;
        }
        case 26: {
          CarNumber = input.ReadString();
          break;
        }
        case 32: {
          UnitId = input.ReadInt32();
          break;
        }
        case 40: {
          TerminalId = input.ReadInt32();
          break;
        }
        case 50: {
          PrimaryKey = input.ReadString();
          break;
        }
        case 58: {
          if (entranceMeasureInfo_ == null) {
            EntranceMeasureInfo = new global::measure_buffer();
          }
          input.ReadMessage(EntranceMeasureInfo);
          break;
        }
        case 66: {
          if (allocatedSpaceInfo_ == null) {
            AllocatedSpaceInfo = new global::parkspace_info();
          }
          input.ReadMessage(AllocatedSpaceInfo);
          break;
        }
        case 74: {
          if (actuallyMeasureInfo_ == null) {
            ActuallyMeasureInfo = new global::measure_buffer();
          }
          input.ReadMessage(ActuallyMeasureInfo);
          break;
        }
        case 82: {
          if (actuallySpaceInfo_ == null) {
            ActuallySpaceInfo = new global::parkspace_info();
          }
          input.ReadMessage(ActuallySpaceInfo);
          break;
        }
        case 88: {
          ImportId = input.ReadInt32();
          break;
        }
        case 98: {
          if (carNumberInfo_ == null) {
            CarNumberInfo = new global::plate_number_info();
          }
          input.ReadMessage(CarNumberInfo);
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 10: {
          if (statu_ == null) {
            Statu = new global::table_statu();
          }
          input.ReadMessage(Statu);
          break;
        }
        case 16: {
          QueueId = input.ReadInt32();
          break;
        }
        case 26: {
          CarNumber = input.ReadString();
          break;
        }
        case 32: {
          UnitId = input.ReadInt32();
          break;
        }
        case 40: {
          TerminalId = input.ReadInt32();
          break;
        }
        case 50: {
          PrimaryKey = input.ReadString();
          break;
        }
        case 58: {
          if (entranceMeasureInfo_ == null) {
            EntranceMeasureInfo = new global::measure_buffer();
          }
          input.ReadMessage(EntranceMeasureInfo);
          break;
        }
        case 66: {
          if (allocatedSpaceInfo_ == null) {
            AllocatedSpaceInfo = new global::parkspace_info();
          }
          input.ReadMessage(AllocatedSpaceInfo);
          break;
        }
        case 74: {
          if (actuallyMeasureInfo_ == null) {
            ActuallyMeasureInfo = new global::measure_buffer();
          }
          input.ReadMessage(ActuallyMeasureInfo);
          break;
        }
        case 82: {
          if (actuallySpaceInfo_ == null) {
            ActuallySpaceInfo = new global::parkspace_info();
          }
          input.ReadMessage(ActuallySpaceInfo);
          break;
        }
        case 88: {
          ImportId = input.ReadInt32();
          break;
        }
        case 98: {
          if (carNumberInfo_ == null) {
            CarNumberInfo = new global::plate_number_info();
          }
          input.ReadMessage(CarNumberInfo);
          break;
        }
      }
    }
  }
  #endif

}

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

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public pick_table(pick_table other) : this() {
    statu_ = other.statu_ != null ? other.statu_.Clone() : null;
    queueId_ = other.queueId_;
    carNumber_ = other.carNumber_;
    unitId_ = other.unitId_;
    terminalId_ = other.terminalId_;
    primaryKey_ = other.primaryKey_;
    actuallySpaceInfo_ = other.actuallySpaceInfo_ != null ? other.actuallySpaceInfo_.Clone() : null;
    actuallyMeasureInfo_ = other.actuallyMeasureInfo_ != null ? other.actuallyMeasureInfo_.Clone() : null;
    exportId_ = other.exportId_;
    isLeaved_ = other.isLeaved_;
    carNumberInfo_ = other.carNumberInfo_ != null ? other.carNumberInfo_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "statu" field.</summary>
  public const int StatuFieldNumber = 1;
  private global::table_statu statu_;
  /// <summary>
  /// 表单状态
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::table_statu Statu {
    get { return statu_; }
    set {
      statu_ = value;
    }
  }

  /// <summary>Field number for the "queue_id" field.</summary>
  public const int QueueIdFieldNumber = 2;
  private int queueId_;
  /// <summary>
  /// 指令排队编号
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int QueueId {
    get { return queueId_; }
    set {
      queueId_ = value;
    }
  }

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

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

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

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

  /// <summary>Field number for the "actually_space_info" field.</summary>
  public const int ActuallySpaceInfoFieldNumber = 7;
  private global::parkspace_info actuallySpaceInfo_;
  /// <summary>
  /// 实际停放的车位信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::parkspace_info ActuallySpaceInfo {
    get { return actuallySpaceInfo_; }
    set {
      actuallySpaceInfo_ = value;
    }
  }

  /// <summary>Field number for the "actually_measure_info" field.</summary>
  public const int ActuallyMeasureInfoFieldNumber = 8;
  private global::measure_buffer actuallyMeasureInfo_;
  /// <summary>
  /// 存车时的实际测量信息（轴距）
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::measure_buffer ActuallyMeasureInfo {
    get { return actuallyMeasureInfo_; }
    set {
      actuallyMeasureInfo_ = value;
    }
  }

  /// <summary>Field number for the "export_id" field.</summary>
  public const int ExportIdFieldNumber = 9;
  private int exportId_;
  /// <summary>
  /// 出口id, 3~4
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int ExportId {
    get { return exportId_; }
    set {
      exportId_ = value;
    }
  }

  /// <summary>Field number for the "is_leaved" field.</summary>
  public const int IsLeavedFieldNumber = 10;
  private bool isLeaved_;
  /// <summary>
  /// 是否离开
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool IsLeaved {
    get { return isLeaved_; }
    set {
      isLeaved_ = value;
    }
  }

  /// <summary>Field number for the "car_number_info" field.</summary>
  public const int CarNumberInfoFieldNumber = 11;
  private global::plate_number_info carNumberInfo_;
  /// <summary>
  /// 车牌号信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::plate_number_info CarNumberInfo {
    get { return carNumberInfo_; }
    set {
      carNumberInfo_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(pick_table other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(Statu, other.Statu)) return false;
    if (QueueId != other.QueueId) return false;
    if (CarNumber != other.CarNumber) return false;
    if (UnitId != other.UnitId) return false;
    if (TerminalId != other.TerminalId) return false;
    if (PrimaryKey != other.PrimaryKey) return false;
    if (!object.Equals(ActuallySpaceInfo, other.ActuallySpaceInfo)) return false;
    if (!object.Equals(ActuallyMeasureInfo, other.ActuallyMeasureInfo)) return false;
    if (ExportId != other.ExportId) return false;
    if (IsLeaved != other.IsLeaved) return false;
    if (!object.Equals(CarNumberInfo, other.CarNumberInfo)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (statu_ != null) hash ^= Statu.GetHashCode();
    if (QueueId != 0) hash ^= QueueId.GetHashCode();
    if (CarNumber.Length != 0) hash ^= CarNumber.GetHashCode();
    if (UnitId != 0) hash ^= UnitId.GetHashCode();
    if (TerminalId != 0) hash ^= TerminalId.GetHashCode();
    if (PrimaryKey.Length != 0) hash ^= PrimaryKey.GetHashCode();
    if (actuallySpaceInfo_ != null) hash ^= ActuallySpaceInfo.GetHashCode();
    if (actuallyMeasureInfo_ != null) hash ^= ActuallyMeasureInfo.GetHashCode();
    if (ExportId != 0) hash ^= ExportId.GetHashCode();
    if (IsLeaved != false) hash ^= IsLeaved.GetHashCode();
    if (carNumberInfo_ != null) hash ^= CarNumberInfo.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (statu_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Statu);
    }
    if (QueueId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(QueueId);
    }
    if (CarNumber.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CarNumber);
    }
    if (UnitId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(UnitId);
    }
    if (TerminalId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(TerminalId);
    }
    if (PrimaryKey.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(PrimaryKey);
    }
    if (actuallySpaceInfo_ != null) {
      output.WriteRawTag(58);
      output.WriteMessage(ActuallySpaceInfo);
    }
    if (actuallyMeasureInfo_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(ActuallyMeasureInfo);
    }
    if (ExportId != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(ExportId);
    }
    if (IsLeaved != false) {
      output.WriteRawTag(80);
      output.WriteBool(IsLeaved);
    }
    if (carNumberInfo_ != null) {
      output.WriteRawTag(90);
      output.WriteMessage(CarNumberInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (statu_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(Statu);
    }
    if (QueueId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(QueueId);
    }
    if (CarNumber.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CarNumber);
    }
    if (UnitId != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(UnitId);
    }
    if (TerminalId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(TerminalId);
    }
    if (PrimaryKey.Length != 0) {
      output.WriteRawTag(50);
      output.WriteString(PrimaryKey);
    }
    if (actuallySpaceInfo_ != null) {
      output.WriteRawTag(58);
      output.WriteMessage(ActuallySpaceInfo);
    }
    if (actuallyMeasureInfo_ != null) {
      output.WriteRawTag(66);
      output.WriteMessage(ActuallyMeasureInfo);
    }
    if (ExportId != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(ExportId);
    }
    if (IsLeaved != false) {
      output.WriteRawTag(80);
      output.WriteBool(IsLeaved);
    }
    if (carNumberInfo_ != null) {
      output.WriteRawTag(90);
      output.WriteMessage(CarNumberInfo);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (statu_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(Statu);
    }
    if (QueueId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(QueueId);
    }
    if (CarNumber.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CarNumber);
    }
    if (UnitId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnitId);
    }
    if (TerminalId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminalId);
    }
    if (PrimaryKey.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(PrimaryKey);
    }
    if (actuallySpaceInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ActuallySpaceInfo);
    }
    if (actuallyMeasureInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(ActuallyMeasureInfo);
    }
    if (ExportId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExportId);
    }
    if (IsLeaved != false) {
      size += 1 + 1;
    }
    if (carNumberInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(CarNumberInfo);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pick_table other) {
    if (other == null) {
      return;
    }
    if (other.statu_ != null) {
      if (statu_ == null) {
        Statu = new global::table_statu();
      }
      Statu.MergeFrom(other.Statu);
    }
    if (other.QueueId != 0) {
      QueueId = other.QueueId;
    }
    if (other.CarNumber.Length != 0) {
      CarNumber = other.CarNumber;
    }
    if (other.UnitId != 0) {
      UnitId = other.UnitId;
    }
    if (other.TerminalId != 0) {
      TerminalId = other.TerminalId;
    }
    if (other.PrimaryKey.Length != 0) {
      PrimaryKey = other.PrimaryKey;
    }
    if (other.actuallySpaceInfo_ != null) {
      if (actuallySpaceInfo_ == null) {
        ActuallySpaceInfo = new global::parkspace_info();
      }
      ActuallySpaceInfo.MergeFrom(other.ActuallySpaceInfo);
    }
    if (other.actuallyMeasureInfo_ != null) {
      if (actuallyMeasureInfo_ == null) {
        ActuallyMeasureInfo = new global::measure_buffer();
      }
      ActuallyMeasureInfo.MergeFrom(other.ActuallyMeasureInfo);
    }
    if (other.ExportId != 0) {
      ExportId = other.ExportId;
    }
    if (other.IsLeaved != false) {
      IsLeaved = other.IsLeaved;
    }
    if (other.carNumberInfo_ != null) {
      if (carNumberInfo_ == null) {
        CarNumberInfo = new global::plate_number_info();
      }
      CarNumberInfo.MergeFrom(other.CarNumberInfo);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (statu_ == null) {
            Statu = new global::table_statu();
          }
          input.ReadMessage(Statu);
          break;
        }
        case 16: {
          QueueId = input.ReadInt32();
          break;
        }
        case 26: {
          CarNumber = input.ReadString();
          break;
        }
        case 32: {
          UnitId = input.ReadInt32();
          break;
        }
        case 40: {
          TerminalId = input.ReadInt32();
          break;
        }
        case 50: {
          PrimaryKey = input.ReadString();
          break;
        }
        case 58: {
          if (actuallySpaceInfo_ == null) {
            ActuallySpaceInfo = new global::parkspace_info();
          }
          input.ReadMessage(ActuallySpaceInfo);
          break;
        }
        case 66: {
          if (actuallyMeasureInfo_ == null) {
            ActuallyMeasureInfo = new global::measure_buffer();
          }
          input.ReadMessage(ActuallyMeasureInfo);
          break;
        }
        case 72: {
          ExportId = input.ReadInt32();
          break;
        }
        case 80: {
          IsLeaved = input.ReadBool();
          break;
        }
        case 90: {
          if (carNumberInfo_ == null) {
            CarNumberInfo = new global::plate_number_info();
          }
          input.ReadMessage(CarNumberInfo);
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 10: {
          if (statu_ == null) {
            Statu = new global::table_statu();
          }
          input.ReadMessage(Statu);
          break;
        }
        case 16: {
          QueueId = input.ReadInt32();
          break;
        }
        case 26: {
          CarNumber = input.ReadString();
          break;
        }
        case 32: {
          UnitId = input.ReadInt32();
          break;
        }
        case 40: {
          TerminalId = input.ReadInt32();
          break;
        }
        case 50: {
          PrimaryKey = input.ReadString();
          break;
        }
        case 58: {
          if (actuallySpaceInfo_ == null) {
            ActuallySpaceInfo = new global::parkspace_info();
          }
          input.ReadMessage(ActuallySpaceInfo);
          break;
        }
        case 66: {
          if (actuallyMeasureInfo_ == null) {
            ActuallyMeasureInfo = new global::measure_buffer();
          }
          input.ReadMessage(ActuallyMeasureInfo);
          break;
        }
        case 72: {
          ExportId = input.ReadInt32();
          break;
        }
        case 80: {
          IsLeaved = input.ReadBool();
          break;
        }
        case 90: {
          if (carNumberInfo_ == null) {
            CarNumberInfo = new global::plate_number_info();
          }
          input.ReadMessage(CarNumberInfo);
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///
///单片机节点状态
/// </summary>
public sealed partial class out_mcpu_statu : pb::IMessage<out_mcpu_statu>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<out_mcpu_statu> _parser = new pb::MessageParser<out_mcpu_statu>(() => new out_mcpu_statu());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<out_mcpu_statu> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

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

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

  /// <summary>Field number for the "door_statu" field.</summary>
  public const int DoorStatuFieldNumber = 1;
  private int doorStatu_;
  /// <summary>
  ///外门状态       0无效, 1无效, 2开到位, 3 关到位, 4开关中, 5 故障
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int DoorStatu {
    get { return doorStatu_; }
    set {
      doorStatu_ = value;
    }
  }

  /// <summary>Field number for the "outside_safety" field.</summary>
  public const int OutsideSafetyFieldNumber = 2;
  private int outsideSafety_;
  /// <summary>
  ///是否有车      0无效, 1无车, 2有车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int OutsideSafety {
    get { return outsideSafety_; }
    set {
      outsideSafety_ = value;
    }
  }

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

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (DoorStatu != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DoorStatu);
    }
    if (OutsideSafety != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(OutsideSafety);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DoorStatu = input.ReadInt32();
          break;
        }
        case 16: {
          OutsideSafety = input.ReadInt32();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          DoorStatu = input.ReadInt32();
          break;
        }
        case 16: {
          OutsideSafety = input.ReadInt32();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///数值+1后
/// </summary>
public sealed partial class in_mcpu_statu : pb::IMessage<in_mcpu_statu>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<in_mcpu_statu> _parser = new pb::MessageParser<in_mcpu_statu>(() => new in_mcpu_statu());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<in_mcpu_statu> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

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

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

  /// <summary>Field number for the "door_statu" field.</summary>
  public const int DoorStatuFieldNumber = 1;
  private int doorStatu_;
  /// <summary>
  ///外门状态       0无效, 1无效, 2开到位, 3 关到位, 4开关中, 5 故障
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int DoorStatu {
    get { return doorStatu_; }
    set {
      doorStatu_ = value;
    }
  }

  /// <summary>Field number for the "back_io" field.</summary>
  public const int BackIoFieldNumber = 2;
  private int backIo_;
  /// <summary>
  ///后超界       0无效, 1后超界, 2正常
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int BackIo {
    get { return backIo_; }
    set {
      backIo_ = value;
    }
  }

  /// <summary>Field number for the "is_occupy" field.</summary>
  public const int IsOccupyFieldNumber = 3;
  private int isOccupy_;
  /// <summary>
  ///是否有车      0无效, 1无车, 2有车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int IsOccupy {
    get { return isOccupy_; }
    set {
      isOccupy_ = value;
    }
  }

  /// <summary>Field number for the "heighth" field.</summary>
  public const int HeighthFieldNumber = 4;
  private int heighth_;
  /// <summary>
  ///车高状态      0无效, 1无效, 2小车, 3中车, 4大车, 5故障, 6故障
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int Heighth {
    get { return heighth_; }
    set {
      heighth_ = value;
    }
  }

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

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (DoorStatu != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(DoorStatu);
    }
    if (BackIo != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(BackIo);
    }
    if (IsOccupy != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(IsOccupy);
    }
    if (Heighth != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(Heighth);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(in_mcpu_statu other) {
    if (other == null) {
      return;
    }
    if (other.DoorStatu != 0) {
      DoorStatu = other.DoorStatu;
    }
    if (other.BackIo != 0) {
      BackIo = other.BackIo;
    }
    if (other.IsOccupy != 0) {
      IsOccupy = other.IsOccupy;
    }
    if (other.Heighth != 0) {
      Heighth = other.Heighth;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          DoorStatu = input.ReadInt32();
          break;
        }
        case 16: {
          BackIo = input.ReadInt32();
          break;
        }
        case 24: {
          IsOccupy = input.ReadInt32();
          break;
        }
        case 32: {
          Heighth = input.ReadInt32();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          DoorStatu = input.ReadInt32();
          break;
        }
        case 16: {
          BackIo = input.ReadInt32();
          break;
        }
        case 24: {
          IsOccupy = input.ReadInt32();
          break;
        }
        case 32: {
          Heighth = input.ReadInt32();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///
///测量节点状态
/// </summary>
public sealed partial class measure_buffer : pb::IMessage<measure_buffer>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<measure_buffer> _parser = new pb::MessageParser<measure_buffer>(() => new measure_buffer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<measure_buffer> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public measure_buffer(measure_buffer other) : this() {
    measureInfoToPlcForward_ = other.measureInfoToPlcForward_ != null ? other.measureInfoToPlcForward_.Clone() : null;
    measureInfoToPlcReverse_ = other.measureInfoToPlcReverse_ != null ? other.measureInfoToPlcReverse_.Clone() : null;
    measureInfoToTerminal_ = other.measureInfoToTerminal_ != null ? other.measureInfoToTerminal_.Clone() : null;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "measure_info_to_plc_forward" field.</summary>
  public const int MeasureInfoToPlcForwardFieldNumber = 1;
  private global::measure_info measureInfoToPlcForward_;
  /// <summary>
  ///雷达数据给plc，正向
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::measure_info MeasureInfoToPlcForward {
    get { return measureInfoToPlcForward_; }
    set {
      measureInfoToPlcForward_ = value;
    }
  }

  /// <summary>Field number for the "measure_info_to_plc_reverse" field.</summary>
  public const int MeasureInfoToPlcReverseFieldNumber = 2;
  private global::measure_info measureInfoToPlcReverse_;
  /// <summary>
  ///雷达数据给plc，反向
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::measure_info MeasureInfoToPlcReverse {
    get { return measureInfoToPlcReverse_; }
    set {
      measureInfoToPlcReverse_ = value;
    }
  }

  /// <summary>Field number for the "measure_info_to_terminal" field.</summary>
  public const int MeasureInfoToTerminalFieldNumber = 3;
  private global::measure_info measureInfoToTerminal_;
  /// <summary>
  ///雷达数据给终端，边界较小
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::measure_info MeasureInfoToTerminal {
    get { return measureInfoToTerminal_; }
    set {
      measureInfoToTerminal_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(measure_buffer other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (!object.Equals(MeasureInfoToPlcForward, other.MeasureInfoToPlcForward)) return false;
    if (!object.Equals(MeasureInfoToPlcReverse, other.MeasureInfoToPlcReverse)) return false;
    if (!object.Equals(MeasureInfoToTerminal, other.MeasureInfoToTerminal)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (measureInfoToPlcForward_ != null) hash ^= MeasureInfoToPlcForward.GetHashCode();
    if (measureInfoToPlcReverse_ != null) hash ^= MeasureInfoToPlcReverse.GetHashCode();
    if (measureInfoToTerminal_ != null) hash ^= MeasureInfoToTerminal.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (measureInfoToPlcForward_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(MeasureInfoToPlcForward);
    }
    if (measureInfoToPlcReverse_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(MeasureInfoToPlcReverse);
    }
    if (measureInfoToTerminal_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(MeasureInfoToTerminal);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (measureInfoToPlcForward_ != null) {
      output.WriteRawTag(10);
      output.WriteMessage(MeasureInfoToPlcForward);
    }
    if (measureInfoToPlcReverse_ != null) {
      output.WriteRawTag(18);
      output.WriteMessage(MeasureInfoToPlcReverse);
    }
    if (measureInfoToTerminal_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(MeasureInfoToTerminal);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (measureInfoToPlcForward_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MeasureInfoToPlcForward);
    }
    if (measureInfoToPlcReverse_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MeasureInfoToPlcReverse);
    }
    if (measureInfoToTerminal_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(MeasureInfoToTerminal);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(measure_buffer other) {
    if (other == null) {
      return;
    }
    if (other.measureInfoToPlcForward_ != null) {
      if (measureInfoToPlcForward_ == null) {
        MeasureInfoToPlcForward = new global::measure_info();
      }
      MeasureInfoToPlcForward.MergeFrom(other.MeasureInfoToPlcForward);
    }
    if (other.measureInfoToPlcReverse_ != null) {
      if (measureInfoToPlcReverse_ == null) {
        MeasureInfoToPlcReverse = new global::measure_info();
      }
      MeasureInfoToPlcReverse.MergeFrom(other.MeasureInfoToPlcReverse);
    }
    if (other.measureInfoToTerminal_ != null) {
      if (measureInfoToTerminal_ == null) {
        MeasureInfoToTerminal = new global::measure_info();
      }
      MeasureInfoToTerminal.MergeFrom(other.MeasureInfoToTerminal);
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          if (measureInfoToPlcForward_ == null) {
            MeasureInfoToPlcForward = new global::measure_info();
          }
          input.ReadMessage(MeasureInfoToPlcForward);
          break;
        }
        case 18: {
          if (measureInfoToPlcReverse_ == null) {
            MeasureInfoToPlcReverse = new global::measure_info();
          }
          input.ReadMessage(MeasureInfoToPlcReverse);
          break;
        }
        case 26: {
          if (measureInfoToTerminal_ == null) {
            MeasureInfoToTerminal = new global::measure_info();
          }
          input.ReadMessage(MeasureInfoToTerminal);
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 10: {
          if (measureInfoToPlcForward_ == null) {
            MeasureInfoToPlcForward = new global::measure_info();
          }
          input.ReadMessage(MeasureInfoToPlcForward);
          break;
        }
        case 18: {
          if (measureInfoToPlcReverse_ == null) {
            MeasureInfoToPlcReverse = new global::measure_info();
          }
          input.ReadMessage(MeasureInfoToPlcReverse);
          break;
        }
        case 26: {
          if (measureInfoToTerminal_ == null) {
            MeasureInfoToTerminal = new global::measure_info();
          }
          input.ReadMessage(MeasureInfoToTerminal);
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///plc出入口状态结构体
/// </summary>
public sealed partial class dispatch_plc_passway_status : pb::IMessage<dispatch_plc_passway_status>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<dispatch_plc_passway_status> _parser = new pb::MessageParser<dispatch_plc_passway_status>(() => new dispatch_plc_passway_status());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<dispatch_plc_passway_status> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public dispatch_plc_passway_status(dispatch_plc_passway_status other) : this() {
    carHeight_ = other.carHeight_;
    outsideDoorStatus_ = other.outsideDoorStatus_;
    insideDoorStatus_ = other.insideDoorStatus_;
    combBodyStatus_ = other.combBodyStatus_;
    turnplateAngleMin_ = other.turnplateAngleMin_;
    turnplateAngleMax_ = other.turnplateAngleMax_;
    sensor1_ = other.sensor1_;
    sensor2_ = other.sensor2_;
    plcPasswayEnable_ = other.plcPasswayEnable_;
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

  /// <summary>Field number for the "car_height" field.</summary>
  public const int CarHeightFieldNumber = 1;
  private int carHeight_;
  /// <summary>
  ///车高 0=无车 1=小车 2=中车 3=大车 4=超高车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CarHeight {
    get { return carHeight_; }
    set {
      carHeight_ = value;
    }
  }

  /// <summary>Field number for the "outside_door_status" field.</summary>
  public const int OutsideDoorStatusFieldNumber = 2;
  private int outsideDoorStatus_;
  /// <summary>
  ///外门状态 0=无状态 1=开到位 2=关到位
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int OutsideDoorStatus {
    get { return outsideDoorStatus_; }
    set {
      outsideDoorStatus_ = value;
    }
  }

  /// <summary>Field number for the "inside_door_status" field.</summary>
  public const int InsideDoorStatusFieldNumber = 3;
  private int insideDoorStatus_;
  /// <summary>
  ///内门状态 0=无状态 1=开到位 2=关到位
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int InsideDoorStatus {
    get { return insideDoorStatus_; }
    set {
      insideDoorStatus_ = value;
    }
  }

  /// <summary>Field number for the "comb_body_status" field.</summary>
  public const int CombBodyStatusFieldNumber = 4;
  private int combBodyStatus_;
  /// <summary>
  ///梳体状态 0=无状态 1=上到位 2=下到位, AB特有, 中科新苑无效
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CombBodyStatus {
    get { return combBodyStatus_; }
    set {
      combBodyStatus_ = value;
    }
  }

  /// <summary>Field number for the "turnplate_angle_min" field.</summary>
  public const int TurnplateAngleMinFieldNumber = 5;
  private float turnplateAngleMin_;
  /// <summary>
  ///转盘角度最小值, C特有, 负值, 例如 -5度, 中科新苑无效
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float TurnplateAngleMin {
    get { return turnplateAngleMin_; }
    set {
      turnplateAngleMin_ = value;
    }
  }

  /// <summary>Field number for the "turnplate_angle_max" field.</summary>
  public const int TurnplateAngleMaxFieldNumber = 6;
  private float turnplateAngleMax_;
  /// <summary>
  ///转盘角度最大值, C特有, 正值, 例如 +5度, 中科新苑无效
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float TurnplateAngleMax {
    get { return turnplateAngleMax_; }
    set {
      turnplateAngleMax_ = value;
    }
  }

  /// <summary>Field number for the "sensor_1" field.</summary>
  public const int Sensor1FieldNumber = 7;
  private int sensor1_;
  /// <summary>
  ///传感器状态的集合1
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int Sensor1 {
    get { return sensor1_; }
    set {
      sensor1_ = value;
    }
  }

  /// <summary>Field number for the "sensor_2" field.</summary>
  public const int Sensor2FieldNumber = 8;
  private int sensor2_;
  /// <summary>
  ///0 bit, 地感 0=无车 1=有车
  ///1 bit, 移动检测 0=运动 1=静止, 中科新苑无效
  ///2 bit, 动态超限 0=遮挡 1=正常, 中科新苑无效
  ///3 bit, 后超界 0=遮挡 1=正常
  ///4 bit, 前超界 0=遮挡 1=正常
  ///5 bit, 左超界 0=遮挡 1=正常, 中科新苑无效
  ///6 bit, 右超界 0=遮挡 1=正常, 中科新苑无效
  ///7 bit, 中科新苑无效
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int Sensor2 {
    get { return sensor2_; }
    set {
      sensor2_ = value;
    }
  }

  /// <summary>Field number for the "plc_passway_enable" field.</summary>
  public const int PlcPasswayEnableFieldNumber = 9;
  private int plcPasswayEnable_;
  /// <summary>
  ///0 bit, 有车检测，  0=遮挡 1=正常
  ///1 bit, 有车检测，  0=遮挡 1=正常
  ///2 bit, 车高1550， 0=遮挡 1=正常
  ///3 bit, 车高1550， 0=遮挡 1=正常
  ///4 bit, 车高1750， 0=遮挡 1=正常
  ///5 bit, 车高1750， 0=遮挡 1=正常
  ///6 bit, 预留
  ///7 bit, 预留
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcPasswayEnable {
    get { return plcPasswayEnable_; }
    set {
      plcPasswayEnable_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(dispatch_plc_passway_status other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (CarHeight != other.CarHeight) return false;
    if (OutsideDoorStatus != other.OutsideDoorStatus) return false;
    if (InsideDoorStatus != other.InsideDoorStatus) return false;
    if (CombBodyStatus != other.CombBodyStatus) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TurnplateAngleMin, other.TurnplateAngleMin)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(TurnplateAngleMax, other.TurnplateAngleMax)) return false;
    if (Sensor1 != other.Sensor1) return false;
    if (Sensor2 != other.Sensor2) return false;
    if (PlcPasswayEnable != other.PlcPasswayEnable) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (CarHeight != 0) hash ^= CarHeight.GetHashCode();
    if (OutsideDoorStatus != 0) hash ^= OutsideDoorStatus.GetHashCode();
    if (InsideDoorStatus != 0) hash ^= InsideDoorStatus.GetHashCode();
    if (CombBodyStatus != 0) hash ^= CombBodyStatus.GetHashCode();
    if (TurnplateAngleMin != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TurnplateAngleMin);
    if (TurnplateAngleMax != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(TurnplateAngleMax);
    if (Sensor1 != 0) hash ^= Sensor1.GetHashCode();
    if (Sensor2 != 0) hash ^= Sensor2.GetHashCode();
    if (PlcPasswayEnable != 0) hash ^= PlcPasswayEnable.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (CarHeight != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(CarHeight);
    }
    if (OutsideDoorStatus != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(OutsideDoorStatus);
    }
    if (InsideDoorStatus != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(InsideDoorStatus);
    }
    if (CombBodyStatus != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(CombBodyStatus);
    }
    if (TurnplateAngleMin != 0F) {
      output.WriteRawTag(45);
      output.WriteFloat(TurnplateAngleMin);
    }
    if (TurnplateAngleMax != 0F) {
      output.WriteRawTag(53);
      output.WriteFloat(TurnplateAngleMax);
    }
    if (Sensor1 != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(Sensor1);
    }
    if (Sensor2 != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(Sensor2);
    }
    if (PlcPasswayEnable != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(PlcPasswayEnable);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (CarHeight != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(CarHeight);
    }
    if (OutsideDoorStatus != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(OutsideDoorStatus);
    }
    if (InsideDoorStatus != 0) {
      output.WriteRawTag(24);
      output.WriteInt32(InsideDoorStatus);
    }
    if (CombBodyStatus != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(CombBodyStatus);
    }
    if (TurnplateAngleMin != 0F) {
      output.WriteRawTag(45);
      output.WriteFloat(TurnplateAngleMin);
    }
    if (TurnplateAngleMax != 0F) {
      output.WriteRawTag(53);
      output.WriteFloat(TurnplateAngleMax);
    }
    if (Sensor1 != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(Sensor1);
    }
    if (Sensor2 != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(Sensor2);
    }
    if (PlcPasswayEnable != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(PlcPasswayEnable);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (CarHeight != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CarHeight);
    }
    if (OutsideDoorStatus != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(OutsideDoorStatus);
    }
    if (InsideDoorStatus != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(InsideDoorStatus);
    }
    if (CombBodyStatus != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(CombBodyStatus);
    }
    if (TurnplateAngleMin != 0F) {
      size += 1 + 4;
    }
    if (TurnplateAngleMax != 0F) {
      size += 1 + 4;
    }
    if (Sensor1 != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sensor1);
    }
    if (Sensor2 != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sensor2);
    }
    if (PlcPasswayEnable != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcPasswayEnable);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(dispatch_plc_passway_status other) {
    if (other == null) {
      return;
    }
    if (other.CarHeight != 0) {
      CarHeight = other.CarHeight;
    }
    if (other.OutsideDoorStatus != 0) {
      OutsideDoorStatus = other.OutsideDoorStatus;
    }
    if (other.InsideDoorStatus != 0) {
      InsideDoorStatus = other.InsideDoorStatus;
    }
    if (other.CombBodyStatus != 0) {
      CombBodyStatus = other.CombBodyStatus;
    }
    if (other.TurnplateAngleMin != 0F) {
      TurnplateAngleMin = other.TurnplateAngleMin;
    }
    if (other.TurnplateAngleMax != 0F) {
      TurnplateAngleMax = other.TurnplateAngleMax;
    }
    if (other.Sensor1 != 0) {
      Sensor1 = other.Sensor1;
    }
    if (other.Sensor2 != 0) {
      Sensor2 = other.Sensor2;
    }
    if (other.PlcPasswayEnable != 0) {
      PlcPasswayEnable = other.PlcPasswayEnable;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          CarHeight = input.ReadInt32();
          break;
        }
        case 16: {
          OutsideDoorStatus = input.ReadInt32();
          break;
        }
        case 24: {
          InsideDoorStatus = input.ReadInt32();
          break;
        }
        case 32: {
          CombBodyStatus = input.ReadInt32();
          break;
        }
        case 45: {
          TurnplateAngleMin = input.ReadFloat();
          break;
        }
        case 53: {
          TurnplateAngleMax = input.ReadFloat();
          break;
        }
        case 56: {
          Sensor1 = input.ReadInt32();
          break;
        }
        case 64: {
          Sensor2 = input.ReadInt32();
          break;
        }
        case 72: {
          PlcPasswayEnable = input.ReadInt32();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          CarHeight = input.ReadInt32();
          break;
        }
        case 16: {
          OutsideDoorStatus = input.ReadInt32();
          break;
        }
        case 24: {
          InsideDoorStatus = input.ReadInt32();
          break;
        }
        case 32: {
          CombBodyStatus = input.ReadInt32();
          break;
        }
        case 45: {
          TurnplateAngleMin = input.ReadFloat();
          break;
        }
        case 53: {
          TurnplateAngleMax = input.ReadFloat();
          break;
        }
        case 56: {
          Sensor1 = input.ReadInt32();
          break;
        }
        case 64: {
          Sensor2 = input.ReadInt32();
          break;
        }
        case 72: {
          PlcPasswayEnable = input.ReadInt32();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///载车板状态
/// </summary>
public sealed partial class dispatch_carry_board_status : pb::IMessage<dispatch_carry_board_status>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<dispatch_carry_board_status> _parser = new pb::MessageParser<dispatch_carry_board_status>(() => new dispatch_carry_board_status());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<dispatch_carry_board_status> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

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

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

  /// <summary>Field number for the "space_table_id" field.</summary>
  public const int SpaceTableIdFieldNumber = 1;
  private int spaceTableId_;
  /// <summary>
  ///车位id， 101~160
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int SpaceTableId {
    get { return spaceTableId_; }
    set {
      spaceTableId_ = value;
    }
  }

  /// <summary>Field number for the "carry_board_mode" field.</summary>
  public const int CarryBoardModeFieldNumber = 2;
  private int carryBoardMode_;
  /// <summary>
  ///carry_board_mode 0是无效, 1是上升, 2是下降
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CarryBoardMode {
    get { return carryBoardMode_; }
    set {
      carryBoardMode_ = value;
    }
  }

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

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (SpaceTableId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(SpaceTableId);
    }
    if (CarryBoardMode != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(CarryBoardMode);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          SpaceTableId = input.ReadInt32();
          break;
        }
        case 16: {
          CarryBoardMode = input.ReadInt32();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          SpaceTableId = input.ReadInt32();
          break;
        }
        case 16: {
          CarryBoardMode = input.ReadInt32();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///厦门搬运器状态消息
/// </summary>
public sealed partial class dispatch_node_statu : pb::IMessage<dispatch_node_statu>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<dispatch_node_statu> _parser = new pb::MessageParser<dispatch_node_statu>(() => new dispatch_node_statu());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<dispatch_node_statu> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public dispatch_node_statu(dispatch_node_statu other) : this() {
    statu_ = other.statu_;
    idleStopFloor_ = other.idleStopFloor_;
    runningPackInfo_ = other.runningPackInfo_ != null ? other.runningPackInfo_.Clone() : null;
    runningPickInfo_ = other.runningPickInfo_ != null ? other.runningPickInfo_.Clone() : null;
    unitId_ = other.unitId_;
    plcHeartbeat_ = other.plcHeartbeat_;
    plcModeStatus_ = other.plcModeStatus_;
    plcPasswayStatus_ = other.plcPasswayStatus_;
    plcCarrierStatus_ = other.plcCarrierStatus_;
    plcInlet1Status_ = other.plcInlet1Status_;
    plcInlet2Status_ = other.plcInlet2Status_;
    plcOutlet3Status_ = other.plcOutlet3Status_;
    plcOutlet4Status_ = other.plcOutlet4Status_;
    dispatchPlcPasswayStatusVector_ = other.dispatchPlcPasswayStatusVector_.Clone();
    dispatchCarryBoardStatusVector_ = other.dispatchCarryBoardStatusVector_.Clone();
    _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
  }

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

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

  /// <summary>Field number for the "idle_stop_floor" field.</summary>
  public const int IdleStopFloorFieldNumber = 2;
  private int idleStopFloor_;
  /// <summary>
  ///空闲时停留位置
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int IdleStopFloor {
    get { return idleStopFloor_; }
    set {
      idleStopFloor_ = value;
    }
  }

  /// <summary>Field number for the "running_pack_info" field.</summary>
  public const int RunningPackInfoFieldNumber = 3;
  private global::park_table runningPackInfo_;
  /// <summary>
  ///正在执行的停车表单
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::park_table RunningPackInfo {
    get { return runningPackInfo_; }
    set {
      runningPackInfo_ = value;
    }
  }

  /// <summary>Field number for the "running_pick_info" field.</summary>
  public const int RunningPickInfoFieldNumber = 4;
  private global::pick_table runningPickInfo_;
  /// <summary>
  ///正在执行的取车表单
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public global::pick_table RunningPickInfo {
    get { return runningPickInfo_; }
    set {
      runningPickInfo_ = value;
    }
  }

  /// <summary>Field number for the "unit_id" field.</summary>
  public const int UnitIdFieldNumber = 5;
  private int unitId_;
  /// <summary>
  ///单元号,
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int UnitId {
    get { return unitId_; }
    set {
      unitId_ = value;
    }
  }

  /// <summary>Field number for the "plc_heartbeat" field.</summary>
  public const int PlcHeartbeatFieldNumber = 6;
  private int plcHeartbeat_;
  /// <summary>
  ///plc心跳信息
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcHeartbeat {
    get { return plcHeartbeat_; }
    set {
      plcHeartbeat_ = value;
    }
  }

  /// <summary>Field number for the "plc_mode_status" field.</summary>
  public const int PlcModeStatusFieldNumber = 7;
  private int plcModeStatus_;
  /// <summary>
  ///plc状态的集合
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcModeStatus {
    get { return plcModeStatus_; }
    set {
      plcModeStatus_ = value;
    }
  }

  /// <summary>Field number for the "plc_passway_status" field.</summary>
  public const int PlcPasswayStatusFieldNumber = 8;
  private int plcPasswayStatus_;
  /// <summary>
  ///0 bit, 手动模式, 维修模式
  ///1 bit, 自动模式
  ///2 bit, 自动运行中
  ///3 bit, 复位
  ///4 bit, 预留
  ///5 bit, 预留
  ///6 bit, 预留
  ///7 bit, 预留
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcPasswayStatus {
    get { return plcPasswayStatus_; }
    set {
      plcPasswayStatus_ = value;
    }
  }

  /// <summary>Field number for the "plc_carrier_status" field.</summary>
  public const int PlcCarrierStatusFieldNumber = 9;
  private int plcCarrierStatus_;
  /// <summary>
  ///0 bit, 入口1 可进车
  ///1 bit, 入口1 维护
  ///2 bit, 入口2 可进车
  ///3 bit, 入口2 维护
  ///4 bit, 出口1 可出车, 中科新苑无效
  ///5 bit, 出口1 维护, 中科新苑无效
  ///6 bit, 出口2 可出车, 中科新苑无效
  ///7 bit, 出口2 维护, 中科新苑无效
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcCarrierStatus {
    get { return plcCarrierStatus_; }
    set {
      plcCarrierStatus_ = value;
    }
  }

  /// <summary>Field number for the "plc_inlet_1_status" field.</summary>
  public const int PlcInlet1StatusFieldNumber = 10;
  private int plcInlet1Status_;
  /// <summary>
  ///入口1 0=不可进车, 1=可进车, 2=维护不可进车, 3=维护可进车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcInlet1Status {
    get { return plcInlet1Status_; }
    set {
      plcInlet1Status_ = value;
    }
  }

  /// <summary>Field number for the "plc_inlet_2_status" field.</summary>
  public const int PlcInlet2StatusFieldNumber = 11;
  private int plcInlet2Status_;
  /// <summary>
  ///入口2 0=不可进车, 1=可进车, 2=维护不可进车, 3=维护可进车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcInlet2Status {
    get { return plcInlet2Status_; }
    set {
      plcInlet2Status_ = value;
    }
  }

  /// <summary>Field number for the "plc_outlet_3_status" field.</summary>
  public const int PlcOutlet3StatusFieldNumber = 12;
  private int plcOutlet3Status_;
  /// <summary>
  ///出口3 0=不可进车, 1=可进车, 2=维护不可进车, 3=维护可进车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcOutlet3Status {
    get { return plcOutlet3Status_; }
    set {
      plcOutlet3Status_ = value;
    }
  }

  /// <summary>Field number for the "plc_outlet_4_status" field.</summary>
  public const int PlcOutlet4StatusFieldNumber = 13;
  private int plcOutlet4Status_;
  /// <summary>
  ///出口4 0=不可进车, 1=可进车, 2=维护不可进车, 3=维护可进车
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int PlcOutlet4Status {
    get { return plcOutlet4Status_; }
    set {
      plcOutlet4Status_ = value;
    }
  }

  /// <summary>Field number for the "dispatch_plc_passway_status_vector" field.</summary>
  public const int DispatchPlcPasswayStatusVectorFieldNumber = 14;
  private static readonly pb::FieldCodec<global::dispatch_plc_passway_status> _repeated_dispatchPlcPasswayStatusVector_codec
      = pb::FieldCodec.ForMessage(114, global::dispatch_plc_passway_status.Parser);
  private readonly pbc::RepeatedField<global::dispatch_plc_passway_status> dispatchPlcPasswayStatusVector_ = new pbc::RepeatedField<global::dispatch_plc_passway_status>();
  /// <summary>
  ///plc出入口状态结构体,  数组下标0~1是入口, 数组下标2~3是出口
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public pbc::RepeatedField<global::dispatch_plc_passway_status> DispatchPlcPasswayStatusVector {
    get { return dispatchPlcPasswayStatusVector_; }
  }

  /// <summary>Field number for the "dispatch_carry_board_status_vector" field.</summary>
  public const int DispatchCarryBoardStatusVectorFieldNumber = 15;
  private static readonly pb::FieldCodec<global::dispatch_carry_board_status> _repeated_dispatchCarryBoardStatusVector_codec
      = pb::FieldCodec.ForMessage(122, global::dispatch_carry_board_status.Parser);
  private readonly pbc::RepeatedField<global::dispatch_carry_board_status> dispatchCarryBoardStatusVector_ = new pbc::RepeatedField<global::dispatch_carry_board_status>();
  /// <summary>
  ///载车板状态, 数组下标0~59 对应 车位id的101~160
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public pbc::RepeatedField<global::dispatch_carry_board_status> DispatchCarryBoardStatusVector {
    get { return dispatchCarryBoardStatusVector_; }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(dispatch_node_statu other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (Statu != other.Statu) return false;
    if (IdleStopFloor != other.IdleStopFloor) return false;
    if (!object.Equals(RunningPackInfo, other.RunningPackInfo)) return false;
    if (!object.Equals(RunningPickInfo, other.RunningPickInfo)) return false;
    if (UnitId != other.UnitId) return false;
    if (PlcHeartbeat != other.PlcHeartbeat) return false;
    if (PlcModeStatus != other.PlcModeStatus) return false;
    if (PlcPasswayStatus != other.PlcPasswayStatus) return false;
    if (PlcCarrierStatus != other.PlcCarrierStatus) return false;
    if (PlcInlet1Status != other.PlcInlet1Status) return false;
    if (PlcInlet2Status != other.PlcInlet2Status) return false;
    if (PlcOutlet3Status != other.PlcOutlet3Status) return false;
    if (PlcOutlet4Status != other.PlcOutlet4Status) return false;
    if(!dispatchPlcPasswayStatusVector_.Equals(other.dispatchPlcPasswayStatusVector_)) return false;
    if(!dispatchCarryBoardStatusVector_.Equals(other.dispatchCarryBoardStatusVector_)) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (Statu != global::CarrierStatu.EIdle) hash ^= Statu.GetHashCode();
    if (IdleStopFloor != 0) hash ^= IdleStopFloor.GetHashCode();
    if (runningPackInfo_ != null) hash ^= RunningPackInfo.GetHashCode();
    if (runningPickInfo_ != null) hash ^= RunningPickInfo.GetHashCode();
    if (UnitId != 0) hash ^= UnitId.GetHashCode();
    if (PlcHeartbeat != 0) hash ^= PlcHeartbeat.GetHashCode();
    if (PlcModeStatus != 0) hash ^= PlcModeStatus.GetHashCode();
    if (PlcPasswayStatus != 0) hash ^= PlcPasswayStatus.GetHashCode();
    if (PlcCarrierStatus != 0) hash ^= PlcCarrierStatus.GetHashCode();
    if (PlcInlet1Status != 0) hash ^= PlcInlet1Status.GetHashCode();
    if (PlcInlet2Status != 0) hash ^= PlcInlet2Status.GetHashCode();
    if (PlcOutlet3Status != 0) hash ^= PlcOutlet3Status.GetHashCode();
    if (PlcOutlet4Status != 0) hash ^= PlcOutlet4Status.GetHashCode();
    hash ^= dispatchPlcPasswayStatusVector_.GetHashCode();
    hash ^= dispatchCarryBoardStatusVector_.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (Statu != global::CarrierStatu.EIdle) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Statu);
    }
    if (IdleStopFloor != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(IdleStopFloor);
    }
    if (runningPackInfo_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(RunningPackInfo);
    }
    if (runningPickInfo_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(RunningPickInfo);
    }
    if (UnitId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(UnitId);
    }
    if (PlcHeartbeat != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(PlcHeartbeat);
    }
    if (PlcModeStatus != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(PlcModeStatus);
    }
    if (PlcPasswayStatus != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(PlcPasswayStatus);
    }
    if (PlcCarrierStatus != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(PlcCarrierStatus);
    }
    if (PlcInlet1Status != 0) {
      output.WriteRawTag(80);
      output.WriteInt32(PlcInlet1Status);
    }
    if (PlcInlet2Status != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(PlcInlet2Status);
    }
    if (PlcOutlet3Status != 0) {
      output.WriteRawTag(96);
      output.WriteInt32(PlcOutlet3Status);
    }
    if (PlcOutlet4Status != 0) {
      output.WriteRawTag(104);
      output.WriteInt32(PlcOutlet4Status);
    }
    dispatchPlcPasswayStatusVector_.WriteTo(output, _repeated_dispatchPlcPasswayStatusVector_codec);
    dispatchCarryBoardStatusVector_.WriteTo(output, _repeated_dispatchCarryBoardStatusVector_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (Statu != global::CarrierStatu.EIdle) {
      output.WriteRawTag(8);
      output.WriteEnum((int) Statu);
    }
    if (IdleStopFloor != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(IdleStopFloor);
    }
    if (runningPackInfo_ != null) {
      output.WriteRawTag(26);
      output.WriteMessage(RunningPackInfo);
    }
    if (runningPickInfo_ != null) {
      output.WriteRawTag(34);
      output.WriteMessage(RunningPickInfo);
    }
    if (UnitId != 0) {
      output.WriteRawTag(40);
      output.WriteInt32(UnitId);
    }
    if (PlcHeartbeat != 0) {
      output.WriteRawTag(48);
      output.WriteInt32(PlcHeartbeat);
    }
    if (PlcModeStatus != 0) {
      output.WriteRawTag(56);
      output.WriteInt32(PlcModeStatus);
    }
    if (PlcPasswayStatus != 0) {
      output.WriteRawTag(64);
      output.WriteInt32(PlcPasswayStatus);
    }
    if (PlcCarrierStatus != 0) {
      output.WriteRawTag(72);
      output.WriteInt32(PlcCarrierStatus);
    }
    if (PlcInlet1Status != 0) {
      output.WriteRawTag(80);
      output.WriteInt32(PlcInlet1Status);
    }
    if (PlcInlet2Status != 0) {
      output.WriteRawTag(88);
      output.WriteInt32(PlcInlet2Status);
    }
    if (PlcOutlet3Status != 0) {
      output.WriteRawTag(96);
      output.WriteInt32(PlcOutlet3Status);
    }
    if (PlcOutlet4Status != 0) {
      output.WriteRawTag(104);
      output.WriteInt32(PlcOutlet4Status);
    }
    dispatchPlcPasswayStatusVector_.WriteTo(ref output, _repeated_dispatchPlcPasswayStatusVector_codec);
    dispatchCarryBoardStatusVector_.WriteTo(ref output, _repeated_dispatchCarryBoardStatusVector_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (Statu != global::CarrierStatu.EIdle) {
      size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Statu);
    }
    if (IdleStopFloor != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(IdleStopFloor);
    }
    if (runningPackInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RunningPackInfo);
    }
    if (runningPickInfo_ != null) {
      size += 1 + pb::CodedOutputStream.ComputeMessageSize(RunningPickInfo);
    }
    if (UnitId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnitId);
    }
    if (PlcHeartbeat != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcHeartbeat);
    }
    if (PlcModeStatus != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcModeStatus);
    }
    if (PlcPasswayStatus != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcPasswayStatus);
    }
    if (PlcCarrierStatus != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcCarrierStatus);
    }
    if (PlcInlet1Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcInlet1Status);
    }
    if (PlcInlet2Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcInlet2Status);
    }
    if (PlcOutlet3Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcOutlet3Status);
    }
    if (PlcOutlet4Status != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlcOutlet4Status);
    }
    size += dispatchPlcPasswayStatusVector_.CalculateSize(_repeated_dispatchPlcPasswayStatusVector_codec);
    size += dispatchCarryBoardStatusVector_.CalculateSize(_repeated_dispatchCarryBoardStatusVector_codec);
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(dispatch_node_statu other) {
    if (other == null) {
      return;
    }
    if (other.Statu != global::CarrierStatu.EIdle) {
      Statu = other.Statu;
    }
    if (other.IdleStopFloor != 0) {
      IdleStopFloor = other.IdleStopFloor;
    }
    if (other.runningPackInfo_ != null) {
      if (runningPackInfo_ == null) {
        RunningPackInfo = new global::park_table();
      }
      RunningPackInfo.MergeFrom(other.RunningPackInfo);
    }
    if (other.runningPickInfo_ != null) {
      if (runningPickInfo_ == null) {
        RunningPickInfo = new global::pick_table();
      }
      RunningPickInfo.MergeFrom(other.RunningPickInfo);
    }
    if (other.UnitId != 0) {
      UnitId = other.UnitId;
    }
    if (other.PlcHeartbeat != 0) {
      PlcHeartbeat = other.PlcHeartbeat;
    }
    if (other.PlcModeStatus != 0) {
      PlcModeStatus = other.PlcModeStatus;
    }
    if (other.PlcPasswayStatus != 0) {
      PlcPasswayStatus = other.PlcPasswayStatus;
    }
    if (other.PlcCarrierStatus != 0) {
      PlcCarrierStatus = other.PlcCarrierStatus;
    }
    if (other.PlcInlet1Status != 0) {
      PlcInlet1Status = other.PlcInlet1Status;
    }
    if (other.PlcInlet2Status != 0) {
      PlcInlet2Status = other.PlcInlet2Status;
    }
    if (other.PlcOutlet3Status != 0) {
      PlcOutlet3Status = other.PlcOutlet3Status;
    }
    if (other.PlcOutlet4Status != 0) {
      PlcOutlet4Status = other.PlcOutlet4Status;
    }
    dispatchPlcPasswayStatusVector_.Add(other.dispatchPlcPasswayStatusVector_);
    dispatchCarryBoardStatusVector_.Add(other.dispatchCarryBoardStatusVector_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          Statu = (global::CarrierStatu) input.ReadEnum();
          break;
        }
        case 16: {
          IdleStopFloor = input.ReadInt32();
          break;
        }
        case 26: {
          if (runningPackInfo_ == null) {
            RunningPackInfo = new global::park_table();
          }
          input.ReadMessage(RunningPackInfo);
          break;
        }
        case 34: {
          if (runningPickInfo_ == null) {
            RunningPickInfo = new global::pick_table();
          }
          input.ReadMessage(RunningPickInfo);
          break;
        }
        case 40: {
          UnitId = input.ReadInt32();
          break;
        }
        case 48: {
          PlcHeartbeat = input.ReadInt32();
          break;
        }
        case 56: {
          PlcModeStatus = input.ReadInt32();
          break;
        }
        case 64: {
          PlcPasswayStatus = input.ReadInt32();
          break;
        }
        case 72: {
          PlcCarrierStatus = input.ReadInt32();
          break;
        }
        case 80: {
          PlcInlet1Status = input.ReadInt32();
          break;
        }
        case 88: {
          PlcInlet2Status = input.ReadInt32();
          break;
        }
        case 96: {
          PlcOutlet3Status = input.ReadInt32();
          break;
        }
        case 104: {
          PlcOutlet4Status = input.ReadInt32();
          break;
        }
        case 114: {
          dispatchPlcPasswayStatusVector_.AddEntriesFrom(input, _repeated_dispatchPlcPasswayStatusVector_codec);
          break;
        }
        case 122: {
          dispatchCarryBoardStatusVector_.AddEntriesFrom(input, _repeated_dispatchCarryBoardStatusVector_codec);
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          Statu = (global::CarrierStatu) input.ReadEnum();
          break;
        }
        case 16: {
          IdleStopFloor = input.ReadInt32();
          break;
        }
        case 26: {
          if (runningPackInfo_ == null) {
            RunningPackInfo = new global::park_table();
          }
          input.ReadMessage(RunningPackInfo);
          break;
        }
        case 34: {
          if (runningPickInfo_ == null) {
            RunningPickInfo = new global::pick_table();
          }
          input.ReadMessage(RunningPickInfo);
          break;
        }
        case 40: {
          UnitId = input.ReadInt32();
          break;
        }
        case 48: {
          PlcHeartbeat = input.ReadInt32();
          break;
        }
        case 56: {
          PlcModeStatus = input.ReadInt32();
          break;
        }
        case 64: {
          PlcPasswayStatus = input.ReadInt32();
          break;
        }
        case 72: {
          PlcCarrierStatus = input.ReadInt32();
          break;
        }
        case 80: {
          PlcInlet1Status = input.ReadInt32();
          break;
        }
        case 88: {
          PlcInlet2Status = input.ReadInt32();
          break;
        }
        case 96: {
          PlcOutlet3Status = input.ReadInt32();
          break;
        }
        case 104: {
          PlcOutlet4Status = input.ReadInt32();
          break;
        }
        case 114: {
          dispatchPlcPasswayStatusVector_.AddEntriesFrom(ref input, _repeated_dispatchPlcPasswayStatusVector_codec);
          break;
        }
        case 122: {
          dispatchCarryBoardStatusVector_.AddEntriesFrom(ref input, _repeated_dispatchCarryBoardStatusVector_codec);
          break;
        }
      }
    }
  }
  #endif

}

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

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

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

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

  partial void OnConstruction();

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

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

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

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

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

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

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (TerminalId != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(TerminalId);
    }
    if (ImportId != 0) {
      output.WriteRawTag(16);
      output.WriteInt32(ImportId);
    }
    if (CarNumber.Length != 0) {
      output.WriteRawTag(26);
      output.WriteString(CarNumber);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (TerminalId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(TerminalId);
    }
    if (ImportId != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(ImportId);
    }
    if (CarNumber.Length != 0) {
      size += 1 + pb::CodedOutputStream.ComputeStringSize(CarNumber);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          TerminalId = input.ReadInt32();
          break;
        }
        case 16: {
          ImportId = input.ReadInt32();
          break;
        }
        case 26: {
          CarNumber = input.ReadString();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          TerminalId = input.ReadInt32();
          break;
        }
        case 16: {
          ImportId = input.ReadInt32();
          break;
        }
        case 26: {
          CarNumber = input.ReadString();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///厦门C单元夹车杆
///夹车杆数据
/// </summary>
public sealed partial class Clamp_lidar_info : pb::IMessage<Clamp_lidar_info>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<Clamp_lidar_info> _parser = new pb::MessageParser<Clamp_lidar_info>(() => new Clamp_lidar_info());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<Clamp_lidar_info> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

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

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

  /// <summary>Field number for the "has_wheel_flag" field.</summary>
  public const int HasWheelFlagFieldNumber = 1;
  private int hasWheelFlag_;
  /// <summary>
  ///是否检测到车轮
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int HasWheelFlag {
    get { return hasWheelFlag_; }
    set {
      hasWheelFlag_ = value;
    }
  }

  /// <summary>Field number for the "distance_y" field.</summary>
  public const int DistanceYFieldNumber = 2;
  private float distanceY_;
  /// <summary>
  ///轮子中心和夹车杆中心的距离y，修正小Y，对比前后轴距
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float DistanceY {
    get { return distanceY_; }
    set {
      distanceY_ = value;
    }
  }

  /// <summary>Field number for the "distance_x" field.</summary>
  public const int DistanceXFieldNumber = 3;
  private float distanceX_;
  /// <summary>
  ///轮子中心和夹车杆中心的距离x，修正轿厢x，对比2个大Y的左右偏差
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public float DistanceX {
    get { return distanceX_; }
    set {
      distanceX_ = value;
    }
  }

  /// <summary>Field number for the "has_clamp_flag" field.</summary>
  public const int HasClampFlagFieldNumber = 4;
  private int hasClampFlag_;
  /// <summary>
  ///夹车杆是否夹到位
  /// </summary>
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int HasClampFlag {
    get { return hasClampFlag_; }
    set {
      hasClampFlag_ = value;
    }
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public bool Equals(Clamp_lidar_info other) {
    if (ReferenceEquals(other, null)) {
      return false;
    }
    if (ReferenceEquals(other, this)) {
      return true;
    }
    if (HasWheelFlag != other.HasWheelFlag) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(DistanceY, other.DistanceY)) return false;
    if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(DistanceX, other.DistanceX)) return false;
    if (HasClampFlag != other.HasClampFlag) return false;
    return Equals(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public override int GetHashCode() {
    int hash = 1;
    if (HasWheelFlag != 0) hash ^= HasWheelFlag.GetHashCode();
    if (DistanceY != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DistanceY);
    if (DistanceX != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DistanceX);
    if (HasClampFlag != 0) hash ^= HasClampFlag.GetHashCode();
    if (_unknownFields != null) {
      hash ^= _unknownFields.GetHashCode();
    }
    return hash;
  }

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    if (HasWheelFlag != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(HasWheelFlag);
    }
    if (DistanceY != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(DistanceY);
    }
    if (DistanceX != 0F) {
      output.WriteRawTag(29);
      output.WriteFloat(DistanceX);
    }
    if (HasClampFlag != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(HasClampFlag);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
    if (HasWheelFlag != 0) {
      output.WriteRawTag(8);
      output.WriteInt32(HasWheelFlag);
    }
    if (DistanceY != 0F) {
      output.WriteRawTag(21);
      output.WriteFloat(DistanceY);
    }
    if (DistanceX != 0F) {
      output.WriteRawTag(29);
      output.WriteFloat(DistanceX);
    }
    if (HasClampFlag != 0) {
      output.WriteRawTag(32);
      output.WriteInt32(HasClampFlag);
    }
    if (_unknownFields != null) {
      _unknownFields.WriteTo(ref output);
    }
  }
  #endif

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public int CalculateSize() {
    int size = 0;
    if (HasWheelFlag != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(HasWheelFlag);
    }
    if (DistanceY != 0F) {
      size += 1 + 4;
    }
    if (DistanceX != 0F) {
      size += 1 + 4;
    }
    if (HasClampFlag != 0) {
      size += 1 + pb::CodedOutputStream.ComputeInt32Size(HasClampFlag);
    }
    if (_unknownFields != null) {
      size += _unknownFields.CalculateSize();
    }
    return size;
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(Clamp_lidar_info other) {
    if (other == null) {
      return;
    }
    if (other.HasWheelFlag != 0) {
      HasWheelFlag = other.HasWheelFlag;
    }
    if (other.DistanceY != 0F) {
      DistanceY = other.DistanceY;
    }
    if (other.DistanceX != 0F) {
      DistanceX = other.DistanceX;
    }
    if (other.HasClampFlag != 0) {
      HasClampFlag = other.HasClampFlag;
    }
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 8: {
          HasWheelFlag = input.ReadInt32();
          break;
        }
        case 21: {
          DistanceY = input.ReadFloat();
          break;
        }
        case 29: {
          DistanceX = input.ReadFloat();
          break;
        }
        case 32: {
          HasClampFlag = input.ReadInt32();
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 8: {
          HasWheelFlag = input.ReadInt32();
          break;
        }
        case 21: {
          DistanceY = input.ReadFloat();
          break;
        }
        case 29: {
          DistanceX = input.ReadFloat();
          break;
        }
        case 32: {
          HasClampFlag = input.ReadInt32();
          break;
        }
      }
    }
  }
  #endif

}

/// <summary>
///plc给夹车杆雷达, plc把大小Y伸出后，在夹车之前，会把9070复制到9071，从而保存一份数据
/// </summary>
public sealed partial class Clamp_lidar_buffer : pb::IMessage<Clamp_lidar_buffer>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    , pb::IBufferMessage
#endif
{
  private static readonly pb::MessageParser<Clamp_lidar_buffer> _parser = new pb::MessageParser<Clamp_lidar_buffer>(() => new Clamp_lidar_buffer());
  private pb::UnknownFieldSet _unknownFields;
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public static pb::MessageParser<Clamp_lidar_buffer> Parser { get { return _parser; } }

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

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

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

  partial void OnConstruction();

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

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

  /// <summary>Field number for the "clamp_lidar_info_vector" field.</summary>
  public const int ClampLidarInfoVectorFieldNumber = 1;
  private static readonly pb::FieldCodec<global::Clamp_lidar_info> _repeated_clampLidarInfoVector_codec
      = pb::FieldCodec.ForMessage(10, global::Clamp_lidar_info.Parser);
  private readonly pbc::RepeatedField<global::Clamp_lidar_info> clampLidarInfoVector_ = new pbc::RepeatedField<global::Clamp_lidar_info>();
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public pbc::RepeatedField<global::Clamp_lidar_info> ClampLidarInfoVector {
    get { return clampLidarInfoVector_; }
  }

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

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

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void WriteTo(pb::CodedOutputStream output) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    output.WriteRawMessage(this);
  #else
    clampLidarInfoVector_.WriteTo(output, _repeated_clampLidarInfoVector_codec);
    if (_unknownFields != null) {
      _unknownFields.WriteTo(output);
    }
  #endif
  }

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

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

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(Clamp_lidar_buffer other) {
    if (other == null) {
      return;
    }
    clampLidarInfoVector_.Add(other.clampLidarInfoVector_);
    _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
  }

  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  public void MergeFrom(pb::CodedInputStream input) {
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    input.ReadRawMessage(this);
  #else
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
          break;
        case 10: {
          clampLidarInfoVector_.AddEntriesFrom(input, _repeated_clampLidarInfoVector_codec);
          break;
        }
      }
    }
  #endif
  }

  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
  [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
  void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
    uint tag;
    while ((tag = input.ReadTag()) != 0) {
      switch(tag) {
        default:
          _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
          break;
        case 10: {
          clampLidarInfoVector_.AddEntriesFrom(ref input, _repeated_clampLidarInfoVector_codec);
          break;
        }
      }
    }
  }
  #endif

}

#endregion


#endregion Designer generated code
