code: def cleanup(self) -> None:
      super().cleanup()
      # Stop all policy- and replay actors.
      self.distributed_learners.stop()
  
imports: from typing import Any, Dict, Optional, Type, Union
  import gymnasium
  import tree
  from rllib_alpha_star.alpha_star.distributed_learners import DistributedLearners
  from rllib_alpha_star.alpha_star.league_builder import AlphaStarLeagueBuilder
  import ray
  import ray.rllib.algorithms.appo.appo
  from ray.actor import ActorHandle
  from ray.rllib.algorithms.algorithm import Algorithm
  from ray.rllib.algorithms.algorithm_config import AlgorithmConfig, NotProvided
  from ray.rllib.evaluation.rollout_worker import RolloutWorker
  from ray.rllib.execution.buffers.mixin_replay_buffer import MixInMultiAgentReplayBuffer
  from ray.rllib.execution.parallel_requests import AsyncRequestsManager
  from ray.rllib.policy.policy import Policy, PolicySpec
  from ray.rllib.policy.sample_batch import MultiAgentBatch
  from ray.rllib.utils import deep_update
  from ray.rllib.utils.annotations import override
  from ray.rllib.utils.from_config import from_config
  from ray.rllib.utils.metrics import LAST_TARGET_UPDATE_TS, LEARN_ON_BATCH_TIMER, NUM_AGENT_STEPS_SAMPLED, NUM_AGENT_STEPS_TRAINED, NUM_ENV_STEPS_SAMPLED, NUM_TARGET_UPDATES, SAMPLE_TIMER, SYNCH_WORKER_WEIGHTS_TIMER, TARGET_NET_UPDATE_TIMER
  from ray.rllib.utils.metrics.learner_info import LEARNER_STATS_KEY
  from ray.rllib.utils.typing import PartialAlgorithmConfigDict, PolicyID, PolicyState, ResultDict
  from ray.tune.execution.placement_groups import PlacementGroupFactory
  from ray.util.timer import _Timer
label_desc: Use image node_id 7 for calling the AlphaStar obj's underlying member method code with example usage: obj.cleanup() without return types