
    h                        S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
  S SKJr  \(       a  S SKJr  S
SS jjrS
SS	 jjrg)    )annotations)TYPE_CHECKINGTextIOIterableOptional)is_dxf_file)dxf_file_info)ascii_tags_loader)DXFTagNc                t   ^ T=(       d
    [        5       mTR                  S5        U4S j[        U SS9 5       $ )z
Yields comment tags from text `stream` as :class:`~ezdxf.lldxf.types.DXFTag` objects.

Args:
    stream: input text stream
    codes: set of group codes to yield additional DXF tags e.g. {5, 0} to also yield handle and structure tags

i  c              3  J   >#    U  H  oR                   T;   d  M  Uv   M     g 7fN)code).0tagcodess     @/var/www/html/env/lib/python3.13/site-packages/ezdxf/comments.py	<genexpr>from_stream.<locals>.<genexpr>   s     _ICXXY^M^CCIs   #	#F)skip_comments)setaddr
   )streamr   s    `r   from_streamr      s.     NSUE	IIcN_,V5I__    c              #     #    [        U 5      (       a;  [        U 5      n[        U SUR                  S9 n[	        X1S9 Sh  vN   SSS5        g[        SU  S35      e N! , (       d  f       g= f7f)a  
Yields comment tags from file `filename` as :class:`~ezdxf.lldxf.types.DXFTag` objects.

Args:
    filename: filename as string
    codes: yields also additional tags with specified group codes e.g. {5, 0} to also yield handle and
           structure tags

rt)modeencoding)r   NzFile "z" is not a DXF file.)r   r	   openr   r   IOError)filenamer   infofps       r   	from_filer%      sh      8X&(>""2333 ?> xj(<=>> 4 ?>s.   1A0A AAA0A
A-)A0r   )r   r   r   Optional[set[int]]returnIterable[DXFTag])r"   strr   r&   r'   r(   )
__future__r   typingr   r   r   r   ezdxf.lldxf.validatorr   ezdxf.filemanagementr	   ezdxf.lldxf.taggerr
   ezdxf.lldxf.typesr   r   r%    r   r   <module>r1      s*    # < < - . 0(`?r   