code: def _predict(
      self,
      n: int,
      future_covariates: Optional[TimeSeries] = None,
      num_samples: int = 1,
      verbose: bool = False,
  ) -> TimeSeries:
      _ = self._check_seasonality_conditions(
          future_covariates=future_covariates
      )
  
      super()._predict(n, future_covariates, num_samples)
  
      predict_df = self._generate_predict_df(
          n=n, future_covariates=future_covariates
      )
  
      if num_samples == 1:
          forecast = self.model.predict(predict_df, vectorized=True)[
              "yhat"
          ].values
      else:
          forecast = np.expand_dims(
              self._stochastic_samples(
                  predict_df, n_samples=num_samples
              ),
              axis=1,
          )
  
      return self._build_forecast_series(forecast)
  
imports: import logging
  import re
  from typing import Callable, List, Optional, Sequence, Union
  import numpy
  import pandas
  import prophet
  from darts.logging import execute_and_suppress_output, get_logger, raise_if, raise_log
  from darts.models.forecasting.forecasting_model import FutureCovariatesLocalForecastingModel
  from darts.timeseries import TimeSeries
label_desc: Use image node_id 3 for calling the Prophet obj's underlying member method code with example usage: obj._predict(n, future_covariates, num_samples, verbose) and returns: self