def doc_convert(ls, proc: str = '<STR_LIT>') -> dict:
generic_terms = ['<STR_LIT>', '<STR_LIT>']<EOL>assert isinstance(ls, set)<EOL>ls_list = [x.lower() for x in ls]<EOL>doc_list = []<EOL>doc_markup = []<EOL>for i in [j for j in ls_list if j not in generic_terms]:<EOL><INDENT>if i.lower() == '<STR_LIT:class>':<EOL><INDENT>i = '<STR_LIT>'<EOL><DEDENT>doc_mstr = '<STR_LIT>'.join(['<STR_LIT>', i, '<STR_LIT>'.format(i)])<EOL>doc_str = '<STR_LIT>'<EOL>if i.lower() in ['<STR_LIT:target>', '<STR_LIT:input>']:<EOL><INDENT>doc_mstr = '<STR_LIT>'.join(['<STR_LIT>', i,<EOL>'<STR_LIT>'.format(i)])<EOL>doc_str = '<STR_LIT>'<EOL><DEDENT>if i.lower() == '<STR_LIT>':<EOL><INDENT>doc_str = "<STR_LIT>"<EOL><DEDENT>if i.lower() in ['<STR_LIT>','<STR_LIT>']:<EOL><INDENT>doc_str = "<STR_LIT>"<EOL>doc_mstr = '<STR_LIT>'.join(['<STR_LIT>', i,<EOL>'<STR_LIT>'.format(i)])<EOL><DEDENT>if i.lower() in ['<STR_LIT>']:<EOL><INDENT>doc_mstr = '<STR_LIT>'.join(['<STR_LIT>', i,<EOL>'<STR_LIT>'.format(i)])<EOL>doc_str = '<STR_LIT>'<EOL><DEDENT>if i.lower() in ['<STR_LIT:id>', '<STR_LIT>']:<EOL><INDENT>doc_mstr = '<STR_LIT>'.join(['<STR_LIT>', i, '<STR_LIT>'.format(i)])<EOL>doc_str = '<STR_LIT>'<EOL><DEDENT>if i.lower() in ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>' ]:<EOL><INDENT>doc_str = "<STR_LIT>"<EOL><DEDENT>doc_list.append('<STR_LIT>'.join([i, doc_str, '<STR_LIT:\n>']))<EOL>doc_markup.append('<STR_LIT>'.join([doc_mstr, '<STR_LIT:\n>']))<EOL><DEDENT>doc_list.sort()<EOL>doc_markup.sort()<EOL>for j in generic_terms:<EOL><INDENT>doc_list.append('<STR_LIT>'.join([j, doc_str, '<STR_LIT:\n>']))<EOL>doc_mstr = '<STR_LIT>'.join(['<STR_LIT>', j,<EOL>'<STR_LIT>'.format(j)])<EOL>doc_markup.append('<STR_LIT>'.join([doc_mstr, '<STR_LIT:\n>']))<EOL><DEDENT>doc_markup.insert(<NUM_LIT:0>, '<STR_LIT>'.join(['<STR_LIT>', '<STR_LIT:\n>']))<EOL>first_line = '<STR_LIT>'.join(["<STR_LIT>", '<STR_LIT:\n>'])<EOL>if len(proc):<EOL><INDENT>first_line = '<STR_LIT>'.join(["<STR_LIT>".format(proc), '<STR_LIT:\n>'])<EOL>doc_markup.insert(<NUM_LIT:0>, '<STR_LIT>'.join(['<STR_LIT>'.format(proc.upper()),<EOL>'<STR_LIT:\n>', '<STR_LIT>', '<STR_LIT>']))<EOL><DEDENT>doc_list.insert(<NUM_LIT:0>, first_line)<EOL>doc_list.append("<STR_LIT>")<EOL>doc_markup.append('<STR_LIT>'.join(['<STR_LIT>', '<STR_LIT:\n>']))<EOL>return {'<STR_LIT>' : '<STR_LIT>'.join(doc_list), '<STR_LIT>' : '<STR_LIT>'.join(doc_markup)}<EOL>
The `doc_convert` method takes two arguments: a list of the valid statements and the proc name.
It returns a dictionary with two keys, method_stmt and markup_stmt.
These outputs can be copied into the appropriate product file.

:param proc: str
:return: dict with two keys  method_stmt and markup_stmt