� ���gi����ddlmZddlZddlmZddlmZddlmZddl m Z  dZ ddl Z n#e $r d Z ddlZYnwxYwejd ��Zdd�Zdd�Zdd�Zd d�Zd!d�Zd"d�ZdS)#�)� annotationsN)�unescape)�Any)�unquote�)�DuckDuckGoSearchExceptionTFz<.*?>�objr�return�strc�� tr2tj|tj������nt j|dd���S#t $r,}tt|��j �d|����|�d}~wwxYw)N)�optionF�)� ensure_ascii�indent�: ) � HAS_ORJSON�orjson�dumps� OPT_INDENT_2�decode�json� Exceptionr�type�__name__�r �exs �g/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/duckduckgo_search/utils.py� json_dumpsrs���N�� ?�F�L��V�%8� 9� 9� 9� @� @� B� B� B���C�e�A�>�>�>� �� �N�N�N�'�4��8�8�+<�(D�(D��(D�(D�E�E�2�M�����N���s�AA� B�'B�B� str | bytesc��� trtj|��ntj|��S#t$r,}t t |��j�d|����|�d}~wwxYw)Nr)rr�loadsrrrrrrs r� json_loadsr"st��N�$.�C�v�|�C� � � �D�J�s�O�O�C�� �N�N�N�'�4��8�8�+<�(D�(D��(D�(D�E�E�2�M�����N���s�.1� A'�'A"�"A'� html_bytes�bytes�keywordsc���dD]b\}}} |�|��|z}|�||��}|||����cS#t$rY�_wxYwtd|�d����)zExtract vqd from html bytes.))svqd="��")svqd=��&)svqd='r'�'z_extract_vqd() keywords=z Could not extract vqd.)�indexr� ValueErrorr)r#r%�c1�c1_len�c2�start�ends r� _extract_vqdr3&s���� � ���F�B�  ��$�$�R�(�(�6�1�E��"�"�2�u�-�-�C��e�C�i�(�/�/�1�1� 1� 1� 1��� � � � �D� ���� #�$X�h�$X�$X�$X� Y� Y�Ys�A A� A#�"A#�raw_htmlc�Z�|r(tt�d|����ndS)z)Strip HTML tags from the raw_html string.�)r�REGEX_STRIP_TAGS�sub)r4s r� _normalizer96s+��;C� K�8�$�(�(��X�6�6� 7� 7� 7��K��urlc�P�|r#t|���dd��ndS)z(Unquote URL and replace spaces with '+'.� �+r6)r�replace)r;s r�_normalize_urlr@;s(��-0� 8�7�3�<�<� � ��S� )� )� )�b�8r:�proxy� str | Nonec��|dkrdn|S)z.Expand "tb" to a full proxy URL if applicable.�tbzsocks5://127.0.0.1:9150�)rAs r�_expand_proxy_tb_aliasrF@s��(-�� � � $� $�5�@r:)r rr r )r rr r)r#r$r%r r r )r4r r r )r;r r r )rArBr rB)� __future__r�re�htmlr�typingr� urllib.parser� exceptionsrrr� ImportErrorr�compiler7rr"r3r9r@rFrEr:r�<module>rOsV��"�"�"�"�"�"� � � � ������������� � � � � � �1�1�1�1�1�1���J��M�M�M�M�������J��K�K�K�K�K������2�:�g�&�&��N�N�N�N�N�N�N�N� Z� Z� Z� Z� L�L�L�L� 9�9�9�9� A�A�A�A�A�As �+� 9�9
Memory