+
    f7i;  c                   sb    R t ^RIHt ^ RIHt ^ RIHtHtHt  ! R R]]P                  4      t	R# )a\  TSI{0,1,2,3,5} are private tables used by Microsoft Visual TrueType (VTT)
tool to store its hinting source data.

TSI1 contains the text of the glyph programs in the form of low-level assembly
code, as well as the 'extra' programs 'fpgm', 'ppgm' (i.e. 'prep'), and 'cvt'.

See also https://learn.microsoft.com/en-us/typography/tools/vtt/tsi-tables
)DefaultTable)LogMixin)strjointobytestostrc                   sP   a  ] tR t^t o RRRRRRRR/tR	tR
 tR tR tR t	Rt
V tR# )table_T_S_I__1i  Zppgmi  Zcvti  Zreservedi  ZfpgmZTSI0c                s   \        V4      pW P                  ,          p\        VP                  VP                  3R
4       EF  w  rV/ p\        V4       EF`  w  pw  rpV'       d   V P                  V	,          pMVP                  V	4      pW8  d%   V P                  P                  RV,          4       Ka  V
R8  d   MV
R8X  d   V\        V4      ^,
          8H  pV'       d'   V'       d   TpM1VP                  ^ ,          ^,          pMWX^,           ,          ^,          pW8  g   Q R4       hW8  d%   V P                  P                  RV,          4       TpW,
          p
M^ RI
Hp VP                  RW3,          4      hWW,            p\        V4      V
8X  g   Q h\        VRR7      pV'       g   EK\  VW|&   EKc  	  V'       d
   Wpn        EK  Wpn        EK  	  R	# )Fz$textOffset > totalLength; %r skipped   zentries not sorted by offsetz*nextTextOffset > totalLength; %r truncated)ttLibz&%r textLength (%d) must not be > 32768utf-8ZencodingN)FT)len
indextableZzipindicesextra_indices	enumerateextrasZgetGlyphNameZlogZwarningZ	fontToolsr   Z
TTLibErrorr   extraProgramsglyphPrograms)selfdatattFontZtotalLengthr   r   ZisExtraZprogramsiZglyphID
textLengthZ
textOffsetnameZisLastZnextTextOffsetr   texts   &&&              F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/T_S_I__1.py	decompileZtable_T_S_I__1.decompile   s   $iOO,
 #!9!9:M!
G H8A'8J44G;;w/D!..w7D+HH$$%Kd%RS& 6)3w<!#34F"
 .9N .8-E-Ea-H-KN
 *1Q):)7W9WW7%3((H4O *5!/!<J/**@DCUU  )@A4yJ...TG44%)HNi 9Kj %-"%-"y!
    c                s`   \        V R 4      '       g   / V n        / V n        RpWP                  ,          pVP	                  4       p. p\        V4       F  w  rg\        V4      ^,          '       d
   VR,           pWpP                  9   d    \        V P                  V,          RR7      pMRp\        V4      p	V	R8  d   Rp	VP                  Wi\        V4      34       W(,           pK  	  . p
\        V P                  P                  4       4       F  w  r\        V4      ^,          '       d
   VR,           pWpP                  9   d    \        V P                  V,          RR7      pMRp\        V4      p	V	R8  d   Rp	V
P                  W\        V4      34       W(,           pK  	  VP                  WZ4       V# )r   r   s   r   r	   r   )hasattrr   r   r   ZgetGlyphOrderr   r
   r   Zappendsortedr   ZitemsZset)r   r   r   r   Z
glyphNamesr   r   r   r   r   r   Zcodes   &&          r   compileZtable_T_S_I__1.compileU   sx   t_--!#D!#DOO,
))+
 ,GA4y1}}7N  )))t11$7'JTJV##
NNA3t956;D -  !2!2!45JD4y1}}7N  )))t11$7'JTJV##
  $CI!>?;D 6 	w.r   c                s^   \        V P                  P                  4       4      pVP                  4        V F  pV P                  V,          pV'       g   K   VP	                  R VR7       VP                  4        VP                  VP                  RR4      4       VP                  4        VP                  R 4       VP                  4        VP                  4        K  	  \        V P                  P                  4       4      pV F  pV P                  V,          pV'       g   K   VP	                  RVR7       VP                  4        VP                  VP                  RR4      4       VP                  4        VP                  R4       VP                  4        VP                  4        K  	  R# )glyphProgram)r   
extraProgramN)	r   r   ZkeysZnewlineZbegintagZwrite_noindentreplaceZendtagr   )r   Zwriterr   Znamesr   r   Zextra_namess   &&&    r   toXMLZtable_T_S_I__1.toXML   s:   t))..01D%%d+DOONO6NN!!$,,tT":;NNMM.)NNNN  T//4467D%%d+DOONO6NN!!$,,tT":;NNMM.)NNNN  r   c                s:   \        V R 4      '       g   / V n        / V n        \        V4      P	                  RR4      P                  R4      pRP                  V^R 4      pVR8X  d   W`P                  VR,          &   R# VR8X  d   W`P                  VR,          &   R# R# )r   r    r!   r   r   r"   Ni)r   r   r   r   r#   ZsplitZjoin)r   r   ZattrsZcontentr   Zlinesr   s   &&&&&  r   fromXMLZtable_T_S_I__1.fromXML   s    t_--!#D!#D ((t4::4@yyq%>!04uV}-^#04uV}- $r   )r   r   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r   r$   r%   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s;     ffeVZPFJ?.B(T6	5 	5r   r   N)
Z__doc__Z r    ZfontTools.misc.loggingToolsr   ZfontTools.misc.textToolsr   r   r   r   ) r   r   <module>r&      s.     0 < <T5X|88 T5r   