� g\�g���,�dZddlmZddlZddlmZmZmZddlm Z ddl m Z dZ ej die j��Gd �d ����Zej die j��Gd �d ����Zej die j��Gd �d����ZdS)z!Support for alias configurations.�)� annotationsN)�Any�Callable�Literal)�PydanticUndefined�)�_internal_dataclass)�AliasGenerator� AliasPath� AliasChoicesc�6�eZdZUdZded<dd �Zdd �Zdd�ZdS)r z�Usage docs: https://docs.pydantic.dev/2.10/concepts/alias#aliaspath-and-aliaschoices A data class used by `validation_alias` as a convenience to create aliases. Attributes: path: A list of string or integer aliases. zlist[int | str]�path� first_arg�str�args� str | int�return�Nonec�6�|gt|��z|_dS�N)�listr)�selfrrs �`/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/pydantic/aliases.py�__init__zAliasPath.__init__s���K�$�t�*�*�,�� � � ��list[str | int]c��|jS)zvConverts arguments to a list of string or integer aliases. Returns: The list of aliases. )r)rs r�convert_to_aliaseszAliasPath.convert_to_aliasess �� �y�r�d�dictrc��|}|jD]O}t|t��r tcS ||}�*#tt t f$r tcYcSwxYw|S)z�Searches a dictionary for the path specified by the alias. Returns: The value at the specified path, or `PydanticUndefined` if the path is not found. )r� isinstancerr�KeyError� IndexError� TypeError)rr�v�ks r�search_dict_for_pathzAliasPath.search_dict_for_path&s��� ���� )� )�A��!�S�!�!� )�(�(�(�(� )��a�D�����j�)�4� )� )� )�(�(�(�(�(�(� )�����s�4�A�AN)rrrrrr)rr)rr rr)�__name__� __module__� __qualname__�__doc__�__annotations__rrr(�rrr r sj�������������-�-�-�-����������rr c�.�eZdZUdZded<d d�Zd d �Zd S)r z�Usage docs: https://docs.pydantic.dev/2.10/concepts/alias#aliaspath-and-aliaschoices A data class used by `validation_alias` as a convenience to create aliases. Attributes: choices: A list containing a string or `AliasPath`. zlist[str | AliasPath]�choices� first_choice�str | AliasPathrrc�6�|gt|��z|_dSr)rr0)rr1r0s rrzAliasChoices.__init__Ds��$�~��W� � �5�� � � r�list[list[str | int]]c���g}|jD]U}t|t��r(|�|������?|�|g���V|S)z�Converts arguments to a list of lists containing string or integer aliases. Returns: The list of aliases. )r0r"r �appendr)r�aliases�cs rrzAliasChoices.convert_to_aliasesGsi�� *,���� $� $�A��!�Y�'�'� $����q�3�3�5�5�6�6�6�6�����s�#�#�#�#��rN)r1r2r0r2rr)rr4)r)r*r+r,r-rrr.rrr r 8sV���������#�"�"�"�6�6�6�6� � � � � � rr c�N�eZdZUdZdZded<dZded<dZded<dd�Zdd�Z dS)r a�Usage docs: https://docs.pydantic.dev/2.10/concepts/alias#using-an-aliasgenerator A data class used by `alias_generator` as a convenience to create various aliases. Attributes: alias: A callable that takes a field name and returns an alias for it. validation_alias: A callable that takes a field name and returns a validation alias for it. serialization_alias: A callable that takes a field name and returns a serialization alias for it. NzCallable[[str], str] | None�aliasz6Callable[[str], str | AliasPath | AliasChoices] | None�validation_alias�serialization_alias� alias_kind�;Literal['alias', 'validation_alias', 'serialization_alias']� allowed_types�<tuple[type[str] | type[AliasPath] | type[AliasChoices], ...]� field_namerr�%str | AliasPath | AliasChoices | Nonec ��d}t||��x}r6||��}|r)t||��std|�d|�d|�d����|S)z�Generate an alias of the specified kind. Returns None if the alias generator is None. Raises: TypeError: If the alias generator produces an invalid type. Nz Invalid `z ` type. `z!` generator must produce one of `�`)�getattrr"r%)rr=r?rAr:�alias_generators r�_generate_aliaszAliasGenerator._generate_aliasfs�����%�d�J�7�7� 7�?� �#�O�J�/�/�E�� �Z��}�=�=� ��r� �r�r�Z�r�r�bo�r�r�r����� r�Dtuple[str | None, str | AliasPath | AliasChoices | None, str | None]c���|�dtf|��}|�dtttf|��}|�dtf|��}|||fS)z�Generate `alias`, `validation_alias`, and `serialization_alias` for a field. Returns: A tuple of three aliases - validation, alias, and serialization. r:r;r<)rGrr r )rrAr:r;r<s r�generate_aliaseszAliasGenerator.generate_aliaseszsj�� �$�$�W�s�f�j�A�A���/�/�0B�S�,�Xa�Db�dn�o�o��"�2�2�3H�3�&�R\�]�]���&�(;�;�;r)r=r>r?r@rArrrB)rArrrH) r)r*r+r,r:r-r;r<rGrJr.rrr r Vs���������*.�E�-�-�-�-�OS��S�S�S�S�7;��;�;�;�;�����( <� <� <� <� <� <rr r.)r,� __future__r� dataclasses�typingrrr� pydantic_corer� _internalr �__all__� dataclass� slots_truer r r r.rr�<module>rSs_��'�'�"�"�"�"�"�"�����)�)�)�)�)�)�)�)�)�)�+�+�+�+�+�+�*�*�*�*�*�*� 9�����8�8�,�7�8�8�%�%�%�%�%�%�%�9�8�%�P���8�8�,�7�8�8��������9�8��:���8�8�,�7�8�8�-<�-<�-<�-<�-<�-<�-<�9�8�-<�-<�-<r
Memory