
    ^hf	                    x    S SK Jr  S SKJr  S SKJrJr  S SKJr  S SKJ	r	J
r
JrJrJr  \(       a  S SKJr  S	S jrg)
    )annotations)datetime)ROUND_HALF_UPDecimal)TYPE_CHECKING)max_day_in_monthmod2mod3quot2quot3)Durationc                   [        U R                  5      UR                  R                  -   n[	        U[        S5      [        S5      5      n[        U[        S5      [        S5      5      n[        U R                  5      UR                  R                  -   U-   nU R                  n[        U R                  5      UR                  R                  -   n[        U[        S5      5      n[        U[        S5      5      n[        U R                  5      UR                  R                  -   U-   n[        U[        S5      5      n[        U[        S5      5      n[        U R                   5      UR                  R"                  -   U-   n[        U[        S5      5      n	[        U[        S5      5      n[%        XS5      n
U R&                  U
:  a  U
nO[        U R&                  5      nX!R                  R(                  -   SUR                  R*                  -  -   U-   n US:  a  U[%        XSS-
  5      -  n[        S5      nO*U[%        XS5      :  a  U[%        XS5      -  n[        S5      nOOGX4-   n[	        U[        S5      [        S5      5      nU[        U[        S5      [        S5      5      -   nM  [-        [/        UR1                  [2        5      5      [/        UR1                  [2        5      5      [/        UR1                  [2        5      5      [/        U	R1                  [2        5      5      [/        UR1                  [2        5      5      [/        UR1                  [2        5      5      US9$ )zB
https://www.w3.org/TR/xmlschema-2/#adding-durations-to-dateTimes
      6024   )yearmonthdayhourminutesecondtzinfo)r   r   datemonthsr
   r   r   yearsr   r   timesecondsr	   r   r   minutesr   hoursr   r   daysweeksr   intto_integral_valuer   )startdurationtemp	end_monthcarryend_year
end_tzinfo
end_second
end_minuteend_hourend_max_day_in_monthend_days               Y/home/james-whalen/.local/lib/python3.13/site-packages/isoduration/operations/__init__.pyaddr4      s    5;;(--"6"66DT71:wr{3I$
GBK0E uzz"X]]%8%885@H J 5<< 8==#8#88DdGDM*J$&E 5<< 8==#8#885@DdGDM*J$&E 5::!4!44u<DD'$-(H$&E ,H@yy''#uyy!]]'''1x}}/B/B+BCeKG
Q;'a-@@GBKE'<<'<<GAJE wqz72;7	eD'!*gbkBB  ++M:;)--m<=))-89++M:;://>?://>?     N)r'   r   r(   r   returnr   )
__future__r   r   decimalr   r   typingr   isoduration.operations.utilr   r	   r
   r   r   isoduration.typesr   r4    r5   r3   <module>r=      s"    "  *   R R*?r5   