code: def FromString(cls, indata):
          
  
          lines = [x.strip() for x in indata.split("\n") if not x.startswith('#') and not x.strip() == ""]
  
          if len(lines) < 3:
              raise DataError("Invalid CommandFile string that did not contain 3 header lines", lines=lines)
  
          fmt_line, version_line, ascii_line = lines[:3]
  
          if not version_line.startswith("Format: "):
              raise DataError("Invalid format version that did not start with 'Format: '", line=version_line)
  
          version = version_line[8:]
  
          if ascii_line != "Type: ASCII":
              raise DataError("Unknown file type line (expected Type: ASCII)", line=ascii_line)
  
          cmds = [cls.decode(x) for x in lines[3:]]
          return CommandFile(fmt_line, version, cmds)
docs: Load a CommandFile from a string.
  
          The string should be produced from a previous call to
          encode.
  
          Args:
              indata (str): The encoded input data.
  
          Returns:
              CommandFile: The decoded CommandFile object.