code: def _function_getnewargs(self, func):
      code = func.__code__
  
      # base_globals represents the future global namespace of func at
      # unpickling time. Looking it up and storing it in
      # CloudpiPickler.globals_ref allow functions sharing the same globals
      # at pickling time to also share them once unpickled, at one condition:
      # since globals_ref is an attribute of a CloudPickler instance, and
      # that a new CloudPickler is created each time pickle.dump or
      # pickle.dumps is called, functions also need to be saved within the
      # same invocation of cloudpickle.dump/cloudpickle.dumps (for example:
      # cloudpickle.dumps([f1, f2])). There is no such limitation when using
      # CloudPickler.dump, as long as the multiple invocations are bound to
      # the same CloudPickler.
      base_globals = self.globals_ref.setdefault(
          id(func.__globals__), {}
      )
  
      if base_globals == {}:
          # Add module attributes used to resolve relative imports
          # instructions inside func.
          for k in ["__package__", "__name__", "__path__", "__file__"]:
              if k in func.__globals__:
                  base_globals[k] = func.__globals__[k]
  
      # Do not bind the free variables before the function is created to
      # avoid infinite recursion.
      if func.__closure__ is None:
          closure = None
      else:
          closure = tuple(
              _make_empty_cell() for _ in range(len(code.co_freevars))
          )
  
      return code, base_globals, None, None, closure
  
imports: import _collections_abc
  import abc
  import copyreg
  import io
  import itertools
  import logging
  import sys
  import struct
  import types
  import weakref
  import typing
  from enum import Enum
  from collections import ChainMap, OrderedDict
  from .compat import pickle, Pickler
  from .cloudpickle import _extract_code_globals, _BUILTIN_TYPE_NAMES, DEFAULT_PROTOCOL, _find_imported_submodules, _get_cell_contents, _should_pickle_by_reference, _builtin_type, _get_or_create_tracker_id, _make_skeleton_class, _make_skeleton_enum, _extract_class_dict, dynamic_subimport, subimport, _typevar_reduce, _get_bases, _make_cell, _make_empty_cell, CellType, _is_parametrized_type_hint, PYPY, cell_set, parametrized_type_hint_getinitargs, _create_parametrized_type_hint, builtin_code_type, _make_dict_keys, _make_dict_values, _make_dict_items, _make_function
label_desc: Use image node_id 3 for calling the CloudPickler obj's underlying member method code with example usage: obj._function_getnewargs(func) and returns: code,  base_globals,  None,  None,  closure