code: def get_obs_action_hash_for_env_agent(
      env: MazeEnv,
      policy: Policy,
      env_seed: int,
      agent_seed: int,
      n_steps: int,
  ) -> Tuple[str, str]:
      """Seed the given env and policy with the given seeds and perform a rollout for some steps. Then has the collected
      observations and actions and return the str of the hash keys.
  
      :param env: The env to perform the rollout on.
      :param policy: The policy to compute the actions.
      :param env_seed: The seed for the env.
      :param agent_seed: The seed for the policy.
      :param n_steps: The number of steps to collect observations and actions.
  
      :return: The str of the hash of the collected observation and actions.
      """
  
      env.seed(env_seed)
      policy.seed(agent_seed)
  
      observations: List[ObservationType] = list()
      actions: List[ActionType] = list()
  
      obs = env.reset()
      observations.append(obs)
      for step in range(n_steps):
          actor_id = env.actor_id()
  
          maze_state = (
              env.get_maze_state() if policy.needs_state() else None
          )
          compute_action_env = env if policy.needs_env() else None
          action = policy.compute_action(
              obs,
              actor_id=actor_id,
              maze_state=maze_state,
              deterministic=False,
              env=compute_action_env,
          )
  
          obs, _, done, _ = env.step(action)
          if done:
              obs = env.reset()
  
          observations.append(obs)
          actions.append(action)
  
      return str(hash_deterministically(observations)), str(
          hash_deterministically(actions)
      )
  
file_path: maze/maze/test/shared_test_utils/test_seeding.py
imports: from typing import List, Tuple
  import numpy
  from maze.core.agent.policy import Policy
  from maze.core.env.action_conversion import ActionType
  from maze.core.env.maze_env import MazeEnv
  from maze.core.env.observation_conversion import ObservationType
  from maze.core.utils.seeding import MazeSeeding
  from maze.test.shared_test_utils.reproducibility import hash_deterministically
label_desc: Use image node_id 1 for calling a global function with example usage: get_obs_action_hash_for_env_agent(env, policy, env_seed, agent_seed, n_steps) and returns: str,  str