code: def resolve_pipeline_variables(
      context: Context,
      func_args: Tuple,
      func_kwargs: Dict,
      hmac_key: str,
      s3_base_uri: str,
      **settings,
  ):
      """Resolve pipeline variables.
  
      Args:
          context: context for the execution.
          func_args: function args.
          func_kwargs: function kwargs.
          hmac_key: key used to encrypt serialized and deserialized function and arguments.
          s3_base_uri: the s3 base uri of the function step that the serialized artifacts
              will be uploaded to. The s3_base_uri = s3_root_uri + pipeline_name.
          **settings: settings to pass to the deserialization function.
      """
  
      delayed_returns = []
  
      if func_args is not None:
          for arg in func_args:
              if isinstance(arg, _DelayedReturn):
                  delayed_returns.append(arg)
      if func_kwargs is not None:
          for arg in func_kwargs.values():
              if isinstance(arg, _DelayedReturn):
                  delayed_returns.append(arg)
  
      # build the resolvers
      parameter_resolver = _ParameterResolver(context)
      execution_variable_resolver = _ExecutionVariableResolver(context)
      properties_resolver = _PropertiesResolver(context)
      delayed_return_resolver = _DelayedReturnResolver(
          delayed_returns=delayed_returns,
          hmac_key=hmac_key,
          parameter_resolver=parameter_resolver,
          execution_variable_resolver=execution_variable_resolver,
          s3_base_uri=s3_base_uri,
          **settings,
      )
  
      # resolve the pipeline variables
      resolved_func_args = None
      if func_args is not None:
          resolved_func_args = []
          for arg in func_args:
              if isinstance(arg, _Parameter):
                  resolved_func_args.append(
                      parameter_resolver.resolve(arg)
                  )
              elif isinstance(arg, _ExecutionVariable):
                  resolved_func_args.append(
                      execution_variable_resolver.resolve(arg)
                  )
              elif isinstance(arg, _Properties):
                  resolved_func_args.append(
                      properties_resolver.resolve(arg)
                  )
              elif isinstance(arg, _DelayedReturn):
                  resolved_func_args.append(
                      delayed_return_resolver.resolve(arg)
                  )
              else:
                  resolved_func_args.append(arg)
          resolved_func_args = tuple(resolved_func_args)
  
      resolved_func_kwargs = None
      if func_kwargs is not None:
          resolved_func_kwargs = {}
          for key, value in func_kwargs.items():
              if isinstance(value, _Parameter):
                  resolved_func_kwargs[
                      key
                  ] = parameter_resolver.resolve(value)
              elif isinstance(value, _ExecutionVariable):
                  resolved_func_kwargs[
                      key
                  ] = execution_variable_resolver.resolve(value)
              elif isinstance(value, _Properties):
                  resolved_func_kwargs[
                      key
                  ] = properties_resolver.resolve(value)
              elif isinstance(value, _DelayedReturn):
                  resolved_func_kwargs[
                      key
                  ] = delayed_return_resolver.resolve(value)
              else:
                  resolved_func_kwargs[key] = value
  
      return resolved_func_args, resolved_func_kwargs
  
imports: from __future__ import absolute_import
  from concurrent.futures import ThreadPoolExecutor
  from dataclasses import dataclass, field
  from typing import Any, Union, Dict, List, Tuple
  from sagemaker.s3 import s3_path_join
  from sagemaker.remote_function.core.serialization import deserialize_obj_from_s3
label_desc: Use image node_id 2 for calling a global function with example usage: resolve_pipeline_variables(context, func_args, func_kwargs, hmac_key, s3_base_uri) and returns: resolved_func_args,  resolved_func_kwargs