input: 
  def generate_random_password() -> str:
      """Generates a Random Password of length 8 characters, which contains at least one of each character type (lowercase, uppercase, digits, special characters).
      >>> len(generate_random_password()) == 8
      True
      >>> any(char.islower() for char in generate_random_password())
      True
      >>> any(char.isupper() for char in generate_random_password())
      True
      >>> any(char.isdigit() for char in generate_random_password())
      True
      >>> any(char in "!#$%&'()*+,-./:;<=>?@[\]^_`{|}~" for char in generate_random_password())
      True
      """
      import string
      import random
  
      length = 8
      special_characters = "!#$%&'()*+,-./:;<=>?@[\]^_`{|}~"
  
      password = random.choice(string.ascii_lowercase)
      password += random.choice(string.ascii_uppercase)
      password += random.choice(string.digits)
      password += random.choice(special_characters)
  
      for i in range(length):
          password += random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits + special_characters)
  
      password = ''.join(random.sample(password, len(password)))
  
      return password
  
output:     import string
      import random
  
      length = 8
      special_characters = "!#$%&'()*+,-./:;<=>?@[\]^_`{|}~"
  
      password = random.choice(string.ascii_lowercase)
      password += random.choice(string.ascii_uppercase)
      password += random.choice(string.digits)
      password += random.choice(special_characters)
  
      for i in range(length - 4):
          password += random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits + special_characters)
  
      password = ''.join(random.sample(password, len(password)))
  
      return password