code: def fill_missing_values(
      series: TimeSeries,
      fill: Union[str, float] = "auto",
      **interpolate_kwargs,
  ) -> TimeSeries:
      """
      Fills missing values in the provided time series
  
      Parameters
      ----------
      series
          The time series for which to fill missing values
      fill
          The value used to replace the missing values.
          If set to 'auto', will auto-fill missing values using the `pandas.Dataframe.interpolate()` method.
      interpolate_kwargs
          Keyword arguments for `pandas.Dataframe.interpolate()`, only used when fit is set to 'auto'.
          See `the documentation
          <https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.interpolate.html>`_
          for the list of supported parameters.
  
      Returns
      -------
      TimeSeries
          A new TimeSeries with all missing values filled according to the rules above.
      """
      raise_if_not(
          isinstance(fill, str) or isinstance(fill, float),
          "`fill` should either be a string or a float",
          logger,
      )
      raise_if(
          isinstance(fill, str) and fill != "auto",
          "invalid string for `fill`: can only be set to 'auto'",
          logger,
      )
  
      if fill == "auto":
          return _auto_fill(series, **interpolate_kwargs)
      return _const_fill(series, fill)
  
imports: from typing import List, Optional, Union
  from darts.logging import get_logger, raise_if, raise_if_not
  from darts.timeseries import TimeSeries
label_desc: Use image node_id 2 for calling a global function with example usage: fill_missing_values(series, fill) and returns: _const_fill, _auto_fill