
    g                     
   S SK r S SKJrJr  S SKJr  S SKJrJr  Sr	Sr
S\S\\ R                  \4   4S	 jrS\S\\ R                   \4   4S
 jrS\S\\ R                      4S jrS\\   S\\\4   4S jrS\S\\\4   4S jrg)    N)BasicContextDecimal)	parsedate)OptionalUnionz%Y-%m-%dz%Y-%m-%dT%H:%M:%SZsreturnc                      [         R                   R                  U [        5      R                  [         R                  R
                  S9R                  5       $ ! [        [        4 a    U s $ f = f)z
Parses an ISO 8601 date string and returns a UTC date object or the string
if the parsing failed.
:param s: ISO 8601-formatted date string (2015-01-25)
:return:
tzinfo)	datetimestrptimeISO8601_DATE_FORMATreplacetimezoneutcdate	TypeError
ValueErrorr   s    _/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/twilio/base/deserialize.pyiso8601_dater   
   s]    &&q*=>WH--11W2TV	

 z" s   AA A.-A.c                      [         R                   R                  U [        5      R                  [         R                  R
                  S9$ ! [        [        4 a    U s $ f = f)z
Parses an ISO 8601 datetime string and returns a UTC datetime object,
or the string if parsing failed.
:param s: ISO 8601-formatted datetime string (2015-01-25T12:34:56Z)
r   )r   r   ISO8601_DATETIME_FORMATr   r   r   r   r   r   s    r   iso8601_datetimer      s^      ))!-DEMM$$(( N 
 	
 z" s   AA A A c                     [        U 5      nUc  g[        R                  " USS 6 R                  [        R                  R                  S9$ )z
Parses an RFC 2822 date string and returns a UTC datetime object,
or the string if parsing failed.
:param s: RFC 2822-formatted string date
:return: datetime or str
N   r   )r   r   r   r   r   )r   
date_tuples     r   rfc2822_datetimer   +   sG     1Jj!n-55X=N=N=R=R5SS    dc                 4    U (       d  U $ [        U [        5      $ )zA
Parses a decimal string into a Decimal
:param d: decimal string
)r   r   )r!   s    r   decimalr#   8   s    
 1l##r    ic                 J     [        U 5      $ ! [        [        4 a    U s $ f = f)zL
Parses an integer string into an int
:param i: integer string
:return: int
)intr   r   )r$   s    r   integerr'   B   s)    1vz" s   
 "")r   r#   r   r   email.utilsr   typingr   r   r   r   strr   r   r   r   r&   r'    r    r   <module>r,      s     ) ! "  . C E(--"45 "

8c!" 
T 
T):): ; 
T$x} $w|!4 $	s 	uS#X 	r    