public void MergeFrom(pb::CodedInputStream input)
        {
            uint tag;

            while ((tag = input.ReadTag()) != 0)
            {
                switch (tag)
                {
                default:
                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                    break;

                case 8: {
                    TimestampMs = input.ReadInt64();
                    break;
                }

                case 16: {
                    Sfida = input.ReadBool();
                    break;
                }

                case 26: {
                    global::POGOProtos.Data.Logs.CatchPokemonLogEntry subBuilder = new global::POGOProtos.Data.Logs.CatchPokemonLogEntry();
                    if (actionCase_ == ActionOneofCase.CatchPokemon)
                    {
                        subBuilder.MergeFrom(CatchPokemon);
                    }
                    input.ReadMessage(subBuilder);
                    CatchPokemon = subBuilder;
                    break;
                }

                case 34: {
                    global::POGOProtos.Data.Logs.FortSearchLogEntry subBuilder = new global::POGOProtos.Data.Logs.FortSearchLogEntry();
                    if (actionCase_ == ActionOneofCase.FortSearch)
                    {
                        subBuilder.MergeFrom(FortSearch);
                    }
                    input.ReadMessage(subBuilder);
                    FortSearch = subBuilder;
                    break;
                }

                case 42: {
                    global::POGOProtos.Data.Logs.BuddyPokemonLogEntry subBuilder = new global::POGOProtos.Data.Logs.BuddyPokemonLogEntry();
                    if (actionCase_ == ActionOneofCase.BuddyPokemon)
                    {
                        subBuilder.MergeFrom(BuddyPokemon);
                    }
                    input.ReadMessage(subBuilder);
                    BuddyPokemon = subBuilder;
                    break;
                }

                case 50: {
                    global::POGOProtos.Data.Logs.RaidRewardsLogEntry subBuilder = new global::POGOProtos.Data.Logs.RaidRewardsLogEntry();
                    if (actionCase_ == ActionOneofCase.RaidRewards)
                    {
                        subBuilder.MergeFrom(RaidRewards);
                    }
                    input.ReadMessage(subBuilder);
                    RaidRewards = subBuilder;
                    break;
                }

                case 58: {
                    global::POGOProtos.Data.Logs.PasscodeRewardsLogEntry subBuilder = new global::POGOProtos.Data.Logs.PasscodeRewardsLogEntry();
                    if (actionCase_ == ActionOneofCase.PasscodeRewards)
                    {
                        subBuilder.MergeFrom(PasscodeRewards);
                    }
                    input.ReadMessage(subBuilder);
                    PasscodeRewards = subBuilder;
                    break;
                }

                case 66: {
                    global::POGOProtos.Data.Logs.CompleteQuestLogEntry subBuilder = new global::POGOProtos.Data.Logs.CompleteQuestLogEntry();
                    if (actionCase_ == ActionOneofCase.CompleteQuest)
                    {
                        subBuilder.MergeFrom(CompleteQuest);
                    }
                    input.ReadMessage(subBuilder);
                    CompleteQuest = subBuilder;
                    break;
                }

                case 74: {
                    global::POGOProtos.Data.Logs.CompleteQuestStampCardLogEntry subBuilder = new global::POGOProtos.Data.Logs.CompleteQuestStampCardLogEntry();
                    if (actionCase_ == ActionOneofCase.CompleteQuestStampCard)
                    {
                        subBuilder.MergeFrom(CompleteQuestStampCard);
                    }
                    input.ReadMessage(subBuilder);
                    CompleteQuestStampCard = subBuilder;
                    break;
                }

                case 82: {
                    global::POGOProtos.Data.Logs.CompleteQuestPokemonEncounterLogEntry subBuilder = new global::POGOProtos.Data.Logs.CompleteQuestPokemonEncounterLogEntry();
                    if (actionCase_ == ActionOneofCase.CompleteQuestPokemonEncounter)
                    {
                        subBuilder.MergeFrom(CompleteQuestPokemonEncounter);
                    }
                    input.ReadMessage(subBuilder);
                    CompleteQuestPokemonEncounter = subBuilder;
                    break;
                }

                case 98: {
                    global::POGOProtos.Data.Logs.OpenGiftLogEntry subBuilder = new global::POGOProtos.Data.Logs.OpenGiftLogEntry();
                    if (actionCase_ == ActionOneofCase.OpenGift)
                    {
                        subBuilder.MergeFrom(OpenGift);
                    }
                    input.ReadMessage(subBuilder);
                    OpenGift = subBuilder;
                    break;
                }

                case 106: {
                    global::POGOProtos.Data.Logs.SendGiftLogEntry subBuilder = new global::POGOProtos.Data.Logs.SendGiftLogEntry();
                    if (actionCase_ == ActionOneofCase.SendGift)
                    {
                        subBuilder.MergeFrom(SendGift);
                    }
                    input.ReadMessage(subBuilder);
                    SendGift = subBuilder;
                    break;
                }

                case 114: {
                    global::POGOProtos.Data.Logs.TradingLogEntry subBuilder = new global::POGOProtos.Data.Logs.TradingLogEntry();
                    if (actionCase_ == ActionOneofCase.Trading)
                    {
                        subBuilder.MergeFrom(Trading);
                    }
                    input.ReadMessage(subBuilder);
                    Trading = subBuilder;
                    break;
                }
                }
            }
        }