
    Og$                    	   d dl mZ d dlmZmZmZ d dlmZ d dlZd dl	m
Z
 d dlmZmZmZmZmZmZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZ ddlmZmZmZ ddlm Z  ddl!m"Z" erd dl#m$Z$ d dl%m&Z& d dl'm(Z( d dl)m*Z* dgZ+ ejX                  d      Z- edi d eddej\                        d edd       d edd      d  ed!d      d" ed#d      d$ ed%d      d& ed'd      d( ed)d      d* ed+d,      d- ed.d/      d0 ed1d2      d3 ed4d5      d6 ed7d       d8 ed9d       d: ed;d       d< ed=d       d> ed?ed,@      i dA edBedCdDE      dF edGd,      dH edId,      dJ edKd       dL edMdN      dO edPd      dQ edRd       dS edTd      dU edVd/      dW edXed @      dY edZed @      d[ eded @      d\ ed]d       d^ ed_d       d` edad       db edcd       dd eded       i df edgd       dh edid      dj edkdl      dm edndeo      dp edCedDq      dr edsd       dt edud      dv edwd      dx edyd       dz ed{d       d| ed}d       d~ edd       d edd       d edd       d eded@      d ed      d eded@      i d eded@      d eded@      d eded@      d eded  ej^                  d d!      e      d eded @      d eded@      d eded4@      d eded @      d eded @      d eded @      d eded @      d eded @      d ededl@      d eded @      d eded @      d ed      d eded @      i d eded@      d eded @      d eee      d eee      d eee      d eee      d eee      d ede      d ede      d ede      d ede      d ede      d ede      d ede      d ede      d edej`                  eo      d edej`                  eo            Z1 ee1      Z2g dˢZ3g d̢Z4g d͢Z5dZ6dZ7dZ8ddЄZ9e" G dф de             Z:ddd҄Z;y)    )annotations)TYPE_CHECKINGIterableOptional)SelfN)MTextLineAlignment)DXFAttrDXFAttributesDefSubclassVIRTUAL_TAGgroup_code_mappingRETURN_DEFAULT)const)DXF12DXF2007DXF2000)	validator)ARROWS   )SubclassProcessor	DXFEntity
base_class)acdb_symbol_table_record)register_entity)Drawing)DXFNamespace)AbstractTagWriter)xrefDimStyleezdxfAcDbDimStyleTableRecordname   Standard)defaultr   flagsF   )r%   dimpost    dimapost   dimblk   dimblk1   dimblk2   dimscale(   dimasz)   g      @dimexo*   g      ?dimdli+   g      @dimexe,   g      ?dimrnd-   dimdle.   dimtp/   dimtm0   dimfxl1   )
dxfversionr%   	dimjogang2   Z   T)rG   r%   optionaldimtxt   dimcen   dimtsz   dimaltf   gc,BP(?dimlfac   dimtvp   dimtfac   dimgap   	dimaltrnd   dimtfillE   dimtfillclrdimtolG   dimlimH   dimtihI   dimtohJ   dimse1K   dimse2L   dimtadM   dimzinN      dimazinO   )r%   rG   	dimarcsym)rG   rK   dimalt   dimaltd   dimtofl   dimsah   dimtix   dimsoxd   dimclrd   dimclre   dimclrt   dimadec   dimuniti  dimdeci  dimtdeci  dimaltui  dimalttdi  dimauniti  )rG   r%   r   fixerdimfraci  dimluniti  dimdsepi  dimtmovei  dimjusti  dimsd1i  dimsd2i  dimtolji  dimtzini  dimaltzi  dimalttzi  dimfiti  dimupti   dimatfiti!  dimfxloni"  dimtxsty)rG   	dimldrblkdimltypedimltex2dimltex1dimtxsty_handleiT  dimblk_handleiV  dimblk1_handleiW  dimblk2_handleiX  dimldrblk_handleiU  dimltype_handleiY  dimltex1_handleiZ  dimltex2_handlei[  dimlwdis  dimlweit  )Ir"   r&   r3   r5   r7   r9   r;   r=   r?   rA   rC   rE   rH   rL   rN   rP   rR   rT   rV   rX   rZ   r\   r^   r`   ra   rc   re   rg   ri   rk   rm   ro   rr   rt   ru   rw   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )Cr"   r&   r(   r+   r3   r5   r7   r9   r;   r=   r?   rA   rC   rL   rN   rP   rR   rT   rV   rX   rZ   r\   ra   rc   re   rg   ri   rk   rm   ro   rr   rt   ru   rw   ry   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ))r"   r&   r(   r+   r-   r/   r1   r3   r5   r7   r9   r;   r=   r?   rA   rC   rL   rN   rP   rR   rT   rV   rX   rZ   ra   rc   re   rg   ri   rk   rm   ro   ru   rw   ry   r{   r}   r   r   r   r   r-   r/   r1   r   )r   r   r   c                $    | j                  d      S )Ndim)
startswith)r"   s    \/var/www/html/public_html/myphp/venv/lib/python3.12/site-packages/ezdxf/entities/dimstyle.py
dim_filterr     s    ??5!!    c                  0    e Zd ZdZdZ eeee      Z	 e
e	j                  e            Zed        Z	 d	 	 	 d fdZd fdZd fdZd fdZd  fdZd	 Zd
 Zd!dZd"dZd#d$dZd$dZd%dZ	 d&	 	 	 	 	 	 	 	 	 d'dZd(d)dZ	 	 	 d#	 	 	 	 	 	 	 d*dZ	 	 	 	 	 	 	 d+	 	 	 	 	 	 	 	 	 	 	 	 	 d,dZ	 	 	 	 	 	 d-	 	 	 	 	 	 	 	 	 	 	 d.dZ 	 	 	 	 	 d/	 	 	 	 	 	 	 	 	 d0dZ!d1d2dZ"d1d2dZ#	 	 	 	 	 	 d3	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d4dZ$	 	 	 	 d5	 	 	 	 	 	 	 	 	 	 	 	 	 d6dZ%d7dZ& xZ'S )8r   zDXF BLOCK_RECORD table entityDIMSTYLEc                .    | j                   j                  S N)docrG   )selfs    r   rG   zDimStyle.dxfversion  s    xx"""r   c                X    t         |   |      }|r|j                  |t        d       |S )Nr#   )superload_dxf_attribsfast_load_dxfattribsacdb_dimstyle_group_codes)r   	processordxf	__class__s      r   r   zDimStyle.load_dxf_attribs  s/     g&y1**30I1M
r   c                   t         |   |       |j                  }t        D ]|  }| j                  j                  |      r| j                  j                  |dz         }|r |dk7  r	 ||   j                  j                  }nd}| j                  j                  ||       ~ | j                  j                  dd       }|r.|dk7  r)	 ||   j                  j                  | j                  _        t        D ]`  }| j                  j                  |dz   d       }|s%|dk7  s+	 ||   j                  j                  }| j                  j                  ||       b | j                          y # t        $ r t        j                  d| d       d}Y w xY w# t        t        f$ r t        j                  d| d       Y w xY w# t        t        f$ r t        j                  d	| d       Y w xY w)
N_handle0z#Replace undefined block reference #z by default arrow.r*   r   zIgnore undefined text style #.zIgnore undefined line type #)r   post_load_hookentitydbDIM_ARROW_HEAD_ATTRIBSr   hasattrgetr"   KeyErrorloggerinfosetr   AttributeErrorDIM_LINETYPE_ATTRIBSdiscard_handles)	r   r   dbattrib_nameblock_record_handler"   style_handle	lt_handler   s	           r   r   zDimStyle.post_load_hook  s    	s#\\1 	,Kxx,"&((,,{Y/F"G"':c'A1266;;D HHLLd+	," xx||$5t<LC/M$&|$4$8$8$=$=! 0 	4K[9%<dCIY#-4i=,,11D HHLLd3	4 	9   KK/00BD D n- M;L>KLM !.1 MKK">yk KLMs6   (E((F  G($FF(F>=F>(G,+G,c                   t         |   |       |j                  t        kD  r\|j	                  t
        j                  t        j                         |j	                  t
        j                  t        j                         |j                  t        kD  r| j                          |j                  t        k(  rt        }n |j                  t        k  rt        }nt        }| j                  j!                  ||       y r   )r   export_entityrG   r   
write_tag2r   SUBCLASS_MARKERr   r"   acdb_dimstyleset_handlesEXPORT_MAP_R12r   EXPORT_MAP_R2000EXPORT_MAP_R2007r   export_dxf_attribs)r   	tagwriterattribsr   s      r   r   zDimStyle.export_entity  s    i(%'  !6!68P8U8UV  !6!68J8JK%'5($G!!G+&G&G##Iw7r   c                   | j                   J d       t        | 	  |       | j                  j	                  t
              }|r7	 | j                   j                  j	                  |      }|j                  |       t        D ]W  }| j                  j	                  |      }|!	 | j                   j                  j	                  |      }|j                  |       Y t        D ]G  }| j                  j	                  |      }|!t        j                  |      r7|j                  |       I y# t        j                  $ r Y w xY w# t        j                  $ r Y w xY w)z5Register required resources to the resource registry.Nz.DIMSTYLE entity must be assigned to a document)r   r   register_resourcesr   r   DIM_TEXT_STYLE_ATTRstyles
add_entityr   DXFTableEntryErrorr   	linetypesr   r   is_acad_arrowadd_block_name)	r   registrytext_style_namestyle	attr_name
ltype_nameltype
arrow_namer   s	           r   r   zDimStyle.register_resources  s=   xx#U%UU#"8, ((,,':;++O<##E*
 . 	Ii0J!**..z:##E*	 0 	4Ii0J!''
3''
3	4 ++  ++ s$   6D- $6E-EEEEc                J   t        |t              sJ t        |   ||       | j                  j                  t              }|r |j                  |      |j                  _        t        D ]K  }| j                  j                  |      }|s!|j                  j                  ||j                  |             M t        D ]b  }| j                  j                  |      }|!t        j                  |      s|j                  |      }|j                  j                  ||       d y)z3Translate resources from self to the copied entity.N)
isinstancer   r   map_resourcesr   r   r   get_text_styler   r   r   get_linetyper   r   r   get_block_name)r   clonemapping
text_styler   r   r   r   s          r   r   zDimStyle.map_resources   s    %***eW- XX\\"56
!(!7!7
!CEII- 	KIi0J		i)=)=j)IJ	K 0 	1Ii0J!''
3$33J?
IIMM)Z0	1r   c                Z   | j                   j                  t              }|rH| j                  j                  j                  |      j                   j
                  | j                   _        t        D ]5  }| j                   j                  |      }|s!| j                  |dz   |       7 t        D ]{  }| j                  j                  j                  }| j                   j                  |      }|sA ||      j                   j
                  }| j                   j                  |dz   |       } y )Nr   )r   r   r   r   r   handler   r   set_blk_handler   r   r   )r   r   r   
block_namer   r   r   s          r   r   zDimStyle.set_handles  s    01'+xx':':5'A'E'E'L'LDHH$/ 	GIi0J##I	$9:F	G
 . 	<I88--11Li0J%j155<<Y2F;	<r   c                N    dD ]   }| j                   j                  |dz          " y )N)r-   r/   r1   r   r   r   r   r   r   )r   discard)r   attrs     r   r   zDimStyle.discard_handles*  s,    	
 
	/D HHTI-.
	/r   c                   |t         j                  k(  r| j                  j                  |       y | j                  J d       | j                  j
                  }t        j                  |      rt        j                  ||      }n|}|j                  |      }|| j                  ||j                         y t        j                  d| d      )Nvalid DXF document requiredzBlock "" does not exist.)r   closed_filledr   r  r   blocksr   create_blockr   set_dxf_attribr   r   DXFValueError)r   r  r   r  r   blks         r   r   zDimStyle.set_blk_handle7  s    --- HHT"xx#B%BB#
+,,VZ@J#Jjj$?c&=&=>%%
|;L&MNNr   c                    | j                   J d       | j                  |d       }|dv rt        j                  S t	        || j                         }t        j
                  |      S )Nr  )Nr   )r   get_dxf_attribr   r  get_block_name_by_handler   )r   r"   r   r   s       r   get_arrow_block_namezDimStyle.get_arrow_block_nameL  s_    xx#B%BB#$$T40[ '''1&$((CJ$$Z00r   c                    | j                   t        k  rt        j                  d       ||| j                  _        ||| j                  _        ||| j                  _        y y )Nz%Linetype support requires DXF R2007+.)rG   r   r   debugr   r   r   r   )r   dimlineext1ext2s       r   set_linetypeszDimStyle.set_linetypesW  sV    ??W$LL@A 'DHH $DHH $DHH r   c                    | j                   j                  }| j                         j                         D ]:  \  }}|j	                  d      st        | d ||      j                   d|        < y )Nr   z (z) = )
DXFATTRIBSr   
dxfattribsitemsr   printcode)r   attdefr"   values       r   print_dim_attribszDimStyle.print_dim_attribsb  sf    $$??,224 	AKD%u%b!2!2 34w?@	Ar   c                X   | j                         }|j                  }| j                  j                  |d<   |j	                         D ]0  \  }}|j                  d      sd|j                         z   }	 |||<   2 y# t        j                  $ r t        j                  d| d       Y bw xY w)z>Copy all dimension style variables to HEADER section of `doc`.z	$DIMSTYLEr   $zUnsupported header variable: r   N)r  headerr   r"   r  r   upperr   DXFKeyErrorr   r  )r   r   r   r"  r"   r  
header_vars          r   copy_to_headerzDimStyle.copy_to_headerh  s    //#"hhmm{"==? 	PKD%u% 4::</
P).F:&		P
 (( PLL#@A!NOPs   2A::,B)(B)c                   | j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  dd       | j                  rn| j                  j                  }||||fD ]N  }t        j                  |      rt        j
                  ||       /|s2||vs7t        j                  d| d       y	y	)
a}  Set arrows by block names or AutoCAD standard arrow names, set
        DIMTSZ to ``0`` which disables tick.

        Args:
            blk: block/arrow name for both arrows, if DIMSAH is 0
            blk1: block/arrow name for first arrow, if DIMSAH is 1
            blk2: block/arrow name for second arrow, if DIMSAH is 1
            ldrblk: block/arrow name for leader

        r-   r/   r1   r   rP   r   zBLOCK "r  N)r
  r   r  r   r   r	  r   r  )r   r  blk1blk2ldrblkr  bs          r   
set_arrowszDimStyle.set_arrowsu  s     	Hc*It,It,K0Ha( 88XX__F4v. P''*''2&--u<M.NOOP r   c                (    | j                  d|       y)zSet tick `size`, which also disables arrows, a tick is just an
        oblique stroke as marker.

        Args:
            size: arrow size in drawing units

        rP   N)r
  )r   sizes     r   set_tickzDimStyle.set_tick  s     	Hd+r   c                   |rL|j                         }| j                  dt        j                  |          |dk(  r|| j                  d|       |r2| j                  dt        j                  |j                                   yy)a/  Set measurement text alignment, `halign` defines the horizontal
        alignment (requires DXF R2000+), `valign` defines the vertical
        alignment, `above1` and `above2` means above extension line 1 or 2 and
        aligned with extension line.

        Args:
            halign: "left", "right", "center", "above1", "above2",
                requires DXF R2000+
            valign: "above", "center", "below"
            vshift: vertical text shift, if `valign` is "center";
                >0 shift upward,
                <0 shift downwards

        rm   centerNrV   r   )lowerr
  r   DIMTADDIMJUST)r   halignvalignvshifts       r   set_text_alignzDimStyle.set_text_align  so    ( \\^F%,,v*>?!f&8##Hf5	5==+HI r   c                D   |s|r|dz   |z   | j                   _        ||| j                   _        ||>d}|du rt        j                  }|du r|t        j
                  z  }|| j                   _        ||| j                   _        |t        |      | j                   _	        yy)a  Set dimension text format, like prefix and postfix string, rounding
        rule and number of decimal places.

        Args:
            prefix: Dimension text prefix text as string
            postfix: Dimension text postfix text as string
            rnd: Rounds all dimensioning distances to the specified value, for
                instance, if DIMRND is set to 0.25, all distances round to the
                nearest 0.25 unit. If you set DIMRND to 1.0, all distances round
                to the nearest integer.
            dec: Sets the number of decimal places displayed for the primary
                units of a dimension, requires DXF R2000+
            sep: "." or "," as decimal separator, requires DXF R2000+
            leading_zeros: Suppress leading zeros for decimal dimensions
                if ``False``
            trailing_zeros: Suppress trailing zeros for decimal dimensions
                if ``False``

        z<>Nr   F)
r   r(   r=   r   DIMZIN_SUPPRESSES_LEADING_ZEROS DIMZIN_SUPPRESSES_TRAILING_ZEROSro   r   ordr   )	r   prefixpostfixrnddecsepleading_zerostrailing_zerosro   s	            r   set_text_formatzDimStyle.set_text_format  s    : W%}w6DHH?!DHHO $(BF%>>&%@@@$DHHO?!DHHO?"3xDHH r   c                    ||| j                   _        ||| j                   _        ||| j                   _        ||| j                   _        ||| j                   _        ||| j                   _        yy)a  Set dimension line properties

        Args:
            color: color index
            linetype: linetype as string, requires DXF R2007+
            lineweight: line weight as int, 13 = 0.13mm, 200 = 2.00mm,
                requires DXF R2000+
            extension: extension length
            disable1: ``True`` to suppress first part of dimension line,
                requires DXF R2000+
            disable2: ``True`` to suppress second part of dimension line,
                requires DXF R2000+

        N)r   r   r?   r   r   r   r   )r   colorlinetype
lineweight	extensiondisable1disable2s          r   set_dimline_formatzDimStyle.set_dimline_format  sq    . $DHH 'DHHO!(DHHO&DHHO&DHHO (DHH  r   c                    ||| j                   _        ||| j                   _        ||| j                   _        ||| j                   _        |#d| j                   _        || j                   _        yy)a}  Set common extension line attributes.

        Args:
            color: color index
            lineweight: line weight as int, 13 = 0.13mm, 200 = 2.00mm
            extension: extension length above dimension line
            offset: offset from measurement point
            fixed_length: set fixed length extension line, length below the
                dimension line

        Nr   )r   r   r;   r7   r   r   rE   )r   rF  rH  rI  offsetfixed_lengths         r   set_extline_formatzDimStyle.set_extline_format  sk    & $DHH 'DHHO$DHHO!(DHHO# !DHH*DHHO $r   c                R    |rd| j                   _        ||| j                   _        yy)zSet extension line 1 attributes.

        Args:
            linetype: linetype for extension line 1, requires DXF R2007+
            disable: disable extension line 1 if ``True``

        r   N)r   ri   r   r   rG  disables      r   set_extline1zDimStyle.set_extline1-  )     DHHO (DHH  r   c                R    |rd| j                   _        ||| j                   _        yy)zSet extension line 2 attributes.

        Args:
            linetype: linetype for extension line 2, requires DXF R2007+
            disable: disable extension line 2 if ``True``

        r   N)r   rk   r   rR  s      r   set_extline2zDimStyle.set_extline2:  rU  r   c                   d| j                   _        d| j                   _        t        |      | j                   _        |t        |      | j                   _        nt        |      | j                   _        |t        |      | j                   _        ||>d}|du rt        j                  }|du r|t        j                  z  }|| j                   _
        |t               | j                   _        |t        |      | j                   _        yy)a`  Set tolerance text format, upper and lower value, text height
        factor, number of decimal places or leading and trailing zero
        suppression.

        Args:
            upper: upper tolerance value
            lower: lower tolerance value, if ``None`` same as upper
            hfactor: tolerance text height factor in relation to the dimension
                text height
            align: tolerance text alignment enum :class:`ezdxf.enums.MTextLineAlignment`
                requires DXF R2000+
            dec: Sets the number of decimal places displayed,
                requires DXF R2000+
            leading_zeros: suppress leading zeros for decimal dimensions
                if ``False``, requires DXF R2000+
            trailing_zeros: suppress trailing zeros for decimal dimensions
                if ``False``, requires DXF R2000+

        r   r   NF)r   ra   rc   floatrA   rC   rX   r   r:  r;  r   intr   r   )	r   r#  r2  hfactoralignr@  rB  rC  r   s	            r   set_tolerancezDimStyle.set_toleranceG  s    < u"5\DHHN"5\DHHN$W~DHH $(BG%??&5AAA&DHH"uDHH?"3xDHH r   c                   d| j                   _        d| j                   _        t        |      | j                   _        t        |      | j                   _        t        |      | j                   _        ||>d}|du rt        j                  }|du r|t        j                  z  }|| j                   _
        d| j                   _        |t        |      | j                   _        yy)a  Set limits text format, upper and lower limit values, text height
        factor, number of decimal places or leading and trailing zero
        suppression.

        Args:
            upper: upper limit value added to measurement value
            lower: lower limit value subtracted from measurement value
            hfactor: limit text height factor in relation to the dimension
                text height
            dec: Sets the number of decimal places displayed,
                requires DXF R2000+
            leading_zeros: suppress leading zeros for decimal dimensions
                if ``False``, requires DXF R2000+
            trailing_zeros: suppress trailing zeros for decimal dimensions
                if ``False``, requires DXF R2000+

        r   r   NF)r   rc   ra   rY  rA   rC   rX   r   r:  r;  r   r   rZ  r   )r   r#  r2  r[  r@  rB  rC  r   s           r   
set_limitszDimStyle.set_limits~  s    6 uu > $(BG%??&5AAA&DHH?"3xDHH r   c              #    K   | j                   rt| j                   j                  }dD ]X  }| j                  j                  |d      }|s"|j                  |d      }|7|j                  j                  j
                   Z yyw)z(Support for "ReferencedBlocks" protocol.r   N)r   r  r   r   block_recordr   )r   r  r   r"   blocks        r   __referenced_blocks__zDimStyle.__referenced_blocks__  ss     88XX__FL <xx||K6"JJtT2E(#0044;;;< s   AB	B&Br   )r   zOptional[SubclassProcessor]returnr   )r   r   rd  None)r   r   rd  re  )r   zxref.Registryrd  re  )r   r   r   zxref.ResourceMapperrd  re  )r  strr   rf  rd  re  )r"   rf  rd  rf  )NNN)rd  re  )r   r   )r*   r*   r*   r*   )
r  rf  r(  rf  r)  rf  r*  rf  rd  re  )r   )r.  rY  rd  re  )r5  Optional[str]r6  rg  r7  Optional[float]rd  re  )r*   r*   NNNTT)r=  rf  r>  rf  r?  rh  r@  Optional[int]rA  rg  rB  boolrC  rj  )NNNNNN)rF  ri  rG  rg  rH  ri  rI  rh  rJ  Optional[bool]rK  rk  )NNNNN)
rF  ri  rH  ri  rI  rh  rN  rh  rO  rh  )NF)rG  rg  )N      ?NNNN)r#  rY  r2  rh  r[  rY  r\  zOptional[MTextLineAlignment]r@  ri  rB  rk  rC  rk  rd  re  )rl  NNN)r#  rY  r2  rY  r[  rY  r@  ri  rB  rk  rC  rk  rd  re  )rd  zIterable[str])(__name__
__module____qualname____doc__DXFTYPEr
   r   r   r   r  dictbuild_group_code_itemsr   CODE_TO_DXF_ATTRIBpropertyrG   r   r   r   r   r   r   r   r   r  r  r  r&  r,  r/  r8  rD  rL  rP  rT  rW  r]  r_  rc  __classcell__)r   s   @r   r   r     s   'Gz+C]SJj??
KL# # 8<4	)V8$ 4D12<"/O*	1	%AP LNPP#&P36PEHP	P:, !% $"&	JJ J  	J
 
J> #!!"#.(.( .( 	.(
 .( .( .( .(d  $"&$(%)#'#'#)#)  #) "	#)
 ##) !#) !#)N  $$(%)"&(,++ "+ #	+
  + &+>))  "&.2!(,)-5(5( 5( 	5(
 ,5( 5( &5( '5( 
5(v !(,)-,(,( ,( 	,(
 ,( &,( ',( 
,(\	<r   c                    	 |j                   |    }|j                  j                  }|S # t        j                  $ r |}Y |S w xY wr   )r   r   r"   r   r$  )r   r   r%   entryr   s        r   r  r    sN    $V$ YY^^
	  
 	s   ) AA)r"   rf  rd  rj  )r*   )r   r   rd  rf  )<
__future__r   typingr   r   r   typing_extensionsr   loggingezdxf.enumsr   ezdxf.lldxf.attributesr	   r
   r   r   r   r   ezdxf.lldxfr   ezdxf.lldxf.constr   r   r   r   ezdxf.render.arrowsr   	dxfentityr   r   r   layerr   factoryr   ezdxf.documentr   ezdxf.entitiesr   ezdxf.lldxf.tagwriterr   r    r   __all__	getLoggerr   is_valid_table_nameis_in_integer_rangeLINEWEIGHT_BYBLOCKr   r   r   r   r   r   r   r   r   r   r   r   r   <module>r     sc   # 4 4 "  *   5 5 ! & ? ? + $&+7,			7	#^:9V9VW^Q'^ 	71b)^ 	GAr*	^ 	'!R(^ 	71b)^ 	71b)^ 	GB*^ 	'"c*^ 	'"e,^ 	'"d+^ 	'"d+^ 	'"a(^  	'"a(!^" 	Q'#^$ 	Q'%^( 	'"#>)^, 	WRGR$O-^0 	'#s+1^4 	'#s+5^6 	'#q)7^8 	7369^< 	73*=^@ 	'#q)A^B 	73*C^F 	'#u-G^H 	WSWa@I^L 	GB7A>M^P 	wrgqAQ^R 	'"a(S^T 	'"a(U^X 	'"a(Y^\ 	'"a(]^` 	'"a(a^d 	'"a(e^h 	'"a(i^j 	'"a(k^v 	72qW=w^@ 	WRGdCA^B 	'#q)C^D 	73*E^F 	73*G^H 	'#q)I^L 	'#q)M^N 	73*O^R 	73*S^V 	73*W^Z 	73*[^\ 	737A>]^^ 	73<_^` 	'#'1=a^d 	737A>e^f 	737A>g^h 	GCGQ?i^r 	G3i33Aq9 
s^@ 	737A>A^B 	GCGQ?C^D 	737B?E^L 	GCGQ?M^P 	737A>Q^T 	'#'1=U^X 	'#'1=Y^Z 	737A>[^\ 	737A>]^^ 	737A>_^` 	GCGQ?a^b 	'#,c^d 	'#'1=e^r 	GCGQ?s^v 	GCGQ?w^~ 	GKG<^B 	W[W=C^F 	GKG<G^J 	GKG<K^N 	GKG<O^V 	737;W^Z 	9[^^ 	'#':_^b 	'#':c^f 	GCG<g^j 	737;k^n 	737;o^r 	737;s^v 	'#u'?'?GTw^z 	'#u'?'?GT{^aD /}= J XD L*X ! F ; " h<y h< h<Vr   