�
��gB! � �� � d dl mZ d dlmZ d dlmZ d dlmZmZ d dl m
Z
d dlZdZg d�Z
d � Z eg d
�� � Zd� Z G d� d
e� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d � d!e� � Z G d"� d#e� � Z G d$� d%e� � Z G d&� d'e� � Z G d(� d)e� � Z! G d*� d+e� � Z" G d,� d-e� � Z# G d.� d/e� � Z$ G d0� d1e� � Z% G d2� d3e� � Z& G d4� d5e� � Z' G d6� d7e� � Z( G d8� d9e� � Z) G d:� d;e� � Z* G d<� d=e� � Z+ G d>� d?e� � Z, G d@� dAe� � Z- G dB� dCe� � Z. G dD� dEe� � Z/ G dF� dGe� � Z0 G dH� dIe� � Z1 G dJ� dKe� � Z2 G dL� dMe� � Z3 G dN� dOe� � Z4 G dP� dQe� � Z5 G dR� dSe� � Z6 G dT� dUe� � Z7 G dV� dWe� � Z8 G dX� dYe� � Z9 G dZ� d[e� � Z: G d\� d]e� � Z; G d^� d_e� � Z< G d`� dae� � Z= G db� dce� � Z> G dd� dee� � Z? G df� dge� � Z@ G dh� die� � ZA G dj� dke� � ZB G dl� dme� � ZC G dn� doe� � ZD G dp� dqe� � ZEdr� ZF G ds� dte� � ZG G du� dveG� � ZH G dw� dxeG� � ZI G dy� dze� � ZJ G d{� d|eG� � ZK G d}� d~e� � ZL G d� d�e� � ZM G d�� d�e� � ZN G d�� d�e� � ZO G d�� d�e� � ZP G d�� d�e� � ZQ G d�� d�e� � ZR G d�� d�e� � ZS G d�� d�e� � ZT G d�� d�e� � ZU G d�� d�e� � ZV G d�� d�e� � ZWdS )�� )�FeatureLibError)�FeatureLibLocation)�getEncoding)�byteord�tobytes)�OrderedDictNz )B�Element�FeatureFile�Comment� GlyphName�
GlyphClass�GlyphClassName�
MarkClassName�AnonymousBlock�Block�FeatureBlock�NestedBlock�LookupBlock�GlyphClassDefinition�GlyphClassDefStatement� MarkClass�MarkClassDefinition�AlternateSubstStatement�Anchor�AnchorDefinition�AttachStatement�AxisValueLocationStatement�BaseAxis�CVParametersNameStatement�ChainContextPosStatement�ChainContextSubstStatement�CharacterStatement�ConditionsetStatement�CursivePosStatement�ElidedFallbackName�ElidedFallbackNameID�
Expression�FeatureNameStatement�FeatureReferenceStatement�FontRevisionStatement� HheaField�IgnorePosStatement�IgnoreSubstStatement�IncludeStatement�LanguageStatement�LanguageSystemStatement�LigatureCaretByIndexStatement�LigatureCaretByPosStatement�LigatureSubstStatement�LookupFlagStatement�LookupReferenceStatement�MarkBasePosStatement�MarkLigPosStatement�MarkMarkPosStatement�MultipleSubstStatement�
NameRecord�OS2Field�PairPosStatement� ReverseChainSingleSubstStatement�ScriptStatement�SinglePosStatement�SingleSubstStatement�SizeParameters� Statement�STATAxisValueStatement�STATDesignAxisStatement�STATNameStatement�SubtableStatement�
TableBlock�ValueRecord�ValueRecordDefinition� VheaFieldc �N � | �dS dd� d� | D � � � � z S )Nz
<device NULL>z<device %s>�, c 3 � K � | ] }d |z V � �
dS )z%d %dN� )�.0�ts �d/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/fontTools/feaLib/ast.py� <genexpr>z!deviceToString.<locals>.<genexpr>T s&