context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: POGOProtos/Inventory/EggIncubator.proto
  #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;
  namespace POGOProtos.Inventory {
  
    /// <summary>Holder for reflection information generated from POGOProtos/Inventory/EggIncubator.proto</summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public static partial class EggIncubatorReflection {
  
      #region Descriptor
      /// <summary>File descriptor for POGOProtos/Inventory/EggIncubator.proto</summary>
      public static pbr::FileDescriptor Descriptor {
        get { return descriptor; }
      }
      private static pbr::FileDescriptor descriptor;
  
      static EggIncubatorReflection() {
        byte[] descriptorData = global::System.Convert.FromBase64String(
            string.Concat(
              "CidQT0dPUHJvdG9zL0ludmVudG9yeS9FZ2dJbmN1YmF0b3IucHJvdG8SFFBP",
              "R09Qcm90b3MuSW52ZW50b3J5GiZQT0dPUHJvdG9zL0ludmVudG9yeS9JdGVt",
              "L0l0ZW1JZC5wcm90bxorUE9HT1Byb3Rvcy9JbnZlbnRvcnkvRWdnSW5jdWJh",
              "dG9yVHlwZS5wcm90byLtAQoMRWdnSW5jdWJhdG9yEgoKAmlkGAEgASgJEjIK",
              "B2l0ZW1faWQYAiABKA4yIS5QT0dPUHJvdG9zLkludmVudG9yeS5JdGVtLkl0",
              "ZW1JZBI+Cg5pbmN1YmF0b3JfdHlwZRgDIAEoDjImLlBPR09Qcm90b3MuSW52",
              "ZW50b3J5LkVnZ0luY3ViYXRvclR5cGUSFgoOdXNlc19yZW1haW5pbmcYBCAB",
              "KAUSEgoKcG9rZW1vbl9pZBgFIAEoBBIXCg9zdGFydF9rbV93YWxrZWQYBiAB",
              "KAESGAoQdGFyZ2V0X2ttX3dhbGtlZBgHIAEoAWIGcHJvdG8z"));
        descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
            new pbr::FileDescriptor[] { global::POGOProtos.Inventory.Item.ItemIdReflection.Descriptor, global::POGOProtos.Inventory.EggIncubatorTypeReflection.Descriptor, },
            new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
              new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Inventory.EggIncubator), global::POGOProtos.Inventory.EggIncubator.Parser, new[]{ "Id", "ItemId", "IncubatorType", "UsesRemaining", "PokemonId", "StartKmWalked", "TargetKmWalked" }, null, null, null)
            }));
      }
      #endregion
  
    }
    #region Messages
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public sealed partial class EggIncubator : pb::IMessage<EggIncubator> {
      private static readonly pb::MessageParser<EggIncubator> _parser = new pb::MessageParser<EggIncubator>(() => new EggIncubator());
      public static pb::MessageParser<EggIncubator> Parser { get { return _parser; } }
  
      public static pbr::MessageDescriptor Descriptor {
        get { return global::POGOProtos.Inventory.EggIncubatorReflection.Descriptor.MessageTypes[0]; }
      }
  
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      public EggIncubator() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      public EggIncubator(EggIncubator other) : this() {
        id_ = other.id_;
        itemId_ = other.itemId_;
        incubatorType_ = other.incubatorType_;
        usesRemaining_ = other.usesRemaining_;
        pokemonId_ = other.pokemonId_;
        startKmWalked_ = other.startKmWalked_;
        targetKmWalked_ = other.targetKmWalked_;
      }
  
      public EggIncubator Clone() {
        return new EggIncubator(this);
      }
  
      /// <summary>Field number for the "id" field.</summary>
      public const int IdFieldNumber = 1;
      private string id_ = "";
      public string Id {
        get { return id_; }
        set {
          id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        }
      }
  
      /// <summary>Field number for the "item_id" field.</summary>
      public const int ItemIdFieldNumber = 2;
      private global::POGOProtos.Inventory.Item.ItemId itemId_ = 0;
      public global::POGOProtos.Inventory.Item.ItemId ItemId {
        get { return itemId_; }
        set {
          itemId_ = value;
        }
      }
  
      /// <summary>Field number for the "incubator_type" field.</summary>
      public const int IncubatorTypeFieldNumber = 3;
      private global::POGOProtos.Inventory.EggIncubatorType incubatorType_ = 0;
      public global::POGOProtos.Inventory.EggIncubatorType IncubatorType {
        get { return incubatorType_; }
        set {
          incubatorType_ = value;
        }
      }
  
      /// <summary>Field number for the "uses_remaining" field.</summary>
      public const int UsesRemainingFieldNumber = 4;
      private int usesRemaining_;
      public int UsesRemaining {
        get { return usesRemaining_; }
        set {
          usesRemaining_ = value;
        }
      }
  
      /// <summary>Field number for the "pokemon_id" field.</summary>
      public const int PokemonIdFieldNumber = 5;
      private ulong pokemonId_;
      /// <summary>
      ///  TODO: Check if is PokemonType
      /// </summary>
      public ulong PokemonId {
        get { return pokemonId_; }
        set {
          pokemonId_ = value;
        }
      }
  
      /// <summary>Field number for the "start_km_walked" field.</summary>
      public const int StartKmWalkedFieldNumber = 6;
      private double startKmWalked_;
      public double StartKmWalked {
        get { return startKmWalked_; }
        set {
          startKmWalked_ = value;
        }
      }
  
      /// <summary>Field number for the "target_km_walked" field.</summary>
      public const int TargetKmWalkedFieldNumber = 7;
      private double targetKmWalked_;
      public double TargetKmWalked {
        get { return targetKmWalked_; }
        set {
          targetKmWalked_ = value;
        }
      }
  
      public override bool Equals(object other) {
        return Equals(other as EggIncubator);
      }
  
      public bool Equals(EggIncubator other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (Id != other.Id) return false;
        if (ItemId != other.ItemId) return false;
        if (IncubatorType != other.IncubatorType) return false;
        if (UsesRemaining != other.UsesRemaining) return false;
        if (PokemonId != other.PokemonId) return false;
        if (StartKmWalked != other.StartKmWalked) return false;
        if (TargetKmWalked != other.TargetKmWalked) return false;
        return true;
      }
  
      public override int GetHashCode() {
        int hash = 1;
        if (Id.Length != 0) hash ^= Id.GetHashCode();
        if (ItemId != 0) hash ^= ItemId.GetHashCode();
        if (IncubatorType != 0) hash ^= IncubatorType.GetHashCode();
        if (UsesRemaining != 0) hash ^= UsesRemaining.GetHashCode();
        if (PokemonId != 0UL) hash ^= PokemonId.GetHashCode();
        if (StartKmWalked != 0D) hash ^= StartKmWalked.GetHashCode();
        if (TargetKmWalked != 0D) hash ^= TargetKmWalked.GetHashCode();
        return hash;
      }
  
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      public void WriteTo(pb::CodedOutputStream output) {
        if (Id.Length != 0) {
          output.WriteRawTag(10);
          output.WriteString(Id);
        }
        if (ItemId != 0) {
          output.WriteRawTag(16);
          output.WriteEnum((int) ItemId);
        }
        if (IncubatorType != 0) {
          output.WriteRawTag(24);
          output.WriteEnum((int) IncubatorType);
        }
        if (UsesRemaining != 0) {
          output.WriteRawTag(32);
          output.WriteInt32(UsesRemaining);
        }
        if (PokemonId != 0UL) {
          output.WriteRawTag(40);
          output.WriteUInt64(PokemonId);
        }
        if (StartKmWalked != 0D) {
          output.WriteRawTag(49);
          output.WriteDouble(StartKmWalked);
        }
  
gt:       if (TargetKmWalked != 0D) {