� E�g���F�UddlZddlZddlmZmZmZmZmZmZm Z ddl m Z m Z dZ ddlZeejd��Zn#e$rdZdZYnwxYwejejzZejejzZGd�d e ��ZGd �d e ��Zee eefZereneZeed <dS) �N)�Any�Dict�List�Optional�Tuple�Type�Union�)�AbstractResolver� ResolveResult)�ThreadedResolver� AsyncResolver�DefaultResolver� getaddrinfoFc ��eZdZdZd deejddfd�Zdej fde de d ej de efd �Zd d �ZdS)r z�Threaded resolver. Uses an Executor for synchronous getaddrinfo() calls. concurrent.futures.ThreadPoolExecutor is used by default. N�loop�returnc�:�|ptj��|_dS�N)�asyncio�get_running_loop�_loop)�selfrs �`/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/aiohttp/resolver.py�__init__zThreadedResolver.__init__s���7�W�5�7�7�� � � �r�host�port�familyc ��K�|j�||tj|tj����d{V��}g}|D]�\}}}}}|tjkrct |��dkr�,|dr9|j�|t���d{V��\} } t| ��}n%|dd�\} }n|tj ksJ�|\} }|� t|| |||t�������|S)N)�typer�flags����hostnamerrr�protor")rr�socket� SOCK_STREAM� AI_ADDRCONFIG�AF_INET6�len� getnameinfo�_NAME_SOCKET_FLAGS�int�AF_INET�appendr �_NUMERIC_SOCKET_FLAGS) rrrr�infos�hosts�_r'�address� resolved_host�_ports r�resolvezThreadedResolver.resolve!so�����j�,�,� � ��#���&� -� � � � � � � � ��&(��,1� � � (�F�A�u�a�����(�(��w�<�<�!�#�#���1�:� 6�26��1G�1G��!3�2�2�,�,�,�,�,�,�(�M�5��u�:�:�D�D�*1�"�1�"�+�'�M�4�4����/�/�/�/�&-�#� �t� �L�L��!�&��!��/� ��� � � � �� rc�� K�dSr��rs r�closezThreadedResolver.closeMs ���� �rr�rN)�__name__� __module__� __qualname__�__doc__rr�AbstractEventLooprr(r0�strr/� AddressFamilyrr r9r=r;rrr r s��������� 8�8�X�g�&?�@�8�D�8�8�8�8�&'�v�~�*�*��*�"�*�06�0D�*� �m� �*�*�*�*�X � � � � � rr c ���eZdZdZ ddeejdededdfd�Zde j fd e d e d e j deefd �Zde j fd e d e d e deee effd �Zdd�ZdS)rz9Use the `aiodns` package to make asynchronous DNS lookupsNr�args�kwargsrc��t�td���tj|i|��|_t |jd��s|j|_dSdS)Nz Resolver requires aiodns library� gethostbyname)�aiodns� RuntimeError� DNSResolver� _resolver�hasattr�_resolve_with_queryr9)rrrGrHs rrzAsyncResolver.__init__Ts[�� �>��A�B�B� B��+�T�<�V�<�<����t�~��7�7� 4��3�D�L�L�L� 4� 4rrrrrc ��K� |j�||tj|tj����d{V��}nT#t jj$r=}t|j ��dkr |j dnd}td|��|�d}~wwxYwg}|j D�]}|j } |j }|tjkr�t| ��dkr[| drS|j�| d�d��g| dd��Rt"���d{V��} | j} nY| d�d��} | d}n5|tjksJ�| d�d��} | d}|�t+|| ||dt,�������|stdd���|S)N)rr!rr"r �DNS lookup failedr#r�asciir%)rNrr(r)r*rK�error�DNSErrorr,rG�OSError�nodes�addrrr+r-�decoder.�noder0r1r r2) rrrr�resp�exc�msgr4rZr6�resultr7s rr9zAsyncResolver.resolvecs$���� .���3�3����'���*� 4���������D�D���|�$� .� .� .�!$�S�X���!�!3�!3�#�(�1�+�+�9L�C��$��$�$�#� -����� .����&(���J� � �D�MQ�Y�G��[�F����(�(��w�<�<�!�#�#��� �#�$(�>�#=�#=� ���*�*�7�3�3�B�g�a�b�b�k�B�B�*�$�$�������F�%+�K�M�M�$+�A�J�$5�$5�g�$>�$>�M�"�1�:�D�D����/�/�/�/� '�� � 1� 1�'� :� :� ��q�z�� �L�L��!�&��!��/� ��� � � � �� 5��$� 3�4�4� 4�� s�9>�B�8B � Bc ��K�|tjkrd}nd} |j�||���d{V��}nT#tjj$r=}t|j��dkr |jdnd}td|��|�d}~wwxYwg}|D]-} |� || j ||dtj d����.|stdd���|S)N�AAAA�Ar rRrr%) r(r+rN�queryrKrTrUr,rGrVr1r�AI_NUMERICHOST) rrrr�qtyper[r\r]r4�rrs rrPz!AsyncResolver._resolve_with_query�s���� �V�_� $� $��E�E��E� .���-�-�d�E�:�:�:�:�:�:�:�:�D�D���|�$� .� .� .�!$�S�X���!�!3�!3�#�(�1�+�+�9L�C��$��$�$�#� -����� .������� � �B� �L�L� $��G� �$��#�2� �� � � � �� 5��$� 3�4�4� 4�� s�!;�B �8B�B c��<K�|j���dSr)rN�cancelr<s rr=zAsyncResolver.close�s ���� ��������rrr>)r?r@rArBrrrCrrr(r0rDr/rErr r9rrPr=r;rrrrQs������C�C�59� 4� 4��w�0�1� 4�� 4�� 4� � 4� 4� 4� 4� &'�v�~�1�1��1�"�1�06�0D�1� �m� �1�1�1�1�h&'�f�n�����"��03�� �d�3��8�n� �����@ � � � � � rrr)rr(�typingrrrrrrr �abcr r �__all__rKrOrM�aiodns_default� ImportErrorrc�AI_NUMERICSERVr2�NI_NUMERICHOST�NI_NUMERICSERVr.r r� _DefaultTyper�__annotations__r;rr�<module>rrst������� � � � �@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�0�0�0�0�0�0�0�0� B����M�M�M��W�V�/��?�?�N�N������ �F��N�N�N����� �-��0E�E���*�V�-B�B��7 �7 �7 �7 �7 �'�7 �7 �7 �tf �f �f �f �f �$�f �f �f �R�E�-�)9�9�:�;� �1?� U� � �EU���U�U�U�U�Us�=� A �A 
Memory