� K�g�Z����UddlZddlZddlZddlmZmZmZmZm Z m Z m Z m Z m Z mZddlmZddlmZmZmZmZmZmZmZmZddlmZddlmZddlmZm Z m!Z!ddl"m#Z#dd l$m%Z%m&Z&m'Z'dd l(m)Z)dd l*m+Z+m,Z,dd l-m.Z.dd l/m0Z0ddl1m2Z2m3Z3m4Z4ddl5m6Z6ddl7m8Z8ddl9m:Z:ddl;m<Z<dddddddiddigid�ddd�ddd�d�gd�d �Z=d!dd"d#dd$e&dzid�id%�Z>d&d'd(d)d*d+d,�Z?ee@e@feAd-<d.ed/e ee@efeee@efffd0�ZBd1d2�d3ed4ed5e0d6ee ee<d7fefd8eCd/eee@eff d9�ZDd1d2�d:eed4ed5e0d6ee ee<d7fefd8eCd/eee@eff d;�ZEd<ejFd=e@d/e@fd>�ZGd<ejFd=e@d/e@fd?�ZHd<ejFd=e@d@e e@d/ee@effdA�ZId1d2�d<ejFd@e e@d4ed5e0d6ee ee<d7fefd8eCd/e ee@efee@efee@efffdB�ZJdCe e8d/eefdD�ZKdEddddddddd1dF� dGe@dHe@dIe@dJee@dKee@dCe e8dLee e8dMeeee@efdNeeee@e e@effdOee@dPeee@e e@effdQeee@e e@effd8eCd/ee@effdR�ZLdS)S�N) �Any�Dict�List�Optional�Sequence�Set�Tuple�Type�Union�cast)�routing)�GenerateJsonSchema�JsonSchemaValue� ModelField� Undefined�get_compat_model_name_map�get_definitions�get_schema_from_model_field�lenient_issubclass)�DefaultPlaceholder)� Dependant)�_get_flat_fields_from_params�get_flat_dependant�get_flat_params)�jsonable_encoder)�METHODS_WITH_BODY� REF_PREFIX� REF_TEMPLATE)�OpenAPI)�Body� ParamTypes)�Response)� ModelNameMap)�deep_dict_update�generate_operation_id_for_path�is_body_allowed_for_status_code)� JSONResponse)� BaseRoute)�HTTP_422_UNPROCESSABLE_ENTITY)�Literal�ValidationError�object�Location�array�anyOf�type�string�integer)�titler0�items�Message)r3r0z Error Type)�loc�msgr0)r3r0� properties�required�HTTPValidationError�detail�Detail�$ref)r3r0r8� Information�Success� Redirectionz Client Errorz Server ErrorzDefault Response)�1XX�2XX�3XX�4XX�5XX�DEFAULT�status_code_ranges�flat_dependant�returnc��i}g}|jD]K}t|jjdd���}|jj}|||<|�||ji���L||fS)NT��by_alias� exclude_none)�security_requirementsr�security_scheme�model� scheme_name�append�scopes)rH�security_definitions�operation_security�security_requirement�security_definition� security_names �e/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/fastapi/openapi/utils.py� get_openapi_security_definitionsrZMs������� .� D�P�P��.� � 0� 6��� � � �� -�<�H� �.A��]�+��!�!�=�2F�2M�"N�O�O�O�O� �!3� 3�3�T)�separate_input_output_schemas� dependant�schema_generator�model_name_map� field_mapping)� validation� serializationr\c ���g}t|d���}t|j��}t|j��}t|j��} t|j��} t j|ft j|ft j | ft j | fg} | D]�\} } | D]�}|j }t|dd��s�t|||||���}|j| j|j|d�}|jr |j|d<t|dd��}t|dd��}|rt%|��|d <n|t&krt%|��|d<t|d d��rd|d <|�|���֌�|S) NT�� skip_repeats�include_in_schema��fieldr^r_r`r\)�name�inr9�schema� description�openapi_examples�example�examples� deprecated)rr� path_params� query_params� header_params� cookie_paramsr!�path�query�header�cookie� field_info�getattrr�alias�valuer9rlrrrR)r]r^r_r`r\� parametersrHrqrrrsrt�parameter_groups� param_type� param_group�paramry� param_schema� parameterrmrns rY�!_get_openapi_operation_parametersr�^s����J�'� ��E�E�E�N�.�~�/I�J�J�K�/��0K�L�L�L�0��1M�N�N�M�0��1M�N�N�M� ��+�&� � �<�(� � �M�*� � �M�*� �� $4�)�)�� �K� � )� )�E��)�J��:�':�D�A�A� ��6��!1�-�+�.K� ���L�� � �&�!�N�&� ��I� �%� B�+5�+A� �-�(�&�z�3E�t�L�L� ��j�)�T�:�:�G�� A�(8�9I�(J�(J� �*�%�%��I�%�%�'7��'@�'@� �)�$��z�<��6�6� /�*.� �,�'� � � �i� (� (� (� (�9 )�: �r[� body_fieldc�h�|sdSt|t��sJ�t|||||���}tt|j��}|j}|j}i} |r|| d<d|i} |jrt|j��| d<n'|j tkrt|j ��| d<|| i| d<| S)Nrgr9rkrorn�content) � isinstancerrr r ry� media_typer9rmrrnr) r�r^r_r`r\� body_schemary�request_media_typer9�request_body_oai�request_media_contents rY�"get_openapi_operation_request_bodyr��s��� ���t� �j�*� -� -�-�-� -�-��)�%�#�&C� ���K��d�J�1�2�2�J�#�.���"�H�')���0�'/���$�-5�{�,C���"�P�,<� � '�- �- ��j�)�)� � �y� (� (�+;�J�<N�+O�+O��i�(�#5�7L�"M��Y�� �r[�route�methodc��tjdtd���|jr|jS|j}t |j||���S)Nzqfastapi.openapi.utils.generate_operation_id() was deprecated, it is not used internally, and will be removed soon��� stacklevel)rirur�)�warnings�warn�DeprecationWarning� operation_id� path_formatr%ri)r�r�rus rY�generate_operation_idr��s]�� �M� >��� ����  ��"��!�!��!�D� )�u�z��V� T� T� T�Tr[c�x�|jr|jS|j�dd�����S)N�_� )�summaryri�replacer3�r�r�s rY�generate_operation_summaryr��s8�� �}���}�� �:� � �c�3� '� '� -� -� /� /�/r[� operation_idsc��i}|jr |j|d<t||���|d<|jr |j|d<|jp|j}||vr]d|�d�|jj�z}t|jdi���d��}|r|d |��z }tj |d � ��|� |��||d <|j r |j |d <|S)N�tagsr�r�rlzDuplicate Operation ID z for function � __globals__�__file__z at �r�� operationIdrp) r�r�rlr�� unique_id�endpoint�__name__rz�getr�r��addrp)r�r�r�� operationr��message� file_names rY�get_openapi_operation_metadatar��s��!#�I� �z�'�!�J� �&��5�E�&�Q�Q�Q�I�i�� ��5�#(�#4� �-� ��%�8���L��}�$�$� B�l� B� B� B���(�*� +� ��E�N�M�2�>�>�B�B�:�N�N� � � *� �)�i�)�)� )�G�� �g�!�,�,�,�,����l�#�#�#�+�I�m�� ��3�"'�"2� �,�� �r[c � �+�i}i}i}|j� Jd���t|jt��r |jj} n|j} | s Jd���| j} |j�r�|jD�]�} t|| |����+g} t|j d���} t| ���\}}|r)�+� dg��� |��|r|� |��t|j ||||���}| � |��| rQd �| D��}d �| D��}|� |��t|������+d <| t"vr t%|j||||� ��}|r|�+d <|jrUi}|jD]F}t|t*j��r*t/||||||���\}}}|j|i||j<�G|�+d<|j�t7|j��}nct9j| j��}|j� d��}|�.t|j!tD��rt7|j!��}|j#�+� di��� |i��d<| r�tI|j��r�ddi}tK| tL��r#|j'rtQ|j'||||���}ni}|�+� di��� |i��� di��� | i��d<|j)�r��+� di��}|j)�*��D�]�\}}|�+��} | �,dd��t7|���-��}!|!dkrd}!|� |!i��}"t| t\��s Jd���|j/� |��}#d}$|#rftQ|#||||���}$| pd}%| � di��� |%i��� di��}&ta|&|$��tb� t7|���-����p0tdj3j)� tE|����}'| � d��p|"� d��p|'pd}(ta|"| ��|(|"d<���t7th��})tk|j ��}*|*s|jr`tm�+fd�|)ddfD����sBd ddd!tnd"ziiid#��+d|)<d$|vr"|� tptrd%���|j:rta�+|j:���+|| �;��<���|||fS)&NzMethods must be a listz.A response class is needed to generate OpenAPI)r�r�r�Trd)rH�security)r]r^r_r`r\c�0�i|]}|d|df|��S)rjri���.0r�s rY� <dictcomp>z$get_openapi_path.<locals>.<dictcomp>s4��"�"�"�<A�U�4�[�%��-�0�%�"�"�"r[c�Z�i|](}|�d���|d|df|��)S)r9rjri)r�r�s rYr�z$get_openapi_path.<locals>.<dictcomp>sI��'�'�'���y�y��,�,�'��4�[�%��-�0�%�'�'�'r[r})r�r^r_r`r\� requestBody�r�r�r^r_r`r\� callbacks� status_code� responsesrlr0r1rgr�rkrPrF�defaultz%An additional response must be a dictzapplication/jsonzAdditional Responsec3�,�K�|]}|�dvV��dS)r�Nr�)r��statusr�s �rY� <genexpr>z#get_openapi_path.<locals>.<genexpr>�sI�����B�B���)�K�0�0�B�B�B�B�B�Br[rDzValidation Errorr=r:)rlr�r+)r+r:)<�methodsr��response_classrr|r�rfr�rr]rZ� setdefault�extend�updater��list�valuesrr�r�r�r �APIRoute�get_openapi_pathrurir��str�inspect� signature�__init__r}r�r��int�response_descriptionr&rr'�response_fieldrr�r4�copy�pop�upper�dict�response_fieldsr$rG�http�clientr)r�anyr�validation_error_definition�$validation_error_response_definition� openapi_extra�lower),r�r�r^r_r`r\ru�security_schemes� definitions�current_response_class�route_response_media_typer�r}rHrTrU�operation_parameters�all_parameters�required_parametersr�r��callback�cb_path�cb_security_schemes�cb_definitionsr��response_signature�status_code_param�response_schema�operation_responses�additional_status_code�additional_response�process_response�status_code_key�openapi_responserh�additional_field_schemar��additional_schema� status_textrl�http422�all_route_paramsr�s, @rYr�r��s���� �D�')��"$�K� �=� $� $�&>� $� $� $��%�&�(:�;�;�6�16�1E�1K���!&�!5�� !�S�S�#S�S�S� !�/E�/P�� ��g-��m�f -�f -�F�6��F�-����I�02�J�/���d�S�S�S�N�7W�-�8�8�8� 4� �"4�"� P��$�$�Z��4�4�;�;�<N�O�O�O�#� >� �'�'�(<�=�=�=�#D��/�!1�-�+�.K� $�$�$� � � � �2� 3� 3� 3�� H�"�"�EO�"�"�"��'�'�!+�'�'�'�#��%�%�&9�:�:�:�*.�~�/D�/D�/F�/F�*G�*G� �,�'��*�*�*�#E�$�/�%5�#1�"/�2O� $�$�$� �$�@�/?�I�m�,��� 3�� � %��L�L�H�!�(�G�,<�=�=� L� -�"*�*7�-=�+9�*7�:W� ��� �#�/�*�5=�M�7�3K� �(�-�0��)2� �+�&�� �,�!�%�"3�4�4� � �&-�%6�7M�7V�%W�%W�"�$6�$A�$E�$E�m�$T�$T�!�$�0�!�"3�";�S�A�A�E�&)�*;�*C�&D�&D� ��*� � � ��b� 1� 1� <� <�[�"� M� M�� �)� $�-L��!�.�.� $�$*�8�"4��%�&<�l�K�K� -��+� -�*E�"'�"6�-=�+9�*7�:W� +�+�+���+-�� $� �$�$�[�"�5�5�@�@������*�Y��+�+�J�J�7P�RT�,U�,U��� ��, B�&/�&:�&:�;��&K�&K�#��_�*�*�,�,�*B�*B��*�'�':�'?�'?�'A�'A�$�$�(�(��$�7�7�7�&)�*@�&A�&A�&G�&G�&I�&I�O�&�)�3�3�*3��':�'E�'E�'��(�(�$�&�(�$���?�?�>�?�?��"�1�5�5�6L�M�M�E�HL�+��U�2M�"'�-=�+9�*7�:W� 3�3�3�/�&?�%T�BT� �,�7�7� �2�F�F�'�Z� �B�7�7�'�Z��"�5�5�*� )�):�<S�T�T�T�1C�1G�1G��2�3�3�9�9�;�;�2�2�2P���.�2�2�3�7M�3N�3N�O�O� �)�,�,�]�;�;�1�+�/�/� �>�>�1�&�1�1�  � %�%5�7G�H�H�H�6A�$�]�3�3��7�8�8�G�.�u��?�?� � � �E�$4� �c�B�B�B�B�&��y�9�B�B�B�?�?� � $6�*�$�v�z�<Q�/Q�&R�-� �3�3� �+�&�w�/�%�K�7�7��&�&�/J�3W������ �"� A� ��E�,?�@�@�@�#,�D������ � � �!�;� .�.r[�routesc��g}g}g}g}|D�]}t|dd���r t|tj��r�|jr>t|jt ��s Jd���|�|j��|jr|�|j��|jr,|� |j� ����|j r'|� t|j ����t|j��}|� |����!|t||z|z��z}|S)Nrfz'A request body must be a Pydantic Field)rzr�r r�r�rrRr�r�r�r�r��get_fields_from_routesrr]r�)r��body_fields_from_routes�responses_from_routes�request_fields_from_routes�callback_flat_modelsr��params� flat_modelss rYr�r��s~��13��.0��35��-/���6�6�� �5�-�t� 4� 4� 6�� �7�#�: �: � 6��� A�!��$�j���=�=�<�=�=��(�.�.�u�/?�@�@�@��#� C�%�,�,�U�-A�B�B�B��$� M�%�,�,�U�-B�-I�-I�-K�-K�L�L�L��� U�$�+�+�,B�5�?�,S�,S�T�T�T�$�U�_�5�5�F� &� -� -�f� 5� 5� 5��&���"7�7�:T�T�*�*��K� �r[z3.1.0) �openapi_versionr�rl�webhooksr��servers�terms_of_service�contact� license_infor\r3�versionrr�rlrr�rrrrc ����||d�} |r|| d<|r|| d<| r| | d<| r| | d<| r| | d<|| d�}|r||d<i}i}i}t��}tt|pg��t|pg��z��}t|��}t t � ��}t |||| � ��\}�|pgD]�}t|tj ��r�t|||||| � ��}|rx|\}}}|r.|� |j i��� |��|r)|� d i��� |��|r�� |����|pgD]�}t|tj ��r�t|||||| � ��}|rx|\}}}|r.|� |j i��� |��|r)|� d i��� |��|r�� |�����r�fd �t���D��|d<|r||d<||d<|r||d<|r||d<tt!di|��dd���S)N)r3rr�rl�termsOfServicer�license)�openapi�infor)� ref_template)�fieldsr^r_r\r��securitySchemesc�"��i|] }|�|�� Sr�r�)r��kr�s �rYr�zget_openapi.<locals>.<dictcomp>s��� P� P� P�q��K��N� P� P� Pr[�schemas� components�pathsrr�TrKr�)�setr�r�rrrrr�r r�r�r�r�r��sortedrr)r3rrr�rlr�rr�rrrrr\r �outputrr� webhook_pathsr�� all_fieldsr_r^r`r��resultrur��path_definitions�webhookr�s @rY� get_openapir�st��� &+�w�?�?�D��"�!��Y���*�)��]���2�!1�� ���"�!��Y���'�&��Y��)8�$�G�G�F��$�#��y��,.�J�')�E�/1�M�!�e�e�M�'��V�\�r�(:�(:�T�(�.�b�=Q�=Q�(Q�R�R�J�.�z�:�:�N�)�|�D�D�D��!0��)�%�&C� "�"�"��M�;� ��2�9�9�� �e�W�-� .� .� 9�%��+�!1�-�+�.K� ���F�� 9�;A�8��&�(8��I��$�$�U�%6��;�;�B�B�4�H�H�H�#���)�)�*;�R�@�@�G�G�(����$�9��&�&�'7�8�8�8���>�r�9�9�� �g�w�/� 0� 0� 9�%��+�!1�-�+�.K� ���F�� 9�;A�8��&�(8��S�!�,�,�W�-@�"�E�E�L�L�T�R�R�R�#���)�)�*;�R�@�@�G�G�(����$�9��&�&�'7�8�8�8���Q� P� P� P� P�F�;�<O�<O� P� P� P� �9���*�)��|���F�7�O��+�*��z�� ����v�� �G�-�-�f�-�-��4� P� P� P�Pr[)M� http.clientr�r�r��typingrrrrrrr r r r �fastapir �fastapi._compatrrrrrrrr�fastapi.datastructuresr�fastapi.dependencies.modelsr�fastapi.dependencies.utilsrrr�fastapi.encodersr�fastapi.openapi.constantsrrr�fastapi.openapi.modelsr�fastapi.paramsr r!�fastapi.responsesr"� fastapi.typesr#� fastapi.utilsr$r%r&�starlette.responsesr'�starlette.routingr(�starlette.statusr)�typing_extensionsr*r�r�rGr��__annotations__rZ�boolr�r�r�r�r�r�r�r�rr�r[rY�<module>r2s���������������U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U�U������� � � � � � � � � � � � � � � � � � � � �6�5�5�5�5�5�1�1�1�1�1�1����������� .�-�-�-�-�-�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�*�*�*�*�*�*�+�+�+�+�+�+�+�+�&�&�&�&�&�&�&�&�&�&�&�&����������� -�,�,�,�,�,�'�'�'�'�'�'�:�:�:�:�:�:�%�%�%�%�%�%�� � ����� 2�V�Y�4G�H�I� � � #�H�5�5�&��9�9���'�&�&� � �� #� �����j�+<�<�=� � �� (� (�$� � � � � �!� &�&��D��c��N����4��4� �4��S��>�4��S�#�X��/� /�0�4�4�4�4�2+/�4�4�4��4�)�4�!� 4� � �j�'�"?�@�@�A�?�R�� 4�$(�4� �$�s�C�x�.��4�4�4�4�~+/�"�"�"���$�"�)�"�!� "� � �j�'�"?�@�@�A�?�R�� "�$(�"��d�3��8�n��"�"�"�"�J U��� U�(+� U�� U� U� U� U�0��)9�0�3�0�3�0�0�0�0� ����(+��<?��H�� �#�s�(�^�����F+/�}/�}/�}/� � �}/��s�8�}/�)� }/� !� }/� � �j�'�"?�@�@�A�?�R�� }/�$(�}/� �4��S��>�4��S��>�4��S��>� 9�:�}/�}/�}/�}/�@� �Y� �� �*������F#�!�!%�.2�+/�:>�&*�48�9=�*.�\Q�\Q�\Q� �\Q��\Q�� \Q� �c�]� \Q� �#�� \Q� �Y� �\Q��x� �*�+�\Q� �4��S�#�X��'� (�\Q��d�4��U�3��8�_� 4�5�6� 7�\Q��s�m�\Q��d�3��c�3�h��/�0� 1�\Q��4��U�3��8�_� 4�5�6�\Q�$(�\Q� �#�s�(�^�\Q�\Q�\Q�\Q�\Q�\Qr[
Memory