+
     Biov             	          R t R8tRt^ RIt^ RIt^ RIt^ RIH	t
 R	 tR
 t^tRtRt. R:OtR9.t^ t]R,           F  t]P)                  ]4       ]],          tK  	  AAR tR tR tR tR t]! R4      t]! ^e4      t]! ^4      t]R;8X  g   Q h]^],          ^,           8X  g   Q h]^],          ^,
          8X  g   Q hR t. R<Ot. R=OtR t R>R lt!R?R lt"Rs#R t$Rs%R t&R t'R t(R t)R t*. R@Ot+R t,R t-R  t.R! t/R" t0R# t1R$ t2R% t3R& t4 ! R' R4      t5]5! RA4      ]5n6        ]5! R(^^;^;R)R*7      ]5n7        ]5! ^R+7      ]5n8         ! R, R4      t9]9t:]9! ^^^4      ]9n6        ]9! R^^4      ]9n7        ]5! ^R-7      ]9n8         ! R. R4      t; ! R/ R0]<4      t=]=t>A=];t? ! R1 R4      t]t@]! ^ ^ ^ 4      ]n6        ]! ^^;^;R)4      ]n7        ]5! ^R+7      ]n8         ! R2 R]94      tA]A! ^^^4      ]An6        ]A! R^^^^;^;R)4      ]An7        ]5! ^R+7      ]An8        R3 tB ! R4 R];4      tC]CP                  ]5! ^ 4      4      ;tE]CnF        ]CP                  ]5! ^^;R57      ) 4      ]Cn6        ]CP                  ]5! ^^;R57      4      ]Cn7        ]A! R6^^]CP                  R77      tGR# )Bz2Pure Python implementation of the datetime module.datedatetimetime	timedeltatimezonetzinfoN)indexc                 &    W8X  d   ^ # W8  d   ^# R# )     )xys   &&"/usr/lib/python3.14/_pydatetime.py_cmpr      s    1.A.B.    c                 D    V P                   P                  pVR 8X  d   R# R# )r   z	datetime. )	__class__
__module__)selfmodule_names   & r   _get_class_moduler      s    ..++Kj r   i'  i۹7    NNc                j    V ^,          ^ 8H  ;'       d!    V ^d,          ^ 8g  ;'       g    V R,          ^ 8H  # )zyear -> 1 if leap year, else 0.  r   )years   &r   _is_leapr   /   s0    !8q=AAdSjAo@@qAr   c                z    V ^,
          pVR,          V^,          ,           V^d,          ,
          VR,          ,           # )z2year -> number of days before January 1st of year.m  r   r   )r   r   s   & r   _days_before_yearr!   3   s/    qAS51a4<!S& 1c6))r   c                    ^Tu;8:  d   ^8:  g   Q V4       h Q V4       hV^8X  d   \        V 4      '       d   ^# \        V,          # )z9year, month -> number of days in that month in that year.)r   _DAYS_IN_MONTHr   months   &&r   _days_in_monthr&   8   sB    "U""U"zhtnn%  r   c                    ^Tu;8:  d   ^8:  g   M Q RV 24       h\         V,          V^8  ;'       d    \        V 4      ,           # )zCyear, month -> number of days in year preceding first day of month.month must be in 1..12, not )_DAYS_BEFORE_MONTHr   r$   s   &&r   _days_before_monthr*   ?   sB    C;E7CCe$	(D(DhtnEEr   c                    ^Tu;8:  d   ^8:  g   M Q RV 24       h\        W4      p^Tu;8:  d   V8:  g   M Q RV RV 24       h\        V 4      \        W4      ,           V,           # )z>year, month, day -> ordinal, considering 01-Jan-0001 as day 1.r(   zday must be in 1.., not )r&   r!   r*   r   r%   daydims   &&& r   _ymd2ordr0   D   sq    C;E7CC

%C?s?A0VC5AA?d#t+, r   i  c                   V ^,          p \        V \        4      w  rVR,          ^,           p\        V \        4      w  r0\        V \        4      w  r@\        V R4      w  rPW#^d,          V^,          ,           V,           ,          pV^8X  g   V^8X  d   V ^ 8X  g   Q hV^,
          ^^3# V^8H  ;'       d    V^8g  ;'       g    V^8H  pV\	        V4      8X  g   Q hV ^2,           ^,	          p\
        V,          V^8  ;'       d    T,           pW8  d2   V^,          pT\        V,          V^8H  ;'       d    T,           ,          pW,          p ^ T u;8:  d   \        W'4      8  g   Q h Q hW'V ^,           3# )z@ordinal -> (year, month, day), considering 01-Jan-0001 as day 1.r   r    )divmod_DI400Y_DI100Y_DI4Yr   r)   r#   r&   )	nn400r   n100n4n1leapyearr%   	precedings	   &        r   _ord2ymdr=   ]   sZ   . FAQ GD#:>D Q GD 1eEB 1cNEB3Ja"$$D	Qw$!)AvvAvr2~ Qw22B"H11	Hx~%%%VME"5)UQY-C-C8DI}
^E*eqj.E.EXFF	NA/N4////// !r   c                     \        WV4      ^,           ^,          p\        W4      V,           p\        P                  ! WW#WEWxV3	4      # )   )r0   r*   _timestruct_time)	r   mdhhmmssdstflagwdaydnums	   &&&&&&&  r   _build_struct_timerJ      sC    Q1!Q&Da#a'DaA24wGHHr   c           
          R RRRRRRRRR	/pVR
8X  d   V'       d   RMRpMVR8X  d
   VR,          p WT,          pVP                  WW#4      #   \         d    \        R4      hi ; i)hoursz{:02d}minutesz{:02d}:{:02d}secondsz{:02d}:{:02d}:{:02d}millisecondsz{:02d}:{:02d}:{:02d}.{:03d}microsecondsz{:02d}:{:02d}:{:02d}.{:06d}auto  zUnknown timespec value)formatKeyError
ValueError)rD   rE   rF   ustimespecspecsfmts   &&&&&  r   _format_timerZ      s    ?)55E 6%'>Y	^	#
t*o zz""))  31223s   A A#c                    R pV e   V P                   ^ 8  d   RpV ) p MRp\        V \        ^R7      4      w  rE\        V\        ^R7      4      w  rVVRW4W3,          ,          pV'       g   VP                  '       dH   VRWP                  3,          ,          pVP                  '       d   VRVP                  ,          ,          pV# )r   -+rL   rM   z%s%02d%s%02dz%s%02d.%06d)daysr2   r   rP   rN   )offsepssignrD   rE   rF   s   &&     r   _format_offsetrf      s    
A
88a<D$CDYQ/0Ia01	^t111S**---AWr..Hr   c                      \         f"    \        P                  ! RR4      R8g  s \         # \         #   \         d    Rs  \         # i ; i)Nz%Y0099T)	c   r   r   r
   r
   r
   r
   r   r
   )_normalize_centuryr@   strftimerU   r   r   r   _need_normalize_centuryrl      sQ    !	&t%ABfL    	&!%	&   0 AAc                      \         f"    \        P                  ! RR4      R8H  s \         # \         #   \         d    Rs  \         # i ; i)Nz%Fz
1900-01-01F)	l  r   r   r
   r
   r
   r
   r   r
   )_supports_c99r@   rk   rU   r   r   r   _can_support_c99rq      sO    	"t%CDT  =  	"!M	"rm   c                    R pR pR pR p. pVP                   p^ \        V4      rW8  Ed   W,          pV	^,          p	VR8X  Ed   W8  Edw   W,          pV	^,          p	VR8X  d,   Vf   R\        V R^ 4      ,          pVP                  V4       Kj  VR8X  dQ   Vf1   \        V R4      '       d   \	        V P                  4       RR7      pMRpRV9  g   Q hVP                  V4       K  VR	8X  d   W8  d   W,          pV	^,          p	VR8X  dR   Vf1   \        V R4      '       d   \	        V P                  4       R	R7      pMRpRV9  g   Q hVP                  V4       EK7  V! R4       V! V4       V! V4       EKR  EKU  VR
8X  dS   Vf;   Rp\        V R4      '       d'   V P                  4       pVe   VP                  RR4      pVP                  V4       EK  VR9   g   VR9   d   \        4       '       d   V P                  R8  d   \        4       '       d   VR8X  d"   \        \        P                  ! RV4      4      pMV P                  pVR8X  d"   V! RP                  V^d,          4      4       EKI  V! RP                  V4      4       VR8X  d!   V! RP                  ! VR,          !  4       EK  EK  V! R4       V! V4       EK  V! R4       EK  V! V4       EK  RP                  V4      p\        P                  ! Wr4      # )N%fz%06dmicrosecondz	utcoffsetr   rc   :Ztznamez%%YGFCrR   Gz%GCz{:02}z{:04}Fz-{:02}-{:02}:r      N)appendlengetattrhasattrrf   rw   r{   replacerq   r   rl   intr@   rk   rS   join)objectrS   	timetuplefreplacezreplacecolonzreplaceZreplace	newformatpushir6   chch2rd   r   s   &&&            r   _wrap_strftimer      s   HHMH IDc&kq
%Y	Q9uYQ9'#)GF4A1-F $F$$X.3Y'"6;77'5f6F6F6Hb'QH')Hh...$$X.3Yu$iQ#:,4#*6;#?#?4B6CSCSCU[^4_M46M#&m#;;#;%,,]; I H I  3Y'#%"6844 &A }+,99S$+?$$X. TzR4Z4D4F4Fd*/F/H/HSy"5>>$	#BC%{{SyW^^DCK89W^^D129 !6!6	#!GH % IHS	H	"I>>)//r   c                     V R 9   # )
0123456789r   )cs   &r   _is_ascii_digitr   5  s    r   c                    \        V 4      pV^8X  d   ^# V^8  g   Q hRpRpV ^,          V8X  do   V ^,          V8X  d_   V^8  d   \        R4      hV^8  dD   V ^,          V8X  d6   V^	8X  d   \        R4      hV^
8  d   \        V ^
,          4      '       d   ^# ^
# ^# ^
# V ^,          V8X  dG   ^pWA8  d$   \        W,          4      '       g   MV^,          pK)  V^	8  d   V# V^,          ^ 8X  d   ^# ^# ^# )   r\   WzInvalid ISO string)r   rU   r   )dtstr	len_dtstrdate_separatorweek_indicatoridxs   &    r   "_find_isoformat_datetime_separatorr   8  s    E
IA~q==NNQx>!8~%1} !5661}q^!;>$%9::r>oeBi&@&@   8~%C/&uz22qQw
Qw!| r   c                 X   \        V 4      R9   g   Q h\        V R,          4      pV ^,          R8H  p^V,           pWV^,            R8X  d   V^,          p\        WV^,            4      pV^,          p^p\        V 4      V8  d;   WV^,            R8H  V8w  d   \        R4      hW2,          p\        WV^,            4      p\        \	        WV4      4      # \        WV^,            4      pV^,          pWV^,            R8H  V8w  d   \        R4      hW2,          p\        WV^,            4      pWV.# )r   :r
      Nr\   r   z"Inconsistent use of dash separatorr      
   )r   r   rU   list_isoweek_to_gregorian)r   r   has_sepposweeknodaynor%   r.   s   &       r   _parse_isoformat_dater   q  s2    u:###uSz?DAh#oG
g+CqS qUsQw'(qu:#'"c)g5 !EFFNC#'*+E)$>??EcAg&'qcAg#%'1ABB%C!G$%S!!r   c                    \        V 4      p. ROp^ p\        ^ ^4       F  pW,
          ^8  d   \        R4      h\        WV^,            4      W$&   V^,          pWV^,            pV^ 8X  d   VR8H  pV'       d   V^8  d    M-X'       d   VR8w  d   \        RV,          4      hW6,          pK  	  W18  d   W,          R9  d   \        R4      hV^,          p\	        \        \        WR 4      4      '       g   \        R4      hW,
          pV^8  d   ^pMTp\        WW8,            4      V^&   V^8  d(   V^;;,          \        V^,
          ,          ,          uu&   V# )	r
   zIncomplete time componentry   zInvalid time separator: %cz.,zInvalid microsecond separatorNzNon-digit values in fraction)r
   r
   r
   r
   )r   rangerU   r   allmapr   _FRACTION_CORRECTION)	tstrlen_str
time_compsr   comp	next_charr   len_remainderto_parses	   &        r   _parse_hh_mm_ss_ffr     s@   $iGJ
CaMQ899tA/
qSUO	193&GDAIyC'9IEFF% ( }9D <==1HCs?DJ788 !?@@#MM!(#, 89JqM!|1!5hqj!AAr   c                 2   \        V 4      pV^8  d   \        R4      hV P                  R4      ^,           ;'       g9    V P                  R4      ^,           ;'       g    V P                  R4      ^,           pV^ 8  d   V RV^,
           MT p\        V4      pVw  rVrxRp	Rp
V^8X  dT   \        ;QJ d#    R VR,           4       F  '       d   K   RM	  R	M! R VR,           4       4      '       d
   ^ pWT^ &   R	p	MR	p
RpW!8X  d    V R,          R8X  d   \
        P                  pMV^ 8  d   WR p\        V4      R9   g   W^,
          ,          R8X  d   \        R
4      h\        V4      p\        ;QJ d    R V 4       F  '       d   K   RM	  R	M! R V 4       4      '       d   \
        P                  pMTW^,
          ,          R8X  d   RM^p\        V^ ,          V^,          V^,          V^,          R7      p\        W,          4      pVP                  V4       WIV
3# )   zIsoformat time too shortr\   r]   rz   NFc              3   *   "   T F	  q^ 8H  x  K  	  R# 5ir
   Nr   ).0	time_comps   & r   	<genexpr>(_parse_isoformat_time.<locals>.<genexpr>  s     >~)A~~   r   TzMalformed time zone stringc              3   *   "   T F	  q^ 8H  x  K  	  R# 5ir   r   )r   r   s   & r   r   r     s     (x!Avxr   rL   rM   rN   rP   r   )r
   r   r   )	r   rU   findr   r   r   utcr   r   )r   r   tz_postimestrr   hourminutesecondru   became_next_dayerror_from_componentstzitzstrtz_compstzsigntds   &               r   _parse_isoformat_timer     s   $iG{344 iinq LLDIIcNQ$6LL$))C.1:LF!'!d9F1HoG#G,J(2%D&O!
3>z"~>333>z"~>>>D qM"O$(!
CT"X_ll	!W u:"d!8n&;9::%e,3(x(333(x(((,,C
+s2RF!hqk#+A;Xa[JB 6;'Cc(===r   c                    \         T u;8:  d   \        8:  g   M \        R \          R\         RV  24      h^ Tu;8  d   ^58  gW   M RpV^58X  d6   \        V ^^4      ^,          pV^8X  g   V^8X  d   \	        V 4      '       d   RpV'       d   \        RV 24      h^ Tu;8  d   ^8  g   M \        RV R24      hV^,
          ^,          V^,
          ,           p\        V 4      pWe,           p\        V4      # )year must be in ..r,   TFzInvalid week: zInvalid weekday: z (range is [1, 7]))MINYEARMAXYEARrU   r0   r   _isoweek1mondayr=   )r   weekr.   out_of_rangefirst_weekday
day_offsetday_1ord_days   &&&     r   r   r     s    d%g%+G9BwivdVLMMt=b=2: %T1a014M"}'9'/~~$~dV455s;Q;,SE1CDEE (a37+J D!E GGr   c                     V e;   \        V \        4      '       g#   \        R\        V 4      P                  : 24      hR # R # )Nz0tzinfo.tzname() must return None or string, not )
isinstancestr	TypeErrortype__name__)names   &r   _check_tznamer   "  sC    
4 5 5 #Dz2257 8 	8 !6r   c                     V R9   g   Q hVf   R# \        V\        4      '       g&   \        RV  R\        V4      P                  : 24      h\        ^4      ) Tu;8  d   \        ^4      8  g   M \        RV: 24      hR# )rw   Nztzinfo.z&() must return None or timedelta, not ^offset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24), not )rw   dst)r   r   r   r   r   rU   )r   offsets   &&r   _check_utc_offsetr   -  s    ''''~fi(('$ (--1&\-B-B,EG H 	HaL=60IaL0 55;J@ A 	A 1r   c           
      Z   \        V 4      p \        V4      p\        V4      p\        T u;8:  d   \        8:  g   M \        R \         R\         RV  24      h^Tu;8:  d   ^8:  g   M \        RV 24      h\	        W4      p^Tu;8:  d   V8:  g   M \        RV RV RV RV  24      hWV3# )r   r   r,   r(   zday z must be in range 1..z for month z	 in year )_indexr   r   rU   r&   r-   s   &&& r   _check_date_fieldsr   9  s    $<D5ME
+Cd%g%+G9BwivdVLMM7w?@@

%C?s?4u$9#k%PYZ^Y_`aar   c                    \        V 4      p \        V4      p\        V4      p\        V4      p^ T u;8:  d   ^8:  g   M \        RV  24      h^ Tu;8:  d   ^;8:  g   M \        RV 24      h^ Tu;8:  d   ^;8:  g   M \        RV 24      h^ Tu;8:  d   R8:  g   M \        RV 24      hVR9  d   \        RV 24      hWW#V3# )r
   zhour must be in 0..23, not zminute must be in 0..59, not zsecond must be in 0..59, not ?B z&microsecond must be in 0..999999, not z fold must be either 0 or 1, not )r
   r   )r   rU   )r   r   r   ru   folds   &&&&&r   _check_time_fieldsr   F  s    $<DF^FF^F%K??6tf=>>"8ABB"8ABB%v%A+OPP6;D6BCCd22r   c                     V e;   \        V \        4      '       g#   \        R\        V 4      P                  : 24      hR # R # )Nz:tzinfo argument must be None or of a tzinfo subclass, not )r   r   r   r   r   )tzs   &r   _check_tzinfo_argr   W  sA    	~jV448$$')
 	
 5~r   c                    \        W4      w  r#V^,          pV^ 8  d   W18  MW18  pV'       g   W18X  d   V^,          ^8X  d
   V^,          pV# )zdivide a by b and round result to the nearest integer

When the ratio is exactly half-way between two integers,
the even integer is returned.
)r2   )abqrgreater_than_halfs   &&   r   _divide_and_roundr   ^  sK     !<DA FA!"QAEAFq1uz	QHr   c                      a  ] tR tRt o RtR"tR#R ltR tR tR t	]
R 4       t]
R 4       t]
R	 4       tR
 t]tR tR tR tR tR tR t]tR tR tR tR tR tR tR tR tR tR t R t!R t"R t#R t$R t%R t&V t'R!# )$r   ir  a  Represent the difference between two datetime objects.

Supported operators:

- add, subtract timedelta
- unary plus, minus, abs
- compare to timedelta
- multiply, divide by int

In addition, datetime supports subtraction of two datetime objects
returning a timedelta, and addition or subtraction of a datetime
and a timedelta giving a datetime.

Representation: (days, seconds, microseconds).
c           	        R V3RV3RV3RV3RV3RV3RV33 FE  w  r\        V	\        \        34      '       d   K#  \        RV R\	        V	4      P
                   24      h	  ^ ;p
;rW^,          ,          pW%^<,          VR	,          ,           ,          pW4R
,          ,          p\        V\        4      '       ds   \        P                  ! V4      w  r\        P                  ! VR,          4      w  rV\        V4      8X  g   Q h\        V4      pV\        V4      8X  g   Q h\        V4      p
MRpTp
\        V\        4      '       g   Q h\        V4      R8:  g   Q h\        V
\        4      '       g   Q h\        V4      R8:  g   Q h\        V\        4      '       dS   \        P                  ! V4      w  ppV\        V4      8X  g   Q h\        V4      pVV,          p\        V4      R8:  g   Q hMTp\        V\        4      '       g   Q h\        V4      R8:  g   Q h\        V\        4      '       g   Q h\        VR4      w  rW,          p
V\        V4      ,          p\        V\        4      '       g   Q h\        V4      R8:  g   Q hVR,          p\        V4      R8  g   Q h\        V\        4      '       d@   \        VV,           4      p\        VR4      w  r#\        VR4      w  rW,          p
W,          pMI\        V4      p\        VR4      w  r#\        VR4      w  rW,          p
W,          p\        VV,           4      p\        V\        4      '       g   Q h\        V\        4      '       g   Q h\        V4      R8:  g   Q h\        V4      R8  g   Q h\        VR4      w  r,W,          p\        VR4      w  rW,          p
\        V
\        4      '       g   Q h\        V\        4      '       d   ^ Tu;8:  d	   R8  g   Q h Q h\        V\        4      '       d   ^ Tu;8:  d	   R8  g   Q h Q h\        V
4      R8  d   \        RV
,          4      h\        P                  V 4      pV
Vn        VVn        VVn        RVn        V# )ra   rN   rP   rO   rM   rL   weekszunsupported type for timedelta z component:   rR   g        g      ?g       @    .Ag    @A@B g    GAɚ;z$timedelta # of days is too large: %dg     @Q i  i r   )r   r   floatr   r   r   _mathmodfabsr2   roundOverflowErrorr   __new___days_seconds_microseconds	_hashcode)clsra   rN   rP   rO   rM   rL   r  r   valuerC   rd   rV   dayfracdaysecondsfracdaysecondswholesecondsfracusdoubler   s   &&&&&&&&           r   r  timedelta.__new__  s4    TN \*\* ee
KD ec5\225dV<UH\H\G]^ 
  A 	a2:d
**T)) dE""!JJt,MG.3jjI9N.O+N"c/&::::O$A3t9$$$D	A NA.%0000>"c)))!S!!!!1v""" gu%%#(::g#6 Kc'l***'lG>)K{#s***(K+u----;3&&&'3''''w0			S\!S!!!!1v&&& $8}u$$$ lE** !89L$*<$A!G"7G4MDIALA|,L$*<$A!G"7G4MDIALA !89L!S!!!!,,,,,1v&&&< 5((( \73	G$		!S!!!!!S!!a1&6w&666&666"c""qB'8'888'888q6I F JKK~~c"
r   c                   . pV P                   '       d#   VP                  R V P                   ,          4       V P                  '       d#   VP                  RV P                  ,          4       V P                  '       d#   VP                  RV P                  ,          4       V'       g   VP                  R4       \	        V 4      : V P
                  P                  : RRP                  V4      : R2# )zdays=%dz
seconds=%dzmicroseconds=%d0(, ))r  r   r  r  r   r   __qualname__r   )r   argss   & r   __repr__timedelta.__repr__  s    :::KK	DJJ./===KKt}}45KK)D,>,>>?KK.t4!^^88!YYt_. 	.r   c                *   \        V P                  ^<4      w  r\        V^<4      w  r1RW1V3,          pV P                  '       d$   R pRV! V P                  4      ,          V,           pV P                  '       d   VRV P                  ,          ,           pV# )<   z%d:%02d:%02dc                 J    T \        V 4      ^8g  ;'       d    R;'       g    R3# )r   rd   r   )r
  )r6   s   &r   plural!timedelta.__str__.<locals>.plural  s%    #a&A+--#3333r   z
%d day%s, r`   )r2   r  r  r  )r   rE   rF   rD   rd   r&  s   &     r   __str__timedelta.__str__  s{    r*Bbb\):::4tzz 22a7AGd0000Ar   c                    V P                   R,          V P                  ,           R,          V P                  ,           R,          # )zTotal seconds in the duration.r  r  )ra   rN   rP   r   s   &r   total_secondstimedelta.total_seconds  s7    U"T\\1U:!!"%*+ 	+r   c                    V P                   # ra   r  r+  s   &r   ra   timedelta.days       zzr   c                    V P                   # rN   )r  r+  s   &r   rN   timedelta.seconds  s     }}r   c                    V P                   # rP   )r  r+  s   &r   rP   timedelta.microseconds#  s     !!!r   c                    \        V\        4      '       d_   \        V P                  VP                  ,           V P                  VP                  ,           V P                  VP                  ,           4      # \
        # Nr   r   r  r  r  NotImplementedr   others   &&r   __add__timedelta.__add__(  [    eY'' TZZ%++5!]]U^^;!//%2E2EEG G r   c                    \        V\        4      '       d_   \        V P                  VP                  ,
          V P                  VP                  ,
          V P                  VP                  ,
          4      # \
        # r:  r;  r=  s   &&r   __sub__timedelta.__sub__3  rA  r   c                N    \        V\        4      '       d   V ) V,           # \        # r:  )r   r   r<  r=  s   &&r   __rsub__timedelta.__rsub__<  s!    eY''55= r   c                ^    \        V P                  ) V P                  ) V P                  ) 4      # r:  )r   r  r  r  r+  s   &r   __neg__timedelta.__neg__A  s.     $**--,,,. 	.r   c                    V # r:  r   r+  s   &r   __pos__timedelta.__pos__H  s    r   c                .    V P                   ^ 8  d   V ) # V # r
   r0  r+  s   &r   __abs__timedelta.__abs__K  s    ::>5LKr   c                d   \        V\        4      '       dA   \        V P                  V,          V P                  V,          V P
                  V,          4      # \        V\        4      '       d@   V P                  4       pVP                  4       w  r4\        ^ ^ \        W#,          V4      4      # \        # rO  )r   r   r   r  r  r  r  _to_microsecondsas_integer_ratior   r<  r   r>  usecr   r   s   &&   r   __mul__timedelta.__mul__Q  s    eS!! TZZ%/!]]U2!//%79 9 eU##((*D))+DAQ#4TXq#ABBr   c                z    V P                   R,          V P                  ,           R,          V P                  ,           # )   r  r  r  r  r  r+  s   &r   rS  timedelta._to_microseconds`  s/    w'$--77B""# 	$r   c                   \        V\        \        34      '       g   \        # V P	                  4       p\        V\        4      '       d   W!P	                  4       ,          # \        V\        4      '       d   \        ^ ^ W!,          4      # R# r   )r   r   r   r<  rS  )r   r>  rV  s   && r   __floordiv__timedelta.__floordiv__d  sj    %#y!122!!$$&eY''11333eS!!Q4=11 "r   c                   \        V\        \        \        34      '       g   \        # V P                  4       p\        V\        4      '       d   W!P                  4       ,          # \        V\        4      '       d   \        ^ ^ \        W!4      4      # \        V\        4      '       d0   VP                  4       w  r4\        ^ ^ \        WB,          V4      4      # R# r   )r   r   r  r   r<  rS  r   rT  rU  s   &&   r   __truediv__timedelta.__truediv__m  s    %#ui!899!!$$&eY''00222eS!!Q#4T#ABBeU##))+DAQ#4QXq#ABB $r   c                    \        V\        4      '       d3   V P                  4       VP                  4       ,          p\        ^ ^ V4      # \        # rO  )r   r   rS  r<  )r   r>  r   s   && r   __mod__timedelta.__mod__y  s@    eY''%%'%*@*@*BBAQ1%%r   c                    \        V\        4      '       d:   \        V P                  4       VP                  4       4      w  r#V\        ^ ^ V4      3# \        # rO  )r   r   r2   rS  r<  )r   r>  r   r   s   &&  r   
__divmod__timedelta.__divmod__  sL    eY''$//10024DAi1a(((r   c                b    \        V\        4      '       d   V P                  V4      ^ 8H  # \        # rO  r   r   r   r<  r=  s   &&r   __eq__timedelta.__eq__  )    eY''99U#q((!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8*  # \        # rO  rj  r=  s   &&r   __le__timedelta.__le__  rm  r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rj  r=  s   &&r   __lt__timedelta.__lt__  )    eY''99U#a''!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rj  r=  s   &&r   __ge__timedelta.__ge__  rm  r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rj  r=  s   &&r   __gt__timedelta.__gt__  rt  r   c                    \        V\        4      '       g   Q h\        V P                  4       VP                  4       4      # r:  )r   r   r   	_getstater=  s   &&r   r   timedelta._cmp  s0    %++++DNN$eoo&788r   c                x    V P                   R8X  d   \        V P                  4       4      V n         V P                   # )r   r   r  hashr|  r+  s   &r   __hash__timedelta.__hash__  s+    >>R!$.."23DN~~r   c                |    V P                   ^ 8g  ;'       g'    V P                  ^ 8g  ;'       g    V P                  ^ 8g  # rO  r[  r+  s   &r   __bool__timedelta.__bool__  s@    

a ( ("( (""a'	)r   c                H    V P                   V P                  V P                  3# r:  r[  r+  s   &r   r|  timedelta._getstate  s    

DMM4+=+=>>r   c                :    V P                   V P                  4       3# r:  r   r|  r+  s   &r   
__reduce__timedelta.__reduce__       011r   )r  r  r  r  N)r  r  r  r  )r
   r
   r
   r
   r
   r
   r
   )(r   r   r  __firstlineno____doc__	__slots__r  r!  r(  r,  propertyra   rN   rP   r?  __radd__rC  rF  rI  rL  rP  rW  __rmul__rS  r^  ra  rd  rg  rk  ro  rr  rv  ry  r   r  r  r|  r  __static_attributes____classdictcell____classdict__s   @r   r   r   r  s     & BIob.
+     " " H
. H$2
C"""""9
)?2 2r   r  r   )ra   rL   rM   rN   rP   r7  c                   \  a  ] tR tRt o RtR&tR'R lt]R 4       t]R 4       t	]R 4       t
]R 4       t]R	 4       t]R
 4       tR tR tR tR tR t]t]R 4       t]R 4       t]R 4       tR tR tR(R lt]tR tR tR tR tR t R t!R t"R t#]#t$R t%R t&R  t'R! t(R" t)R# t*R$ t+R%t,V t-R# ))r   i  a  Concrete date type.

Constructors:

__new__()
fromtimestamp()
today()
fromordinal()
strptime()

Operators:

__repr__, __str__
__eq__, __le__, __lt__, __ge__, __gt__, __hash__
__add__, __radd__, __sub__ (add/radd only with timedelta arg)

Methods:

timetuple()
toordinal()
weekday()
isoweekday(), isocalendar(), isoformat()
ctime()
strftime()

Properties (readonly):
year, month, day
Nc                   Vf   \        V\        \        34      '       d   \        V4      ^8X  dz   ^\	        VR,          4      u;8:  d   ^8:  d[   M MW\        V\        4      '       d    VP                  R4      p\        P                  V 4      pVP                  V4       RVn        V# \        WV4      w  rp\        P                  V 4      pWn        W$n        W4n        RVn        V#   \         d    \        R4      hi ; i)z>Constructor.

Arguments:

year, month, day (required, base 1)
r   r   Nlatin1znFailed to encode latin1 string when unpickling a date object. pickle.load(data, encoding='latin1') is assumed.r   )r   bytesr   r   ordencodeUnicodeEncodeErrorrU   r   r  _date__setstater  r   _year_month_day)r  r   r%   r.   r   s   &&&& r   r  date.__new__  s     MteS\**s4yA~T#Y%2%$$$L;;x0D >>#&DOOD!DNK-d3?S~~c"
	! * L$KL LLs   *C) )D c           	     j    Vf   \        R4      h\        P                  ! V4      w	  r#rErgrp
V ! W#V4      # )z;Construct a date from a POSIX timestamp (like time.time()).z5'NoneType' object cannot be interpreted as an integer)r   r@   	localtime)r  tr   rB   rC   rD   rE   rF   weekdayjdayr   s   &&         r   fromtimestampdate.fromtimestamp  s:     9STT27//!2D/aRWC1|r   c                N    \         P                  ! 4       pV P                  V4      # )z"Construct a date from time.time().r@   r   r  )r  r  s   & r   today
date.today
  s      JJL  ##r   c                0    \        V4      w  r#pV ! W#V4      # )zConstruct a date from a proleptic Gregorian ordinal.

January 1 of year 1 is day 1.  Only the year, month and day are
non-zero in the result.
)r=   )r  r6   r   rB   rC   s   &&   r   fromordinaldate.fromordinal  s     1+a1|r   c                    \        V\        4      '       g   \        R4      hVP                  4       '       g   \	        R4      h\        V4      R9  d   \	        RV: 24      h V ! \        V4      !  #   \         d    \	        RT: 24      hi ; i)z2Construct a date from a string in ISO 8601 format.zArgument must be a strzArgument must be an ASCII strInvalid isoformat string: r   )r   r   r   isasciirU   r   r   	Exception)r  date_strings   &&r   fromisoformatdate.fromisoformat  s     +s++455""$$<=={:-9+IJJ	K-k:;; 	K9+IJJ	Ks   #A2 2Bc                "    V ! \        WV4      !  # )ztConstruct a date from the ISO year, week number and weekday.

This is the inverse of the date.isocalendar() function)r   )r  r   r   r.   s   &&&&r   fromisocalendardate.fromisocalendar,  s    
 )$c:;;r   c                .    ^ RI pVP                  WV4      # )zIParse a date string according to the given format (like time.strptime()).N)	_strptime_strptime_datetime_dater  r  rS   r  s   &&& r   strptimedate.strptime3       	006JJr   c                    R\        V 4      V P                  P                  V P                  V P                  V P
                  3,          # )zhConvert to formal string, for repr().

>>> d = date(2010, 1, 1)
>>> repr(d)
'datetime.date(2010, 1, 1)'
z%s%s(%d, %d, %d))r   r   r  r  r  r  r+  s   &r   r!  date.__repr__;  s@     "%6t%<%)^^%@%@%)ZZ%)[[%)YY	%0 0 	0r   c                    V P                  4       ^,          ;'       g    ^pR\        V,          \        V P                  ,          V P                  V P
                  3,          # )Return ctime() style string.z%s %s %2d 00:00:00 %04d)	toordinal	_DAYNAMES_MONTHNAMESr  r  r  r   r  s   & r   ctime
date.ctimeM  sN    .."Q&++!(g$IItzz,# # 	#r   c                6    \        WV P                  4       4      # )z9
Format using strftime().

Example: "%d/%m/%Y, %H:%M:%S"
)r   r   )r   rS   s   &&r   rk   date.strftimeU  s     dDNN,<==r   c                    \        V\        4      '       g&   \        R \        V4      P                  ,          4      h\        V4      ^ 8w  d   V P                  V4      # \        V 4      # zmust be str, not %sr   r   r   r   r   r   rk   r   rY   s   &&r   
__format__date.__format__]  N    #s##1DI4F4FFGGs8q===%%4yr   c                V    RV P                   V P                  V P                  3,          # )zReturn the date formatted according to ISO.

This is 'YYYY-MM-DD'.

References:
- https://www.w3.org/TR/NOTE-datetime
- https://www.cl.cam.ac.uk/~mgk25/iso-time.html
z%04d-%02d-%02d)r  r  r  r+  s   &r   	isoformatdate.isoformatd  s"      4::t{{DII"FFFr   c                    V P                   # )zyear (1-9999))r  r+  s   &r   r   	date.yearr  r2  r   c                    V P                   # )zmonth (1-12))r  r+  s   &r   r%   
date.monthw  s     {{r   c                    V P                   # )z
day (1-31))r  r+  s   &r   r.   date.day|  s     yyr   c           	     `    \        V P                  V P                  V P                  ^ ^ ^ R4      # z9Return local time tuple compatible with time.localtime().r   )rJ   r  r  r  r+  s   &r   r   date.timetuple  s*    !$**dkk499"#Q2/ 	/r   c                X    \        V P                  V P                  V P                  4      # )zReturn proleptic Gregorian ordinal for the year, month and day.

January 1 of year 1 is day 1.  Only the year, month and day values
contribute to the result.
)r0   r  r  r  r+  s   &r   r  date.toordinal  s     

DKK;;r   c                    Vf   V P                   pVf   V P                  pVf   V P                  p\        V 4      ! WV4      # )z;Return a new date with new values for the specified fields.)r  r  r  r   )r   r   r%   r.   s   &&&&r   r   date.replace  s=    <::D=KKE;))CDz$s++r   c                    \        V\        4      '       d+   \        V\        4      '       g   V P                  V4      ^ 8H  # \        # rO  r   r   r   r   r<  r=  s   &&r   rk  date.__eq__  5    eT"":eX+F+F99U#q((r   c                    \        V\        4      '       d+   \        V\        4      '       g   V P                  V4      ^ 8*  # \        # rO  r  r=  s   &&r   ro  date.__le__  r  r   c                    \        V\        4      '       d+   \        V\        4      '       g   V P                  V4      ^ 8  # \        # rO  r  r=  s   &&r   rr  date.__lt__  5    eT"":eX+F+F99U#a''r   c                    \        V\        4      '       d+   \        V\        4      '       g   V P                  V4      ^ 8  # \        # rO  r  r=  s   &&r   rv  date.__ge__  r  r   c                    \        V\        4      '       d+   \        V\        4      '       g   V P                  V4      ^ 8  # \        # rO  r  r=  s   &&r   ry  date.__gt__  r  r   c                   \        V\        4      '       g   Q h\        V\        4      '       d   Q hV P                  V P                  V P
                  rCpVP                  VP                  VP
                  rvp\        W#V3WVV34      # r:  )r   r   r   r  r  r  r   )r   r>  r   rB   rC   y2m2d2s   &&      r   r   	date._cmp  sk    %&&&&eX....**dkk499a[[%,,

Q1I|,,r   c                x    V P                   R8X  d   \        V P                  4       4      V n         V P                   # )Hash.r   r  r+  s   &r   r  date.__hash__  s+    >>R!$.."23DN~~r   c                    \        V\        4      '       d]   V P                  4       VP                  ,           p^ Tu;8  d   \        8:  d   M M\        V 4      P                  V4      # \        R4      h\        # )zAdd a date to a timedelta.result out of range)	r   r   r  ra   _MAXORDINALr   r  r  r<  )r   r>  os   && r   r?  date.__add__  sX    eY'' 5::-A1##Dz--a00 566r   c                   \        V\        4      '       d   V \        VP                  ) 4      ,           # \        V\        4      '       d2   V P	                  4       pVP	                  4       p\        W#,
          4      # \
        # )z.Subtract two dates, or a date and a timedelta.)r   r   ra   r   r  r<  )r   r>  days1days2s   &&  r   rC  date.__sub__  s]    eY'')UZZK000eT""NN$EOO%EU]++r   c                >    V P                  4       ^,           ^,          # )z:Return day of the week, where Monday == 0 ... Sunday == 6.r  r+  s   &r   r  date.weekday  s     1$))r   c                D    V P                  4       ^,          ;'       g    ^# )z:Return day of the week, where Monday == 1 ... Sunday == 7.r  r+  s   &r   
isoweekdaydate.isoweekday  s     ~~!#((q(r   c                   V P                   p\        V4      p\        V P                   V P                  V P                  4      p\        W2,
          ^4      w  rEV^ 8  d*   V^,          p\        V4      p\        W2,
          ^4      w  rEM)V^48  d#   V\        V^,           4      8  d   V^,          p^ p\        W^,           V^,           4      # )ag  Return a named tuple containing ISO year, week number, and weekday.

The first ISO week of the year is the (Mon-Sun) week
containing the year's first Thursday; everything else derives
from that.

The first week is 1; Monday is 1 ... Sunday is 7.

ISO calendar algorithm taken from
https://www.phys.uu.nl/~vgent/calendar/isocalendar.htm
(used with permission)
)r  r   r0   r  r  r2   _IsoCalendarDate)r   r   week1mondayr  r   r.   s   &     r   isocalendardate.isocalendar  s     zz%d+T[[$))<5.2	!8AID)$/Ku2A6ID#RZQ//	1fc!e44r   c                x    \        V P                  R 4      w  r\        WV P                  V P                  .4      3#    )r2   r  r  r  r  )r   yhiylos   &  r   r|  date._getstate  s1    $**c*cTYY7899r   c                P    Vw  r#V n         V n        VR ,          V,           V n        R# )r  N)r  r  r  )r   stringr  r  s   &&  r   
__setstatedate.__setstate	  s!    +1($+ty3Y_
r   c                :    V P                   V P                  4       3# r:  r  r+  s   &r   r  date.__reduce__  r  r   )r  r  r  r  )r  r  r  r  )NN)NNN).r   r   r  r  r  r  r  classmethodr  r  r  r  r  r  r!  r  rk   r  r  r(  r  r   r%   r.   r   r  r   __replace__rk  ro  rr  rv  ry  r   r  r?  r  rC  r  r  r  r|  r  r  r  r  r  s   @r   r   r     s]    8 7ID   $ $
   K K" < < K K0$#>	G G      /
<, K




- H*)
5<:%2 2r   r/  c                   F   a  ] tR tRt o RtRtR tR tR tR t	R t
RtV tR	# )
r   i  zwAbstract base class for time zone info classes.

Subclasses must override the tzname(), utcoffset() and dst() methods.
c                    \        R4      h)z%datetime -> string name of time zone.z&tzinfo subclass must override tzname()NotImplementedErrorr   dts   &&r   r{   tzinfo.tzname  s    !"JKKr   c                    \        R4      h)zIdatetime -> timedelta, positive for east of UTC, negative for west of UTCz)tzinfo subclass must override utcoffset()r  r!  s   &&r   rw   tzinfo.utcoffset"  s    !"MNNr   c                    \        R4      h)zdatetime -> DST offset as timedelta, positive for east of UTC.

Return 0 if DST not in effect.  utcoffset() must include the DST
offset.
z#tzinfo subclass must override dst()r  r!  s   &&r   r   
tzinfo.dst&  s     ""GHHr   c                t   \        V\        4      '       g   \        R4      hVP                  V Jd   \	        R4      hVP                  4       pVf   \	        R4      hVP                  4       pVf   \	        R4      hW#,
          pV'       d(   W,          pVP                  4       pVf   \	        R4      hW,           # )z*datetime in UTC -> datetime in local time.z&fromutc() requires a datetime argumentzdt.tzinfo is not selfz0fromutc() requires a non-None utcoffset() resultz*fromutc() requires a non-None dst() resultz;fromutc(): dt.dst gave inconsistent results; cannot convert)r   r   r   r   rU   rw   r   )r   r"  dtoffdtdstdeltas   &&   r   fromutctzinfo.fromutc.  s     "h''DEE99D 455= & ' '
 =IJJKBFFHE}  "; < <zr   c                x    \        V R R4      pV'       d	   V! 4       pMRpV P                  W P                  4       3# )__getinitargs__Nr   )r   r   __getstate__)r   getinitargsr   s   &  r   r  tzinfo.__reduce__K  s8    d$5t<=DD&7&7&9::r   r   N)r   r   r  r  r  r  r{   rw   r   r,  r  r  r  r  s   @r   r   r     s2      ILOI:; ;r   c                   n   a a ] tR tRt oV 3R lt]R 4       t]R 4       t]R 4       tR t	R t
RtVtV ;t# )	IsoCalendarDateiT  c               &   < \         SV `  WW#34      # r:  )superr  )r  r   r   r  r   s   """"r   r  IsoCalendarDate.__new__V  s    ws4$9::r   c                    V ^ ,          # rO  r   r+  s   &r   r   IsoCalendarDate.yearY      Awr   c                    V ^,          # )r   r   r+  s   &r   r   IsoCalendarDate.week]  r:  r   c                    V ^,          # r   r   r+  s   &r   r  IsoCalendarDate.weekdaya  r:  r   c                &    \         \        V 4      33# r:  )tupler+  s   &r   r  IsoCalendarDate.__reduce__e  s     d~&&r   c                p    V P                   P                   R V ^ ,           RV ^,           RV ^,           R2# )z(year=z, week=z
, weekday=r  )r   r   r+  s   &r   r!  IsoCalendarDate.__repr__j  s?    >>**+a	a	DG9AG 	Hr   r   )r   r   r  r  r  r  r   r   r  r  r!  r  r  __classcell__)r   r  s   @@r   r4  r4  T  sW     ;      '
H Hr   r4  c                   R  a  ] tR tRt o RtR#tR$R^ /R llt]R 4       t]	R 4       t
]	R 4       t]	R	 4       t]	R
 4       t]	R 4       t]	R 4       tR tR tR tR tR tR%R ltR tR tR tR&R lt]t]R 4       tR tR tR tR tR t R'RR/R llt!]!t"R(R lt#R t$R  t%R! t&R"t'V t(R# ))r   is  a  Time with time zone.

Constructors:

__new__()
strptime()

Operators:

__repr__, __str__
__eq__, __le__, __lt__, __ge__, __gt__, __hash__

Methods:

strftime()
isoformat()
utcoffset()
tzname()
dst()

Properties (readonly):
hour, minute, second, microsecond, tzinfo, fold
Nr   c               H   \        V\        \        34      '       d   \        V4      ^8X  d   \	        VR,          4      ^,          ^8  db   \        V\        4      '       d    VP                  R4      p\        P                  V 4      pTP                  Y;'       g    R4       RVn        V# \        WW4V4      w  rr4p\        V4       \        P                  V 4      pWn        W'n        W7n        WGn        WWn        RVn        Wgn        V#   \         d    \        R4      hi ; i)zConstructor.

Arguments:

hour, minute (required)
second, microsecond (default to zero)
tzinfo (default to None)
fold (keyword only, default to zero)
:r
   r   Nr  znFailed to encode latin1 string when unpickling a time object. pickle.load(data, encoding='latin1') is assumed.Nr   )r   r  r   r   r  r  r  rU   r   r  _time__setstater  r   r   _hour_minute_second_microsecond_tzinfo_fold)r  r   r   r   ru   r   r   r   s   &&&&&&$ r   r  time.__new__  s    teS\**s4yA~S	N4"$$$$L;;x0D >>#&DOOD..D1DNK2D&t35/f4&!~~c"
'
+ * L$KL LLs   "D
 
D!c                .    ^ RI pVP                  WV4      # )zGstring, format -> new time parsed from a string (like time.strptime()).N)r  _strptime_datetime_timer  s   &&& r   r  time.strptime  r  r   c                    V P                   # zhour (0-23)rI  r+  s   &r   r   	time.hour  r2  r   c                    V P                   # zminute (0-59)rJ  r+  s   &r   r   time.minute       ||r   c                    V P                   # zsecond (0-59)rK  r+  s   &r   r   time.second  r[  r   c                    V P                   # zmicrosecond (0-999999)rL  r+  s   &r   ru   time.microsecond          r   c                    V P                   # ztimezone info objectrM  r+  s   &r   r   time.tzinfo  r[  r   c                    V P                   # r:  rN  r+  s   &r   r   	time.fold      zzr   c                f    \        V\        4      '       d   V P                  VR R7      ^ 8H  # \        # T)allow_mixedr   r   r   r<  r=  s   &&r   rk  time.__eq__  s-    eT""99U95::!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8*  # \        # rO  rp  r=  s   &&r   ro  time.__le__  )    eT""99U#q((!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rp  r=  s   &&r   rr  time.__lt__  )    eT""99U#a''!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rp  r=  s   &&r   rv  time.__ge__  rt  r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rp  r=  s   &&r   ry  time.__gt__  rw  r   c                2   \        V\        4      '       g   Q hV P                  pVP                  pR ;rVW4J d   RpM$V P                  4       pVP                  4       pWV8H  pV'       de   \	        V P
                  V P                  V P                  V P                  3VP
                  VP                  VP                  VP                  34      # Ve   Vf   V'       d   ^# \        R4      hV P
                  ^<,          V P                  ,           V\        ^R7      ,          ,
          pVP
                  ^<,          VP                  ,           V\        ^R7      ,          ,
          p	\	        WP                  V P                  3WP                  VP                  34      # )NTz$cannot compare naive and aware timesr_   )r   r   rM  rw   r   rI  rJ  rK  rL  r   r   )
r   r>  ro  mytzottzmyoffotoffbase_comparemyhhmmothhmms
   &&&       r   r   	time._cmp  sC   %&&&&||}}<LNN$EOO%E >LT\\4<<**,emmU]]++-. . =EM FGGb4<</%19M2MMr!EMM1E9Q;O4OOV\\4+<+<=]]E,>,>?A 	Ar   c                   V P                   R8X  EdV   V P                  '       d   V P                  ^ R7      pMT pVP                  4       pV'       g2   \	        VP                  4       ^ ,          4      V n         V P                   # \        \        V P                  V P                  R7      V,
          \        ^R7      4      w  r4V\        ^R7      ,          '       d   Q R4       hV\        ^R7      ,          p^ Tu;8:  d   ^8  d?   M M;\	        \        W4V P                  V P                  4      4      V n         V P                   # \	        W4V P                  V P                  34      V n         V P                   # )r  r   rL   rM   r^   r_   zwhole minuter   )r  r   r   rw   r  r|  r2   r   r   r   r   r   ru   )r   r  tzoffhrB   s   &    r   r  time.__hash__  s   >>RyyyLLaL(KKME!%akkmA&6!7 ~~ idiiMPUU'a02y333C^C3i**;B;%)$qT[[$BRBR*S%TDN ~~ &*1d>N>N*O%PDN~~r   c                8    V P                  4       p\        V4      # )z=Return formatted timezone offset (+xx:xx) or an empty string.)rw   rf   )r   rb   s   & r   _tzstrtime._tzstr-  s    nnc""r   c                   V P                   ^ 8w  d!   RV P                  V P                   3,          pM'V P                  ^ 8w  d   RV P                  ,          pMRpR\        V 4      V P                  P                  V P
                  V P                  V3,          pV P                  e1   VR	R R8X  g   Q hVRR	 RV P                  ,          ,           R,           pV P                  '       d   VR	R R8X  g   Q hVRR	 R,           pV# )
%Convert to formal string, for repr().z, %d, %dz, %dr   z%s%s(%d, %d%s)Nr  , tzinfo=%r	, fold=1)r   )	rL  rK  r   r   r  rI  rJ  rM  rN  r   rd   s   & r   r!  time.__repr__2  s    !dllD,=,=>>A\\Q%AA 1$ 7 $ ; ; $

DLL! = = <<#RS6S= =#255;A:::RS6S= =#2$Ar   c                    \        V P                  V P                  V P                  V P                  V4      pV P                  4       pV'       d	   W#,          pV# )a[  Return the time formatted according to ISO.

The full format is 'HH:MM:SS.mmmmmm+zz:zz'. By default, the fractional
part is omitted if self.microsecond == 0.

The optional argument timespec specifies the number of additional
terms of the time to include. Valid options are 'auto', 'hours',
'minutes', 'seconds', 'milliseconds' and 'microseconds'.
)rZ   rI  rJ  rK  rL  r  )r   rW   rd   r   s   &&  r   r  time.isoformatE  sE     T\\4<<++X7[[]GAr   c                    \        V\        4      '       g   \        R4      hVP                  R4      p V ! \	        V4      ^ ,          !  #   \
         d    \        RT: 24      hi ; i)z>Construct a time from a string in one of the ISO 8601 formats.#fromisoformat: argument must be strTr  )r   r   r   removeprefixr   r  rU   )r  time_strings   &&r   r  time.fromisoformatX  so     +s++ABB
 "..s3	K-k:1=>> 	K9+IJJ	Ks   A
 
A%c           	     l    R^^V P                   V P                  V P                  ^ ^R3	p\        WV4      # )zkFormat using strftime().  The date part of the timestamp passed
to underlying strftime should not be used.
ro   r   )rI  rJ  rK  r   )r   rS   r   s   && r   rk   time.strftimeh  s;     1aZZt||2	 dI66r   c                    \        V\        4      '       g&   \        R \        V4      P                  ,          4      h\        V4      ^ 8w  d   V P                  V4      # \        V 4      # r  r  r  s   &&r   r  time.__format__s  r  r   c                t    V P                   f   R# V P                   P                  R4      p\        RV4       V# )zUReturn the timezone offset as timedelta, positive east of UTC
(negative west of UTC).Nrw   rM  rw   r   r   r   s   & r   rw   time.utcoffset|  4     <<''-+v.r   c                r    V P                   f   R# V P                   P                  R4      p\        V4       V# zReturn the timezone name.

Note that the name is 100% informational -- there's no requirement that
it mean anything in particular. For example, "GMT", "UTC", "-500",
"-5:00", "EDT", "US/Eastern", "America/New York" are all valid replies.
NrM  r{   r   r   r   s   & r   r{   time.tzname  2     <<||""4(dr   c                t    V P                   f   R# V P                   P                  R4      p\        RV4       V# aA  Return 0 if DST is not in effect, or the DST offset (as timedelta
positive eastward) if DST is in effect.

This is purely informational; the DST offset has already been added to
the UTC offset returned by utcoffset() if applicable, so there's no
need to consult dst() unless you're interested in displaying the DST
info.
Nr   rM  r   r   r  s   & r   r   time.dst  4     <<!!$'%(r   c          	         Vf   V P                   pVf   V P                  pVf   V P                  pVf   V P                  pVRJ d   V P                  pVf   V P
                  p\        V 4      ! WW4WVR7      # )z;Return a new time with new values for the specified fields.Tr  )r   r   r   ru   r   rN  r   )r   r   r   r   ru   r   r   s   &&&&&&$r   r   time.replace  sp     <99D>[[F>[[F**KT>[[F<::DDz$VOOr   c                ,   \        V P                  R 4      w  r#\        VR 4      w  rBV P                  pV P                  '       d   V^8  d
   V^,          p\	        WPP
                  V P                  WBV.4      pV P                  f   V3# W`P                  3# r  )r2   rL  rI  rN  r  rJ  rK  rM  )r   protocolus2us3us1r  	basestates   &&     r   r|  time._getstate  s    $++S1#s#JJ:::(Q,HA1llDLLS* +	<<<||,,r   c                   Ve"   \        V\        4      '       g   \        R4      hVw  q0n        V n        rEpV^8  d   ^V n        V^,
          V n        M^ V n        W0n        V^,          V,          ^,          V,          V n        W n        R # )Nbad tzinfo state arg)	r   _tzinfo_classr   rJ  rK  rN  rI  rL  rM  )r   r  r   r  r  r  r  s   &&&    r   r  time.__setstate  sw    j&G&G2337=4<ss7DJSDJDJJ"ax3.14;r   c                <    V P                   V P                  V4      3# r:  r  r   r  s   &&r   __reduce_ex__time.__reduce_ex__      x 899r   c                $    V P                  ^4      # r>  r  r+  s   &r   r  time.__reduce__      !!!$$r   )rN  r  rI  rL  rJ  rK  rM  )rI  rJ  rK  rL  rM  r  rN  r
   r
   r
   r
   NFrQ   )NNNNTr   ))r   r   r  r  r  r  r  r  r  r  r   r   r   ru   r   r   rk  ro  rr  rv  ry  r   r  r  r!  r  r(  r  rk   r  rw   r{   r   r   r  r|  rH  r  r  r  r  r  s   @r   r   r   s  sD    . _I%UV %N K K       ! !    """""A8.#
&" GK K	7P%)P" K-:% %r   c                     a  ] tR tRt o Rt]P                  tR3R^ /R llt]R 4       t	]R 4       t
]R 4       t]R	 4       t]R
 4       t]R 4       t]R 4       t]R4R l4       t]R 4       t]R4R l4       t]R 4       t]R5R l4       t]R 4       tR tR tR tR tR tR tR tR6RR/R llt]tR tR4R lt R t!R7R lt"R t#R  t$]R! 4       t%R" t&R# t'R$ t(R% t)R& t*R' t+R( t,R) t-R8R* lt.R+ t/]/t0R, t1R- t2R9R. lt3R/ t4R0 t5R1 t6R2t7V t8R# ):r   i  zdatetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])

The year, month and day arguments are required. tzinfo may be None, or an
instance of a tzinfo subclass. The remaining arguments may be ints.
Nr   c	                  \        V\        \        34      '       d   \        V4      ^
8X  d|   ^\	        VR,          4      ^,          u;8:  d   ^8:  dV   M MR\        V\        4      '       d    \        VR4      p\        P                  V 4      p
V
P                  W4       RV
n
        V
# \        WV4      w  rp\        WEWgV	4      w  rErgp	\        V4       \        P                  V 4      p
Wn        W*n        W:n        WJn        WZn        Wjn        Wzn        Wn        RV
n
        Wn        V
#   \
         d    \        R4      hi ; i)r   r  r  zrFailed to encode latin1 string when unpickling a datetime object. pickle.load(data, encoding='latin1') is assumed.r   )r   r  r   r   r  r  rU   r   r  _datetime__setstater  r   r   r   r  r  r  rI  rJ  rK  rL  rM  rN  )r  r   r%   r.   r   r   r   ru   r   r   r   s   &&&&&&&&&$ r   r  datetime.__new__  s   teS\**s4yBT#Y$**$$$L x0D >>#&DOOD(DNK-d3?S2D&t35/f4&!~~c"
	
'
3 * L$KL LLs   -D' 'D>c                    V P                   # rT  rU  r+  s   &r   r   datetime.hour	  r2  r   c                    V P                   # rX  rY  r+  s   &r   r   datetime.minute  r[  r   c                    V P                   # r]  r^  r+  s   &r   r   datetime.second  r[  r   c                    V P                   # ra  rb  r+  s   &r   ru   datetime.microsecond  rd  r   c                    V P                   # rf  rg  r+  s   &r   r   datetime.tzinfo  r[  r   c                    V P                   # r:  rj  r+  s   &r   r   datetime.fold"  rl  r   c           
     (   \         P                  ! V4      w  rA\        VR,          4      pVR8  d   V^,          pVR,          pMV^ 8  d   V^,          pVR,          pV'       d   \        P                  M\        P
                  pV! V4      w	  rxrrrp\        V^;4      pV ! WxWWWS4      pVf   V'       g   RpVV8  d(   \        P                  P                  R4      '       d   V# V! VV,
          4      R,          w  rxrrV ! WxWWWS4      pVV,
          \        ^ V4      ,
          pVP                  ^ 8  dE   V! VV\        ^ ^4      ,          ,           4      R,          w  rxrrV ! WxWWWS4      pVV8X  d   ^Vn        V# Ve   VP                  V4      pV# )rConstruct a datetime from a POSIX timestamp (like time.time()).

A timezone info object may be passed in as well.
r  r  winNr?   Nr  )r  r	  r  r@   gmtimer  minsysplatform
startswithr   ra   rN  r,  )r  r  r   r   fracrV   	converterr   rB   rC   rD   rE   rF   r  r  r   resultmax_fold_secondsprobe1transprobe2s   &&&&                 r   _fromtimestampdatetime._fromtimestamp&  sy    **Q-4#:=FA'MB!VFA'MB$'ELLU__	2;A,/aRWCR[Q1""1:c  ) ##(?(?(F(F"+A0@,@"A""EA!qbb5FVOi3C&DDEzzA~&/EYq!_4L0L&Mb&Q#aRQ1""9V##$FL  ^ZZ'Fr   c                @    \        V4       V P                  WRJV4      # )r  N)r   r  )r  	timestampr   s   &&&r   r  datetime.fromtimestampR  s#     	"!!)t^R@@r   c                `    ^ RI pVP                  R\        ^R7       V P                  VRR4      # )z6Construct a naive UTC datetime from a POSIX timestamp.Nzdatetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(t, datetime.UTC).
stacklevelT)warningswarnDeprecationWarningr  )r  r  r  s   && r   utcfromtimestampdatetime.utcfromtimestamp\  s=     	 J )!" 	 	$ !!!T400r   c                N    \         P                  ! 4       pV P                  W!4      # )zBConstruct a datetime from time.time() and optional time zone info.r  )r  r   r  s   && r   nowdatetime.nowh  s      JJL  ''r   c                    ^ RI pVP                  R\        ^R7       \        P                  ! 4       pV P                  VRR4      # )z*Construct a UTC datetime from time.time().Nzdatetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).r  T)r  r  r  r@   r   r  )r  r  r  s   &  r   utcnowdatetime.utcnown  sG     	 = )!" 	 	$ JJL!!!T400r   c                j   \        V\        4      '       g   \        R4      h\        V\        4      '       g   \        R4      hVRJ d   VP                  pV ! VP
                  VP                  VP                  VP                  VP                  VP                  VP                  W2P                  R7	      # )z8Construct a datetime from a given date and a given time.z%date argument must be a date instancez%time argument must be a time instanceTr  )r   _date_classr   _time_classr   r   r%   r.   r   r   r   ru   r   )r  r   r   r   s   &&&&r   combinedatetime.combine{  s     $,,CDD$,,CDDT>[[F499djj$((99dkk4;;8H8H		+ 	+r   c                n   \        V\        4      '       g   \        R4      h\        V4      ^8  d   \	        RV: 24      h \        V4      pV^ V pW^,           R p\        V4      pT'       dz    \        T4      w  rgpT'       d   \	        R4      hT'       dO   Tw  rpT
^8:  dC   T\        Y4      ;p8:  d1   T^,          pY8  d   ^pT
^,          p
T
^8  d   ^p
T	^,          p	YT.pM. ROpT ! YV,           !  #   \         d    \	        RT: 24      Rhi ; i  \         d    \	        RT: 24      Rhi ; i)zBConstruct a datetime from a string in one of the ISO 8601 formats.r  r  Nz9minute, second, and microsecond must be 0 when hour is 24r  )	r   r   r   r   rU   r   r   r   r&   )r  r  separator_locationdstrr   date_componentstime_componentsr   r   r   r%   r.   days_in_months   &&           r   r  datetime.fromisoformat  sr    +s++ABB{a9+IJJ	H!CK!Pq!34D1 467D3D9O
 =J_`dJeG2G
 )$%`aa"'6$D{st@[/[}'\q."#C!QJE$rz() $	+/*<0O_688=  	H,[O<>CGH	H  L 0@BGKLLs   &C9 1D 9DD4c           	         V P                  4       pVf   RpMV'       d   ^pM^ p\        V P                  V P                  V P                  V P
                  V P                  V P                  V4      # r  )r   rJ   r   r%   r.   r   r   r   )r   r   s   & r   r   datetime.timetuple  sY    hhj;CCC!$))TZZ"&))T[[$++"%' 	'r   c                  a
 \        R^^4      o
RpV S
,
          \        ^ ^4      ,          pV
3R lpV! V4      V,
          pW$,
          pV! V4      pWb8X  d5   WQ) V3V P                  ,          ,           pV! V4      V,
          pWH8X  d   V# MWe,
          pWH8w  g   Q hW(,
          pV! V4      p	W8X  d   V# Wb8X  d   V# \        \        3V P                  ,          ! WW4      # )zReturn integer POSIX timestamp.  c                    < \         P                  ! V 4      R ,          w  rr4rV\        WW4WV4      S,
          \        ^ ^4      ,          # )r  )r@   r  r   r   )ur   rB   rC   rD   rE   rF   epochs   &      r   localdatetime._mktime.<locals>.local  s<    "'//!"4R"8A!Q1"1E9i1oMMr   r  )r   r   r   maxr  )r   r  r  r  r   u1t1u2r   t2r  s   &         @r   _mktimedatetime._mktime  s    q!$$E\i1o-	N
 !HqLU2Y7 (*:;DIIFFBb	BAv	  A6M6U2Y7I7I Sz$))$R,,r   c                    V P                   f*   V P                  4       pWP                  R,          ,           # V \        ,
          P	                  4       # )zReturn POSIX timestamp as floatr  )rM  r  ru   _EPOCHr,  r  s   & r   r  datetime.timestamp  s>    <<A''#---6M0022r   c           	         V P                  4       pV'       d	   W,          p V P                  V P                  V P                  rCpV P                  V P
                  V P                  rvp\        W#WEWg^ 4      # )z4Return UTC time tuple compatible with time.gmtime().)rw   r   r%   r.   r   r   r   rJ   )r   r   r   rB   rC   rD   rE   rF   s   &       r   utctimetupledatetime.utctimetuple  sW    !ND))TZZaYYT[[!!rq99r   c                X    \        V P                  V P                  V P                  4      # )zReturn the date part.)r   r  r  r  r+  s   &r   r   datetime.date  s    DJJTYY77r   c                    \        V P                  V P                  V P                  V P                  V P
                  R7      # )z'Return the time part, with tzinfo None.r  )r   r   r   r   ru   r   r+  s   &r   r   datetime.time  s.    DIIt{{DKK9I9IPTPYPYZZr   c           	         \        V P                  V P                  V P                  V P                  V P
                  V P                  R7      # )z'Return the time part, with same tzinfo.r  )r   r   r   r   ru   rM  r   r+  s   &r   timetzdatetime.timetz  s6    DIIt{{DKK9I9ILLtyy2 	2r   c	               R   Vf   V P                   pVf   V P                  pVf   V P                  pVf   V P                  pVf   V P                  pVf   V P
                  pVf   V P                  pVRJ d   V P                  pV	f   V P                  p	\        V 4      ! WW4WVWxV	R7	      # )z?Return a new datetime with new values for the specified fields.Tr  )
r   r%   r.   r   r   r   ru   r   r   r   )
r   r   r%   r.   r   r   r   ru   r   r   s
   &&&&&&&&&$r   r   datetime.replace  s     <99D=JJE;((C<99D>[[F>[[F**KT>[[F<99DDz$s&%D: 	:r   c                   V P                   f^   V P                  4       pV P                  ^V P                  ,
          R7      P                  4       pW!8w  d   W!8  V P                  8X  d   TpMV \        ,
          \        ^R7      ,          p\        P                  ! V4      p\        VR,          !  pVP                  pVP                  p\        \        VR7      V4      # )Nr  r4  r  )r   r  r   r   r  r   r@   r  r   	tm_gmtofftm_zoner   )r   tsts2localtmr  gmtoffzones   &      r   _local_timezonedatetime._local_timezone!  s    ;;B,,AdiiK,088:CyH*B-Ia$88B//"%'"+&""	&1488r   c                   Vf   V P                  4       pM!\        V\        4      '       g   \        R4      hV P                  pVf#   V P                  4       pVP	                  V 4      pMFVP	                  V 4      pVf2   V P                  R R7      P                  4       pVP	                  V 4      pWJ d   V # W,
          P                  VR7      pVP                  V4      # )Nz)tz argument must be an instance of tzinfor   )r0  r   r   r   rw   r   r,  )r   r   r}  myoffsetr   s   &&   r   
astimezonedatetime.astimezone2  s    :%%'BB''GHH{{<'')D~~d+H~~d+H||4|0@@B>>$/:K ''r'2 zz#r   c                   V P                  4       ^,          ;'       g    ^pR\        V,          \        V P                  ,          V P                  V P
                  V P                  V P                  V P                  3,          # )r  z%s %s %2d %02d:%02d:%02d %04d)	r  r  r  r  r  rI  rJ  rK  r  r  s   & r   r  datetime.ctimeM  sb    .."Q&++!.g$IIJJdllJJ2  	r   c                *   RV P                   V P                  V P                  V3,          \        V P                  V P
                  V P                  V P                  V4      ,           pV P                  4       p\        V4      pV'       d	   W5,          pV# )a5  Return the time formatted according to ISO.

The full format looks like 'YYYY-MM-DD HH:MM:SS.mmmmmm'.
By default, the fractional part is omitted if self.microsecond == 0.

If self.tzinfo is not None, the UTC offset is also attached, giving
a full format of 'YYYY-MM-DD HH:MM:SS.mmmmmm+HH:MM'.

Optional argument sep specifies the separator between date and
time, default 'T'.

The optional argument timespec specifies the number of additional
terms of the time to include. Valid options are 'auto', 'hours',
'minutes', 'seconds', 'milliseconds' and 'microseconds'.
z%04d-%02d-%02d%c)
r  r  r  rZ   rI  rJ  rK  rL  rw   rf   )r   rc   rW   rd   rb   r   s   &&&   r   r  datetime.isoformatW  st       4::t{{DIIs"KK$**dllDLL++X77 nnC GAr   c           	     F   V P                   V P                  V P                  V P                  V P                  V P
                  V P                  .pVR,          ^ 8X  d   VR VR,          ^ 8X  d   VR \        V 4      : V P                  P                  : RRP                  \        \        V4      4      : R2pV P                  e1   VRR R8X  g   Q hVRR RV P                  ,          ,           R,           pV P                  '       d   VRR R8X  g   Q hVRR R,           pV# )r  r  r  r  Nr  r  r   )r  r  r  rI  rJ  rK  rL  r   r   r  r   r   r   rM  rN  )r   Lrd   s   &  r   r!  datetime.__repr__r  s    ZZdiiZZt||T5F5FHR5A:"R5A:"+D1..55))CQK02 <<#RS6S= =#255;A:::RS6S= =#2$Ar   c                &    V P                  RR7      # )zConvert to string, for str(). rx   )r  r+  s   &r   r(  datetime.__str__  s    ~~#~&&r   c                .    ^ RI pVP                  WV4      # )zKstring, format -> new datetime parsed from a string (like time.strptime()).N)r  _strptime_datetime_datetimer  s   &&& r   r  datetime.strptime  s     	44SvNNr   c                t    V P                   f   R# V P                   P                  V 4      p\        RV4       V# )zTReturn the timezone offset as timedelta positive east of UTC (negative west of
UTC).Nrw   r  r  s   & r   rw   datetime.utcoffset  r  r   c                r    V P                   f   R# V P                   P                  V 4      p\        V4       V# r  r  r  s   & r   r{   datetime.tzname  r  r   c                t    V P                   f   R# V P                   P                  V 4      p\        RV4       V# r  r  r  s   & r   r   datetime.dst  r  r   c                f    \        V\        4      '       d   V P                  VR R7      ^ 8H  # \        # rn  r   r   r   r<  r=  s   &&r   rk  datetime.__eq__  s-    eX&&99U95::!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8*  # \        # rO  rK  r=  s   &&r   ro  datetime.__le__  )    eX&&99U#q((!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rK  r=  s   &&r   rr  datetime.__lt__  )    eX&&99U#a''!!r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rK  r=  s   &&r   rv  datetime.__ge__  rO  r   c                b    \        V\        4      '       d   V P                  V4      ^ 8  # \        # rO  rK  r=  s   &&r   ry  datetime.__gt__  rR  r   c           
        \        V\        4      '       g   Q hV P                  pVP                  pR ;rVW4J d   RpMV P                  4       pVP                  4       pV'       dk   WPP	                  V P
                  '       * R7      P                  4       8w  d   ^# WaP	                  VP
                  '       * R7      P                  4       8w  d   ^# WV8H  pV'       d   \        V P                  V P                  V P                  V P                  V P                  V P                  V P                  3VP                  VP                  VP                  VP                  VP                  VP                  VP                  34      # Ve   Vf   V'       d   ^# \        R4      hW,
          pVP                  ^ 8  d   R# T;'       d    ^;'       g    ^ # )NTr  z(cannot compare naive and aware datetimesr   )r   r   rM  rw   r   r   r   r  r  r  rI  rJ  rK  rL  r   ra   )	r   r>  ro  r}  r~  r  r  r  diffs	   &&&      r   r   datetime._cmp  s`   %****||}}<LNN$EOO%ELL$))mL<FFHHMM5::~M>HHJJ >LT[[$))T\\4<<**, ellEJJemmU]]++-. . =EM JKK|99q=IzzQr   c                *   \        V\        4      '       g   \        # \        V P                  4       V P                  V P
                  V P                  V P                  R7      pW!,          p\        VP                  R4      w  r4\        V^<4      w  rV^ VP                  u;8  d   \        8:  d]   M MY\        V 4      P                  \        P                  VP                  4      \!        W5VVP"                  V P$                  R7      4      # \'        R4      h)zAdd a datetime and a timedelta.r   r  r3  r  )r   r   r<  r  rI  rJ  rK  rL  r2   rN   ra   r  r   r   r   r  r   rP   rM  r  )r   r>  r+  r   remr   r   s   &&     r   r?  datetime.__add__  s    %++!!$..* $

"&,,"&,,'+'8'8	:
 	5==$/	Ruzz([(:%%d&6&6uzz&B&*4+0+=+=26,,'@A A 122r   c                   \        V\        4      '       g&   \        V\        4      '       d
   W) ,           # \        # V P	                  4       pVP	                  4       pV P
                  V P                  ^<,          ,           V P                  R,          ,           pVP
                  VP                  ^<,          ,           VP                  R,          ,           p\        W#,
          WE,
          V P                  VP                  ,
          4      pV P                  VP                  J d   V# V P                  4       pVP                  4       pWx8X  d   V# Ve   Vf   \        R4      hWh,           V,
          # )z6Subtract two datetimes, or a datetime and a timedelta.r  z(cannot mix naive and timezone-aware time)r   r   r   r<  r  rK  rJ  rI  rL  rM  rw   r   )	r   r>  r  r  secs1secs2baser  r  s	   &&       r   rC  datetime.__sub__	  s   %**%++f}$!! !t||b004::3DD 22U[[45GG**U-?-??A <<5==(K !>K=EMFGG|e##r   c                8   V P                   R8X  d   V P                  '       d   V P                  ^ R7      pMT pVP                  4       pVf2   \	        VP                  4       ^ ,          4      V n         V P                   # \        V P                  V P                  V P                  4      pV P                  R,          V P                  ^<,          ,           V P                  ,           p\	        \        W4V P                  4      V,
          4      V n         V P                   # )r   r  r  r   )r  r   r   rw   r  r|  r0   r   r%   r.   r   r   r   r   ru   )r   r  r  ra   rN   s   &    r   r  datetime.__hash__&	  s    >>RyyyLLaL(KKME}!%akkmA&6!7
 ~~  		4::txx@))d*T[[2-==K!%it?O?O&PSX&X!Y~~r   c                   \        V P                  R 4      w  r#\        V P                  R 4      w  rE\        VR 4      w  rdV P                  pV P                  '       d   V^8  d
   V^,          p\        W#WpP                  V P                  V P                  V P                  WdV.
4      pV P                  f   V3# WP                  3# r  )r2   r  rL  r  rN  r  r  rI  rJ  rK  rM  )	r   r  r  r  r  r  r  rB   r  s	   &&       r   r|  datetime._getstate7	  s    $**c*$++S1#s#KK:::(Q,HA3Q		::t||T\\S* +	 <<<||,,r   c           
     \   Ve"   \        V\        4      '       g   \        R4      hVw
  r4qPn        V n        V n        V n        rgpV^8  d   ^V n        V^,
          V n        M^ V n        WPn        VR,          V,           V n	        V^,          V,          ^,          V,          V n
        W n        R # )Nr  r  )r   r  r   r  rI  rJ  rK  rN  r  r  rL  rM  )	r   r  r   r  r  rB   r  r  r  s	   &&&      r   r  datetime.__setstateF	  s    j&G&G2336<	41i	t|Sss7DJc'DKDJK3Y_
"ax3.14;r   c                <    V P                   V P                  V4      3# r:  r  r  s   &&r   r  datetime.__reduce_ex__U	  r  r   c                $    V P                  ^4      # r>  r  r+  s   &r   r  datetime.__reduce__X	  r  r   )
r  rN  r  rI  rL  rJ  r  rK  rM  r  )NNr
   r
   r
   r
   Nr:  )T)NNNNNNNT)r  rQ   r  r  )9r   r   r  r  r  r   r  r  r  r   r   r   ru   r   r   r  r  r  r  r  r  r   r  r   r  r  r  r   r$  r   r  r0  r5  r  r  r!  r(  r  rw   r{   r   rk  ro  rr  rv  ry  r   r?  r  rC  r  r|  r  r  r  r  r  r  s   @r   r   r     s    
 I!45!H       ! !     ) )V A A 	1 	1 ( (
 
1 
1 
+ 
+ -9 -9^' -F3:8[2
::2 K9"66&' O O
""""""#J3& H$0"-:% %r   c                 r    ^p\        V ^^4      pV^,           ^,          pW#,
          pW18  d
   V^,          pV# r  )r0   )r   THURSDAYfirstdayfirstweekdayr  s   &    r   r   r   a	  sA    Ha#HqLA%L)Kqr   c                      a  ] tR tRt o Rt]! 4       t]3R ltR t]	RR l4       t
R tR tR tR	 tR
 tR tR tR tR t]! ^RR7      t]) t]R 4       tRtV tR# )r   il	  c                \   \        V\        4      '       g   \        R 4      hW P                  J d   V'       g   V P                  # RpM!\        V\
        4      '       g   \        R4      hV P                  Tu;8:  d   V P                  8:  g   M \        RV: 24      hV P                  W4      # )zoffset must be a timedeltaNzname must be a stringr   )
r   r   r   _Omittedr   r   
_minoffset
_maxoffsetrU   _create)r  r   r   s   &&&r   r  timezone.__new__q	  s    &),,899<<wwDD#&&344~~93>>9 99?
D E E {{6((r   c                    \        R 4      h)z7type 'datetime.timezone' is not an acceptable base type)r   )r  s   &r   __init_subclass__timezone.__init_subclass__	  s    QRRr   Nc                H    \         P                  V 4      pWn        W#n        V# r:  )r   r  _offset_name)r  r   r   r   s   &&& r   ru  timezone._create	  s    ~~c"
r   c                h    V P                   f   V P                  3# V P                  V P                   3# )zpickle supportr|  r{  r+  s   &r   r/  timezone.__getinitargs__	  s+    ::LL?"djj))r   c                l    \        V\        4      '       d   V P                  VP                  8H  # \        # r:  )r   r   r{  r<  r=  s   &&r   rk  timezone.__eq__	  s(    eX&&<<5==00r   c                ,    \        V P                  4      # r:  )r  r{  r+  s   &r   r  timezone.__hash__	  s    DLL!!r   c                ,   W P                   J d   R# V P                  f5   \        V 4      : V P                  P                  : RV P
                  : R2# \        V 4      : V P                  P                  : RV P
                  : RV P                  : R2# )zConvert to formal string, for repr().

>>> tz = timezone.utc
>>> repr(tz)
'datetime.timezone.utc'
>>> tz = timezone(timedelta(hours=-5), 'EST')
>>> repr(tz)
"datetime.timezone(datetime.timedelta(-1, 68400), 'EST')"
zdatetime.timezone.utcr  r  r  )r   r|  r   r   r  r{  r+  s   &r   r!  timezone.__repr__	  so     88*::!24!8!%!<!<!%/ / "34!8!%!<!<!%tzz; 	;r   c                $    V P                  R 4      # r:  )r{   r+  s   &r   r(  timezone.__str__	  s    {{4  r   c                d    \        V\        4      '       g   Vf   V P                  # \        R4      h)Nz8utcoffset() argument must be a datetime instance or None)r   r   r{  r   r!  s   &&r   rw   timezone.utcoffset	  s/    b(##rz<< # $ 	$r   c                    \        V\        4      '       g   Vf6   V P                  f   V P                  V P                  4      # V P                  # \        R4      h)Nz5tzname() argument must be a datetime instance or None)r   r   r|  _name_from_offsetr{  r   r!  s   &&r   r{   timezone.tzname	  sN    b(##rzzz!--dll;;:: # $ 	$r   c                P    \        V\        4      '       g   Vf   R # \        R4      h)Nz2dst() argument must be a datetime instance or None)r   r   r   r!  s   &&r   r   timezone.dst	  s(    b(##rz # $ 	$r   c                    \        V\        4      '       d.   VP                  V Jd   \        R 4      hWP                  ,           # \        R4      h)zfromutc: dt.tzinfo is not selfz6fromutc() argument must be a datetime instance or None)r   r   r   rU   r{  r   r!  s   &&r   r,  timezone.fromutc	  sL    b(##yy$  "/ 0 0$$ # $ 	$r   )rL   rP   c           
     V   V '       g   R # V \        ^ 4      8  d   RpV ) p MRp\        V \        ^R7      4      w  r#\        V\        ^R7      4      w  rCVP                  pVP                  pV'       d   R V VR RVR RVR RVR 2	# V'       d   R V VR RVR RVR 2# R V VR RVR 2# )	UTCr\   r]   r^   r_   02dry   .06d)r   r2   rN   rP   )r+  re   rL   restrM   rN   rP   s   &      r   r  timezone._name_from_offset	  s    9Q<DFEDUIA$67tYq%9:,,(($c{!GC='#S)+ ,uSk73-qFFTF5+Qwsm44r   r  )r{  r|  r:  r   )r   r   r  r  r  r   rr  r  rx  r  ru  r/  rk  r  r!  r(  rw   r{   r   r,  r   rt  rs  staticmethodr  r  r  r  s   @r   r   r   l	  s     "I xH"* )S  *
";(!$$$$ "5JJ5 5r   r  r  r3  )	r   r   r   r   r   r   r   r   r  r   )r         r     r  r  r  r  r  r  r  r  i  )NJanFebMarAprMayJunJulAugSepOctNovDec)NMonTueWedThuFriSatSunr  )ry   )i i'  rR   d   r   i6e)Hr  __all__r   r   r@   mathr  r  operatorr   r   r   r   r   r   r  r#   r)   dbmr/   r   r   r!   r&   r*   r0   r3   r4   r5   r=   r  r  rJ   rZ   rf   rj   rl   rp   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  
resolutionr   r  r   rA  r4  r  r  r  r   r   r   ru  r  r   r  r   r   r   <module>r     s5   8(    
 $/ 
 FT "Cc"3JC  B*
!F
 C
 
C
 
A
   !g+/! !! "u*q.    <~?C	I
**$   N0b6r!"H 6 -^7>tB8
A3"
(H2 H2T
 *%	yB'-/	 a0	 M2 M2^
 1a=b"#:; :;zHe H6 # a% a%F 1a=BF#+|	%t |	%~ 1a b"b"b&9Q/ u5v u5n %%il3 3hl
 R!@ @A	B ?@	$1X\\	2r   