input: from typing import List
  
  
  def generate_random_password(length: int) -> str:
      """ Generate a Random Password of length 8 characters, which contains at least 
      one of each character type (lowercase, uppercase, digits, special characters).
      >>> generate_random_password(8)
      'A1b!Cd2E'
      >>> generate_random_password(12)
      'aB@3cDe4!F9g'
      """
output:     import random
      import string
  
      lowercase = string.ascii_lowercase
      uppercase = string.ascii_uppercase
      digits = string.digits
      special_chars = string.punctuation
  
      password = [
          random.choice(lowercase),
          random.choice(uppercase),
          random.choice(digits),
          random.choice(special_chars)
      ]
  
      all_chars = lowercase + uppercase + digits + special_chars
      password += random.choices(all_chars, k=length - 4)
  
      random.shuffle(password)
      return ''.join(password)