<commit_before>package pokeraidbot;

import com.jagrosh.jdautilities.commandclient.CommandClient;
import com.jagrosh.jdautilities.commandclient.CommandClientBuilder;
import com.jagrosh.jdautilities.commandclient.CommandListener;
import com.jagrosh.jdautilities.commandclient.examples.AboutCommand;
import com.jagrosh.jdautilities.commandclient.examples.PingCommand;
import com.jagrosh.jdautilities.waiter.EventWaiter;
import net.dv8tion.jda.core.*;
import net.dv8tion.jda.core.entities.Game;
import net.dv8tion.jda.core.exceptions.RateLimitedException;
import net.dv8tion.jda.core.hooks.EventListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import pokeraidbot.commands.*;
import pokeraidbot.domain.config.ClockService;
import pokeraidbot.domain.config.LocaleService;
import pokeraidbot.domain.emote.Emotes;
import pokeraidbot.domain.gym.GymRepository;
import pokeraidbot.domain.pokemon.PokemonRepository;
import pokeraidbot.domain.raid.PokemonRaidStrategyService;
import pokeraidbot.domain.raid.RaidRepository;
import pokeraidbot.domain.raid.signup.EmoticonSignUpMessageListener;
import pokeraidbot.domain.tracking.TrackingService;
import pokeraidbot.infrastructure.botsupport.gymhuntr.GymHuntrRaidEventListener;
import pokeraidbot.infrastructure.jpa.config.Config;
import pokeraidbot.infrastructure.jpa.config.ServerConfigRepository;
import pokeraidbot.infrastructure.jpa.config.UserConfigRepository;
import pokeraidbot.jda.AggregateCommandListener;
import pokeraidbot.jda.SignupWithPlusCommandListener;
import pokeraidbot.jda.StartUpEventListener;
import pokeraidbot.jda.UnsignWithMinusCommandListener;

import javax.security.auth.login.LoginException;
import java.awt.*;
import java.time.LocalDate;
import java.time.Month;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.ExecutorService;

public class BotService {
    private static final Logger LOGGER = LoggerFactory.getLogger(BotService.class);
    private final Set<EventListener> extraListeners = new CopyOnWriteArraySet<>();
    private TrackingService trackingService;
    private String ownerId;
    private String token;
    private JDA botInstance;
    private CommandClient commandClient;
    private CommandListener aggregateCommandListener;
    private GymRepository gymRepository;
    private ServerConfigRepository serverConfigRepository;
    private UserConfigRepository userConfigRepository;
    public static List<String> currentTier5Bosses = new CopyOnWriteArrayList<>();
    static {
        if (LocalDate.now().isBefore(LocalDate.of(2018, Month.MARCH, 17))) {
            currentTier5Bosses.add("Rayquaza");
        }

        if (LocalDate.now().isBefore(LocalDate.of(2018, Month.APRIL, 3))) {
            currentTier5Bosses.add("Lugia");
        }

        // EU rules
        if (LocalDate.now().isAfter(LocalDate.of(2018, Month.APRIL, 2)) &&
                LocalDate.now().isBefore(LocalDate.of(2018, Month.MAY, 9))) {
            currentTier5Bosses.add("Latias");
        }

        if (LocalDate.now().isAfter(LocalDate.of(2018, Month.MAY, 8))) {
            currentTier5Bosses.add("Latios");
        }
    }

    public BotService(LocaleService localeService, GymRepository gymRepository, RaidRepository raidRepository,
                      PokemonRepository pokemonRepository, PokemonRaidStrategyService raidInfoService,<commit_msg>Setting so Latias will be active as of tomorrow<commit_after>package pokeraidbot;

import com.jagrosh.jdautilities.commandclient.CommandClient;
import com.jagrosh.jdautilities.commandclient.CommandClientBuilder;
import com.jagrosh.jdautilities.commandclient.CommandListener;
import com.jagrosh.jdautilities.commandclient.examples.AboutCommand;
import com.jagrosh.jdautilities.commandclient.examples.PingCommand;
import com.jagrosh.jdautilities.waiter.EventWaiter;
import net.dv8tion.jda.core.*;
import net.dv8tion.jda.core.entities.Game;
import net.dv8tion.jda.core.exceptions.RateLimitedException;
import net.dv8tion.jda.core.hooks.EventListener;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import pokeraidbot.commands.*;
import pokeraidbot.domain.config.ClockService;
import pokeraidbot.domain.config.LocaleService;
import pokeraidbot.domain.emote.Emotes;
import pokeraidbot.domain.gym.GymRepository;
import pokeraidbot.domain.pokemon.PokemonRepository;
import pokeraidbot.domain.raid.PokemonRaidStrategyService;
import pokeraidbot.domain.raid.RaidRepository;
import pokeraidbot.domain.raid.signup.EmoticonSignUpMessageListener;
import pokeraidbot.domain.tracking.TrackingService;
import pokeraidbot.infrastructure.botsupport.gymhuntr.GymHuntrRaidEventListener;
import pokeraidbot.infrastructure.jpa.config.Config;
import pokeraidbot.infrastructure.jpa.config.ServerConfigRepository;
import pokeraidbot.infrastructure.jpa.config.UserConfigRepository;
import pokeraidbot.jda.AggregateCommandListener;
import pokeraidbot.jda.SignupWithPlusCommandListener;
import pokeraidbot.jda.StartUpEventListener;
import pokeraidbot.jda.UnsignWithMinusCommandListener;

import javax.security.auth.login.LoginException;
import java.awt.*;
import java.time.LocalDate;
import java.time.Month;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.ExecutorService;

public class BotService {
    private static final Logger LOGGER = LoggerFactory.getLogger(BotService.class);
    private final Set<EventListener> extraListeners = new CopyOnWriteArraySet<>();
    private TrackingService trackingService;
    private String ownerId;
    private String token;
    private JDA botInstance;
    private CommandClient commandClient;
    private CommandListener aggregateCommandListener;
    private GymRepository gymRepository;
    private ServerConfigRepository serverConfigRepository;
    private UserConfigRepository userConfigRepository;
    public static List<String> currentTier5Bosses = new CopyOnWriteArrayList<>();
    static {
        if (LocalDate.now().isBefore(LocalDate.of(2018, Month.MARCH, 17))) {
            currentTier5Bosses.add("Rayquaza");
        }

        if (LocalDate.now().isBefore(LocalDate.of(2018, Month.APRIL, 2))) {
            currentTier5Bosses.add("Lugia");
        }

        // EU rules
        if (LocalDate.now().isAfter(LocalDate.of(2018, Month.APRIL, 1)) &&
                LocalDate.now().isBefore(LocalDate.of(2018, Month.MAY, 9))) {
            currentTier5Bosses.add("Latias");
        }

        if (LocalDate.now().isAfter(LocalDate.of(2018, Month.MAY, 8))) {
            currentTier5Bosses.add("Latios");
        }
    }

    public BotService(LocaleService localeService, GymRepository gymRepository, RaidRepository raidRepository,
                      PokemonRepository pokemonRepository, PokemonRaidStrategyService raidInfoService,
{'fraction_non_alphanumeric': 0.0910609857978279, 'fraction_numerical': 0.010303536619326092, 'mean_word_length': 5.219047619047619, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5888441', 'n_tokens_mistral': 2190, 'n_tokens_neox': 2147, 'n_words': 349}