| f | class AnnoDoc(type): | f | class AnnoDoc(type): | 
             |  |  |  | 
            | n |     def __new__(cls, name, bases, dct): | n |     def __new__(cls, nm, b, d): | 
             |         orig = dct.get('__doc__', '') |  |         base_doc = d.get('__doc__', '') | 
             |         new = [] |  |         extra_doc = [] | 
             |         ann = dct.get('__annotations__', {}).copy() |  |         annotations = d.get('__annotations__', {}).copy() | 
             |         keys = list(ann.keys()) |  |         keys = list(annotations.keys()) | 
             |         for attr in keys: |  |         for key in keys: | 
             |             a = ann[attr] |  |             annotation = annotations[key] | 
             |             if isinstance(a, str): |  |             if isinstance(annotation, str): | 
             |                 new.append(f'{attr}: {a}') |  |                 extra_doc.append(f'{key}: {annotation}') | 
             |                 if attr in dct: |  |                 if key in d: | 
             |                     value = dct[attr] |  |                     value = d[key] | 
             |                     ann[attr] = type(value) |  |                     annotations[key] = type(value) | 
             |                 else: |  |                 else: | 
            | n |                     del ann[attr] | n |                     del annotations[key] | 
             |         if orig: |  |         if base_doc: | 
             |             dct['__doc__'] = orig + '\n' + '\n'.join(new) |  |             d['__doc__'] = base_doc + '\n' + '\n'.join(extra_doc) | 
             |         elif new != []: |  |         elif extra_doc: | 
             |             dct['__doc__'] = '\n'.join(new) |  |             d['__doc__'] = '\n'.join(extra_doc) | 
             |         else: |  |         else: | 
            | t |             dct['__doc__'] = None | t |             d['__doc__'] = None | 
             |         dct['__annotations__'] = ann |  |         d['__annotations__'] = annotations | 
             |         return super().__new__(cls, name, bases, dct) |  |         return super().__new__(cls, nm, b, d) |