code: def inputs_to_ivy_arrays(fn: Callable) -> Callable:
      @functools.wraps(fn)
      def _inputs_to_ivy_arrays_jax(*args, **kwargs):
          # check if kwargs contains an out argument, and if so, remove it
          has_out = False
          out = None
          if "out" in kwargs:
              out = kwargs["out"]
              del kwargs["out"]
              has_out = True
          # convert all arrays in the inputs to ivy.Array instances
          new_args = ivy.nested_map(
              _to_ivy_array,
              args,
              include_derived={"tuple": True},
              shallow=False,
          )
          new_kwargs = ivy.nested_map(
              _to_ivy_array,
              kwargs,
              include_derived={"tuple": True},
              shallow=False,
          )
          # add the original out argument back to the keyword arguments
          if has_out:
              new_kwargs["out"] = out
          return fn(*new_args, **new_kwargs)
  
      _inputs_to_ivy_arrays_jax.inputs_to_ivy_arrays_jax = True
      return _inputs_to_ivy_arrays_jax
  
file_path: ivy/ivy/functional/frontends/jax/func_wrapper.py
imports: import functools
  from typing import Callable
  import inspect
  import ivy
  import ivy.functional.frontends.jax
  import ivy.functional.frontends.numpy
label_desc: Use image node_id 7 for calling a global function with example usage: inputs_to_ivy_arrays(fn) and returns: _inputs_to_ivy_arrays_jax, fn