context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: POGOProtos/Data/Logs/ActionLogEntry.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.Data.Logs {
  
    /// <summary>Holder for reflection information generated from POGOProtos/Data/Logs/ActionLogEntry.proto</summary>
    public static partial class ActionLogEntryReflection {
  
      #region Descriptor
      /// <summary>File descriptor for POGOProtos/Data/Logs/ActionLogEntry.proto</summary>
      public static pbr::FileDescriptor Descriptor {
        get { return descriptor; }
      }
      private static pbr::FileDescriptor descriptor;
  
      static ActionLogEntryReflection() {
        byte[] descriptorData = global::System.Convert.FromBase64String(
            string.Concat(
              "CilQT0dPUHJvdG9zL0RhdGEvTG9ncy9BY3Rpb25Mb2dFbnRyeS5wcm90bxIU",
              "UE9HT1Byb3Rvcy5EYXRhLkxvZ3MaL1BPR09Qcm90b3MvRGF0YS9Mb2dzL0Nh",
              "dGNoUG9rZW1vbkxvZ0VudHJ5LnByb3RvGi1QT0dPUHJvdG9zL0RhdGEvTG9n",
              "cy9Gb3J0U2VhcmNoTG9nRW50cnkucHJvdG8aL1BPR09Qcm90b3MvRGF0YS9M",
              "b2dzL0J1ZGR5UG9rZW1vbkxvZ0VudHJ5LnByb3RvGi5QT0dPUHJvdG9zL0Rh",
              "dGEvTG9ncy9SYWlkUmV3YXJkc0xvZ0VudHJ5LnByb3RvIs0CCg5BY3Rpb25M",
              "b2dFbnRyeRIUCgx0aW1lc3RhbXBfbXMYASABKAMSDQoFc2ZpZGEYAiABKAgS",
              "QwoNY2F0Y2hfcG9rZW1vbhgDIAEoCzIqLlBPR09Qcm90b3MuRGF0YS5Mb2dz",
              "LkNhdGNoUG9rZW1vbkxvZ0VudHJ5SAASPwoLZm9ydF9zZWFyY2gYBCABKAsy",
              "KC5QT0dPUHJvdG9zLkRhdGEuTG9ncy5Gb3J0U2VhcmNoTG9nRW50cnlIABJD",
              "Cg1idWRkeV9wb2tlbW9uGAUgASgLMiouUE9HT1Byb3Rvcy5EYXRhLkxvZ3Mu",
              "QnVkZHlQb2tlbW9uTG9nRW50cnlIABJBCgxyYWlkX3Jld2FyZHMYBiABKAsy",
              "KS5QT0dPUHJvdG9zLkRhdGEuTG9ncy5SYWlkUmV3YXJkc0xvZ0VudHJ5SABC",
              "CAoGQWN0aW9uYgZwcm90bzM="));
        descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
            new pbr::FileDescriptor[] { global::POGOProtos.Data.Logs.CatchPokemonLogEntryReflection.Descriptor, global::POGOProtos.Data.Logs.FortSearchLogEntryReflection.Descriptor, global::POGOProtos.Data.Logs.BuddyPokemonLogEntryReflection.Descriptor, global::POGOProtos.Data.Logs.RaidRewardsLogEntryReflection.Descriptor, },
            new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
              new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Data.Logs.ActionLogEntry), global::POGOProtos.Data.Logs.ActionLogEntry.Parser, new[]{ "TimestampMs", "Sfida", "CatchPokemon", "FortSearch", "BuddyPokemon", "RaidRewards" }, new[]{ "Action" }, null, null)
            }));
      }
      #endregion
  
    }
    #region Messages
    public sealed partial class ActionLogEntry : pb::IMessage<ActionLogEntry> {
      private static readonly pb::MessageParser<ActionLogEntry> _parser = new pb::MessageParser<ActionLogEntry>(() => new ActionLogEntry());
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pb::MessageParser<ActionLogEntry> Parser { get { return _parser; } }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pbr::MessageDescriptor Descriptor {
        get { return global::POGOProtos.Data.Logs.ActionLogEntryReflection.Descriptor.MessageTypes[0]; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ActionLogEntry() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ActionLogEntry(ActionLogEntry other) : this() {
        timestampMs_ = other.timestampMs_;
        sfida_ = other.sfida_;
        switch (other.ActionCase) {
          case ActionOneofCase.CatchPokemon:
            CatchPokemon = other.CatchPokemon.Clone();
            break;
          case ActionOneofCase.FortSearch:
            FortSearch = other.FortSearch.Clone();
            break;
          case ActionOneofCase.BuddyPokemon:
            BuddyPokemon = other.BuddyPokemon.Clone();
            break;
          case ActionOneofCase.RaidRewards:
            RaidRewards = other.RaidRewards.Clone();
            break;
        }
  
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ActionLogEntry Clone() {
        return new ActionLogEntry(this);
      }
  
      /// <summary>Field number for the "timestamp_ms" field.</summary>
      public const int TimestampMsFieldNumber = 1;
      private long timestampMs_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public long TimestampMs {
        get { return timestampMs_; }
        set {
          timestampMs_ = value;
        }
      }
  
      /// <summary>Field number for the "sfida" field.</summary>
      public const int SfidaFieldNumber = 2;
      private bool sfida_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Sfida {
        get { return sfida_; }
        set {
          sfida_ = value;
        }
      }
  
      /// <summary>Field number for the "catch_pokemon" field.</summary>
      public const int CatchPokemonFieldNumber = 3;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public global::POGOProtos.Data.Logs.CatchPokemonLogEntry CatchPokemon {
        get { return actionCase_ == ActionOneofCase.CatchPokemon ? (global::POGOProtos.Data.Logs.CatchPokemonLogEntry) action_ : null; }
        set {
          action_ = value;
          actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.CatchPokemon;
        }
      }
  
      /// <summary>Field number for the "fort_search" field.</summary>
      public const int FortSearchFieldNumber = 4;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public global::POGOProtos.Data.Logs.FortSearchLogEntry FortSearch {
        get { return actionCase_ == ActionOneofCase.FortSearch ? (global::POGOProtos.Data.Logs.FortSearchLogEntry) action_ : null; }
        set {
          action_ = value;
          actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.FortSearch;
        }
      }
  
      /// <summary>Field number for the "buddy_pokemon" field.</summary>
      public const int BuddyPokemonFieldNumber = 5;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public global::POGOProtos.Data.Logs.BuddyPokemonLogEntry BuddyPokemon {
        get { return actionCase_ == ActionOneofCase.BuddyPokemon ? (global::POGOProtos.Data.Logs.BuddyPokemonLogEntry) action_ : null; }
        set {
          action_ = value;
          actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.BuddyPokemon;
        }
      }
  
      /// <summary>Field number for the "raid_rewards" field.</summary>
      public const int RaidRewardsFieldNumber = 6;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public global::POGOProtos.Data.Logs.RaidRewardsLogEntry RaidRewards {
        get { return actionCase_ == ActionOneofCase.RaidRewards ? (global::POGOProtos.Data.Logs.RaidRewardsLogEntry) action_ : null; }
        set {
          action_ = value;
          actionCase_ = value == null ? ActionOneofCase.None : ActionOneofCase.RaidRewards;
        }
      }
  
      private object action_;
      /// <summary>Enum of possible cases for the "Action" oneof.</summary>
      public enum ActionOneofCase {
        None = 0,
        CatchPokemon = 3,
        FortSearch = 4,
        BuddyPokemon = 5,
        RaidRewards = 6,
      }
      private ActionOneofCase actionCase_ = ActionOneofCase.None;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public ActionOneofCase ActionCase {
        get { return actionCase_; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void ClearAction() {
        actionCase_ = ActionOneofCase.None;
        action_ = null;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override bool Equals(object other) {
        return Equals(other as ActionLogEntry);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Equals(ActionLogEntry other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (TimestampMs != other.TimestampMs) return false;
        if (Sfida != other.Sfida) return false;
        if (!object.Equals(CatchPokemon, other.CatchPokemon)) return false;
        if (!object.Equals(FortSearch, other.FortSearch)) return false;
        if (!object.Equals(BuddyPokemon, other.BuddyPokemon)) return false;
        if (!object.Equals(RaidRewards, other.RaidRewards)) return false;
        if (ActionCase != other.ActionCase) return false;
        return true;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override int GetHashCode() {
        int hash = 1;
        if (TimestampMs != 0L) hash ^= TimestampMs.GetHashCode();
        if (Sfida != false) hash ^= Sfida.GetHashCode();
        if (actionCase_ == ActionOneofCase.CatchPokemon) hash ^= CatchPokemon.GetHashCode();
        if (actionCase_ == ActionOneofCase.FortSearch) hash ^= FortSearch.GetHashCode();
        if (actionCase_ == ActionOneofCase.BuddyPokemon) hash ^= BuddyPokemon.GetHashCode();
        if (actionCase_ == ActionOneofCase.RaidRewards) hash ^= RaidRewards.GetHashCode();
        hash ^= (int) actionCase_;
        return hash;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void WriteTo(pb::CodedOutputStream output) {
        if (TimestampMs != 0L) {
          output.WriteRawTag(8);
          output.WriteInt64(TimestampMs);
        }
        if (Sfida != false) {
          output.WriteRawTag(16);
          output.WriteBool(Sfida);
        }
        if (actionCase_ == ActionOneofCase.CatchPokemon) {
          output.WriteRawTag(26);
          output.WriteMessage(CatchPokemon);
        }
        if (actionCase_ == ActionOneofCase.FortSearch) {
          output.WriteRawTag(34);
          output.WriteMessage(FortSearch);
        }
        if (actionCase_ == ActionOneofCase.BuddyPokemon) {
          output.WriteRawTag(42);
          output.WriteMessage(BuddyPokemon);
        }
        if (actionCase_ == ActionOneofCase.RaidRewards) {
          output.WriteRawTag(50);
          output.WriteMessage(RaidRewards);
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int CalculateSize() {
        int size = 0;
        if (TimestampMs != 0L) {
          size += 1 + pb::CodedOutputStream.ComputeInt64Size(TimestampMs);
        }
  
gt:       if (Sfida != false) {