mirrored_repositories/OLO-Games/marketplace/lib/core/error
// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'login_google_failure.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');

/// @nodoc
mixin _$LoginGoogleFailure {
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) =>
      throw _privateConstructorUsedError;
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $LoginGoogleFailureCopyWith<$Res> {
  factory $LoginGoogleFailureCopyWith(
          LoginGoogleFailure value, $Res Function(LoginGoogleFailure) then) =
      _$LoginGoogleFailureCopyWithImpl<$Res, LoginGoogleFailure>;
}

/// @nodoc
class _$LoginGoogleFailureCopyWithImpl<$Res, $Val extends LoginGoogleFailure>
    implements $LoginGoogleFailureCopyWith<$Res> {
  _$LoginGoogleFailureCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;
}

/// @nodoc
abstract class _$$LoginGoogleFailureUnknownCopyWith<$Res> {
  factory _$$LoginGoogleFailureUnknownCopyWith(
          _$LoginGoogleFailureUnknown value,
          $Res Function(_$LoginGoogleFailureUnknown) then) =
      __$$LoginGoogleFailureUnknownCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureUnknownCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res, _$LoginGoogleFailureUnknown>
    implements _$$LoginGoogleFailureUnknownCopyWith<$Res> {
  __$$LoginGoogleFailureUnknownCopyWithImpl(_$LoginGoogleFailureUnknown _value,
      $Res Function(_$LoginGoogleFailureUnknown) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureUnknown implements LoginGoogleFailureUnknown {
  const _$LoginGoogleFailureUnknown();

  @override
  String toString() {
    return 'LoginGoogleFailure.unknown()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureUnknown);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return unknown();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return unknown?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (unknown != null) {
      return unknown();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return unknown(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return unknown?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (unknown != null) {
      return unknown(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureUnknown implements LoginGoogleFailure {
  const factory LoginGoogleFailureUnknown() = _$LoginGoogleFailureUnknown;
}

/// @nodoc
abstract class _$$LoginGoogleFailureNetworkRequestFailedCopyWith<$Res> {
  factory _$$LoginGoogleFailureNetworkRequestFailedCopyWith(
          _$LoginGoogleFailureNetworkRequestFailed value,
          $Res Function(_$LoginGoogleFailureNetworkRequestFailed) then) =
      __$$LoginGoogleFailureNetworkRequestFailedCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureNetworkRequestFailedCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureNetworkRequestFailed>
    implements _$$LoginGoogleFailureNetworkRequestFailedCopyWith<$Res> {
  __$$LoginGoogleFailureNetworkRequestFailedCopyWithImpl(
      _$LoginGoogleFailureNetworkRequestFailed _value,
      $Res Function(_$LoginGoogleFailureNetworkRequestFailed) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureNetworkRequestFailed
    implements LoginGoogleFailureNetworkRequestFailed {
  const _$LoginGoogleFailureNetworkRequestFailed();

  @override
  String toString() {
    return 'LoginGoogleFailure.networkRequestFailed()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureNetworkRequestFailed);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return networkRequestFailed();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return networkRequestFailed?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (networkRequestFailed != null) {
      return networkRequestFailed();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return networkRequestFailed(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return networkRequestFailed?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (networkRequestFailed != null) {
      return networkRequestFailed(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureNetworkRequestFailed
    implements LoginGoogleFailure {
  const factory LoginGoogleFailureNetworkRequestFailed() =
      _$LoginGoogleFailureNetworkRequestFailed;
}

/// @nodoc
abstract class _$$LoginGoogleFailureAccountExistsWithDifferentCredentialCopyWith<
    $Res> {
  factory _$$LoginGoogleFailureAccountExistsWithDifferentCredentialCopyWith(
          _$LoginGoogleFailureAccountExistsWithDifferentCredential value,
          $Res Function(
                  _$LoginGoogleFailureAccountExistsWithDifferentCredential)
              then) =
      __$$LoginGoogleFailureAccountExistsWithDifferentCredentialCopyWithImpl<
          $Res>;
}

/// @nodoc
class __$$LoginGoogleFailureAccountExistsWithDifferentCredentialCopyWithImpl<
        $Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureAccountExistsWithDifferentCredential>
    implements
        _$$LoginGoogleFailureAccountExistsWithDifferentCredentialCopyWith<
            $Res> {
  __$$LoginGoogleFailureAccountExistsWithDifferentCredentialCopyWithImpl(
      _$LoginGoogleFailureAccountExistsWithDifferentCredential _value,
      $Res Function(_$LoginGoogleFailureAccountExistsWithDifferentCredential)
          _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureAccountExistsWithDifferentCredential
    implements LoginGoogleFailureAccountExistsWithDifferentCredential {
  const _$LoginGoogleFailureAccountExistsWithDifferentCredential();

  @override
  String toString() {
    return 'LoginGoogleFailure.accountExistsWithDifferentCredential()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureAccountExistsWithDifferentCredential);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return accountExistsWithDifferentCredential();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return accountExistsWithDifferentCredential?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (accountExistsWithDifferentCredential != null) {
      return accountExistsWithDifferentCredential();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return accountExistsWithDifferentCredential(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return accountExistsWithDifferentCredential?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (accountExistsWithDifferentCredential != null) {
      return accountExistsWithDifferentCredential(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureAccountExistsWithDifferentCredential
    implements LoginGoogleFailure {
  const factory LoginGoogleFailureAccountExistsWithDifferentCredential() =
      _$LoginGoogleFailureAccountExistsWithDifferentCredential;
}

/// @nodoc
abstract class _$$LoginGoogleFailureInvalidCredentialCopyWith<$Res> {
  factory _$$LoginGoogleFailureInvalidCredentialCopyWith(
          _$LoginGoogleFailureInvalidCredential value,
          $Res Function(_$LoginGoogleFailureInvalidCredential) then) =
      __$$LoginGoogleFailureInvalidCredentialCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureInvalidCredentialCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureInvalidCredential>
    implements _$$LoginGoogleFailureInvalidCredentialCopyWith<$Res> {
  __$$LoginGoogleFailureInvalidCredentialCopyWithImpl(
      _$LoginGoogleFailureInvalidCredential _value,
      $Res Function(_$LoginGoogleFailureInvalidCredential) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureInvalidCredential
    implements LoginGoogleFailureInvalidCredential {
  const _$LoginGoogleFailureInvalidCredential();

  @override
  String toString() {
    return 'LoginGoogleFailure.invalidCredential()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureInvalidCredential);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return invalidCredential();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return invalidCredential?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (invalidCredential != null) {
      return invalidCredential();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return invalidCredential(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return invalidCredential?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (invalidCredential != null) {
      return invalidCredential(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureInvalidCredential
    implements LoginGoogleFailure {
  const factory LoginGoogleFailureInvalidCredential() =
      _$LoginGoogleFailureInvalidCredential;
}

/// @nodoc
abstract class _$$LoginGoogleFailureOperationNotAllowedCopyWith<$Res> {
  factory _$$LoginGoogleFailureOperationNotAllowedCopyWith(
          _$LoginGoogleFailureOperationNotAllowed value,
          $Res Function(_$LoginGoogleFailureOperationNotAllowed) then) =
      __$$LoginGoogleFailureOperationNotAllowedCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureOperationNotAllowedCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureOperationNotAllowed>
    implements _$$LoginGoogleFailureOperationNotAllowedCopyWith<$Res> {
  __$$LoginGoogleFailureOperationNotAllowedCopyWithImpl(
      _$LoginGoogleFailureOperationNotAllowed _value,
      $Res Function(_$LoginGoogleFailureOperationNotAllowed) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureOperationNotAllowed
    implements LoginGoogleFailureOperationNotAllowed {
  const _$LoginGoogleFailureOperationNotAllowed();

  @override
  String toString() {
    return 'LoginGoogleFailure.operationNotAllowed()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureOperationNotAllowed);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return operationNotAllowed();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return operationNotAllowed?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (operationNotAllowed != null) {
      return operationNotAllowed();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return operationNotAllowed(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return operationNotAllowed?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (operationNotAllowed != null) {
      return operationNotAllowed(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureOperationNotAllowed
    implements LoginGoogleFailure {
  const factory LoginGoogleFailureOperationNotAllowed() =
      _$LoginGoogleFailureOperationNotAllowed;
}

/// @nodoc
abstract class _$$LoginGoogleFailureUserDisabledCopyWith<$Res> {
  factory _$$LoginGoogleFailureUserDisabledCopyWith(
          _$LoginGoogleFailureUserDisabled value,
          $Res Function(_$LoginGoogleFailureUserDisabled) then) =
      __$$LoginGoogleFailureUserDisabledCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureUserDisabledCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureUserDisabled>
    implements _$$LoginGoogleFailureUserDisabledCopyWith<$Res> {
  __$$LoginGoogleFailureUserDisabledCopyWithImpl(
      _$LoginGoogleFailureUserDisabled _value,
      $Res Function(_$LoginGoogleFailureUserDisabled) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureUserDisabled
    implements LoginGoogleFailureUserDisabled {
  const _$LoginGoogleFailureUserDisabled();

  @override
  String toString() {
    return 'LoginGoogleFailure.userDisabled()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureUserDisabled);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return userDisabled();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return userDisabled?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (userDisabled != null) {
      return userDisabled();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return userDisabled(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return userDisabled?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (userDisabled != null) {
      return userDisabled(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureUserDisabled implements LoginGoogleFailure {
  const factory LoginGoogleFailureUserDisabled() =
      _$LoginGoogleFailureUserDisabled;
}

/// @nodoc
abstract class _$$LoginGoogleFailureUserNotFoundCopyWith<$Res> {
  factory _$$LoginGoogleFailureUserNotFoundCopyWith(
          _$LoginGoogleFailureUserNotFound value,
          $Res Function(_$LoginGoogleFailureUserNotFound) then) =
      __$$LoginGoogleFailureUserNotFoundCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureUserNotFoundCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureUserNotFound>
    implements _$$LoginGoogleFailureUserNotFoundCopyWith<$Res> {
  __$$LoginGoogleFailureUserNotFoundCopyWithImpl(
      _$LoginGoogleFailureUserNotFound _value,
      $Res Function(_$LoginGoogleFailureUserNotFound) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureUserNotFound
    implements LoginGoogleFailureUserNotFound {
  const _$LoginGoogleFailureUserNotFound();

  @override
  String toString() {
    return 'LoginGoogleFailure.userNotFound()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureUserNotFound);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return userNotFound();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return userNotFound?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (userNotFound != null) {
      return userNotFound();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return userNotFound(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return userNotFound?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (userNotFound != null) {
      return userNotFound(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureUserNotFound implements LoginGoogleFailure {
  const factory LoginGoogleFailureUserNotFound() =
      _$LoginGoogleFailureUserNotFound;
}

/// @nodoc
abstract class _$$LoginGoogleFailureWrongPasswordCopyWith<$Res> {
  factory _$$LoginGoogleFailureWrongPasswordCopyWith(
          _$LoginGoogleFailureWrongPassword value,
          $Res Function(_$LoginGoogleFailureWrongPassword) then) =
      __$$LoginGoogleFailureWrongPasswordCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureWrongPasswordCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureWrongPassword>
    implements _$$LoginGoogleFailureWrongPasswordCopyWith<$Res> {
  __$$LoginGoogleFailureWrongPasswordCopyWithImpl(
      _$LoginGoogleFailureWrongPassword _value,
      $Res Function(_$LoginGoogleFailureWrongPassword) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureWrongPassword
    implements LoginGoogleFailureWrongPassword {
  const _$LoginGoogleFailureWrongPassword();

  @override
  String toString() {
    return 'LoginGoogleFailure.wrongPassword()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureWrongPassword);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return wrongPassword();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return wrongPassword?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (wrongPassword != null) {
      return wrongPassword();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return wrongPassword(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return wrongPassword?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (wrongPassword != null) {
      return wrongPassword(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureWrongPassword implements LoginGoogleFailure {
  const factory LoginGoogleFailureWrongPassword() =
      _$LoginGoogleFailureWrongPassword;
}

/// @nodoc
abstract class _$$LoginGoogleFailureInvalidVerificationCodeCopyWith<$Res> {
  factory _$$LoginGoogleFailureInvalidVerificationCodeCopyWith(
          _$LoginGoogleFailureInvalidVerificationCode value,
          $Res Function(_$LoginGoogleFailureInvalidVerificationCode) then) =
      __$$LoginGoogleFailureInvalidVerificationCodeCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureInvalidVerificationCodeCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureInvalidVerificationCode>
    implements _$$LoginGoogleFailureInvalidVerificationCodeCopyWith<$Res> {
  __$$LoginGoogleFailureInvalidVerificationCodeCopyWithImpl(
      _$LoginGoogleFailureInvalidVerificationCode _value,
      $Res Function(_$LoginGoogleFailureInvalidVerificationCode) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureInvalidVerificationCode
    implements LoginGoogleFailureInvalidVerificationCode {
  const _$LoginGoogleFailureInvalidVerificationCode();

  @override
  String toString() {
    return 'LoginGoogleFailure.invalidVerificationCode()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureInvalidVerificationCode);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return invalidVerificationCode();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return invalidVerificationCode?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (invalidVerificationCode != null) {
      return invalidVerificationCode();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return invalidVerificationCode(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return invalidVerificationCode?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (invalidVerificationCode != null) {
      return invalidVerificationCode(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureInvalidVerificationCode
    implements LoginGoogleFailure {
  const factory LoginGoogleFailureInvalidVerificationCode() =
      _$LoginGoogleFailureInvalidVerificationCode;
}

/// @nodoc
abstract class _$$LoginGoogleFailureInvalidVerificationIdCopyWith<$Res> {
  factory _$$LoginGoogleFailureInvalidVerificationIdCopyWith(
          _$LoginGoogleFailureInvalidVerificationId value,
          $Res Function(_$LoginGoogleFailureInvalidVerificationId) then) =
      __$$LoginGoogleFailureInvalidVerificationIdCopyWithImpl<$Res>;
}

/// @nodoc
class __$$LoginGoogleFailureInvalidVerificationIdCopyWithImpl<$Res>
    extends _$LoginGoogleFailureCopyWithImpl<$Res,
        _$LoginGoogleFailureInvalidVerificationId>
    implements _$$LoginGoogleFailureInvalidVerificationIdCopyWith<$Res> {
  __$$LoginGoogleFailureInvalidVerificationIdCopyWithImpl(
      _$LoginGoogleFailureInvalidVerificationId _value,
      $Res Function(_$LoginGoogleFailureInvalidVerificationId) _then)
      : super(_value, _then);
}

/// @nodoc

class _$LoginGoogleFailureInvalidVerificationId
    implements LoginGoogleFailureInvalidVerificationId {
  const _$LoginGoogleFailureInvalidVerificationId();

  @override
  String toString() {
    return 'LoginGoogleFailure.invalidVerificationId()';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$LoginGoogleFailureInvalidVerificationId);
  }

  @override
  int get hashCode => runtimeType.hashCode;

  @override
  @optionalTypeArgs
  TResult when<TResult extends Object?>({
    required TResult Function() unknown,
    required TResult Function() networkRequestFailed,
    required TResult Function() accountExistsWithDifferentCredential,
    required TResult Function() invalidCredential,
    required TResult Function() operationNotAllowed,
    required TResult Function() userDisabled,
    required TResult Function() userNotFound,
    required TResult Function() wrongPassword,
    required TResult Function() invalidVerificationCode,
    required TResult Function() invalidVerificationId,
  }) {
    return invalidVerificationId();
  }

  @override
  @optionalTypeArgs
  TResult? whenOrNull<TResult extends Object?>({
    TResult? Function()? unknown,
    TResult? Function()? networkRequestFailed,
    TResult? Function()? accountExistsWithDifferentCredential,
    TResult? Function()? invalidCredential,
    TResult? Function()? operationNotAllowed,
    TResult? Function()? userDisabled,
    TResult? Function()? userNotFound,
    TResult? Function()? wrongPassword,
    TResult? Function()? invalidVerificationCode,
    TResult? Function()? invalidVerificationId,
  }) {
    return invalidVerificationId?.call();
  }

  @override
  @optionalTypeArgs
  TResult maybeWhen<TResult extends Object?>({
    TResult Function()? unknown,
    TResult Function()? networkRequestFailed,
    TResult Function()? accountExistsWithDifferentCredential,
    TResult Function()? invalidCredential,
    TResult Function()? operationNotAllowed,
    TResult Function()? userDisabled,
    TResult Function()? userNotFound,
    TResult Function()? wrongPassword,
    TResult Function()? invalidVerificationCode,
    TResult Function()? invalidVerificationId,
    required TResult orElse(),
  }) {
    if (invalidVerificationId != null) {
      return invalidVerificationId();
    }
    return orElse();
  }

  @override
  @optionalTypeArgs
  TResult map<TResult extends Object?>({
    required TResult Function(LoginGoogleFailureUnknown value) unknown,
    required TResult Function(LoginGoogleFailureNetworkRequestFailed value)
        networkRequestFailed,
    required TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)
        accountExistsWithDifferentCredential,
    required TResult Function(LoginGoogleFailureInvalidCredential value)
        invalidCredential,
    required TResult Function(LoginGoogleFailureOperationNotAllowed value)
        operationNotAllowed,
    required TResult Function(LoginGoogleFailureUserDisabled value)
        userDisabled,
    required TResult Function(LoginGoogleFailureUserNotFound value)
        userNotFound,
    required TResult Function(LoginGoogleFailureWrongPassword value)
        wrongPassword,
    required TResult Function(LoginGoogleFailureInvalidVerificationCode value)
        invalidVerificationCode,
    required TResult Function(LoginGoogleFailureInvalidVerificationId value)
        invalidVerificationId,
  }) {
    return invalidVerificationId(this);
  }

  @override
  @optionalTypeArgs
  TResult? mapOrNull<TResult extends Object?>({
    TResult? Function(LoginGoogleFailureUnknown value)? unknown,
    TResult? Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult? Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult? Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult? Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult? Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult? Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult? Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult? Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult? Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
  }) {
    return invalidVerificationId?.call(this);
  }

  @override
  @optionalTypeArgs
  TResult maybeMap<TResult extends Object?>({
    TResult Function(LoginGoogleFailureUnknown value)? unknown,
    TResult Function(LoginGoogleFailureNetworkRequestFailed value)?
        networkRequestFailed,
    TResult Function(
            LoginGoogleFailureAccountExistsWithDifferentCredential value)?
        accountExistsWithDifferentCredential,
    TResult Function(LoginGoogleFailureInvalidCredential value)?
        invalidCredential,
    TResult Function(LoginGoogleFailureOperationNotAllowed value)?
        operationNotAllowed,
    TResult Function(LoginGoogleFailureUserDisabled value)? userDisabled,
    TResult Function(LoginGoogleFailureUserNotFound value)? userNotFound,
    TResult Function(LoginGoogleFailureWrongPassword value)? wrongPassword,
    TResult Function(LoginGoogleFailureInvalidVerificationCode value)?
        invalidVerificationCode,
    TResult Function(LoginGoogleFailureInvalidVerificationId value)?
        invalidVerificationId,
    required TResult orElse(),
  }) {
    if (invalidVerificationId != null) {
      return invalidVerificationId(this);
    }
    return orElse();
  }
}

abstract class LoginGoogleFailureInvalidVerificationId
    implements LoginGoogleFailure {
  const factory LoginGoogleFailureInvalidVerificationId() =
      _$LoginGoogleFailureInvalidVerificationId;
}
