
    (ph                     R    S SK JrJrJrJrJr  S SKJr  S SKJ	r	  S r
SS jrS	S jrg)
    )URLResolverincludepathre_pathregister_converter)RoutePattern)api_settingsc                    ^ U(       a/  [        U5      S:X  a  US   nOSSR                  U5      -  nSU-  mOSm " U4S jS5      nS	nU(       a  US
S
R                  U5      -   -  nXC4$ )N   r   z(?:%s)|z\.%s/?z\.[a-z0-9]+/?c                   (   > \ rS rSr Y rS rS rSrg)9_get_format_path_converter.<locals>.FormatSuffixConverter   c                 $    UR                  S5      $ )Nz./)stripselfvalues     M/var/www/html/venv/lib/python3.13/site-packages/rest_framework/urlpatterns.py	to_pythonC_get_format_path_converter.<locals>.FormatSuffixConverter.to_python   s    ;;t$$    c                     SU-   S-   $ )N./ r   s     r   to_url@_get_format_path_converter.<locals>.FormatSuffixConverter.to_url   s    ;$$r   r   N)__name__
__module____qualname____firstlineno__regexr   r   __static_attributes__)suffix_patterns   r   FormatSuffixConverterr      s    	%	%r   r&   drf_format_suffix_)lenjoin)suffix_kwargallowedallowed_patternr&   converter_namer%   s        @r   _get_format_path_converterr/      sr    w<1%ajO&')::O"_4)% % )N# 11100r   Nc                    / nU  GH   n[        U[        5      (       a  UR                  R                  R                  nUR                  nUR
                  nUR                  n	[        UR                  UUU5      n
[        UR                  [        5      (       a7  [        c   e[        UR                  5      n[        U[        X4U5      U	5      nO[        U[        X4U5      U	5      nUR                  U5        M  UR                  R                  R                  R                  S5      R                  S5      U-   nUR                   nUR"                  n	UR$                  nU(       d  UR                  U5        [        UR                  [        5      (       aQ  [        c   eUc   e[        UR                  5      R                  S5      R                  S5      U-   n[        XX5      nO[        XmX5      nUR                  U5        GM     U$ )N$r   )
isinstancer   patternr#   	namespaceapp_namedefault_kwargsapply_suffix_patternsurl_patternsr   r   strr   r   appendrstripcallbackdefault_argsname)urlpatternsr%   suffix_requiredsuffix_routeret
urlpatternr#   r4   r5   kwargspatternsroutenew_patternviewr>   s                  r   r7   r7   !   s   
C!
j+..&&,,44E",,I!**H..F,Z-D-D-;-<-9;H *,,l;;'''J../"5'82F	*RTZ[%eWh5I9-UW]^JJ{# &&,,44;;C@GGL~]E&&D,,F??D"

:& *,,l;;'''#///J../66s;BB3G,V"5=%e6@JJ{#S "V Jr   c                    [         R                  nU(       a5  [        U5      S:X  a  US   nOSSR                  U5      -  nSU< SU< S3nOSU-  n[	        X25      u  pg[        Xv5        S	U< S
U< S3n[        XX5      $ )a  
Supplement existing urlpatterns with corresponding patterns that also
include a '.format' suffix.  Retains urlpattern ordering.

urlpatterns:
    A list of URL patterns.

suffix_required:
    If `True`, only suffixed URLs will be generated, and non-suffixed
    URLs will not be used.  Defaults to `False`.

allowed:
    An optional tuple/list of allowed suffixes.  eg ['json', 'api']
    Defaults to `None`, which allows any suffix.
r   r   z(%s)r   z\.(?P<>z)/?$z\.(?P<%s>[a-z0-9]+)/?$<:)r	   FORMAT_SUFFIX_KWARGr)   r*   r/   r   r7   )	r?   r@   r,   r+   r-   r%   r.   suffix_converterrA   s	            r   format_suffix_patternsrO   Q   s|       33Lw<1%ajO$sxx'88O/;_M2\A'A,'X$N'8 .=L o\\r   )N)FN)django.urlsr   r   r   r   r   django.urls.resolversr   rest_framework.settingsr	   r/   r7   rO   r   r   r   <module>rS      s"    O O . 014-`]r   