code: def test_out_of_band_actor_handle_deserialization(shutdown_only):
      ray.init(object_store_memory=100 * 1024 * 1024)
  
      @ray.remote
      class Actor:
          def ping(self):
              return 1
  
      actor = Actor.remote()
  
      @ray.remote
      def func(config):
          # deep copy will pickle and unpickle the actor handle.
          config = copy.deepcopy(config)
          return ray.get(config["actor"].ping.remote())
  
      assert ray.get(func.remote({"actor": actor})) == 1
  
imports: import logging
  import os
  import copy
  import platform
  import random
  import signal
  import sys
  import time
  import numpy
  import pytest
  import ray
  import ray.cluster_utils
  from ray._private.internal_api import memory_summary
  from ray._private.test_utils import SignalActor, put_object, wait_for_condition, wait_for_num_actors
  import ray._private.gcs_utils
label_desc: Use image node_id 16 for calling a global function with example usage: test_out_of_band_actor_handle_deserialization(shutdown_only) and returns: ray, int