Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
cparser.cpython-313.pyc138 linesDownload Raw Back to __pycache__
1�

2��j������SSKJr SSKJrJr SSKJrJr SSKJr	 SSKrSSKrSSK
r
\
RS:aSSKrOSSKr\R""5rSrS	r\R*"S3\R,\R.-5r\R*"S\R,\R.-5r\R*"S\R.5r\R*"S
5r\R*"S5r\R*"S5r\R*"S5rSq\R*"S\R@5r!\R*"S5r"\R*"S5r#\R*"S5r$\R*"S5r%\R*"S5r&\R*"S5r'\R*"S5r(Sr)Sr*Sr+Sr,Sr-Sr.Sr/S r0S!r1"S"S#\25r3g!\4a SSK	r	GN�f=f!\5a SrGN�f=f)$�)�model)�COMMON_TYPES�resolve_common_type)�FFIError�	CDefError)�6_pycparser�N)�c��SSKnSSKng�Nr	)�pycparser.yacctab�pycparser.lextab)�	pycparsers �RD:\code\apps\devtools\python\user_packages\Python313\site-packages\cffi/cparser.py�%_workaround_for_static_import_findersrs7����z<cdef source string>z/\*.*?\*/|//([^\n\\]|\\.)*?$z?^\s*#\s*define\s+([A-Za-z_][A-Za-z_0-9]*)\b((?:[^\n\\]|\\.)*?)$z^[ \t]*#[ \t]*(?:line|\d+)\b.*$z=\s*\.\.\.\s*[,}]|\.\.\.\s*\}z__dotdotdot\d+__$z\[\s*\.\.\.\s*\]z\w+|\Sz-?0?x?[0-9a-f]+[lu]*$z\b(__stdcall|WINAPI)\bz[(]\s*(__stdcall|WINAPI)\bz\b__cdecl\bz9\bextern\s*"(Python|Python\s*\+\s*C|C\s*\+\s*Python)"\s*.z'[*]\s*((const|volatile|restrict)\b\s*)+z3(\b(int|long|short|signed|unsigned|char)\s*)+\.\.\.z\b(double|float)\s*\.\.\.c�F�[c[R"5q[$�N)�
_parser_cacher�CParser�rr�_get_parserr2s����!�)�)�+�
��rc�x�/n[RU5nU(dO�URUSUR55 URS5 SnURUR	55 UR5nUR
SU5(aURS5 US-
nSnUnU[U5:aFXnUS:XaUS-
nO US:Xa
US:XaO)US-nO
US;aUS:XaOUS-
nU[U5:aMFXUU-XS-nGMURU5 SRU5$)N�(�)�*r	rz,;=�)	�_r_star_const_space�search�append�start�group�end�8startswith�len�join)�csource�parts�match�closing�endpos�level�i�cs        r�_workaround_for_old_pycparserr/8s9��
�E�9�#�*�*�7�3����
���W�^�e�k�k�m�,�-�
���S��S�7�
���U�[�[�]�#���������c�6�*�*��L�L���w�#�~�w������#�g�,���10�A��C�x���11���c���A�:����12���e���A�:��
��F�A��#�g�,����#�g�-����;��3�613�L�L���
�7�7�5�>�rc���/n[RU5nU(dGO/UR5S-14nURUSUR	55 SURS5;aURS5 OURS5 XS:XafUR
SU5nUS:a[S5eUR
SUS-U5S:�a[S	5eURXS-U5 XS-SnO@UR
S15U5nUS:a[S5eURXUS-5 XS-SnURS5 GMMURU5 S
RU5$)Nr�Cz(void __cffi_extern_python_plus_c_start; z!void __cffi_extern_python_start; �{�}r	z!'extern "Python" {': no '}' foundz7cannot use { } inside a block 'extern "Python" { ... }'�;z'extern "Python": no ';' foundz  void __cffi_extern_python_stop;r)16�_r_extern_pythonrr#r r!r"�findr�NotImplementedErrorr&)r'r(r)r+r*�	semicolons      r�_preprocess_extern_pythonr9bsk��
�E�17� �'�'��0��������q���	���W�^�e�k�k�m�,�-��%�+�+�a�.� ��L�L�C�D��L�L�<�=��?�c�!��l�l�3��/�G���{�� E�F�F��|�|�C��!��W�5��:�)�+H�I�I��L�L����'�2�3��a�i�j�)�G� ���S�&�1�I��1�}�� B�C�C��L�L��	�!��4�5���k�l�+�G�
���7�8�=�B18�L�L���
�7�7�5�>�rc���SU;agUR5HFnSU;dMUR5RS5(aM1SSKnUR	S5  g g)N�"�#r	z�String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.)�19splitlines�lstripr$�warnings�warn)r'�liner?s   r�_warn_for_string_literalrB�sV��20�'����"�"�$���$�;�t�{�{�}�7�7��<�<���M�M�1�
2�
�%rc�p�UR(d%SSKnURSUR<S35 gg)Nr	zGlobal variable 'z_' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern'))�storager?r@�name)�declr?s  r�/_warn_for_non_extern_non_static_global_variablerG�s)���<�<���
�
�.2�i�i�:�	;�rc�F^�/mU4Sjn[RX5nUT4$)Nc�b>�[T5nTRUR55 SU-$)Nz#line@%d)r%r r")�mr-�line_directivess  �r�replace�(_remove_line_directives.<locals>.replace�s+����� �����q�w�w�y�)��A�~�r��_r_line_directive�sub)r'rLrKs  @r�_remove_line_directivesrQ�s,���21�O�� �#�#�G�5�G��O�#�#rc�:^�U4Sjn[RX 5$)Nc�>�UR5nURS5(d[S5eT[USS5$)Nz#line@zBunexpected #line directive (should have been processed and removed�)r"r$�AssertionError�int)rJ�srKs  �rrL�*_put_back_line_directives.<locals>.replace�sG���
�G�G�I���|�|�H�%�%� �"K�L�
L��s�1�Q�R�5�z�*�*rrN)r'rKrLs ` r�_put_back_line_directivesrY�s���+�� � ��2�2rc�$�[U5upSn[RX 5n0n[R	U5H9nUR5upVUR
SS5R5nXcU'M; [RSU5n[RS:a[U5n[RSU5n[RSU5n[RSU5n[U5n[U5 [ RSU5n[#[$R	U55n['[)U55Hsup�UR+5n	X	S	:Xa9UR-S22X�R/55n23X�:�deSUSU	UX24S-S4-nMVX	U	S-S25:XdeS
USU	UX	S-S4-nMu [0RSU5n[2RSU5nUR
S26S5n[5X5nX4$)Nc�L�SUR5RS5S--$)N� �27)r"�count)rJs r�replace_keeping_newlines�-_preprocess.<locals>.replace_keeping_newlines�s!���Q�W�W�Y�_�_�T�*�T�1�1�1rz\28rz2.14z volatile volatile const(z volatile volatile const r\z[__dotdotdotarray__]�=�...z%s,__dotdotdot%d__ %sr29z%s __dotdotdot%d__ %sz __dotdotdotint__ z __dotdotdotfloat__ z __dotdotdot__ )rQ�30_r_commentrP�	_r_define�finditer�groupsrL�stripr�__version__r/�_r_stdcall2�_r_stdcall1�_r_cdeclr9rB�_r_partial_array�list�_r_partial_enum�	enumerate�reversedr!r6r#�_r_int_dotdotdot�_r_float_dotdotdotrY)r'rKr_�macrosr)�	macroname�31macrovalue�matches�number�p�p2s           r�_preprocessrz�s�� 7�w�?��G�2��n�n�5�?�G�
�F��#�#�G�,�� %�����	��'�'���3�9�9�;�32�&�y��-��m�m�B��(�G����v�%�/��8���o�o�9�7�C�G��o�o�9�7�C�G��l�l�3��(�G�(��0�G��W�%��"�"�#9�7�C�G��?�+�+�G�4�5�G�"�8�G�#4�5�
���K�K�M���:������e�Q�	�	��4�B��6�M�6�-���!��f�18�A����1A�A�G��Q�q�S�>�U�*�*�*�-���!��f�18�1����1@�@�G�6��"�"�#7��A�G� �$�$�%;�W�E�G��o�o�e�%6�7�G�'��A�G��?�rc�l�[[5nURS5 URS5 URS5 URS5 URS5 [5nSnSnSn[R	U5H�nXa;a�US:Xa,U(a$URU5 URU5 SnOjUS:XaS	nSnO_US:XaUS33-
nOSUS:XaUS34-nOGUS:Xa0U(a(US:Xa"URU5 URU5 OURU5 UnM� U$)Nr4�,rr�typedefFr	rTr)�setr�add�_r_words�findall�discard)r'�look_for_words�35words_used�36is_typedef�paren�
previous_word�words       r�_common_type_namesr��s)����&�N����s�����s�����s�����s�����y�!���J��J�
�E��M�� � ��)���!��s�{���&�&�}�5�"�*�*�=�9�!&�J����"�!�37��������38�������39������%�1�*��&�&�}�5�"�*�*�=�9�����t�$��
�)*�*�rc���\rSrSrSrSrSrSrSSjrSr	S	r40S41rSrSr
S
rSrSrS SjrSrS!SjrS"SjrS!SjrSrS#SjrSrS$SjrSrSrSrSrSrSrg)%�Parseri'c��0Ul[5UlSUl[R42"5Ul0Ul0Ul/Ul	SUl43gr)�
_declarationsr~�_included_declarations�_anonymous_counter�weakref�WeakKeyDictionary�_structnode2type�_options�_int_constants�_recomplete�_uses_new_feature)�selfs r�__init__�Parser.__init__)sL�����&)�e��#�"#��� '� 9� 9� ;�����
� ������!%��rc��[U5up[U5n/n[UR5HBnUR	S5(dMUSSnURU5 UR
U5 MD U[U5-
n/nURS5 UHnURSU-5 M URS5 URS[<S35 URU5 URS5 S	RU5n[b[R5 [5RU5n	[b[R#5 W	X!4$![RRan44UR!X�5 Sn45A46NSSn47A48ff=f![b[R#5 ff=f)49N�typedef �z*# 1 "<cdef automatic initialization code>"ztypedef int %s;z@typedef int __dotdotdotint__, __dotdotdotfloat__, __dotdotdot__;z# 1 "r;rr])rzr��sortedr�r$r r��CDEF_SOURCE_STRINGr&�lock�acquirer�parser�c_parser�50ParseError�convert_pycparser_error�release)r�r'rs�ctn�	typenamesrE�csourcelines�typename�fullcsource�ast�es           r�_parse�
Parser._parse3s���%�g�.���51!��)���	��4�-�-�.�D����z�*�*��A�B�x��� � ��&����D�!�	/�52	�V�C�[� �	������H�I�!�H���� 1�H� <�=�"����.�	/�	���*<�>�?����G�$����B���i�i��-�����L�L�N�	��-�%�%�k�2�C��������F�#�#��
�!�!�,�,�	5��(�(��4�4��	5�������� �s*�.E&�&F�F�F"�F�F"�"Gc��Sn[U5n[R"[<S3U5nU(aL[	URS5S5nUR
5nSUs=::a[U5::aO U$XvS-53nU$)Nz:(\d+):r�54)�str�rer)r�rVr"r=r%)r�r�r'rA�msgr)�linenumr�s        r�_convert_pycparser_error�Parser._convert_pycparser_errorZsu�����!�f�����);�=�s�C����%�+�+�a�.�"�-�G�"�-�-�/�L��G�0�s�<�0�0���$�A�I�.���rc��URX5n[U5nU(aSUR5<SU<3nOSU<3n[U5e)Nzcannot parse "z"55zparse error56)r�r�rgr)r�r�r'rAr�s     rr��Parser.convert_pycparser_errorhsG���,�,�Q�8���!�f���-1�Z�Z�\�3�?�C��(+�,�C���n�rNc��U(a&US:wa[S5eU(a[S5eSnO%U(aXDS-57-(a[SU<35eOSnURnUUUS.UlURU5 X`lg!X`lf=f)NTzB'packed' should be False or True; use 'pack' to give another valuez$cannot give both 'pack' and 'packed'rz#'pack' must be a power of two, not r	)�override�packed�	dllexport)�58ValueErrorr��_internal_parse)r�r'r�r��packr��prev_optionss       rr��Parser.parsers������~� �"@�A�A�� �!G�H�H��D�
��a�x� � ��"���!��D��}�}��	)�)1�'+�*3�5�D�M�
� � ��)�(�M��L�M�s� B�Bc	�b�URU5up#nURU5 [UR5nUHnURS:XdM O eSnSUlUGH�nUn[
U[RR5(aURU5 MB[
U[RR5(GaUR(d[SU5eSn[
URR[RR5(aJURRRSR!S5(aUR#U5nGOA[
UR[RR$5(a�[
URR[RR&5(a�[
URRR[RR5(aSURRRRSR!S5(aUR)U5nO7UR+URURSSUR<S	3S599up�UR-SUR-X�S9 GMsUR.R0S
:XaSSKn	U	R5S5 GM�[SUR.R0-U5e g![a4n60[7U61R85S:XaU62R8U4-U63leSn64A65f[:a9n66UR=X�5nU(aU67R8SSU--4U68leSn69A70ff=f)N�
__dotdotdot__r	�__cffi_extern_python_stopz!typedef does not declare any name������__dotdotdotTz*(z *)0)rE�partial_length_ok�typedef_exampler���quals�Pragmaa#pragma in cdef() are entirely ignored. They should be removed for now, otherwise your code might behave differently in a future version of CFFI if #pragma support gets added. Note that '#pragma pack' needs to be replaced with the 'packed' keyword argument to cdef().zBunexpected <%s>: this construct is valid C but not valid in cdef()rz71    *** Err: %s)r��_process_macros�iter�extrE�_inside_extern_python�72isinstancer�c_ast�Decl�_parse_decl�Typedefr�type�IdentifierType�namesr$�_get_unknown_type�PtrDecl�TypeDecl�_get_unknown_ptr_type�_get_type_and_quals�_declare�	__class__�__name__r?r@r%�argsrr�)r�r'r�rs�iteratorrF�current_declr��realtyper?r�r�s            rr��Parser._internal_parse�s���#�{�{�7�3���W����V�$�����=���D��y�y�O�+���
�1���/	�)D�D�&� ��#���d�I�O�O�$8�$8�9�9��$�$�T�*���i�o�o�&=�&=�>�>��9�9�'�(K�(,�.�.��E�"�4�9�9�>�>�9�?�?�3Q�3Q�R�R� �I�I�N�N�0�0��4�?�?�
�N�N�#'�#9�#9�$�#?��$�T�Y�Y�	���0G�0G�H�H�$�T�Y�Y�^�^�Y�_�_�5M�5M�N�N�$�T�Y�Y�^�^�%8�%8�%.�_�_�%C�%C�E�E��)�)�.�.�-�-�3�3�B�7�B�B�=�Q�Q�#'�#=�#=�d�#C��*.�*B�*B� �I�I�D�I�I��:>�)�)�,E�+C�+G����M�M�*�t�y�y�"8�(�M�P��^�^�,�,��8�#��M�M�?�@�$�%@�$(�N�N�$;�$;�%<�=A�C�C�E!��J�	��1�6�6�{�a�����<�/�1������	��/�/��;�C���&�&��)�&9�C�&?�?�A�����		�s%�KL/�/73N.�9/M(�(
N.�54N)�)N.c��XR;a#URUU:Xag[SU<35eX RU'g)Nz#multiple declarations of constant: )r�r)r��key�vals   r�_add_constants�Parser._add_constants�sG���%�%�%��"�"�3�'�3�.���;>�@�B�
B�#&���C� rc�h�UR5RS5nURS5nU(aUSSnURS5(a$US:waURS5(dSUSS-n[US5nU(aU*nUR	X5 URSU-U5 g)	N�ul�-r�0�0x�0or	�macro )�lower�rstripr$rVr�r�)r�rE�int_str�neg�pyvalues     r�_add_integer_constant�Parser._add_integer_constant�s����-�-�/�(�(��.��� � ��%����a�b�k�G����s�#�#��3���*�*�4�0�0��W�Q�R�[�(�G��g�q�/����h�G����D�*��
�
�h��o�w�/rc��UR5Hxup#UR5n[RU5(aUR	X#5 MBUS:XaURSU-U5 M_[
SU<SU<SU<SU<35e g)Nrbr�z5only supports one of the following syntax:74  #define z+ ...     (literally dot-dot-dot)75  #define zM NUMBER  (with NUMBER an integer constant, decimal/hex/octal)76got:77  #define r\)�itemsrg�_r_int_literalr)r�r�r)r�rsr��values    rr��Parser._process_macros�st�� �,�,�.�J�C��K�K�M�E��#�#�E�*�*��*�*�3�6��%���
�
�h��n�e�4���C��e�
-�.�.�)rc���URX5nURRS5(aSnO(URS:XaSnOURS:XaSnOSnUR	XCR78-U5 g)Nr�zdllexport_python �__cffi_extern_python_startzextern_python �!__cffi_extern_python_plus_c_startzextern_python_plus_c z	function )�_get_type_pointerr��getr�r�rE)r��tpr�rF�tags     r�_declare_function�Parser._declare_function�sm��
�
#�
#�B�
.���=�=���[�)�)�%�C�
�
'�
'�+G�
G�"�C�
�
'�
'�+N�
N�)�C��C��
�
�c�I�I�o�r�*rc��URn[U[RR5(aOURX!RS9up4[U[R5(deURX4U5 g[U[RR5(aURSU5 O�[U[RR5(aURSU5 OY[U[RR5(aURSU5 OUR(d[SU5eUR(Ga�URUSS9up4UR(aURX4U5 gUR!5(a�[#US5(az[#UR$S	5(a_[&R)UR$R*5(a1UR-URUR$R*5 gUR!5(a�[UR$[RR.5(a�UR$R0S79:Xa�[#UR$R2S	5(av[&R)UR$R2R*5(a>UR-URS80UR$R2R*-5 gU[R4La2URR7S5(aURUlgUR8S:wa[S
5eU[R:-(a/UR<(dUR?SUR-X4S9 g[AU5 UR?SUR-X4S9 gg)N)rE�struct�union�enumz'construct does not declare any variableT�r��initr�r��__cffi_extern_python_r�z<cannot declare constants or variables with 'extern "Python"'z	constant r�z	variable )!r�r�rr��FuncDeclr�rEr�RawFunctionTyper�Struct�_get_struct_union_enum_type�Union�Enumr�is_raw_function�is_integer_type�hasattrrr�r)r�r��UnaryOp�op�expr�	void_typer$r��Q_CONST�
is_array_typer�rG)r�rF�noderr�s     rr��Parser._parse_decl�s����y�y���d�I�O�O�4�4�5�5��0�0��I�I�0�F�I�B��b�%�"7�"7�8�8�8�8��"�"�2�d�3��$�	��� 6� 6�7�7��0�0��4�@��D�)�/�/�"7�"7�8�8��0�0��$�?��D�)�/�/�"6�"6�7�7��0�0���>��Y�Y�� I� $�&�&��y�y�y� �4�4�T�GK�5�M�	���%�%��*�*�2�d�;��(�(�*�*���f�-�-���	�	�7�3�3�&�,�,�T�Y�Y�_�_�=�=��.�.�t�y�y�$�)�)�/�/�J��(�(�*�*�"�4�9�9�i�o�o�.E�.E�F�F��	�	����+���	�	����8�8�&�,�,�T�Y�Y�^�^�-A�-A�B�B��.�.�t�y�y�/2�T�Y�Y�^�^�5I�5I�/I�K��E�O�O�+��i�i�*�*�+B�C�C�26���D�.��1�1�4O�O�'�A�B�B���
�
�-�r�7G�7G��
�
�k�D�I�I�&=�r�
�O�G��M��
�
�k�D�I�I�&=�r�
�O�Arc�*�URU5S$r)�parse_type_and_quals)r��cdecls  r�81parse_type�Parser.parse_type0s���(�(��/��2�2rc�b�URSU-5SSup#U(aeURSRRRSn[U[RR5(a[SUR<S35eURUR5$)Nzvoid __dummy(82%s83);�r�r	zunknown identifier '�')r�r�r�r��paramsr�rr��IDrrEr�)r�r r�rs�exprnodes     rr�Parser.parse_type_and_quals3s����k�k�"9�E�"A�B�2�A�F�����z��7�7�2�;�#�#�(�(�/�/��2���h�	��� 2� 2�3�3�����H�I�I��'�'��
�
�6�6rc�J�XR;aKURUupVXRLaXd:XagURRS5(d[SU<S35eSUR	5;deX$4URU'U(aUR84R
U5 gg)Nr�zmultiple declarations of z5 (for interactive usage, try cdef(xx, override=True))r�)r�r�rr�splitr�r)r�rE�obj�includedr��prevobj�	prevqualss       rr��Parser._declare;s����%�%�%�!%�!3�!3�D�!9��G��~�)�"4���=�=�$�$�Z�0�0��6:�=�>�>��d�j�j�l�2�2�2�$'�<����4� ���'�'�+�+�C�0�rc�b�Sn[U[RR[RR45(aiSUR85;aU[R-nSUR86;aU[R-nSUR87;aU[R-nU$)Nr	�const�volatile�restrict)88r�rr�r�r�r�rr�89Q_VOLATILE�90Q_RESTRICT�r�r�r�s   r�_extract_quals�Parser._extract_qualsIs������d�Y�_�_�5�5�&�_�_�4�4�6�7�7��$�*�*�$�����&���T�Z�Z�'���)�)�)���T�Z�Z�'���)�)�)���rc��[U[R5(aUR5$[U[R5(aiUR91R
S5(aIUR92SSR5(a'URcUb[R"XU5$[R"X5$)N�$r)r�rr�as_function_pointer�StructOrUnionOrEnumrEr$�isdigit�	forcename�NamedPointerType�PointerType)r�r�r��declnames    rr�Parser._get_type_pointerUs����d�E�1�1�2�2��+�+�-�-��t�U�6�6�7�7��	�	�$�$�S�)�)�d�i�i���m�.C�.C�.E�.E����&�8�+?��)�)�$�%�@�@�� � ��-�-rc�"93�[U[RR5(a�[UR[RR945(a�[
URR5S:XakSURRS-UR;aAURSURRS-upVX`RU5-nXV4$[U[RR5(atURcSnOURURUS9nUbUS:XaSU<S3nSU-nURURUUS	9upV[R"XW5U4$[U[RR 5(aAURUR5up�UR#X�US959nURU5nXV4$[U[RR5(GaURU5nURn96[U97[RR985(Ga[%U99R5nUSS/:wa�0nU(a0USnUS
;aUR'US5S-X�'US	OO	U(aM0/n
SH6n[)UR'US55HnU
R+U5 M M8 U(dS/nUS/:XaSU;dSU;a/nX�-nSR-U5nUS:Xa[R.U4$US:Xa"[1SUR2R4-5e[7UU5unnUUU-4$[U100[RR85(aUR;SX�5nXV4$[U101[RR<5(aUR;SX�5nXV4$[U102[RR>5(aUR;SX�5nXV4$[U[RR@5(aURCX5S4$[U[RR85(aUR;SXSS9S4$[U[RR<5(aUR;SXSS9S4$[1SUR2R4-5e)Nrr�r	r103rbz_cffi_array_len(rr)r�r�)rB�signed�char)�short�longrE�unsigned)rIrGrHrVrGrHr\�voidr�z:%d: bad usage of "..."rrr	T)�nestedz(:%d: bad or unsupported type declaration)"r�rr�r�r�r�r%r�r�r8�	ArrayDecl�dim�_parse_constantr�r�	ArrayTyper�rrmr�ranger r&rr�coordrArrrrrr
�_parse_function_type)r��typenoderEr�r�rr��length�itemtype�	itemqualsr�r��prefixes�newnames�prefixr-�ident�tp0�quals0s                   rr��Parser._get_type_and_quals^s���
�x����!9�!9�:�:��x�}�}�i�o�o�&D�&D�E�E���
�
�#�#�$��)�
�(�-�-�-�-�a�0�
0�T�5G�5G�G��*�*�:��
�
�8K�8K�A�8N�+N�O�I�B��(�(��2�2�E��9���h�	��� 9� 9�:�:��|�|�#����-�-��L�L�4E�.�G���*��U�?�6E�G�F�"%��"7���0�0����2C�0?�1�A�I�B��?�?�2�.��5�5��h�	��� 7� 7�8�8�"&�":�":�8�=�=�"I��H��'�'��d�'�K�B��'�'��1�E��9���h�	��� 8� 8�9�9��'�'��1�E��=�=�D��$�	��� >� >�?�?��T�Z�Z�(���X�v�.�.�!�H��$�Q�x���#J�J�-5�\�\�$��-B�Q�-F�H�N� %�a��!�
 �%� "�H�"?��!&�x�|�|�F�A�'>�!?�A�$�O�O�F�3�"@�#@�!�!&������'�"�h�.�&�H�2D�$&�E�$�,�E��������F�?� �?�?�E�1�1��O�+�"�#<�$�N�N�/�/�$0�1�1�1�$��>���V��U�V�^�,�,��$�	��� 6� 6�7�7��5�5�h��K���y� ��$�	��� 5� 5�6�6��5�5�g�t�J���y� ��$�	��� 4� 4�5�5��5�5�f�d�I���y� ��h�	��� 8� 8�9�9��,�,�X�<�a�?�?��h�	��� 6� 6�7�7��3�3�H�h�;?�4�A�BC�D�
D��h�	��� 5� 5�6�6��3�3�G�X�;?�4�A�BC�D�
D��A����#�#�$�%�	%rc�`�[[URS/55n[U5H>upE[	US5(aM[SU=(d SUS-[USS54-5e [
U5S:�=(a� [US	R[RR5=(ai [US	RR[RR5=(a' US	RRRS104/:HnU(a.UR5 U(d[SU=(d S-5eUVs/sH+nUR"UR!UR56PM- nnU(dU["R$/:Xa/nUR!UR5up�Sn[	URS5(a!URR&S
S/SQ:XaSn["R("[+U5X�U5$s snf)Nr&r�zt%s arg %d: unknown type '%s' (if you meant to use the old C syntax of giving untyped arguments, it is not supported)z
in expressionrrE�?r	r�r�z=%s: a function with only '(...)' as argument is not correct Cr������)r3r3r2�	__stdcall)rm�getattrr�rorrr%r�r�rr�r�r�r��pop�_as_func_argr�rrr�r�tuple)r�rS�funcnamer&r-�arg�ellipsis�argdeclnoder��resultr��abis            rrR�Parser._parse_function_type�s����g�h�m�m�X�r�:�;����'�F�A��3��'�'��!?� �2�?�A��E��s�F�C�0�2�!2�3�3�(�
��K�!�O�
<��v�b�z���	���(@�(@�A�
<��v�b�z���+�+� ���5�5�
7�
<�
�2�J�O�O� � �&�&�?�*;�;�	���J�J�L���(�+3�+F��H�I�I�$*�+�#)�K��!�!�4�#;�#;�K�<L�<L�#M�N�#)�	
�+��D�U�_�_�$5�5��D��0�0����?�
�����8�=�=�'�*�*��}�}�"�"�2�3�'�+L�L�!���$�$�U�4�[�&�C�H�H��+s�2H+c���[U[R5(a![R"URU5$[U[R1055(aUR
5$U$r)r�rrOrA�itemrr<r7s   rrd�Parser._as_func_arg�sQ���d�E�O�O�,�,��$�$�T�Y�Y��6�6�
��e�3�3�
4�
4��+�+�-�-��Krc���URU$![a Of=fUnURnUc0UbSU-nO$U=RS-
slSUR-nSnO)UnU<SU<3nURRUS5upyUc�US:Xa[R"USSS5nObUS:Xa[R"USSS5nOBUS:Xa-US	:Xa[S1065eURXbR5nO[SU<35eUbURWU5 O!US:XaURb[SU-5eUR(dUR!U5 UR(a/S
UR;aURSUR-U5 XpRU'US:XaU$UR"cU$UR$b[SU-5e/n107/n/n/n
UR"GH|n['UR([*R,R.5(a<SR1UR(R25S	:XaUR5Xt5 MsUR6cSnOUR9UR65nSUlUR=UR(SS9unnUR:(aUR5Xt5 ['U[R5(a"UR>(aUR5Xt5 U108RAUR=(d S5 URAU5 URAU5 U
RAU5 GM [CU1095Ul[CU5Ul"[CU5Ul#[CU
5Ul$US/[KU5-:wa?['U[R5(a UR>(a[U<S35eURLRS5Ul'URP(a"SUl(URRRAU5 U$)Nz$%srz$%dr\)NNrrr	r�z!Enums cannot be declared with ...zkind = z^enum %s: the '{}' declaration should appear on the first time the enum is mentioned, not laterr;zanonymous %sz"duplicate declaration of struct %srr�FTr110z!: using both bitfields and '...;'r�r	)*r��KeyErrorrEr�r�rr�111StructType�	UnionTyper�_build_enum_type�valuesrUr�r7r?�force_the_name�decls�fldnamesr�r�rr�r�r&r��
_make_partial�bitsizerN�_partial_lengthr��partialr re�fldtypes�112fldbitsize�fldqualsr%r�r��	completedr�)r��kindr�rErK�113force_name�
explicit_namerr��_rxr}r~rrFrz�fquals                 rr�"Parser._get_struct_union_enum_type�s���	��(�(��.�.���	��	���114��y�y���<��%� %�115� 2�
��'�'�1�,�'� %��(?�(?� ?�
��B� �M�!�4�(�C��&�&�*�*�3��=�E�B�
�:��x���%�%�m�T�4��F������_�_�]�D�$��E����� �O�3�#�$G�H�H��*�*�=�+�+�F��$�D�%:�;�;����
�
�c�2�&���v�~�$�+�+�"9�)�<�>K�L�M�M��|�|����j�)�
�<�<�C�2�7�7�N��M�M�.�2�<�<�7��<�&(���d�#��6�>��I�116�:�:���I�
�;�;�"��@�4�G�H�H������117����J�J�D��4�9�9�i�o�o�&D�&D�E�E��G�G�D�I�I�O�O�,��?��"�"�2�.���|�|�#����.�.�t�|�|�<��#(�D� ��2�2�4�9�9�EI�3�K�K�D�%��#�#��"�"�2�.��$�� 0� 0�1�1�d�l�l��"�"�2�.��O�O�D�I�I�O��,��O�O�D�!����g�&��O�O�E�"�-�.�H�o����H�o����j�)��
��H�o����"���J��/�/��"�e�.�.�/�/�B�J�J�)�-/�+2�3�3��M�M�%�%�h�/��	�
�<�<��B�L����#�#�B�'��	s��118�c���[U[R5(d[U<S35eUR	5(dU(d[U<S35eSUlg)Nz cannot be partialz is partial but has no C nameT)r�r�
StructOrUnionr�119has_c_namer7r|)r�rrKs   rry�Parser._make_partialhsE���"�e�1�1�2�2��b�:�;�;��}�}���v�%�"�&N�O�O���120rc�^�[U[RR5(a�URnSUSs=::aS::aCO O@URS5nUR
S5(a[US5$[US5$USS
:Xa>USS
:Xa5[U5S:Xd[U5S:XaUSS:Xa[US5$[SU<35e[U[RR5(a+URS:XaURUR 5$[U[RR5(a,URS:XaURUR 5*$[U[RR"5(a3UR$UR&;aUR&UR$$[U[RR"5(aAUR$S:Xa1U(aSUlg[+SUR,R.-5e[U[RR05(GaURUR25nURUR45nURS:XaXE-$URS:XaXE-121$URS:XaXE-$URS:XaUR7XE5$URS:XaX@R7XE5U--122$URS:XaXE-$URS:XaXE-	$URS:XaXE-$URS:XaXE-$URS :XaXE-$[+S!UR,R.-5e![a\ [U5S:�aJUR5SSS	:Xa[US1235s$UR5SSS:Xa[US5s$Of=f[SU<35e)"Nr�r	�9�uUlLr�r�rr$r���0bzinvalid constant r%r�r124��\������+r��__dotdotdotarray__TrbzT:%d: unsupported '[...]' here, cannot derive the actual array length in this contextr�/�%z<<z>>�&�|�^z?:%d: unsupported expression: expected a simple numeric constant)r�rr��Constantr�r�r$rVr�r%r�r�ordrrrNrr'rEr�r{rrQrA�BinaryOp�left�right�_c_div)r�r(r�rWr�r�s      rrN�Parser._parse_constantos}���h�	��� 8� 8�9�9����A��a��d�!�c�!��H�H�V�$��125-��|�|�C�(�(�"�1�a�y�(�"�1�b�z�)��1�����2��#����F�a�K�C��F�a�K�A�a�D�D�L��1�R�5�z�!��� <�=�=��x����!8�!8�9�9����s�"��'�'��
�
�6�6��x����!8�!8�9�9����s�"��(�(����7�7�7��x����!3�!3�4�4��
�
��!4�!4�4��&�&�x�}�}�5�5��x����!3�!3�4�4��M�M�%9�9� �'+��$���E�%�^�^�0�0�1�2�
2��h�	��� 8� 8�9�9��'�'��
�
�6�D��(�(����8�E��{�{�c�!��|�#�����#��|�#�����#��|�#�����#��{�{�4�/�/�����#��k�k�$�6��>�>�>�����$��}�$�����$��}�$�����#��|�#�����#��|�#�����#��|�#��1�3;�>�>�3F�3F�G�H�	H��u"�-��1�v��z��7�7�9�Q�q�>�T�1�#&�q�"�:�-��W�W�Y�q��^�t�3�#&�q�!�9�,��-�� �� <�=�=s�!N7�=N7�7<P�5#P�Pc�H�X-nUS:US:-(a
X-S:waUS-
nU$)Nr	rr)r��a�brjs    rr��
Parser._c_div�s/�����
��U�q�1�u��A�E�a�<��a�K�F��
rc��Ub�Sn/n/nSnURH�n[RUR5(aSnM+URbURUR5nUR
UR5 UR
U5 URURU5 US-
nM� [U5n[U5n[R"XU5nX8lU$[R"USS5nU$)NFr	Trr)�enumerators�_r_enum_dotdotdotr)rEr�rNr r�rer�EnumTyper|)	r�r�rwr|r��126enumvalues�
nextenumvaluer	rs	         rrt�Parser._build_enum_type�s������G��K��J��M��)�)��$�*�*�4�9�9�5�5�"�G���:�:�)�$(�$8�$8����$D�M��"�"�4�9�9�-��!�!�-�0��#�#�D�I�I�}�=���"�
�*� ��,�K��z�*�J����
�J�G�B� �J��	����
�r�2�6�B��	rc�D�URR5HNunup4URS5(aM URSS5SnUS;dM=UR	X#SUS9 MP UR127R5HupgUR
Xg5 M g)Nzanonymous $enum_$r\rr	)rrr	�	anonymousr}T)r-r�)r�r�r$r+r�r�r�)r��otherrErr�r��k�vs        r�include�Parser.include�s���!&�!4�!4�!:�!:�!<��D�+�2����2�3�3���:�:�c�1�%�a�(�D��J�J��
�
�d��U�
�C�"=��(�(�.�.�0�D�A�����%�1rc���URRRnUS/:Xa [R"UR5$US/:XaAUR128cSUR-Ul[R"UR5$US/:XaAUR129cSUR-Ul[R"UR5$[SURR-5e)Nr��__dotdotdotint__z'typedef int... %s'�__dotdotdotfloat__z'typedef float... %s'�*:%d: unsupported usage of "..." in typedef)r�r�r�unknown_typerEr��UnknownIntegerType�UnknownFloatTyperrQrA)r�rFr�s   rr��Parser._get_unknown_type�s����I�I�N�N�(�(�	���)�)��%�%�d�i�i�0�0��+�,�,��%�%�-�)>����)J��&��+�+�D�I�I�6�6��-�.�.��%�%�-�)@�4�9�9�)L��&��)�)�$�)�)�4�4��C������)�*�	*rc���URRRRS/:Xa [R"UR5$[SURR-5e)Nr�r�)r�r�r�unknown_ptr_typerErrQrA)r�rFs  rr��Parser._get_unknown_ptr_type�sV���9�9�>�>���$�$��(9�9��)�)�$�)�)�4�4��C������)�*�	*r)130r�r�r�r�r�r�r{r�r�r�)FFNF)Fr	r)NFN)NF)F) r��131__module__�__qualname__�__firstlineno__r�r�r�r�r�r�r�r�r�rr�r!rr�r8rr�rRrdrryrNr�rtr�r�r��__static_attributes__rrrr�r�'s���&�%$�N��AE�#�)�0=�~'�
0�.�"132+�1P�f3�7�1�133�.�JO�,0�g%�R!I�F�t�l�GH�R��0&�*�&*rr�)4rr�commontypesrr�errorrrrr�ImportErrorr�r��sys�version_info�thread�_thread�
allocate_lockr�rr��compile�DOTALL�	MULTILINErcrdrOrnr�rlr�r�134IGNORECASEr�rjrirkr5rrqrrrr/r9rBrGrQrYrzr��objectr�rrr�<module>r�s����:�&��)����135���$�� ��� � �"�D��,��
�Z�Z�7��	�	�B�L�L�0�2�136�
�Z�Z�2��	�	�B�L�L�0�2�	��J�J�A�2�<�<�P���*�*�=�>���J�J�3�4���:�:�1�2��
�:�:�i� ���
����4�b�m�m�D���j�j�2�3���j�j�6�7��
�:�:�n�%���:�:�O�P���j�j�.�0���:�:�(�)���Z�Z� <�=���(�T0�d137�;�$�3�@�D%�PP*�V�P*��C	��������D��s"�G�*G(�138G%�$G%�(G4�3G4
codekingpro/portable-devtools · Team Ai