+
    f7ia  c                   s    ^RI Ht ^RI Ht  ! R R]P                  4      t]R8X  d6   ^ RIt^ RIt]P                  ! ]P                  ! 4       P                  4       R# R# )i   )DefaultTable)	ttProgramc                   sF   a  ] tR t^t o RtR tR tR tR tR t	]	t
RtV tR# )	table__f_p_g_mak  Font Program table

The ``fpgm`` table typically contains function defintions that are
used by font instructions. This Font Program is similar to the Control
Value Program that is stored in the ``prep`` table, but
the ``fpgm`` table is only executed one time, when the font is first
used.

See also https://learn.microsoft.com/en-us/typography/opentype/spec/fpgm
c                s^    \         P                  ! 4       pVP                  V4       W0n        R # N)r   ProgramZfromBytecodeprogram)selfZdatattFontr   s   &&& F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/_f_p_g_m.py	decompileZtable__f_p_g_m.decompile   s#    ##%T"    c                s^    \        V R 4      '       d   V P                  P                  4       # R# )r   r
   )hasattrr   ZgetBytecode)r   r   s   &&r   compileZtable__f_p_g_m.compile   s%    4##<<++--r
   c                s<    V P                   P                  W4       R # r   )r   toXML)r   Zwriterr   s   &&&r   r   Ztable__f_p_g_m.toXML   s    6*r
   c                s`    \         P                  ! 4       pVP                  WW44       WPn        R # r   )r   r   fromXMLr   )r   ZnameZattrsZcontentr   r   s   &&&&& r   r   Ztable__f_p_g_m.fromXML   s#    ##%W5r
   c                sT    \        V R4      ;'       d    \        V P                  4      # )z
>>> fpgm = table__f_p_g_m()
>>> bool(fpgm)
False
>>> p = ttProgram.Program()
>>> fpgm.program = p
>>> bool(fpgm)
False
>>> bc = bytearray([0])
>>> p.fromBytecode(bc)
>>> bool(fpgm)
True
>>> p.bytecode.pop()
0
>>> bool(fpgm)
False
r   )r   Zboolr   )r   s   &r   __bool__Ztable__f_p_g_m.__bool__#   s"    $ tY'>>D,>>r
   )r   N)__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r	   r   r   r   r   Z__nonzero__Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s*     	

+
?( Kr
   r   Z__main__N)
Z r    r   r   r   ZsysZdoctestZexitZtestmodZfailed) r
   r   <module>r      sL     2\.. 2j zHHW__%%&	 r
   