code: def step(self, action, **kwargs):
      obs, r, done, info = self.env.step(action, **kwargs)
      # early stop condition
      if info["target_changed"]:
          info["timeout"] = True
          done = True
          logger.warning(
              "[FirstTarget Wrapper] early stop since first target is finished."
          )
      return obs, r, done, info
  
imports: import copy
  import numpy
  import gym
  import abc
  import math
  from osim.env import L2M2019Env
  from parl.utils import logger
label_desc: Use image node_id 2 for calling the FirstTarget obj's underlying member method code with example usage: obj.step(action) and returns: obs,  r,  done,  info