input: def autocomplete(input_text: str) -> List[str]:
      """
      Develops an autocomplete system that predicts words based on the input text.
      It generates word candidates, filters them, ranks them, and returns the top 5 predicted words.
      
      >>> autocomplete('he')
      ['hello', 'help', 'heart', 'heavy', 'hear']
      >>> autocomplete('ap')
      ['apple', 'application', 'appear', 'approach', 'appropriate']
      >>> autocomplete('')
      []
      """
output:     word_list = ['hello', 'help', 'heart', 'heavy', 'hear', 'apple', 'application', 'appear', 'approach', 'appropriate']
      if not input_text:
          return []
      
      candidates = [word for word in word_list if word.startswith(input_text)]
      candidates.sort()
      
      return candidates[:5]