Ë
    üûàgv   ã                   óP  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZ d dlmZmZ dd	lmZmZ dd
lmZmZmZ ddlmZ ddlmZ  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z  G d„ de «      Z! G d„ de «      Z" G d„ de"«      Z#y)é    )ÚImproperlyConfigured)Úresolve_url)Úrender_to_string)Ú	force_str)ÚPromise)ÚBaseRendererÚJSONRendererÚTemplateHTMLRenderer)ÚencodersÚjsoné   )Úredoc_settingsÚswagger_settings)Ú
VALIDATORSÚOpenAPICodecJsonÚOpenAPICodecYaml)ÚSwagger)Úfilter_nonec                   ó4   — e Zd ZdZdZg ZdZed„ «       Zdd„Z	y)Ú_SpecRendererz?Base class for text renderers. Handles encoding and validation.úutf-8Nc                 ó”   — t        d„ |D «       «      sJ ddj                  t        «      z   «       ‚t        | j                  | fd|i«      S )Nc              3   ó,   K  — | ]  }|t         v –— Œ y ­w©N)r   )Ú.0Úvlds     úP/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/drf_yasg/renderers.pyú	<genexpr>z0_SpecRenderer.with_validators.<locals>.<genexpr>   s   è ø€ Ò;¨�3œ*Ô$Ñ;ùs   ‚zallowed validators are z, Ú
validators)ÚallÚjoinr   ÚtypeÚ__name__)Úclsr   s     r   Úwith_validatorsz_SpecRenderer.with_validators   sH   € äÑ;°
Ô;Ô;ÐnÐ=VÐY]×YbÑYbÔcmÓYnÑ=nÓnÐ;Ü�C—L‘L 3 &¨<¸Ð*DÓEÐEó    c                 óÖ   — | j                   sJ d«       ‚| j                  | j                  «      }t        |t        «      st	        «       j                  |||«      S |j                  |«      S )Nzmust override codec_class)Úcodec_classr   Ú
isinstancer   r	   ÚrenderÚencode)ÚselfÚdataÚ
media_typeÚrenderer_contextÚcodecs        r   r*   z_SpecRenderer.render   s^   € Ø×ÒÐ<Ð!<Ó<ÐØ× Ñ  §¡Ó1ˆä˜$¤Ô(ô  “>×(Ñ(¨¨zÐ;KÓLÐLà�|‰|˜DÓ!Ð!r&   ©NN)
r#   Ú
__module__Ú__qualname__Ú__doc__Úcharsetr   r(   Úclassmethodr%   r*   © r&   r   r   r      s-   „ ÙIØ€GØ€JØ€KàñFó ðFô
"r&   r   c                   ó   — e Zd ZdZdZdZeZy)ÚOpenAPIRendererz_Renders the schema as a JSON document with the ``application/openapi+json`` specific mime type.zapplication/openapi+jsonÚopenapiN©r#   r2   r3   r4   r.   Úformatr   r(   r7   r&   r   r9   r9   '   s   „ ÙiØ+€JØ€FØ"�Kr&   r9   c                   ó   — e Zd ZdZdZdZeZy)ÚSwaggerJSONRendererzVRenders the schema as a JSON document with the generic ``application/json`` mime type.zapplication/jsonr   Nr;   r7   r&   r   r>   r>   .   s   „ Ù`Ø#€JØ€FØ"�Kr&   r>   c                   ó   — e Zd ZdZdZdZeZy)ÚSwaggerYAMLRendererz&Renders the schema as a YAML document.zapplication/yamlÚyamlN)r#   r2   r3   r4   r.   r<   r   r(   r7   r&   r   r@   r@   5   s   „ Ù0Ø#€JØ€FØ"�Kr&   r@   c                   ó>   — e Zd ZdZdZdZdZdd„Zdd„Zd„ Z	d	„ Z
d
„ Zy)Ú_UIRendererzbBase class for web UI renderers. Handles loading and passing settings to the appropriate template.z	text/htmlr   Ú Nc                 ó,  — t        |t        «      s	 t        «       j                  |||«      S | j                  ||«       t        | j                  ||d   «      S # t        $ r1 |d   }d|j
                  |j                  j                  «       fz  cY S w xY w)NÚresponsez%d %sÚrequest)r)   r   r
   r*   r   Ústatus_codeÚstatus_textÚtitleÚset_contextr   Útemplate)r,   ÚswaggerÚaccepted_media_typer/   rF   s        r   r*   z_UIRenderer.renderB   sž   € Ü˜'¤7Ô+ðVô ,Ó-×4Ñ4°WÐ>QÐScÓdÐdð 	×ÑÐ)¨7Ô3Ü §¡Ð/?ÐAQÐR[ÑA\Ó]Ð]øô (ò Và+¨JÑ7�Ø (×"6Ñ"6¸×8LÑ8L×8RÑ8RÓ8TÐ!UÑUÒUðVús   ’A Á7BÂBc                 óX  — |r|j                   j                  xs dnd|d<   |r|j                   j                  xs dnd|d<   t        j                  | j                  «       t        j                  ¬«      |d<   t        j                  |d<   |j                  | j                  «       «       y )NrD   rJ   Úversion©r$   Úoauth2_configÚUSE_SESSION_AUTH)ÚinforJ   rP   r   ÚdumpsÚget_oauth2_configr   ÚJSONEncoderr   rS   ÚupdateÚget_auth_urls)r,   r/   rM   s      r   rK   z_UIRenderer.set_contextQ   sŽ   € Ù@G G§L¡L×$6Ñ$6Ò$<¹"ÈRÐ˜Ñ!ÙDK g§l¡l×&:Ñ&:Ò&@¹bÐQSÐ˜Ñ#Ü,0¯J©J°t×7MÑ7MÓ7OÔU]×UiÑUiÔ,jÐ˜Ñ)Ü/?×/PÑ/PÐÐ+Ñ,Ø×Ñ × 2Ñ 2Ó 4Õ5r&   c                 óî   — t        |t        «      rt        |«      }|€y d\  }}t        |t        «      s(t        |«      dkD  r|\  }}}nt        |«      dk(  r|\  }}|xs d}|xs i }t	        |g|¢­i |¤ŽS )Nr1   é   r7   )r)   r   ÚstrÚlenr   )r,   ÚtoÚargsÚkwargss       r   r   z_UIRenderer.resolve_urlX   s‚   € Ü�bœ'Ô"Ü�R“ˆBàˆ:Øà!‰ˆˆfÜ˜"œcÔ"Ü�2‹w˜Š{Ø#%Ñ ��D™&Ü�R“˜A’Ø‘
��FàŠz�rˆØ’˜2ˆä˜2Ð/ Ò/¨Ñ/Ð/r&   c                 ó–   — | j                  t        j                  «      | j                  t        j                  «      dœ}t	        |«      S )N)Ú	LOGIN_URLÚ
LOGOUT_URL)r   r   rb   rc   r   )r,   Úurlss     r   rY   z_UIRenderer.get_auth_urlsk   s@   € à×)Ñ)Ô*:×*DÑ*DÓEØ×*Ñ*Ô+;×+FÑ+FÓGñ
ˆô
 ˜4Ó Ð r&   c                 óT   — t         j                  }t        |t        «      sJ d«       ‚|S )NzOAUTH2_CONFIG must be a dict)r   ÚOAUTH2_CONFIGr)   Údict©r,   r-   s     r   rV   z_UIRenderer.get_oauth2_configs   s(   € Ü×-Ñ-ˆÜ˜$¤Ô%ÐEÐ'EÓEÐ%Øˆr&   r1   r   )r#   r2   r3   r4   r.   r5   rL   r*   rK   r   rY   rV   r7   r&   r   rC   rC   <   s.   „ ÙlØ€JØ€GØ€Hó^ó6ò0ò&!ór&   rC   c                   ó2   ‡ — e Zd ZdZdZdZdˆ fd„	Zd„ Zˆ xZS )ÚSwaggerUIRendererz7Renders a swagger-ui web interface for schema browsing.zdrf-yasg/swagger-ui.htmlrM   c                 ó(  •— t         t        | �  ||«       | j                  «       }|j	                  dd «      }t        |j	                  dd«      «      }|r|r|j                  |«      |d<   t        j                  |t        j                  ¬«      |d<   y )NrG   Úoauth2RedirectUrlrD   rQ   r   )Úsuperrj   rK   Úget_swagger_ui_settingsÚgetr   Úbuild_absolute_urir   rU   r   rW   )r,   r/   rM   Úswagger_ui_settingsrG   Úoauth_redirect_urlÚ	__class__s         €r   rK   zSwaggerUIRenderer.set_context~   s�   ø€ ÜÔ Ñ2Ð3CÀWÔMØ"×:Ñ:Ó<Ðà"×&Ñ& y°$Ó7ˆÜ&Ð':×'>Ñ'>Ð?RÐTVÓ'WÓXÐÙÑ)Ø7>×7QÑ7QÐRdÓ7eÐÐ 3Ñ4ä/3¯z©zÐ:MÔS[×SgÑSgÔ/hÐÐ+Ò,r&   c                 óR  — i d| j                  t        j                  «      “dt        j                  “dt        j                  “dt        j
                  “dt        j                  “dt        j                  “dt        j                  “dt        j                  “d	t        j                  “d
t        j                  “dt        j                  “dt        j                  “dt        j                  “dt        j                  “dt        j                  “dt        j                   “dt        j"                  “t        j$                  t        j&                  dd  j)                  dd«      dœ¥}t+        |«      }t        j,                  dk7  r"| j                  t        j,                  «      |d<   |S )NÚurlÚoperationsSorterÚ
tagsSorterÚdocExpansionÚdeepLinkingÚshowExtensionsÚdefaultModelRenderingÚdefaultModelExpandDepthÚdefaultModelsExpandDepthÚshowCommonExtensionsrl   ÚsupportedSubmitMethodsÚdisplayOperationIdÚpersistAuthÚrefetchWithAuthÚrefetchOnLogoutÚfetchSchemaWithQueryé   Ú_ú-)Ú
csrfCookieÚ
csrfHeaderrD   ÚvalidatorUrl)r   r   ÚSPEC_URLÚOPERATIONS_SORTERÚTAGS_SORTERÚDOC_EXPANSIONÚDEEP_LINKINGÚSHOW_EXTENSIONSÚDEFAULT_MODEL_RENDERINGÚDEFAULT_MODEL_DEPTHÚSHOW_COMMON_EXTENSIONSÚOAUTH2_REDIRECT_URLÚSUPPORTED_SUBMIT_METHODSÚDISPLAY_OPERATION_IDÚPERSIST_AUTHÚREFETCH_SCHEMA_WITH_AUTHÚREFETCH_SCHEMA_ON_LOGOUTÚFETCH_SCHEMA_WITH_QUERYÚCSRF_COOKIE_NAMEÚCSRF_HEADER_NAMEÚreplacer   ÚVALIDATOR_URLrh   s     r   rn   z)SwaggerUIRenderer.get_swagger_ui_settings‰   s»  € ð
Ø�4×#Ñ#Ô$4×$=Ñ$=Ó>ð
àÔ 0× BÑ Bð
ð Ô*×6Ñ6ð
ð Ô,×:Ñ:ð	
ð
 Ô+×8Ñ8ð
ð Ô.×>Ñ>ð
ð $Ô%5×%MÑ%Mð
ð &Ô'7×'KÑ'Kð
ð 'Ô(8×(LÑ(Lð
ð #Ô$4×$KÑ$Kð
ð  Ô!1×!EÑ!Eð
ð %Ô&6×&OÑ&Oð
ð !Ô"2×"GÑ"Gð
ð Ô+×8Ñ8ð
ð Ô/×HÑHð
ð  Ô/×HÑHð!
ð" #Ô$4×$LÑ$Lð#
ô$ +×;Ñ;ä*×;Ñ;¸A¸BÐ?×GÑGÈÈSÓQò)
ˆô. ˜4Ó ˆÜ×)Ñ)¨RÒ/Ø#'×#3Ñ#3Ô4D×4RÑ4RÓ#SˆD�Ñ àˆr&   r   )	r#   r2   r3   r4   rL   r<   rK   rn   Ú__classcell__©rs   s   @r   rj   rj   y   s   ø„ ÙAØ)€HØ€Fõ	iör&   rj   c                   ó2   ‡ — e Zd ZdZdZdZdˆ fd„	Zd„ Zˆ xZS )ÚReDocRendererz2Renders a ReDoc web interface for schema browsing.zdrf-yasg/redoc.htmlÚredocc                 óš   •— t         t        | �  ||«       t        j                  | j                  «       t        j                  ¬«      |d<   y )NrQ   r   )rm   r¢   rK   r   rU   Úget_redoc_settingsr   rW   )r,   r/   rM   rs   s      €r   rK   zReDocRenderer.set_context­   s<   ø€ ÜŒm˜TÑ.Ð/?ÀÔIÜ-1¯Z©Z¸×8OÑ8OÓ8QÔW_×WkÑWkÔ-lÐÐ)Ò*r&   c           	      ó,  — | j                  t        j                  «      t        j                  t        j                  t        j
                  t        j                  t        j                  t        j                  t        j                  dœ}t        |«      S )N)ru   ÚlazyRenderingÚhideHostnameÚexpandResponsesÚpathInMiddlePanelÚnativeScrollbarsÚrequiredPropsFirstr„   )r   r   r‹   ÚLAZY_RENDERINGÚHIDE_HOSTNAMEÚEXPAND_RESPONSESÚPATH_IN_MIDDLEÚNATIVE_SCROLLBARSÚREQUIRED_PROPS_FIRSTrš   r   rh   s     r   r¥   z ReDocRenderer.get_redoc_settings±   si   € à×#Ñ#¤N×$;Ñ$;Ó<Ü+×:Ñ:Ü*×8Ñ8Ü-×>Ñ>Ü!/×!>Ñ!>Ü .× @Ñ @Ü"0×"EÑ"EÜ$2×$JÑ$Jñ	
ˆô ˜4Ó Ð r&   r   )	r#   r2   r3   r4   rL   r<   rK   r¥   rŸ   r    s   @r   r¢   r¢   ¨   s   ø„ Ù<Ø$€HØ€Fõmö!r&   r¢   c                   ó   — e Zd ZdZdZy)ÚReDocOldRendererz8Renders a ReDoc 1.x.x web interface for schema browsing.zdrf-yasg/redoc-old.htmlN)r#   r2   r3   r4   rL   r7   r&   r   r´   r´   À   s
   „ ÙBØ(�Hr&   r´   N)$Údjango.core.exceptionsr   Údjango.shortcutsr   Údjango.template.loaderr   Údjango.utils.encodingr   Údjango.utils.functionalr   Úrest_framework.renderersr   r	   r
   Úrest_framework.utilsr   r   Úapp_settingsr   r   Úcodecsr   r   r   r:   r   Úutilsr   r   r9   r>   r@   rC   rj   r¢   r´   r7   r&   r   ú<module>r¿      sŽ   ðÝ 7Ý (Ý 3Ý +Ý +ß UÑ Uß /ç :ß BÑ BÝ Ý ô"�Lô "ô0#�mô #ô#˜-ô #ô#˜-ô #ô:�,ô :ôz,˜ô ,ô^!�Kô !ô0)�}õ )r&   