code: def getInfo(self, ctext: T) -> CrackInfo:
      # TODO calculate these properly
      return CrackInfo(
          success_likelihood=0.5,
          success_runtime=5,
          failure_runtime=5,
      )
  
imports: import re
  from typing import Dict, List, Optional
  import requests
  import logging
  from rich.logging import RichHandler
  from ciphey.iface import Config, Cracker, CrackInfo, CrackResult, ParamSpec, T, registry
label_desc: Use image node_id 4 for calling the HashBuster obj's underlying member method code with example usage: obj.getInfo(ctext) and returns: CrackInfo