+
     Ii-  c                   s    ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ]P4                  ! ]4      t ! R
 R]4      t^ RIHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t( ^ RIH)t) ^ RI*H+t, ^ RI-H.t. ^ RI/H0t0 ^ RI1H2t2 ],t3]4t4]"t5R t6R t7R9R lt8R:R lt9^ RI:H;u H<t= ]=P|                  t?^ RI@t@R tA]BR 4       tC]BR 4       tD]C]nC        ]D]nD        R tER tF ]P                  ! RR7       RtHR tKR;R ltLR  tMR! tN ^ RIOtP]P                  P                  R"R#4      tS]SP                  4       R$8X  * tUR% tWR<R& ltXR'tY]
P                  ! R(]Y,           R),           4      t[R*t\R+P                  ]\]YR,7      t^R-]\R.]^/t_. R=Ot`R/taR0R1P                  ]` U u. uF  q ]_,          NK  	  up 4      ,           R2,           tcR3]a,           R4,           tdR5]c,           R0,           ]d,           R6,           te]
P                  ! R(]e,           R),           4      tf]g! R74      th ^ RIitiRtj]U'       d   ]W! R>4      '       d	   ^ R8IkHltl R# RtlR#   ]I]J3 d    RtH ELPi ; i  ]V d    RtU ELi ; iu up i   ]V d    Rtj LTi ; i)?    N)HTTPMessage)OrderedDict)MutableMapping)floor)six)MD5UnavailableError)tzlocal)
exceptionsc                   s    ] tR t^%tRtR# )HTTPHeaders N)__name__Z
__module__Z__qualname__Z__firstlineno__Z__static_attributes__r
       4/usr/lib/python3.14/site-packages/botocore/compat.pyr	   r	   %   s    r   r	   )
quote	urlencodeunquoteunquote_plusurlparseurlsplit
urlunspliturljoin	parse_qslparse_qs)HTTPResponse)IOBase)encodebytes)
formatdate)zip_longestc                sx    V P                   P                  P                  P                  P	                  V4       R# )ztSet the timeout of the socket from an HTTPResponse.

:param http_response: An instance of ``httplib.HTTPResponse``

N)Z_fpZfpZrawZ_sockZ
settimeout)Zhttp_responseZtimeout   &&r   set_socket_timeoutr   @   s*     ""--g6r   c                 s<    \         P                  ! V 4      ^,          # )i   )inspectZgetfullargspec)Zfunc   &r   accepts_kwargsr!   H   s    !!$'**r   c                 s    V # Nr
   sZencodingZerrors   &&&r   ensure_unicoder&   K   s    Hr   c                 s    \        V \        4      '       d   V P                  W4      # \        V \        4      '       d   V # \	        R \        V 4       R24      h)z Expected str or bytes, received .)Z
isinstanceZstrZencodeZbytes
ValueErrorZtyper#   r%   r   ensure_bytesr)   O   sI    !Sxx))!U
7QyB
CCr   c                  sV    \         P                  ! R R\        P                  RR7       R# )Zignorez+A true SSLContext object is not available.*z.*urllib3\.util\.ssl_)ZmessageZcategoryZmoduleN)warningsZfilterwarningsr   ZInsecurePlatformWarningr
   r   r   filter_ssl_warningsr+   ]   s"    =33'	r   c                 sN    V ! 4       pVP                  4        F	  w  r4WBV&   K  	  V# r"   )Zitems)clsZdnew_instancekeyvalue   &&   r   	from_dictr1   g   s)    5Lggi
!S  r   c                 s2    V ! 4       pV F	  w  r4WBV&   K  	  V# r"   r
   )r,   Zpairsr-   r.   r/   r0   r   
from_pairsr2   o   s#    5L
!S r   c                s2    \         P                   ! V 4      pV# )zA
This used to be a compat shim for 2.6 but is now just an alias.
)copy)kwargscopy_kwargs   & r   r5   r5   {   s     ))F#Kr   c                s"    V P                  4       # )z
Returns the total seconds in a ``datetime.timedelta``.

This used to be a compat shim for 2.6 but is now just an alias.

:param delta: The timedelta object
:type delta: ``datetime.timedelta``
)total_seconds)Zdeltar    r   r7   r7      s       r   F)ZusedforsecurityTc                 sZ    \         '       d   \        P                  ! V / VB # \        4       h)a"  
Attempts to get an md5 hashing object.

:param args: Args to pass to the MD5 constructor
:param kwargs: Key word arguments to pass to the MD5 constructor
:return: An MD5 hashing object if available. If it is unavailable, None
    is returned if raise_error_if_unavailable is set to False.
)MD5_AVAILABLEhashlibmd5r   )Zargsr4   s   *,r   get_md5r;      s&     }{{D+F++!##r   c                 sz    Vf   \         P                  pVR8X  d   \        V 4      # \        P                  ! V 4      # )Nwin32)sysplatform_windows_shell_splitshlexsplit)r$   r>   r   r   compat_shell_splitrB      s2    <<7#A&&{{1~r   c           
     s:   V '       g   . # . p. pRp^ pV  EF$  pVR8X  d   V^,          pK  VR8X  dx   V^ 8  dW   VP                  R\        \        V^,          4      4      ,          4       V^,          p^ pV^8X  d   VP                  R4       Kz  V'       * pVP                  R4       K  VR9   dX   V'       gP   V^ 8  d   VP                  RV,          4       ^ pV'       d%   VP                  RP                  V4      4       . pK  K  V^ 8  d   VP                  RV,          4       ^ pVP                  V4       EK'  	  V'       d   \	        RV  24      hV^ 8  d   VP                  RV,          4       V'       d!   VP                  RP                  V4      4       V# )a  Splits up a windows command as the built-in command parser would.

Windows has potentially bizarre rules depending on where you look. When
spawning a process via the Windows C runtime (which is what python does
when you call popen) the rules are as follows:

https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments

To summarize:

* Only space and tab are valid delimiters
* Double quotes are the only valid quotes
* Backslash is interpreted literally unless it is part of a chain that
  leads up to a double quote. Then the backslashes escape the backslashes,
  and if there is an odd number the final backslash escapes the quote.

:param s: The command string to split up into parts.
:return: A list of command components.
FZ\Z"Z z No closing quotation in string: )Z Z	)Zappendintr   joinr(   )r$   Z
componentsZbuffZ	is_quotedZnum_backslashesZ	characterZ	remainders   &      r   r?   r?      s~   ( 	JDIO	
 q O#" D3u_q-@'A#BBC+a/	"#> KK$ &I KKO+%i "D?23"# !!"''$-0  "D?23"#KK	"c h ;A3?@@ D?*+ "''$-(r   c                  sV    \         P                  R 8X  d   ^ RIHp  \        V 3# \        3# )r<   
tzwinlocal)r=   r>   dateutil.tzrF   r   rE   s    r   get_tzinfo_optionsrH     s&     ||w*$$zr   ZBOTO_DISABLE_CRTZfalseZtruec                s    \         '       g   R# \        P                  p \        \        VP                  R4      4      p\        V4      pW08  #   \        \        3 d     R# i ; i)z&Not intended for use outside botocore.Fr'   )	HAS_CRTawscrtZ__version__ZmaprC   rA   ZtupleZ	TypeErrorr(   )Zminimum_versionZcrt_version_strZcrt_version_intsZcrt_version_tuples   &   r   has_minimum_crt_versionrK   &  sb    7((OsO$9$9#$>?!"23 // z" s   *A A#"A#c                s    \         P                   P                  \         P                  P                  4      pV '       d   VP	                  RR7      pV# )zKRetrieve the current timezone in UTC, with or without an explicit timezone.N)Ztzinfo)datetimeZnowZtimezoneZutcZreplace)Zremove_tzinfoZdatetime_nowr6   r   get_current_datetimerM   5  s@    $$(():):)>)>?L#++4+8r   z(?:[0-9]{1,3}\.){3}[0-9]{1,3}Z^Z$z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))hexZipv4rN   Zls32zDABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._!\-~z(?:Z|Z)z(?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z	
)EC)NN)zutf-8Zstrictr"   )T)	z(?:%(hex)s:){6}%(ls32)sz::(?:%(hex)s:){5}%(ls32)sz%(?:%(hex)s)?::(?:%(hex)s:){4}%(ls32)sz2(?:(?:%(hex)s:)?%(hex)s)?::(?:%(hex)s:){3}%(ls32)sz6(?:(?:%(hex)s:){0,2}%(hex)s)?::(?:%(hex)s:){2}%(ls32)sz/(?:(?:%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)sz'(?:(?:%(hex)s:){0,4}%(hex)s)?::%(ls32)sz&(?:(?:%(hex)s:){0,5}%(hex)s)?::%(hex)sz(?:(?:%(hex)s:){0,6}%(hex)s)?::)r    i   i   )mr3   rL   r=   r   r*   r9   Zhttp.clientr   Zloggingr@   ZreZosZcollectionsr   Zcollections.abcr   Zmathr   Zbotocore.vendoredr   Zbotocore.exceptionsr   rG   r   Zurllib3r   Z	getLoggerr   Zloggerr	   Zurllib.parser   r   r   r   r   r   r   r   r   r   r   Zior   Z_IOBaseZbase64r   Zemail.utilsr   Z	itertoolsr   Z	file_typeZzipZunquote_strr   r!   r&   r)   Zxml.etree.ElementTreeZetreeZElementTreeZETreeZ
ParseErrorZXMLParseErrorZjsonr+   Zclassmethodr1   r2   r5   r7   r:   r8   ZAttributeErrorr(   r;   rB   r?   rH   Zawscrt.authrJ   ZenvironZgetZdisabledZlowerrI   ZImportErrorrK   rM   ZIPV4_PATZcompileZIPV4_REZHEX_PATZformatZLS32_PATZ_subsZ_variationsZUNRESERVED_PATrD   ZIPV6_PATZZONE_ID_PATZIPV6_ADDRZ_PATZIPV6_ADDRZ_REZ	frozensetZUNSAFE_URL_CHARSZgzipZHAS_GZIPZawscrt.cryptorO   )Zxs   0r   <module>rP      s     
    #   	 	 # *  ! 3  			8	$	+ 	   %    " !		 7+D & %        " # 	!KK&M
$[|	 zz~~0':H.."f,G
0 ,
**S8^c)
*
#**wX*F	*, L  388<1YY<==C.1FF!F*[87B

3/#56 X& H
 &z22 	B 	
# M\  G| =  Hs<   I '4I, 6I<
2J I)(I),	I98I9	JJ