package com.optix.android.ui.screens.lanmap;

import com.google.gson.Gson;
import com.optix.android.domain.repository.ChainRepository;
import com.optix.android.domain.repository.NodeRepository;
import com.optix.android.domain.repository.SettingsRepository;
import com.optix.android.domain.repository.ToolRepository;
import com.optix.android.domain.repository.WorkflowRepository;
import com.optix.android.domain.usecase.BootstrapCapabilities;
import com.optix.android.domain.usecase.RunToolUseCase;
import com.optix.android.domain.usecase.SessionExporter;
import com.optix.android.domain.usecase.SessionUseCase;
import com.optix.android.tools.engine.EnvironmentManager;
import com.optix.android.util.NetworkUtils;
import dagger.internal.DaggerGenerated;
import dagger.internal.Factory;
import dagger.internal.QualifierMetadata;
import dagger.internal.ScopeMetadata;
import javax.annotation.processing.Generated;
import javax.inject.Provider;

@ScopeMetadata
@QualifierMetadata
@DaggerGenerated
@Generated(
    value = "dagger.internal.codegen.ComponentProcessor",
    comments = "https://dagger.dev"
)
@SuppressWarnings({
    "unchecked",
    "rawtypes",
    "KotlinInternal",
    "KotlinInternalInJava",
    "cast",
    "deprecation"
})
public final class LanMapViewModel_Factory implements Factory<LanMapViewModel> {
  private final Provider<RunToolUseCase> runToolUseCaseProvider;

  private final Provider<SessionUseCase> sessionUseCaseProvider;

  private final Provider<NodeRepository> nodeRepositoryProvider;

  private final Provider<ToolRepository> toolRepositoryProvider;

  private final Provider<SettingsRepository> settingsRepositoryProvider;

  private final Provider<EnvironmentManager> environmentManagerProvider;

  private final Provider<NetworkUtils> networkUtilsProvider;

  private final Provider<Gson> gsonProvider;

  private final Provider<SessionExporter> sessionExporterProvider;

  private final Provider<WorkflowRepository> workflowRepositoryProvider;

  private final Provider<ChainRepository> chainRepositoryProvider;

  private final Provider<BootstrapCapabilities> bootstrapUseCaseProvider;

  public LanMapViewModel_Factory(Provider<RunToolUseCase> runToolUseCaseProvider,
      Provider<SessionUseCase> sessionUseCaseProvider,
      Provider<NodeRepository> nodeRepositoryProvider,
      Provider<ToolRepository> toolRepositoryProvider,
      Provider<SettingsRepository> settingsRepositoryProvider,
      Provider<EnvironmentManager> environmentManagerProvider,
      Provider<NetworkUtils> networkUtilsProvider, Provider<Gson> gsonProvider,
      Provider<SessionExporter> sessionExporterProvider,
      Provider<WorkflowRepository> workflowRepositoryProvider,
      Provider<ChainRepository> chainRepositoryProvider,
      Provider<BootstrapCapabilities> bootstrapUseCaseProvider) {
    this.runToolUseCaseProvider = runToolUseCaseProvider;
    this.sessionUseCaseProvider = sessionUseCaseProvider;
    this.nodeRepositoryProvider = nodeRepositoryProvider;
    this.toolRepositoryProvider = toolRepositoryProvider;
    this.settingsRepositoryProvider = settingsRepositoryProvider;
    this.environmentManagerProvider = environmentManagerProvider;
    this.networkUtilsProvider = networkUtilsProvider;
    this.gsonProvider = gsonProvider;
    this.sessionExporterProvider = sessionExporterProvider;
    this.workflowRepositoryProvider = workflowRepositoryProvider;
    this.chainRepositoryProvider = chainRepositoryProvider;
    this.bootstrapUseCaseProvider = bootstrapUseCaseProvider;
  }

  @Override
  public LanMapViewModel get() {
    return newInstance(runToolUseCaseProvider.get(), sessionUseCaseProvider.get(), nodeRepositoryProvider.get(), toolRepositoryProvider.get(), settingsRepositoryProvider.get(), environmentManagerProvider.get(), networkUtilsProvider.get(), gsonProvider.get(), sessionExporterProvider.get(), workflowRepositoryProvider.get(), chainRepositoryProvider.get(), bootstrapUseCaseProvider.get());
  }

  public static LanMapViewModel_Factory create(Provider<RunToolUseCase> runToolUseCaseProvider,
      Provider<SessionUseCase> sessionUseCaseProvider,
      Provider<NodeRepository> nodeRepositoryProvider,
      Provider<ToolRepository> toolRepositoryProvider,
      Provider<SettingsRepository> settingsRepositoryProvider,
      Provider<EnvironmentManager> environmentManagerProvider,
      Provider<NetworkUtils> networkUtilsProvider, Provider<Gson> gsonProvider,
      Provider<SessionExporter> sessionExporterProvider,
      Provider<WorkflowRepository> workflowRepositoryProvider,
      Provider<ChainRepository> chainRepositoryProvider,
      Provider<BootstrapCapabilities> bootstrapUseCaseProvider) {
    return new LanMapViewModel_Factory(runToolUseCaseProvider, sessionUseCaseProvider, nodeRepositoryProvider, toolRepositoryProvider, settingsRepositoryProvider, environmentManagerProvider, networkUtilsProvider, gsonProvider, sessionExporterProvider, workflowRepositoryProvider, chainRepositoryProvider, bootstrapUseCaseProvider);
  }

  public static LanMapViewModel newInstance(RunToolUseCase runToolUseCase,
      SessionUseCase sessionUseCase, NodeRepository nodeRepository, ToolRepository toolRepository,
      SettingsRepository settingsRepository, EnvironmentManager environmentManager,
      NetworkUtils networkUtils, Gson gson, SessionExporter sessionExporter,
      WorkflowRepository workflowRepository, ChainRepository chainRepository,
      BootstrapCapabilities bootstrapUseCase) {
    return new LanMapViewModel(runToolUseCase, sessionUseCase, nodeRepository, toolRepository, settingsRepository, environmentManager, networkUtils, gson, sessionExporter, workflowRepository, chainRepository, bootstrapUseCase);
  }
}
