code: def _get_target_outliers_cached(
      endpoint: Optional[str],
      api_key: Optional[str],
      trace_id: str,
      search_task_id: str,
      protect_from_rate_limit: bool = True,
  ) -> pd.DataFrame:
      if protect_from_rate_limit:
          time.sleep(
              1
          )  # this is neccesary to avoid requests rate limit restrictions
      target_outliers_response = get_rest_client(
          endpoint, api_key
      ).get_search_target_outliners(trace_id, search_task_id)
      result_df = None
      for dto in target_outliers_response[
          "adsSearchTaskTargetOutliersDTO"
      ]:
          target_outliers_id = dto["adsSearchTaskTargetOutliersId"]
          if protect_from_rate_limit:
              time.sleep(
                  1
              )  # this is neccesary to avoid requests rate limit restrictions
          file_content = get_rest_client(
              endpoint, api_key
          ).get_search_target_outliners_file(
              trace_id, target_outliers_id
          )
          target_outliers_df = _read_parquet(
              file_content, "target_outliers.parquet"
          )
          if result_df is None:
              result_df = target_outliers_df
          else:
              # TODO another strategy of merge
              pass
              # result_df = pd.merge(result_df, target_outliers_df, how="outer", on=SYSTEM_RECORD_ID)
  
      return result_df
  
imports: import tempfile
  import time
  from functools import lru_cache
  from typing import Dict, List, Optional
  import pandas
  from upgini import dataset
  from upgini.http import LoggerFactory, ProviderTaskSummary, SearchProgress, SearchTaskSummary, get_rest_client, is_demo_api_key
  from upgini.metadata import SYSTEM_RECORD_ID, FeaturesMetadataV2, FileMetadata, GeneratedFeatureMetadata, ModelTaskType, ProviderTaskMetadataV2, RuntimeParameters
  from upgini.resource_bundle import bundle
  from upgini.spinner import Spinner
label_desc: Use image node_id 3 for calling a global function with example usage: _get_target_outliers_cached(endpoint, api_key, trace_id, search_task_id, protect_from_rate_limit) and returns: result_df