� L�g�1� ��ddlZddlZddlmZddlmZddlmZddddd d d d d ddd d � Zd ddddddd�Z d�Z Gd�de ��Z Gd�de ���Z dS)�N)� exceptions)� string_type)� get_methods�boolean�array�object�null�string�number�expref) �bool�list�dict�NoneType�unicode�str�float�int�long� OrderedDict� _Projection� _Expression)r )rr)rr)r)rr)rrr)r)rrrr r r r c����fd�}|S)Nc����|_|S�N)� signature)�func� argumentss ��b/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/jmespath/functions.py�_record_signaturez$signature.<locals>._record_signature's���"���� ��)rr s` rrr&s$�������� �r!c�$��eZdZ�fd�Zd�Z�xZS)�FunctionRegistryc���|���tt|���|||��dSr)�_populate_function_table�superr$�__init__)�cls�name�bases�attrs� __class__s �rr(zFunctionRegistry.__init__.s>��� �$�$�&�&�&� ���$�$�-�-�d�E�5�A�A�A�A�Ar!c��i}t|��D]>\}}|�d��s�t|dd��}|�||d�||dd�<�?||_dS)N�_func_r)�functionr�)r� startswith�getattr�FUNCTION_TABLE)r)�function_tabler*�methodrs rr&z)FunctionRegistry._populate_function_table2s�����(��,�,� � �L�D�&��?�?�8�,�,� ���� �T�:�:�I��$� &�!*�,�,��t�A�B�B�x�(��,����r!)�__name__� __module__� __qualname__r(r&� __classcell__)r-s@rr$r$-sL�������B�B�B�B�B�,�,�,�,�,�,�,r!r$c�2�eZdZiZd�Zd�Zd�Zd�Zd�Zd�Z e ddgi��d ���Z e dd gi��d ���Z e gd d ���d���Z e dgi��d���Ze dgi��d���Ze dgi��d���Ze dddgidgi��d���Ze dgd�i��d���Ze ddgiddgi��d���Ze ddgiddgi��d���Ze dddgi��d���Ze ddgi��d���Ze ddgi��d���Ze ddgiddgi��d���Ze ddgiddgi��d���Ze dd dgi��d ���Ze d!gd d ���d"���Ze dd dgi��d#���Ze ddd gi��d$���Ze dd gi��d%���Ze dd!gi��d&���Ze dd!gi��d'���Z e dgi��d(���Z!e ddgiddgi��d)���Z"e ddgiddgi��d*���Z#e ddgiddgi��d+���Z$d,�Z%d-�Z&d.S)/� Functionsc��� |j|}n%#t$rtjd|z���wxYw|d}|d}|�|||��||g|�R�S)NzUnknown function: %s()r0r)r4�KeyErrorr�UnknownFunctionError�_validate_arguments)�self� function_name� resolved_args�specr0rs r� call_functionzFunctions.call_functionHs��� :��&�}�5�D�D��� :� :� :��1�(�=�8�:�:� :� :����� �#����%� � � � �� �=�I�I�I��x��-�}�-�-�-�-s� �"2c��|rl|d�d��rQt|��t|��kr0tjt|��t|��|���nPt|��t|��kr0tjt|��t|��|���|�|||��S)N������variadic)�get�lenr�VariadictArityError� ArityError� _type_check)rA�argsrrBs rr@zFunctions._validate_argumentsSs��� � :��2��*�*�:�6�6� :��4�y�y�3�y�>�>�)�)� �4�� �N�N�C��I�I�}�>�>�>�*���Y�Y�#�i�.�.� (� (��'��I����D� � �=�:�:� :�����i��?�?�?r!c��tt|����D]/}||d}|r|�||||���0dS)N�types)�rangerJ�_type_check_single)rA�actualrrB�i� allowed_typess rrMzFunctions._type_check]sc���s�9�~�~�&�&� 7� 7�A�%�a�L��1�M�� 7��'�'��q� �=�(5�7�7�7�� 7� 7r!c���|�|��\}}t|��j}||vr*tj|||�|��|���|r|�||||��dSdSr)�_get_allowed_pytypes�typer7r�JMESPathTypeError�_convert_to_jmespath_type�_subtype_check)rA�currentrPrBrU�allowed_subtypes�actual_typenames rrRzFunctions._type_check_singleds���+/�*C�*C�E�*J�*J�'� �'� �w�-�-�0�� �-� /� /��.��w��.�.��?�?��H�H� H� � 6� � � ��)9� %�}� 6� 6� 6� 6� 6� 6� 6r!c� �g}g}|D]y}|�dd��}t|��dkr&|\}}|�t|��n|d}|�t|���z||fS)N�-��r)�splitrJ�append�REVERSE_TYPES_MAP�extend)rArPrUr]�t�type_�subtypes rrWzFunctions._get_allowed_pytypes{s���� ���� ;� ;�A��G�G�C��O�O�E��5�z�z�Q���!&���w� �'�'�(9�'�(B�C�C�C�C��a��� � � �!2�5�!9� :� :� :� :��.�.�.r!c���t|��dkr>|d}|D]1}t|��j}||vrtj||||����2dSt|��dkrz|rzt|d��j}|D] }||vr|} n� tj||d||���|D]5}t|��j}|| vrtj||||����2dSdSdS)Nrar)rJrXr7rrY) rAr\r]rPrB�elementr^�first�subtypes�alloweds rr[zFunctions._subtype_check�sh�� �� � �A� %� %� 0��2� �"� H� H��"&�w�-�-�"8��"�*:�:�:�$�6�%�w���H�H�H�;� H� H� �!� "� "�Q� &� &�7� &�����$�$�-�E�,� =� =���H�$�$�&�G��E�%�!�2�!�7�1�:�u�e�=�=�=�"� H� H��"&�w�-�-�"8��"�'�1�1�$�6�%�w���H�H�H�2�'� &� &� &� H� Hr!rPr c� �t|��Sr)�abs�rA�args r� _func_abszFunctions._func_abs�� ���3�x�x�r!z array-numberc�b�|r,t|��tt|����z SdSr)�sumrrJrqs r� _func_avgzFunctions._func_avg�s,�� � ��s�8�8�e�C��H�H�o�o�-� -��4r!T)rPrHc��|D]}|�|cS� dSrr")rAr�arguments r�_func_not_nullzFunctions._func_not_null�s/��!� � �H��#�����$� � r!c�6�t|t��r|S|gSr)� isinstancerrqs r�_func_to_arrayzFunctions._func_to_array�s �� �c�4� � � ��J��5�Lr!c�h�t|t��r|Stj|dt���S)N)�,�:)� separators�default)r|� STRING_TYPE�json�dumpsrrqs r�_func_to_stringzFunctions._func_to_string�s9�� �c�;� '� '� +��J��:�c�j�&)�+�+�+� +r!c��t|tttf��rdS|�dSt|tt f��r|S t |��S#t $r% t |��cYS#t $rYYdSwxYwwxYwr)r|rrr rr� ValueErrorrqs r�_func_to_numberzFunctions._func_to_number�s��� �c�D�$��-� .� .� ��4� �[��4� ��c�5�\� *� *� ��J� ��3�x�x���� � � � � ��:�:�%�%�%��!� � � ��4�4�4� ���� ���s0�A� B�"A3�0B�3 B�=B�B�Brr c� �||vSrr")rA�subject�searchs r�_func_containszFunctions._func_contains�s ���� � r!)r rrc� �t|��Sr)rJrqs r� _func_lengthzFunctions._func_length�rtr!c�,�|�|��Sr)�endswith�rAr��suffixs r�_func_ends_withzFunctions._func_ends_with�s�����v�&�&�&r!c�,�|�|��Sr)r2r�s r�_func_starts_withzFunctions._func_starts_with�s��� � ��(�(�(r!c�z�t|t��r |ddd�Stt|����S)NrG)r|r�r�reversedrqs r� _func_reversezFunctions._func_reverse�s8�� �c�;� '� '� '��t�t��t�9� ���� � �&�&� &r!c�*�tj|��Sr)�math�ceilrqs r� _func_ceilzFunctions._func_ceil�s���y��~�~�r!c�*�tj|��Sr)r��floorrqs r� _func_floorzFunctions._func_floor�s���z�#���r!z array-stringc�,�|�|��Sr)�join)rA� separatorrs r� _func_joinzFunctions._func_join�s���~�~�e�$�$�$r!r c�p�g}|D]0}|�|�|j|�����1|Sr)rd�visit� expression)rAr rr�resultrks r� _func_mapzFunctions._func_map�sC����� D� D�G� �M�M�&�,�,�v�'8�'�B�B� C� C� C� C�� r!c�(�|rt|��SdSr)�maxrqs r� _func_maxzFunctions._func_max���� � ��s�8�8�O��4r!rc�>�i}|D]}|�|���|Sr)�update)rAr�mergedrrs r� _func_mergezFunctions._func_merges0����� � �C� �M�M�#� � � � �� r!c�(�|rt|��SdSr)�minrqs r� _func_minzFunctions._func_min r�r!c�:�tt|����Sr)r�sortedrqs r� _func_sortzFunctions._func_sorts���F�3�K�K� � � r!c� �t|��Sr)rvrqs r� _func_sumzFunctions._func_sumrtr!c�D�t|�����Sr)r�keysrqs r� _func_keyszFunctions._func_keyss���C�H�H�J�J���r!c�D�t|�����Sr)r�valuesrqs r� _func_valueszFunctions._func_values"s���C�J�J�L�L�!�!�!r!c��t|t��rdSt|t��rdSt|t��rdSt|t��rdSt|t t f��rdS|�dSdS)Nr rrrr r )r|r�r rrrrrqs r� _func_typezFunctions._func_type&s��� �c�;� '� '� ��8� ��T� "� "� ��9� ��T� "� "� ��7� ��T� "� "� ��8� ��e�S�\� *� *� ��8� �[��6��[r!c �H�|s|S|�t|�|j|d����j��}|dvrt jd|d|ddg���|�||gd��}tt||�����S)Nr)r r �sort_byr r ��key) rZrXr�r�r7rrY�_create_key_funcrr�)rArr � required_type�keyfuncs r� _func_sort_byzFunctions._func_sort_by5s���� ��L��6�6� ����f�/��q��:�:� ;� ;� D�F�F� � � 4� 4� 4��.��5��8�]�X�x�4H�J�J� J��'�'��)6��(1�3�3���F�5�g�.�.�.�/�/�/r!c�^�|�|ddgd��}|rt||���SdS)Nr r �min_byr�)r�r��rArr r�s r� _func_min_byzFunctions._func_min_byI�F���'�'��)1�8�(<�(0�2�2�� � ��u�'�*�*�*� *��4r!c�^�|�|ddgd��}|rt||���SdS)Nr r �max_byr�)r�r�r�s r� _func_max_byzFunctions._func_max_bySr�r!c����������fd�}|S)Nc�������j|��}t|��j}��|��}|�vrt j�||����|Sr)r�r�rXr7rZrrY)�xr�r^� jmespath_typerUr rBrAs ����rr�z+Functions._create_key_func.<locals>.keyfunc^sk����\�\�&�"3�Q�7�7�F�"�6�l�l�3�O� �:�:�?�K�K�M��M�1�1� �2�!�6�=�-�I�I�I��Mr!r")rAr rUrBr�s```` rr�zFunctions._create_key_func]s5������ � � � � � � � ��r!c�8�t�|d��S)N�unknown)� TYPES_MAPrI)rA�pyobjects rrZz#Functions._convert_to_jmespath_typeis���}�}�X�y�1�1�1r!N)'r7r8r9r4rEr@rMrRrWr[rrsrwrzr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rZr"r!rr<r<Cs��������N� .� .� .�@�@�@�7�7�7�6�6�6�. /� /� /�H�H�H�8�Y��(��$�%�%���&�%���Y��.�)�*�+�+���,�+�� �Y���.�.�/�/� � �0�/� � �Y���}�������� �Y���}���+�+���+��Y���}��� � ��� � �Y��'�8�,�-���}�=�=�!�!�>�=�!��Y��6�6�6�7�8�8���9�8���Y��(��$�w�� �&;�<�<�'�'�=�<�'��Y��(��$�w�� �&;�<�<�)�)�=�<�)��Y��'�8�,�-�.�.�'�'�/�.�'� �Y��(��$�%�%���&�%���Y��(��$�%�%���&�%���Y��(��$�w��0@�&A�B�B�%�%�C�B�%��Y��(��$�w�� �&:�;�;���<�;�� �Y��.�.�9�:�;�;���<�;�� �Y�(���6�6�7�7���8�7�� �Y��.�.�9�:�;�;���<�;�� �Y��.�.�9�:�;�;�!�!�<�;�!��Y��.�)�*�+�+���,�+���Y��(��$�%�%� � �&�%� � �Y��(��$�%�%�"�"�&�%�"��Y���}��� � ��� ��Y��'��#�g��z�%:�;�;�0�0�<�;�0�&�Y��'��#�g��z�%:�;�;���<�;���Y��'��#�g��z�%:�;�;���<�;�� � � �2�2�2�2�2r!r<)� metaclass)r�r��jmespathr�jmespath.compatrr�rr�rerrXr$r<r"r!r�<module>r�s!�� � � � � � � � �������6�6�6�6�6�6�'�'�'�'�'�'� � � ��� � � � ���� � � �$� $�&� � �&��������,�,�,�,�,�t�,�,�,�,g2�g2�g2�g2�g2�*�g2�g2�g2�g2�g2�g2r!
Memory