Ë
    £èh:  ã                   óR  — d dl mZ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 ddl­ ddlmZ dd	lmZ d!d
edefd„Z G d„ d«      Z G d„ de«      Z G d„ de«      ZdZdZdZdZdedeeef   fd„Zdedeeeef      fd„Zdedeeeef      deeef   fd„Zdedeeef   fd„Zd Zy)"é    )ÚDictÚAnyÚListÚTuple)ÚabstractmethodN)Úacad_release_to_dxf_version)Ú	BitStreamé   )Ú*)Úcrc8)Ú
FileHeaderÚspecsÚdatac                 ó\   — | j                   t        k  rt        | ||«      S t        | ||«      S ©N)ÚversionÚ	ACAD_2000ÚDwgHeaderSectionR2000ÚDwgHeaderSectionR2004)r   r   Ú	crc_checks      ú?lib/python3.12/site-packages/ezdxf/addons/dwg/header_section.pyÚload_header_sectionr      s,   € Ø‡}�}œ	Ò!Ü$ U¨D°)Ó<Ð<ä$ U¨D°)Ó<Ð<ó    c                   ó8   — e Zd Zddedefd„Zededefd„«       Zy)ÚDwgSectionLoaderr   r   c                 óL   — || _         || _        | j                  |«      | _        y r   )r   r   Úload_data_sectionr   )Úselfr   r   r   s       r   Ú__init__zDwgSectionLoader.__init__   s"   € ØˆŒ
Ø"ˆŒØ×*Ñ*¨4Ó0ˆ�	r   Úreturnc                  ó   — y r   © ©r   r   s     r   r   z"DwgSectionLoader.load_data_section   s   € àr   N©F)Ú__name__Ú
__module__Ú__qualname__r   ÚBytesr   r   r   r"   r   r   r   r      s7   „ ñ1˜jð 1°ó 1ð
 ð eð °ò ó ñr   r   c                   ó(   — e Zd Zdedefd„Zdefd„Zy)r   r   r    c                 óÊ   — | j                   j                  t        kD  rt        | j                   j                  «      ‚| j                   j                  t
           \  }}||||z    S r   )r   r   r   ÚDwgVersionErrorÚsectionsÚ	HEADER_ID)r   r   ÚseekerÚsection_sizes       r   r   z'DwgHeaderSectionR2000.load_data_section"   sT   € Ø�:‰:×Ñ¤	Ò)Ü! $§*¡*×"4Ñ"4Ó5Ð5Ø#Ÿz™z×2Ñ2´9Ñ=Ñˆ�Ø�F˜V lÑ2Ð3Ð3r   c                 óØ  — | j                   }|d d }|dk7  rt        d«      ‚d}t        j                  d||«      d   }|dz  }t	        ||||z    | j
                  j                  | j
                  j                  ¬«      }t        |«      }||z  }| j                  r:t        j                  d||«      d   }t        |dd	 d
¬«      }||k7  rt        d«      ‚|dd  }|dk7  rt        d«      ‚|S )Né   s   Ï{#ýÞ8©_|h¸Nm3_z/Sentinel for start of HEADER section not found.z<Lr   é   )Ú
dxfversionÚencodingz<HiîÿÿÿiÁÀ  )ÚseedzCRC error in header section.iðÿÿÿs   0„àÜ!ÇV ƒ—G±’Ì z-Sentinel for end of HEADER section not found.)r   ÚDwgCorruptedHeaderSectionÚstructÚunpack_fromr	   r   r   r4   Úparse_headerr   r   ÚCRCError)	r   r   ÚsentinelÚindexÚsizeÚbsÚhdr_varsÚcheckÚcrcs	            r   Úload_header_varsz&DwgHeaderSectionR2000.load_header_vars(   s  € Ø�y‰yˆØ˜˜�9ˆàØRòSô ,ØAóð ð ˆÜ×!Ñ! $¨¨eÓ4°QÑ7ˆØ�‰
ˆÜØ�˜ ™Ð&Ø—z‘z×)Ñ)Ø—Z‘Z×(Ñ(ô
ˆô
   Ó#ˆØ�‰ˆØ�>Š>Ü×&Ñ& t¨T°5Ó9¸!Ñ<ˆEä�t˜B˜s�|¨&Ô1ˆCØ˜Š|ÜÐ=Ó>Ð>Ø˜˜�:ˆàØRòSô ,Ø?óð ð ˆr   N)r%   r&   r'   r(   r   r   rB   r"   r   r   r   r   !   s!   „ ð4 eð 4°ó 4ð" $ô "r   r   c                   ó   — e Zd Zdedefd„Zy)r   r   r    c                 ó   — t        «       ‚r   )ÚNotImplementedErrorr#   s     r   Ú	load_datazDwgHeaderSectionR2004.load_dataN   s   € Ü!Ó#Ð#r   N)r%   r&   r'   r(   rF   r"   r   r   r   r   M   s   „ ð$˜eð $¨ô $r   r   ÚverÚ	skip_bitsÚskip_next_ifÚvarr   r    c                 óF  — t         }t        }| dk7  r�| j                  d«      }t        |«      dkD  r8t        |d   j                  «          }t        |d   j                  «          }||fS |d   j                  «       }|d   dk(  rt        |d d    }||fS t        |   x}}||fS )NÚallÚ-r
   r   éÿÿÿÿÚ+)ÚACAD_13ÚACAD_LATESTÚsplitÚlenr   Ústrip)r   Úmin_verÚmax_verÚvÚv_strs        r   Ú_min_max_versionsrY   X   s¹   € Ü€GÜ€GØ�%ÒØ�M‰M˜#ÓˆÜˆq‹6�AŠ:Ü1°!°A±$·*±*³,Ñ?ˆGÜ1°!°A±$·*±*³,Ñ?ˆGð �GÐÐð ˜1™Ÿ™›ˆEØ�R‰y˜CÒÜ5°e¸C¸R°jÑA�ð �GÐÐô %@ÀÑ$FÐF�˜'Ø�GÐÐr   Údescc                 ó*  — g }| j                  d«      }|D ]ß  }|j                  «       }|r|d   dk(  rŒ	 |j                  d«      \  }}|j                  «       }|j                  d«      d   j                  «       }|t        k(  r!|j	                  t        t        |«      f«       Œ�|t        t        hv r|j	                  ||f«       Œ±|d   dk(  r|j	                  t        ||ff«       ŒÓt        d|› �«      ‚ |S # t        $ r t        d|› �«      ‚w xY w)NÚ
r   Ú#Ú:zUnpack Error in line: Ú$úUnknown command: )	rR   rT   Ú
ValueErrorÚCMD_SET_VERSIONÚappendrY   ÚCMD_SKIP_BITSÚCMD_SKIP_NEXT_IFÚCMD_SET_VAR)rZ   ÚcommandsÚlinesÚlineÚcommandÚparams         r   Úload_commandsrl   i   s  € Ø€HØ�J‰J�tÓ€EÛˆØ�z‰z‹|ˆÙ�t˜A‘w #’~Øð	>Ø!ŸZ™Z¨›_‰NˆG�Uð —-‘-“/ˆØ—‘˜CÓ  Ñ#×)Ñ)Ó+ˆØ”oÒ%Ø�O‰Oœ_Ô.?ÀÓ.FÐGÕHØœÔ(8Ð9Ñ9Ø�O‰O˜W eÐ,Õ-Ø�Q‰Z˜3ÒØ�O‰Oœ[¨7°EÐ*:Ð;Õ<äÐ0°°	Ð:Ó;Ð;ð# ð$ €Oøô ò 	>ÜÐ5°d°VÐ<Ó=Ð=ð	>ús   µC:Ã:Dr>   rg   c                 ó‚  — | j                   }t        }t        }t        «       }d}|D ]•  \  }}|rd}Œ|t        k(  r|\  }}Œ|t
        k(  r| j                  t        |«      «       Œ>|t        k(  rt        |d d|i«      }ŒW|t        k(  r)||cxk  r|k  sŒln Œo|\  }	}
| j                  |
«      ||	<   Œ‰t        d|› �«      ‚ |S )NFÚheaderr`   )r3   rP   rQ   Údictrb   rd   ÚskipÚintre   Úevalrf   Ú	read_codera   )r>   rg   r   rU   rV   r?   Úskip_next_cmdÚcmdÚparamsÚnameÚcodes              r   Úparse_bitstreamry   �   sÌ   € ð �m‰m€GÜ€GÜ€GÜ#›v€HØ€MÛ‰ˆˆVÙØ!ˆMØà”/Ò!Ø%ÑˆG‘WØ”MÒ!Ø�G‰G”C˜“KÕ ØÔ$Ò$Ü  ¨°¸(Ð/CÓD‰MØ”KÒØ˜'Ô, WÖ,Ø#‘
��dØ!#§¡¨dÓ!3�˜’äÐ0°°Ð6Ó7Ð7ð!  ð" €Or   c                 ó8   — t        t        «      }t        | |«      S r   )rl   ÚHEADER_DESCRIPTIONry   )r>   rg   s     r   r9   r9   �   s   € ÜÔ/Ó0€HÜ˜2˜xÓ(Ð(r   a?#  
ver: R2007
$SIZE_IN_BITS: RL # Size in bits 

ver: R2013+ 
$REQUIREDVERSIONS: BLL # default value 0, read only 

ver: all
$UNKNOWN: BD # Unknown, default value 412148564080.0 
$UNKNOWN: BD # Unknown, default value 1.0 
$UNKNOWN: BD # Unknown, default value 1.0 
$UNKNOWN: BD # Unknown, default value 1.0 
$UNKNOWN: TV # Unknown text string, default "" 
$UNKNOWN: TV # Unknown text string, default "" 
$UNKNOWN: TV # Unknown text string, default "" 
$UNKNOWN: TV # Unknown text string, default "" 
$UNKNOWN: BL # Unknown long, default value 24L 
$UNKNOWN: BL # Unknown long, default value 0L; 

ver: R13-R14 
$UNKNOWN: BS # Unknown short, default value 0 

ver: R13-R2000 
$CURRENT_VIEWPORT_ENTITY_HEADER: H # Handle of the current viewport entity header (hard pointer) 

ver: all
$DIMASO: B 
$DIMSHO: B 

ver: R13-R14 
$DIMSAV: B # Undocumented 

ver: all
$PLINEGEN: B 
$ORTHOMODE: B 
$REGENMODE: B 
$FILLMODE: B 
$QTEXTMODE: B 
$PSLTSCALE: B 
$LIMCHECK: B 

ver: R13-R14 
$BLIPMODE: B 

ver: R2004+ 
$UNKNOWN: B #  Undocumented 

ver: all 
$USRTIMER: B #  (User timer on/off) 
$SKPOLY: B 
$ANGDIR: B 
$SPLFRAME: B 

ver: R13-R14 
$ATTREQ: B
$ATTDIA: B

ver: all 
$MIRRTEXT: B 
$WORLDVIEW: B

ver: R13-R14 
$WIREFRAME: B # Undocumented. 

ver: all
$TILEMODE: B 
$PLIMCHECK: B 
$VISRETAIN: B 

ver: R13-R14 
$DELOBJ: B

ver: all
$DISPSILH: B 
$PELLIPSE: B # (not present in DXF) 
$PROXYGRAPHICS: BS 

ver: R13-R14 
$DRAGMODE: BS 

ver: all 
$TREEDEPTH: BS 
$LUNITS: BS 
$LUPREC: BS 
$AUNITS: BS 
$AUPREC: BS 

ver: R13-R14 
$OSMODE: BS 

ver: all 
$ATTMODE: BS 

ver: R13-R14 
$COORDS: BS 

ver: all 
$PDMODE: BS 

ver: R13-R14 
$PICKSTYLE: BS 

ver: R2004+
$UNKNOWN: BL 
$UNKNOWN: BL 
$UNKNOWN: BL 

ver: all 
$USERI1: BS 
$USERI2: BS 
$USERI3: BS 
$USERI4: BS 
$USERI5: BS 
$SPLINESEGS: BS 
$SURFU: BS 
$SURFV: BS 
$SURFTYPE: BS 
$SURFTAB1: BS 
$SURFTAB2: BS 
$SPLINETYPE: BS 
$SHADEDGE: BS 
$SHADEDIF: BS 
$UNITMODE: BS 
$MAXACTVP: BS 
$ISOLINES: BS 
$CMLJUST: BS 
$TEXTQLTY: BS 
$LTSCALE: BD 
$TEXTSIZE: BD 
$TRACEWID: BD 
$SKETCHINC: BD 
$FILLETRAD: BD 
$THICKNESS: BD 
$ANGBASE: BD 
$PDSIZE: BD 
$PLINEWID: BD 
$USERR1: BD 
$USERR2: BD 
$USERR3: BD 
$USERR4: BD 
$USERR5: BD 
$CHAMFERA: BD 
$CHAMFERB: BD 
$CHAMFERC: BD 
$CHAMFERD: BD 
$FACETRES: BD 
$CMLSCALE: BD 
$CELTSCALE: BD 

ver: R13-R2004 
$MENUNAME: TV

ver: all 
$TDCREATE: BL # (Julian day) 
$TDCREATE: BL # (Milliseconds into the day) 
$TDUPDATE: BL # (Julian day) 
$TDUPDATE: BL # (Milliseconds into the day) 

ver: R2004+
$UNKNOWN: BL 
$UNKNOWN: BL 
$UNKNOWN: BL 

ver: all 
$TDINDWG: BL # (Days) 
$TDINDWG: BL # (Milliseconds into the day) 
$TDUSRTIMER: BL # (Days) 
$TDUSRTIMER: BL # (Milliseconds into the day) 
$CECOLOR: CMC

# with an 8-bit length specifier preceding the handle bytes (standard hex handle form) (code 0). 
# The HANDSEED is not part of the handle stream, but of the normal data stream (relevant for R21 and later). 

$HANDSEED: H # The next handle 
$CLAYER: H # (hard pointer) 
$TEXTSTYLE: H # (hard pointer) 
$CELTYPE: H # (hard pointer) 

ver: R2007+
$CMATERIAL: H # (hard pointer) 

ver: all 
$DIMSTYLE: H # (hard pointer) 
$CMLSTYLE: H # (hard pointer) 

ver: R2000+ 
$PSVPSCALE: BD 

ver: all 
$PINSBASE: 3BD # (PSPACE) 
$PEXTMIN: 3BD # (PSPACE) 
$PEXTMAX: 3BD # (PSPACE) 
$PLIMMIN: 2RD # (PSPACE) 
$PLIMMAX: 2RD # (PSPACE) 
$PELEVATION: BD # (PSPACE) 
$PUCSORG: 3BD # (PSPACE) 
$PUCSXDIR: 3BD # (PSPACE) 
$PUCSYDIR: 3BD # (PSPACE) 
$PUCSNAME: H # (PSPACE) (hard pointer) 

ver: R2000+
$PUCSORTHOREF: H # (hard pointer) 
$PUCSORTHOVIEW: BS 
$PUCSBASE: H # (hard pointer) 
$PUCSORGTOP: 3BD 
$PUCSORGBOTTOM: 3BD 
$PUCSORGLEFT: 3BD 
$PUCSORGRIGHT: 3BD 
$PUCSORGFRONT: 3BD 
$PUCSORGBACK: 3BD 

ver: all 
$INSBASE: 3BD # (MSPACE) 
$EXTMIN: 3BD # (MSPACE) 
$EXTMAX: 3BD # (MSPACE)
$LIMMIN: 2RD # (MSPACE) 
$LIMMAX: 2RD # (MSPACE) 
$ELEVATION: BD # (MSPACE) 
$UCSORG: 3BD # (MSPACE) 
$UCSXDIR: 3BD # (MSPACE) 
$UCSYDIR: 3BD # (MSPACE) 
$UCSNAME: H # (MSPACE) (hard pointer) 

ver: R2000+ 
$UCSORTHOREF: H # (hard pointer) 
$UCSORTHOVIEW: BS 
$UCSBASE: H # (hard pointer) 
$UCSORGTOP: 3BD 
$UCSORGBOTTOM: 3BD 
$UCSORGLEFT: 3BD 
$UCSORGRIGHT: 3BD 
$UCSORGFRONT: 3BD 
$UCSORGBACK: 3BD 
$DIMPOST: TV 
$DIMAPOST: TV 

ver: R13-R14
$DIMTOL: B 
$DIMLIM: B 
$DIMTIH: B 
$DIMTOH: B 
$DIMSE1: B 
$DIMSE2: B 
$DIMALT: B 
$DIMTOFL: B 
$DIMSAH: B 
$DIMTIX: B 
$DIMSOXD: B 
$DIMALTD: RC 
$DIMZIN: RC 
$DIMSD1: B 
$DIMSD2: B 
$DIMTOLJ: RC 
$DIMJUST: RC 
$DIMFIT: RC 
$DIMUPT: B 
$DIMTZIN: RC  
$DIMALTZ: RC 
$DIMALTTZ: RC 
$DIMTAD: RC 
$DIMUNIT: BS 
$DIMAUNIT: BS 
$DIMDEC: BS 
$DIMTDEC: BS 
$DIMALTU: BS 
$DIMALTTD: BS 
$DIMTXSTY: H # (hard pointer) 

ver: all 
$DIMSCALE: BD 
$DIMASZ: BD 
$DIMEXO: BD 
$DIMDLI: BD 
$DIMEXE: BD 
$DIMRND: BD 
$DIMDLE: BD 
$DIMTP: BD 
$DIMTM: BD 

ver: R2007+ 
$DIMFXL: BD 
$DIMJOGANG: BD 
$DIMTFILL: BS 
$DIMTFILLCLR: CMC 

ver: R2000+
$DIMTOL: B 
$DIMLIM: B 
$DIMTIH: B 
$DIMTOH: B 
$DIMSE1: B 
$DIMSE2: B 
$DIMTAD: BS 
$DIMZIN: BS 
$DIMAZIN: BS 

ver: R2007+ 
$DIMARCSYM: BS 

ver: all 
$DIMTXT: BD 
$DIMCEN: BD 
$DIMTSZ: BD 
$DIMALTF: BD 
$DIMLFAC: BD 
$DIMTVP: BD 
$DIMTFAC: BD 
$DIMGAP: BD 

ver: R13-R14 
$DIMPOST: T 
$DIMAPOST: T 
$DIMBLK: T 
$DIMBLK1: T 
$DIMBLK2: T 

ver: R2000+ 
$DIMALTRND: BD 
$DIMALT: B 
$DIMALTD: BS 
$DIMTOFL: B 
$DIMSAH: B 
$DIMTIX: B 
$DIMSOXD: B 

ver: all 
$DIMCLRD: CMC 
$DIMCLRE: CMC 
$DIMCLRT: CMC 

ver: R2000+
$DIMADEC: BS 
$DIMDEC: BS 
$DIMTDEC: BS 
$DIMALTU: BS 
$DIMALTTD: BS 
$DIMAUNIT: BS 
$DIMFRAC: BS 
$DIMLUNIT: BS 
$DIMDSEP: BS 
$DIMTMOVE: BS 
$DIMJUST: BS 
$DIMSD1: B 
$DIMSD2: B 
$DIMTOLJ: BS 
$DIMTZIN: BS 
$DIMALTZ: BS 
$DIMALTTZ: BS 
$DIMUPT: B 
$DIMATFIT: BS 

ver: R2007+
$DIMFXLON: B 

ver: R2010+ 
$DIMTXTDIRECTION: B 
$DIMALTMZF: BD 
$DIMALTMZS: T 
$DIMMZF: BD 
$DIMMZS: T 

ver: R2000+ 
$DIMTXSTY: H # (hard pointer) 
$DIMLDRBLK: H # (hard pointer) 
$DIMBLK: H # (hard pointer) 
$DIMBLK1: H # (hard pointer) 
$DIMBLK2: H # (hard pointer) 

ver: R2007+ 
$DIMLTYPE: H # (hard pointer) 
$DIMLTEX1: H # (hard pointer) 
$DIMLTEX2: H # (hard pointer) 

ver: R2000+ 
$DIMLWD: BS 
$DIMLWE: BS 

ver: all 
$BLOCK_CONTROL_OBJECT: H # (hard owner) Block Record Table
$LAYER_CONTROL_OBJECT: H # (hard owner) Layer Table
$STYLE_CONTROL_OBJECT: H # (hard owner) Style Table
$LINETYPE_CONTROL_OBJECT: H # (hard owner) Linetype Table
$VIEW_CONTROL_OBJECT: H # (hard owner) View table
$UCS_CONTROL_OBJECT: H # (hard owner)  UCS Table
$VPORT_CONTROL_OBJECT: H # (hard owner)  Viewport table
$APPID_CONTROL_OBJECT: H # (hard owner)  AppID Table
$DIMSTYLE_CONTROL_OBJECT: H # (hard owner)  Dimstyle Table

ver: R13-R2000 
$VIEWPORT_ENTITY_HEADER_CONTROL_OBJECT: H # (hard owner) 

ver: all 
$ACAD_GROUP_DICTIONARY: H # (hard pointer) 
$ACAD_MLINESTYLE_DICTIONARY: H # (hard pointer) 
$ROOT_DICTIONARY: H # (NAMED OBJECTS) (hard owner) 

ver: R2000+ 
$TSTACKALIGN: BS # default = 1 (not present in DXF) 
$TSTACKSIZE: BS #  default = 70 (not present in DXF) 
$HYPERLINKBASE: TV 
$STYLESHEET: TV 
$LAYOUTS_DICTIONARY: H # (hard pointer) 
$PLOTSETTINGS_DICTIONARY: H # (hard pointer) 
$PLOTSTYLES_DICTIONARY: H # (hard pointer) 

ver: R2004+ 
$MATERIALS_DICTIONARY: H # (hard pointer) 
$COLORS_DICTIONARY: H # (hard pointer) 

ver: R2007+ 
$VISUALSTYLE_DICTIONARY: H # (hard pointer) 

ver: R2013+
$UNKNOWN: H # (hard pointer) 

ver: R2000+
$R2000_PLUS_FLAGS: BL
#    CELWEIGHT Flags & 0x001F 
#    ENDCAPS Flags & 0x0060 
#    JOINSTYLE Flags & 0x0180 
#    LWDISPLAY !(Flags & 0x0200) 
#    XEDIT !(Flags & 0x0400) 
#    EXTNAMES Flags & 0x0800 
#    PSTYLEMODE Flags & 0x2000 
#    OLESTARTUP Flags & 0x4000 
$INSUNITS: BS 
$CEPSNTYPE: BS

skip_next_if: header['$CEPSNTYPE'] != 3
$CPSNID: H # (present only if CEPSNTYPE == 3) (hard pointer)

$FINGERPRINTGUID: TV 
$VERSIONGUID: TV 

ver: R2004+ 
$SORTENTS: RC 
$INDEXCTL: RC 
$HIDETEXT: RC 
$XCLIPFRAME: RC # before R2010 the value can be 0 or 1 only. 
$DIMASSOC: RC 
$HALOGAP: RC 
$OBSCUREDCOLOR: BS 
$INTERSECTIONCOLOR: BS 
$OBSCUREDLTYPE: RC 
$INTERSECTIONDISPLAY: RC 
$PROJECTNAME: TV 

ver: all 
$PAPER_SPACE_BLOCK_RECORD: H # (hard pointer) 
$MODEL_SPACE_BLOCK_RECORD: H #  (hard pointer) 
$BYLAYER_LTYPE: H # (hard pointer) 
$BYBLOCK_LTYPE: H # (hard pointer) 
$CONTINUOUS_LTYPE: H # (hard pointer) 

ver: R2007+ 
$CAMERADISPLAY: B 
$UNKNOWN: BL 
$UNKNOWN: BL 
$UNKNOWN: BD 
$STEPSPERSEC: BD 
$STEPSIZE: BD 
$3DDWFPREC: BD 
$LENSLENGTH: BD 
$CAMERAHEIGHT: BD 
$SOLIDHIST: RC 
$SHOWHIST: RC 
$PSOLWIDTH: BD 
$PSOLHEIGHT: BD 
$LOFTANG1: BD 
$LOFTANG2: BD 
$LOFTMAG1: BD 
$LOFTMAG2: BD 
$LOFTPARAM: BS 
$LOFTNORMALS: RC 
$LATITUDE: BD 
$LONGITUDE: BD 
$NORTHDIRECTION: BD 
$TIMEZONE: BL 
$LIGHTGLYPHDISPLAY: RC 
$TILEMODELIGHTSYNCH: RC 
$DWFFRAME: RC 
$DGNFRAME: RC 
$UNKNOWN: B 
$INTERFERECOLOR: CMC 
$INTERFEREOBJVS: H # (hard pointer) 
$INTERFEREVPVS: H # (hard pointer) 
$CSHADOW: RC 
$UNKNOWN: BD 

ver: R14+ 
$UNKNOWN: BS # short (type 5/6 only) these do not seem to be required, 
$UNKNOWN: BS # short (type 5/6 only) even for type 5. 
$UNKNOWN: BS # short (type 5/6 only) 
$UNKNOWN: BS # short (type 5/6 only) 

r$   ) Útypingr   r   r   r   Úabcr   r7   Úezdxf.lldxf.constr   Úezdxf.tools.binarydatar	   ÚconstrA   r   Ú
fileheaderr   r(   r   r   r   r   rb   rd   re   rf   ÚstrrY   rl   ry   r9   r{   r"   r   r   Ú<module>rƒ      s  ð÷ *Ó )Ý Û å 9Ý ,ä Ý Ý "ñ=˜zð =°ó =÷ñ ô)Ð,ô )ôX$Ð1ô $ð
 €Ø€Ø!Ð Ø€ð˜sð  u¨S°#¨X¡ó ð"˜ð   U¨3°¨8¡_Ñ 5ó ð0ØðØ! %¨¨S¨¡/Ñ2ðà	ˆ#ˆsˆ(�^óð8)�Yð ) 4¨¨S¨¡>ó )ð
oÑ r   