python (3.11.7)

(root)/
lib/
python3.11/
__pycache__/
datetime.cpython-311.opt-2.pyc

ef		dZddlZddlZddlZddlmZdZ	dZ
dZdZgdZ
d	gZdZe
ddD]Zeeeez
Z[[d
ZdZdZd
ZdZedZedZedZdZgdZgdZdZdFdZdZdZ dZ!dZ"dZ#gdZ$dZ%dZ&d Z'd!Z(d"Z)d#Z*d$Z+d%Z,d&Z-d'Z.Gd(d)Z/e/d*e/_0e/d+d,d-d-d./e/_1e/d0e/_2Gd1d2Z3e3Z4e3ddde3_0e3dd3d4e3_1e/d5e3_2Gd6d7Z5Gd8d9e6Z7e7Z8[7e5Z9Gd:d;ZeZ:eddde_0ed,d-d-d.e_1e/d0e_2Gd<d=e3Z;e;ddde;_0e;dd3d4d,d-d-d.e;_1e/d0e;_2d>Z<Gd?d@e5Z=e=>e/dxZ?e=_@e=>e/d,d-Ae=_0e=>e/d,d-Ae=_1e;dBdde=j@CZA	ddDlBT[[[
[[[[A[[[[*[+[,[([)[	[-[4[[[[[[[[<[[[[:[9[ [[.[#[&[%[8['["[$[!ddElBmCZCdS#eD$rYdSwxYw)G)	datedatetimetime	timedeltatimezonetzinfoMINYEARMAXYEARUTCN)indexc&||krdn	||krdndS)Nrxys  </BuggyBox/python/3.11.7/bootstrap/lib/python3.11/datetime.py_cmprs Q11QAAB.ri'i۹7)
rrrrrrrrrrrc:	|dzdko|dzdkp|dzdkS)Nrdr)years r_is_leapr*s-%!8q=AdSjAo@qArc<	|dz
}|dz|dzz|dzz
|dzzS)Nrmrrrr)rrs  r_days_before_yearr".s28qAS51a4<!S& 1c6))rcL	|dkrt|rdSt|S)N)r_DAYS_IN_MONTHrmonths  r_days_in_monthr)3s(?zzhtnnzr%  rcJ	t||dkot|zSNr$)_DAYS_BEFORE_MONTHrr's  r_days_before_monthr-:s$Ie$	(DhtnnEErcj	t||}t|t||z|zSN)r)r"r-rr(daydims    r_ymd2ordr3?s>D
u
%
%Cd##tU++
,
riec	|dz}t|t\}}|dzdz}t|t\}}t|t\}}t|d\}}||dz|dzz|zz
}|dks|dkr|dz
ddfS|dko|d	kp|dk}|d
zdz	}t||dko|z}||kr|dz}|t
||dko|zz}||z}|||dzfS)
Nrrr!rrr2r5r$)divmod_DI400Y_DI100Y_DI4Yr,r&)	nn400rn100n4n1leapyearr(	precedings	         r_ord2ymdrFXs7F,FAQ  GD!#:>DQ  GD!
1eEB
1cNNEBD3Ja"$$D	Qww$!))Avr2~Qw2B"H1	H
VME"5)UQY-C8DI1}}

^E*eqj.EXFF	NA
!r)
NJanFebMarAprMayJunJulAugSepOctNovDec)NMonTueWedThuFriSatSunct|||dzdz}t|||z}tj|||||||||f	SN)r3r-_timestruct_time)	rmdhhmmssdstflagwdaydnums	         r_build_struct_timerhsUQ1!Q&Da##a'DaAr2r4wGHHHrautocdddddd}|dkr|rdnd	}n|d
kr|dz}	||}|||||S#t$rtdwxYw)
Nz{:02d}z
{:02d}:{:02d}z{:02d}:{:02d}:{:02d}z{:02d}:{:02d}:{:02d}.{:03d}z{:02d}:{:02d}:{:02d}.{:06d})hoursminutessecondsmillisecondsmicrosecondsrirormrnzUnknown timespec value)formatKeyError
ValueError)rbrcrdustimespecspecsfmts       r_format_timerxs")55

E6%'6>>Y	^	#	#
t*Hozz"b"b)))33312223sAAc"d}||jdkrd}|}nd}t|td\}}t|td\}}|d|||fzz
}|s|jr!|d	|jzz
}|jr
|d
|jzz
}|S)Nr-+rrkrlz%s%02d:%02dz:%02d.%06d)daysr;rrorm)offssignrbrcrds      r_format_offsetrs
A
8a<<D$CCDYQ///00BIa00011B	]dB^
++
	/	/
2:%%A
/Wr..Hrcd}d}d}g}|j}dt|}	}||	kr||}
|dz
}|
dkr||	kr|||}
|dz
}|
dkr-|dt|ddz}||nS|
dkr|d}t|d	r|}|d
}|jdkr|}d}t
|td\}
}t
|td
\}}|j}|j	}|rd||
|||fz}n|r
d||
||fz}nd||
|fz}||n|
dkrV|>d}t|dr,|
}||dd}||n.|d||
n|dn||
||	kd|}tj||S)Nrr%fz%06dmicrosecondzrz	utcoffsetr|r{r}r~z%c%02d%02d%02d.%06dz%c%02d%02d%02dz
%c%02d%02dZtznamez%%)appendlengetattrhasattrrrr;rrmrorreplacejoinr^strftime)objectrq	timetuplefreplacezreplaceZreplace	newformatpushir?choffsetrhrestr`rus                  r_wrap_strftimersHHHIDc&kkqA
a%%
AY	Q
991uuAYQ99'#)GF4A1-F-F$F$$X....3YY'#%"6;77K%+%5%5%7%7F%1'*#);??.4WF+.D*09K9K9K*L*L4*0y7K7K7K*L*L4$(L$*$7#$!K/DaQRTUWXGY/YHH%&!K/?4Aq//QHH/;tQl/JH$$X....3YY'#%"6844@ &

A }+,99S$+?+?$$X....DIIIDHHHHS				DHHHca%%d	""I>)Y///rc
|dvS)N
0123456789r)cs r_is_ascii_digitr	s
rct|}|dkrdSd}d}|d|krk|d|kr]|dkrtd|dkr@|d|kr4|dkrtd|d	krt|d	rdSd	SdSd	S|d|kr>d}||kr!t||sn|d
z
}||k!|dkr|S|dzdkrdSdSdS)
Nr]r{Wrr5zInvalid ISO string	
rr$r)rrsr)dtstr	len_dtstrdate_separatorweek_indicatoridxs     r"_find_isoformat_datetime_separatorrs5E

IA~~qNNQx>!!8~%%1}} !56661}}q^!;!;>>$%9:::r>>oeBi&@&@>1rq28~%%C	//&uSz22q	//
Qww
Qw!||qq1rcvt|dd}|ddk}d|z}|||dzdkr|dz
}t|||dz}|dz
}d}t||krC|||dzdk|krtd||z
}t|||dz}tt	|||St|||dz}|dz
}|||dzdk|krtd||z
}t|||dz}|||gS)Nrrr{rrr$z"Inconsistent use of dash separator)intrrslist_isoweek_to_gregorian)rrhas_sepposweeknodaynor(r1s        r_parse_isoformat_daterEspuQqSz??DAh#oG
g+CSq[S  qU3sQw;'((qu::c#'k"c)g55 !EFFF7NCc#'k*++E)$>>???E#cAg+&''q#cAg+#%'11ABBBw%C!G$%%eS!!r)ii'rprrct|}gd}d}tddD]~}||z
dkrtdt|||dz||<|dz
}|||dz}|dkr|dk}|r|dkrn |r|dkrtd|z||z
}||kr||d	vrtd
|dz
}||z
}|dkrd}n|}t||||z|d<|dkr|dxxt|dz
zcc<||kr<tt
t|||zdstd|S)
N)rrrrrr8r$zIncomplete time componentr:zInvalid time separator: %cz.,zInvalid microsecond componentr\z%Non-digit values in unparsed fraction)rrangersr_FRACTION_CORRECTIONallmapr)	tstrlen_str
time_compsrcomp	next_charr
len_remainderto_parses	         r_parse_hh_mm_ss_ffrls$iiGJ
CacMQ8999tCAI//
4qSUO	1993&G	DAIIE	GyC''9IEFFFw
W}}9D  <===1HC#cMM!!(S#h,%7 899JqM!||1


!5hqj!AA


((OT3x<//5J K KLL) !HIIIrct|}|dkrtd|ddzp/|ddzp|ddz}|dkr
|d|dz
n|}t|}d}||kr|ddkr
tj}n|dkr||d}t|d	vrtd
t|}t
d|Dr
tj}nP||dz
dkrdnd}t|d|d|d|d
}	t	||	z}|||S)Nr$zIsoformat time too shortr{rr|rrr)rrr8zMalformed time zone stringc3"K|]
}|dkVdS)rNr).0rs  r	<genexpr>z(_parse_isoformat_time.<locals>.<genexpr>s&((!qAv((((((rr8rkrlrmro)	rrsfindrrutcrrr)
rrtz_postimestrrtzitzstrtz_compstzsigntds
          r_parse_isoformat_timers$iiG{{3444iinnq LDIIcNNQ$6L$))C..1:LF!'!d9F1H9ooG#G,,J
C
T"X__l	!VWW
u::""9:::%e,,((x(((((	(,CC
+s22RRF!hqk#+A;Xa[JJJB6B;''Ccrct|cxkrtksntd|d|cxkrdksOnd}|dkr1t|dddz}|dks|dkrt	|rd	}|rtd
|d|cxkrdksntd|d
|dz
dz|dz
z}t|}||z}t
|S)NzYear is out of range: r5Trr]rr8FzInvalid week: rzInvalid weekday: z (range is [1, 7]))rr	rsr3r_isoweek1mondayrF)rweekr1out_of_range
first_weekday
day_offsetday_1ord_days        rrrs,d%%%%g%%%%8$88999t====b====2::%T1a0014M""}'9'9'/~~(:$	64d44555s;;;;Q;;;;DSDDDEEE(a37+J
D!!Ej GGrcv|4t|ts!tdt|zdSdS)Nz4tzinfo.tzname() must return None or string, not '%s')
isinstancestr	TypeErrortype)names r
_check_tznamersJ
4 5 5#%)$ZZ011	1rc|dSt|ts#td|dt|dtd|cxkrtdksnt	|d|ddS)Nztzinfo.z'() must return None or timedelta, not ''rz()=zG, must be strictly between -timedelta(hours=24) and timedelta(hours=24))rrrrrs)rrs  r_check_utc_offsetrs
~fi((Ii48DD$v,,,,HII	IaLL=60000IaLL0000$$())	)10rcxt|}t|}t|}t|cxkrtks!ntdttfz|d|cxkrdksntd|t	||}d|cxkr|ksntd|z||||fS)Nzyear must be in %d..%drr7zmonth must be in 1..12zday must be in 1..%d)_indexrr	rsr)r0s    r_check_date_fieldsrs$<<D5MME
++Cd%%%%g%%%%1Wg4FFMMM15999
u
%
%C????s????/#5s;;;rct|}t|}t|}t|}d|cxkrdksntd|d|cxkrdksntd|d|cxkrdksntd|d|cxkrdksntd||d	vrtd
||||||fS)Nrzhour must be in 0..23;zminute must be in 0..59zsecond must be in 0..59?Bz microsecond must be in 0..999999)rrzfold must be either 0 or 1)rrs)hourminutesecondrfolds     r_check_time_fieldsrs$<<D
F^^F
F^^F%%K????????0$777"2F;;;"2F;;;%%%%v%%%%;[III65t<<<d22rcV|$t|tstddSdS)Nz4tzinfo argument must be None or of a tzinfo subclass)rrr)tzs r_check_tzinfo_argr!s/	~jV44~NOOO~~~rcvtdt|jdt|jd)Nzcan't compare 'z' to 'r)rr__name__rs  r	_cmperrorr%s>
)GG$$$d1gg&6&6&68999rc	t||\}}|dz}|dkr||kn||k}|s||kr|dzdkr|dz
}|S)Nr$rr)r;)abqrgreater_than_halfs     r_divide_and_roundr)si!Q<<DAqFA!"QAAEAFFq1uzz	QHrceZdZ	dZ		d!dZdZdZdZedZ	edZ
ed	Zd
ZeZ
dZdZd
ZdZdZdZeZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d S)"r)_days_seconds
_microseconds	_hashcodercldx}x}	}
||dzz
}||dz|dzzz
}||dzz
}t|trPtj|\}}tj|dz\}}
t	|
}	t	|}nd}|}t|tr,tj|\}}t	|}||z
}n|}t|d\}}||z
}|	t	|z
}	|d	z}t|trCt
||z}t|d
\}}t|d\}}||z
}|	|z
}	nQt	|}t|d
\}}t|d\}}||z
}|	|z
}	t
||z}t|d
\}}
|	|z
}	t|	d\}}	||z
}t|dkrtd|zt
|}||_|	|_|
|_
d
|_|S)Nrr]<rpg@gQ.A@Bɚ;z$timedelta # of days is too large: %dr)rfloat_mathmodfrr;roundabs
OverflowErrorr__new__rrrr)clsrrmrornrlrkweeksrarrtdayfracdaysecondsfracdaysecondswholesecondsfracusdoubleselfs                 rrztimedelta.__new__PswA	
a72:d
**T))dE""		!Jt,,MGT.3jI9N.O.O+NOO$$AD		AA NAgu%%	)#(:g#6#6 K'llG>)KK)Kw00
g	T		S\\
$lE**	: !899L$*<$A$A!G\"7G44MD'
IA
LAA|,,L$*<$A$A!G\"7G44MD'
IA
LA !899L\733	WG$$a	T	q66I F JKKK~~c""

rcpg}|jr|d|jz|jr|d|jz|jr|d|jz|s|d|jjd|jjdd|dS)	Nzdays=%dz
seconds=%dzmicroseconds=%d0.(, ))rrrr	__class__
__module____qualname__r)rargss  r__repr__ztimedelta.__repr__s:	0KK	DJ.///=	6KKt}4555	@KK)D,>>???	KK"n777"n999"iioooo/	/rct|jd\}}t|d\}}d|||fz}|jrd}d||jz|z}|jr
|d|jzz}|S)Nr	z%d:%02d:%02dc4|t|dkrdpdfS)Nrrrz)r)r?s rpluralz!timedelta.__str__.<locals>.plurals!#a&&A+-#333rz
%d day%s, r)r;rrr)rrcrdrbrr+s      r__str__ztimedelta.__str__s
r**BBBb"b\):	8
4
4
4tz 2 22a7A	1Gd000ArcD	|jdz|jzdz|jzdzSNrr
)rrmrors r
total_secondsztimedelta.total_secondss3,U"T\1U:!"%*+	+rc	|jSr/rr/s rrztimedelta.dayss
zrc	|jSr/)rr/s rrmztimedelta.secondss
}rc	|jSr/)rr/s rroztimedelta.microsecondss!!rct|tr8t|j|jz|j|jz|j|jzSt
Sr/rrrrrNotImplementedrothers  r__add__ztimedelta.__add__YeY''	GTZ%+5!]U^;!/%2EEGG
Grct|tr8t|j|jz
|j|jz
|j|jz
St
Sr/r6r8s  r__sub__ztimedelta.__sub__r;rcFt|tr||zStSr/)rrr7r8s  r__rsub__ztimedelta.__rsub__s&eY''	!55= rcHt|j|j|jSr/)rrrrr/s r__neg__ztimedelta.__neg__s,$*-,,..	.rc|Sr/rr/s r__pos__ztimedelta.__pos__src"|jdkr|S|SNrr2r/s r__abs__ztimedelta.__abs__s:>>5LKrcPt|tr)t|j|z|j|z|j|zSt|trM|}|\}}tddt||z|StSrE)rrrrrrr_to_microsecondsas_integer_ratiorr7rr9usecrrs     r__mul__ztimedelta.__mul__
seS!!	9TZ%/!]U2!/%799
9eU##	C((**D))++DAqQ#4TAXq#A#ABBBrc<|jdz|jzdz|jzSr.rrrr/s rrHztimedelta._to_microsecondss(w'$-77B"#	$rct|ttfstS|}t|tr||zSt|trtdd||zSdSrE)rrrr7rH)rr9rKs   r__floordiv__ztimedelta.__floordiv__ s%#y!122	"!!$$&&eY''	45113333eS!!	2Q45=111	2	2rct|tttfstS|}t|tr||zSt|trtddt
||St|tr9|\}}tddt
||z|SdSrE)rrrrr7rHrrIrJs     r__truediv__ztimedelta.__truediv__)s%#ui!899	"!!$$&&eY''	3%002222eS!!	CQ#4T5#A#ABBBeU##	C))++DAqQ#4QXq#A#ABBB	C	Crct|tr:||z}tdd|StSrE)rrrHr7)rr9rs   r__mod__ztimedelta.__mod__5sNeY''	&%%''%*@*@*B*BBAQ1%%%rct|trJt||\}}|tdd|fStSrE)rrr;rHr7)rr9rrs    r
__divmod__ztimedelta.__divmod__;saeY''	)$//11002244DAqi1a((((rclt|tr||dkStSrErrrr7r8s  r__eq__ztimedelta.__eq__D1eY''	"99U##q((!!rclt|tr||dkStSrErXr8s  r__le__ztimedelta.__le__JrZrclt|tr||dkStSrErXr8s  r__lt__ztimedelta.__lt__P1eY''	"99U##a''!!rclt|tr||dkStSrErXr8s  r__ge__ztimedelta.__ge__VrZrclt|tr||dkStSrErXr8s  r__gt__ztimedelta.__gt__\r_rcjt||Sr/)r	_getstater8s  rrztimedelta._cmpbs&DNN$$eoo&7&7888rcr|jdkr&t||_|jSNrrhashrer/s r__hash__ztimedelta.__hash__fs0>R!$.."2"233DN~rcD|jdkp|jdkp
|jdkSrErNr/s r__bool__ztimedelta.__bool__ks/
a(
"("a'	)rc*|j|j|jfSr/rNr/s rreztimedelta._getstaters
DM4+=>>rc8|j|fSr/r$rer/s r
__reduce__ztimedelta.__reduce__u 0 011rN)rrrrrrr)$rr%r&	__slots__rr(r,r0propertyrrmror:__radd__r=r?rArCrFrL__rmul__rHrPrRrTrVrYr\r^rarcrrjrlrerprrrrr=s BI56:;ccccJ///


+++XX""X"H
...H$$$222
C
C
C"""""""""""""""999
)))???22222rri6errrr)rrkrlrmro)roc`eZdZ	dZd#dZedZedZedZedZ	edZ
d	Zd
ZdZ
dZd
ZeZedZedZedZdZdZd$dZdZdZdZdZdZdZdZdZeZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'dS)%r)_year_month_dayrNcL	|t|ttfrt|dkrdt	|ddcxkrdkrnnt|tr4	|d}n#t$rtdwxYwt	|}|
|d|_|St|||\}}}t	|}||_
||_||_d|_|S)	Nrrr$r8r7latin1znFailed to encode latin1 string when unpickling a date object. pickle.load(data, encoding='latin1') is assumed.r)rbytesrrordencodeUnicodeEncodeErrorrsrr_date__setstaterrrwrxry)rrr(r1rs     rrzdate.__new__sD	
MteS\**
/24yyA~~
T!A#Y%%%%2%%%%%$$$
LL;;x00DD)LLL$KLLLL>>#&&DOOD!!!DNK-dE3??eS~~c""
	s.BBc	Z	tj|\	}}}}}}}}	}
||||Sr/)r^	localtime)rtrr`rarbrcrdweekdayjdaydsts           r
fromtimestampzdate.fromtimestamps9E27/!2D2D/1aRWdCs1a||rcT	tj}||Sr/r^rrrrs  rtodayz
date.todays$,JLL  ###rcD	t|\}}}||||Sr/)rF)rr?rr`ras     rfromordinalzdate.fromordinals,	
1++1as1a||rc	t|tstdt|dvrt	d|	|t|S#t$rt	d|wxYw)N#fromisoformat: argument must be str)r]rrInvalid isoformat string: )rrrrrsr	Exception)rdate_strings  r
fromisoformatzdate.fromisoformats@+s++	CABBB{:--I+IIJJJ	K3-k::;;	K	K	KI+IIJJJ	Ks
AA9c,	|t|||Sr/)r)rrrr1s    rfromisocalendarzdate.fromisocalendars$	Bs)$c::;;rc^	d|jj|jj|j|j|jfzS)Nz%s.%s(%d, %d, %d))r$r%r&rwrxryr/s rr(z
date.__repr__s9	#dn&?&*n&A&*j&*k&*i	&11	1rc	|dzpd}dt|t|j|j|jfzS)Nr]z%s %s %2d 00:00:00 %04d)	toordinal	_DAYNAMES_MONTHNAMESrxryrwrrs  rctimez
date.ctimesK&..""Q&+!(g$Itz,##	#rcJ	t|||Sr/)rrrrws  rrz
date.strftimes%	
dC)9)9:::rct|ts$tdt|jzt|dkr||St|SNzmust be str, not %srrrrrrrrrs  r
__format__zdate.__format___#s##	H1DII4FFGGGs88q====%%%4yyrc2	d|j|j|jfzS)Nz%04d-%02d-%02d)rwrxryr/s r	isoformatzdate.isoformats!	 4:t{DI"FFFrc	|jSr/)rwr/s rrz	date.year!s
zrc	|jSr/)rxr/s rr(z
date.month&s
{rc	|jSr/)ryr/s rr1zdate.day+s
yrc	L	t|j|j|jddddS)Nrr)rhrwrxryr/s rrzdate.timetuple3s,C!$*dk49"#Q2//	/rcD	t|j|j|jSr/)r3rwrxryr/s rrzdate.toordinal8s!	

DK;;;rcn	||j}||j}||j}t||||Sr/)rwrxryr)rrr(r1s    rrzdate.replace@sCI<:D=KE;)CtDzz$s+++rclt|tr||dkStSrErrrr7r8s  rrYzdate.__eq__L1eT""	)99U##q((rclt|tr||dkStSrErr8s  rr\zdate.__le__Qrrclt|tr||dkStSrErr8s  rr^zdate.__lt__V1eT""	(99U##a''rclt|tr||dkStSrErr8s  rrazdate.__ge__[rrclt|tr||dkStSrErr8s  rrczdate.__gt__`rrc|j|j|j}}}|j|j|j}}}t|||f|||fSr/)rwrxryr)rr9rr`ray2m2d2s        rrz	date._cmpesD*dk49a1[%,
BQ1IB|,,,rct	|jdkr&t||_|jSrgrhr/s rrjz
date.__hash__ks3>R!$.."2"233DN~rc	t|trb||jz}d|cxkrtkr%nn"t||StdtS)Nrresult out of range)	rrrr_MAXORDINALrrrr7)rr9os   rr:zdate.__add__ss~$eY''	7  5:-A1#########Dzz--a000 5666rc
	t|tr|t|jzSt|tr:|}|}t||z
St
Sr/)rrrrrr7)rr9days1days2s    rr=zdate.__sub__~sv<eY''	1)UZK0000eT""	,NN$$EOO%%EUU]+++rc8	|dzdzSr[rr/s rrzdate.weekdaysD  1$))rc6	|dzpdS)Nr]rr/s r
isoweekdayzdate.isoweekdaysD~~!#(q(rcr	|j}t|}t|j|j|j}t||z
d\}}|dkr+|dz}t|}t||z
d\}}n#|dkr|t|dzkr|dz
}d}t
||dz|dzS)Nr]rr4)rwrr3rxryr;_IsoCalendarDate)rrweek1mondayrrr1s      risocalendarzdate.isocalendars	z%d++T[$)<<5;.22	c!88AID)$//Ku{2A66ID##
RZZQ////	d1fc!e444rcnt|jd\}}t|||j|jgfSN)r;rwr|rxry)ryhiylos   rrezdate._getstates5$*c**Sc3TY78899rcB|\}}|_|_|dz|z|_dSr)rxryrw)rstringrrs    r
__setstatezdate.__setstates'+1(S$+ty3Y_


rc8|j|fSr/ror/s rrpzdate.__reduce__rqr)NN)NNN)(rr%r&rrrclassmethodrrrrrr(rrrrr,rsrr(r1rrrrYr\r^rarcrrjr:rtr=rrrrerrprrrrr}s67ID[
$$[$
[KK[K<<[<111$###;;;	G	G	GGXXX///
<<<,,,,




---H***)))
555<:::%%%22222rrr7r)rc2eZdZ	dZdZdZdZdZdZdS)rrc"	td)Nz&tzinfo subclass must override tzname()NotImplementedErrorrdts  rrz
tzinfo.tznames/!"JKKKrc"	td)Nz)tzinfo subclass must override utcoffset()rrs  rrztzinfo.utcoffsetsS!"MNNNrc"	td)Nz#tzinfo subclass must override dst()rrs  rrz
tzinfo.dsts	
""GHHHrc|	t|tstd|j|urt	d|}|t	d|}|t	d||z
}|r*||z
}|}|t	d||zS)Nz&fromutc() requires a datetime argumentzdt.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)rrrrrsrr)rrdtoffdtdstdeltas     rfromutcztzinfo.fromutcs4"h''	FDEEE
9D  4555=&''
'
=IJJJ
	<%KBFFHHE} ";<<<Ezrczt|dd}|r|}nd}|j||fS)N__getinitargs__r)rr$__getstate__)rgetinitargsr's   rrpztzinfo.__reduce__sId$5t<<	;==DDDd&7&7&9&9::rN)	rr%r&rrrrrrrprrrrrstILLLOOOIII:;;;;;rrcleZdZfdZedZedZedZdZdZ	xZ
S)IsoCalendarDatecNt||||fSr/)superr)rrrrr$s    rrzIsoCalendarDate.__new__s"wwsT4$9:::rc|dSrErr/s rrzIsoCalendarDate.yearAwrc|dS)Nrrr/s rrzIsoCalendarDate.week	rrc|dSr+rr/s rrzIsoCalendarDate.weekday
rrc0tt|ffSr/)tupler/s rrpzIsoCalendarDate.__reduce__sd~&&rcV|jjd|dd|dd|ddS)Nz(year=rz, week=rz
, weekday=r$r#)r$rr/s rr(zIsoCalendarDate.__repr__s[>*GGaGG)-aGG<@GGGG	Hr)rr%r&rrsrrrrpr(
__classcell__)r$s@rrrs;;;;;XXX'''
HHHHHHHrrcJeZdZ	dZd%dddZedZedZedZed	Z	ed
Z
edZdZd
Z
dZdZdZd&dZdZdZdZd'dZeZedZdZdZdZdZdZ		d(dddZd)d!Zd"Z d#Z!d$Z"dS)*r)_hour_minute_second_microsecond_tzinfor_foldrNrc	t|ttfrt|dkrt	|dddzdkrt|tr4	|d}n#t$rtdwxYwt	|}|
||pdd|_|St|||||\}}}}}t|t	|}||_||_||_||_||_d|_||_|S)	Nr\rrr9r{znFailed to encode latin1 string when unpickling a time object. pickle.load(data, encoding='latin1') is assumed.r)rr|rrr}r~rrsrr_time__setstaterrrrrrrrr)rrrrrrrrs        rrztime.__new__8sc	
teS\**	s4yyA~~QqS	NN4"$$$$$
LL;;x00DD)LLL$KLLLL>>#&&DOOD&.D111DNK2D&&+t3535/ffk4&!!!~~c""
'
s%A;;Bc	|jSr/rr/s rrz	time.hour`
zrc	|jSr/rr/s rrztime.minutee
|rc	|jSr/rr/s rrztime.secondjrrc	|jSr/rr/s rrztime.microsecondo$  rc	|jSr/rr/s rrztime.tzinfot
"|rc|jSr/rr/s rrz	time.foldy
zrcpt|tr||ddkStS)NTallow_mixedrrrrr7r8s  rrYztime.__eq__s5eT""	"99U955::!!rclt|tr||dkStSrErr8s  rr\ztime.__le__1eT""	"99U##q((!!rclt|tr||dkStSrErr8s  rr^ztime.__lt__1eT""	"99U##a''!!rclt|tr||dkStSrErr8s  rraztime.__ge__rrclt|tr||dkStSrErr8s  rrcztime.__gt__rrFc.|j}|j}dx}}||urd}n.|}|}||k}|r@t|j|j|j|jf|j|j|j|jfS|||rdStd|jdz|jz|tdzz
}|jdz|jz|tdzz
}	t||j|jf|	|j|jfS)NTr$z$cannot compare naive and aware timesr	rr~)	rrrrrrrrr)
rr9rmytzottzmyoffotoffbase_comparemyhhmmothhmms
          rrz	time._cmpsC|}4<<LLNN$$EOO%%E E>L	.T\4<*,emU]+-..
.=EM
Hq FGGGb4</%19M9M9M2MMr!EM1E9Q;O;O;O4OOVT\4+<=U]E,>?AA	ArcR	|jdkr|jr|d}n|}|}|s-t	|d|_nt
t|j|j	|z
td\}}|tdz}d|cxkrdkr2nn/t	t|||j|j|_n"t	|||j|jf|_|jS)	Nrrrrkrlrr}r~r9)
rrrrrirer;rrrrrr)rrtzoffrr`s     rrjz
time.__hash__s>Ry
LLaL((KKMME

Q!%akkmmA&6!7!7idiMMMPUU'a000221i****;;;;B;;;;;%)$q!T[$BR*S*S%T%TDNN%)1ad>N*O%P%PDN~rcJ	|}t|Sr/)rr)rrs  r_tzstrztime._tzstrs"Knnc"""rc(	|jdkrd|j|jfz}n|jdkrd|jz}nd}d|jj|jj|j|j|fz}|j|ddd|jzzdz}|jr
|ddd	z}|S)
Nrz, %d, %dz, %drzz%s.%s(%d, %d%s)r, tzinfo=%rr#	, fold=1))	rrr$r%r&rrrrrrs  rr(z
time.__repr__s3!!dlD,=>>AA
\Q

%AAA 9 $ ; $
DL! ==<##2#55;A:	%#2#$Arric	t|j|j|j|j|}|}|r||z
}|Sr/)rxrrrrr")rrurrs    rrztime.isoformatsO	
T\4<+X
7
7
[[]]
	
GArc	t|tstd|d}	|t	|S#t
$rt
d|wxYw)NrTr)rrrremoveprefixrrrs)rtime_strings  rrztime.fromisoformatsL+s++	CABBB
"..s33	K3-k::;;	K	K	KI+IIJJJ	KsAA+c	Z	ddd|j|j|jdddf	}t|||S)Nilrrr)rrrr)rrwrs   rrz
time.strftimes?	
1aZt|2	dC333rct|ts$tdt|jzt|dkr||St|Srrrs  rrztime.__format__rrcn	|jdS|jd}td||SNrrrrrrs  rrztime.utcoffset"s>	$<4''--+v...
rcl	|jdS|jd}t||Sr/rrrrrs  rrztime.tzname+>	<4|""4((drcn	|jdS|jd}td||SNrrrrr1s  rrztime.dst8@	<4!!$''%(((
rTc	||j}||j}||j}||j}|dur|j}||j}t
|||||||SNTr)rrrrrrr)rrrrrrrs       rrztime.replaceGsvI<9D>[F>[F*KT>>[F<:DtDzz$V$OOOOrr8ct|jd\}}t|d\}}|j}|jr|dkr|dz
}t	||j|j|||g}|j|fS||jfSNrr8)r;rrrr|rrr)rprotocolus2us3us1r	basestates       rreztime._getstateZs$+S11S#s##SJ:	(Q,,
HA1dlDLS*++	<<t|,,rc|$t|tstd|\}|_|_}}}|dkrd|_|dz
|_nd|_||_|dz|zdz|z|_||_dS)Nbad tzinfo state argrrr>rr)	r
_tzinfo_classrrrrrrr)rrrrrBr@rAs       rrztime.__setstategsj&G&G23337=44<sCs77DJSDJJDJDJ"ax3.14;rc:|j||fSr/rorr?s  r
__reduce_ex__ztime.__reduce_ex__tx 8 899rc,|dSr+rIr/s rrpztime.__reduce__w!!!$$$rrrrrNFri)NNNNTr8)#rr%r&rrrrsrrrrrrrYr\r^rarcrrjr"r(rr,rrrrrrrrrerrIrprrrrrsi,_I%UV%%%%%PXXX!!X!XX"""""""""""""""AAAA8.###
&"G
K
K[
K 	4	4	4


HLP%)PPPPP&----:::%%%%%rrcFeZdZ	ejejzZ		d6dddZedZedZ	edZ
edZed	Zed
Z
edZed7dZed
Zed7dZedZed8dZedZdZdZdZdZdZdZdZ		d9dddZdZd7dZdZd:d Zd!Z d"Z!ed#Z"d$Z#d%Z$d&Z%d'Z&d(Z'd)Z(d*Z)d+Z*d;d-Z+d.Z,e,Z-d/Z.d0Z/d<d2Z0d3Z1d4Z2d5Z3dS)=rNrrc	t|ttfrt|dkrdt	|dddzcxkrdkrnn}t|tr/	t|d}n#t
$rt
dwxYwt|}
|
	||d	|
_
|
St|||\}}}t|||||	\}}}}}	t|t|}
||
_||
_||
_||
_||
_||
_||
_||
_d	|
_
|	|
_|
S)
Nrrr$r8rr7r{zrFailed to encode latin1 string when unpickling a datetime object. pickle.load(data, encoding='latin1') is assumed.r)rr|rrr}rrsrr_datetime__setstaterrrrrwrxryrrrrrr)rrr(r1rrrrrrrs           rrzdatetime.__new__steS\**	s4yyB
T!A#Y$*********$$$
LL x00DD)LLL$KLLLL>>#&&DOOD%(((DNK-dE3??eS2D&&+t3535/ffk4&!!!~~c""
	
'
s.A??Bc	|jSr/rr/s rrz
datetime.hourrrc	|jSr/rr/s rrzdatetime.minuterrc	|jSr/rr/s rrzdatetime.secondrrc	|jSr/rr/s rrzdatetime.microsecondrrc	|jSr/rr/s rrzdatetime.tzinforrc|jSr/r
r/s rrz
datetime.foldrrc
	tj|\}}t|dz}|dkr|dz
}|dz}n|dkr
|dz}|dz
}|rtjntj}||\	}}}	}
}}}
}}t
|d}||||	|
||||}||sd}||kr!tj	dr|S|||z
dd\}}}	}
}}||||	|
||||}||z
td|z
}|jdkrM|||tddzzdd\}}}	}
}}||||	|
||||}||krd|_n||
|}|S)	Nrr
rrrrwinr\)rrrr^gmtimerminsysplatform
startswithrrrr)rrrrfracrt	converterrr`rarbrcrdrrrresultmax_fold_secondsprobe1transprobe2s                     r_fromtimestampzdatetime._fromtimestamps	*Q--a
4#:


==
FA'MBB
!VV
FA'MB$'<ELLU_	2;)A,,/1aRWdC
R[[Q1b"b"b11
:c: )###(?(?(F(F#
"+)A0@,@"A"A"1""EAq!RRSAq"b"b"55FVOi3C&D&DDEzA~~&/iEYq!__4L0L&M&Mbqb&Q#1aRQ1b"b"b99V###$FL
^ZZ''F
rcT	t||||du|Sr/)rri)rrrs   rrzdatetime.fromtimestamps3		"!!!Rt^R888rc2	||ddS)NT)rirs  rutcfromtimestampzdatetime.utcfromtimestampsD!!!T4000rcV	tj}|||Sr/r)rrrs   rnowzdatetime.nows&LJLL  B'''rcT	tj}||Sr/)r^rrlrs  rutcnowzdatetime.utcnows$4JLL##A&&&rTc"	t|tstdt|tstd|dur|j}||j|j|j|j|j	|j
|j||j		S)Nz%date argument must be a date instancez%time argument must be a time instanceTr)
r_date_classr_time_classrrr(r1rrrrr)rrrrs    rcombinezdatetime.combinesB$,,	ECDDD$,,	ECDDDT>>[Fs49dj$(9dk4;8H	+++	+rc	t|tstdt|dkrt	d|	t|}|d|}||dzd}t
|}n!#t$rt	d|dwxYw|r2	t|}n%#t$rt	d|dwxYwgd}|||zS)Nrr]rrrrN)rrrrrsrrr)rrseparator_locationdstrrdate_componentstime_componentss       rrzdatetime.fromisoformatsZP+s++	CABBB{aI+IIJJJ	H!CK!P!Pq!334D 21 4667D3D99OO	H	H	H<[<<>>CG
H	H	1
L"7"="=
L
L
L @@@BBGKL
L100Os_688s5BB &B66Cc		|}|d}n|rd}nd}t|j|j|j|j|j|j|S)Nrrr)rrhrr(r1rrr)rrs  rrzdatetime.timetuple=s`Chhjj;CC
	CCC!$)TZ"&)T[$+"%''	'rc
	tddd
d}|
z
tddz}
fd}|||z
}||z
}||}||kr*|||f|jz}|||z
}||kr|Sn||z
}||z
}||}	|	|kr|S||kr|Sttf|j||S)Nrrrctj|dd\}}}}}}t||||||z
tddzS)Nr\rr)r^rrr)rrr`rarbrcrdepochs       rlocalzdatetime._mktime.<locals>.localOsR"'/!"4"4RaR"8Aq!RRQ1b"b11E9i1ooMMr)rrrmaxr^)rrerrru1t1u2rt2r~s          @r_mktimezdatetime._mktimeJs-q!$$$
E\i1oo-	N	N	N	N	N

E!HHqL
U
U2YY
77((*:;DIFFBb		BAAvv	RA
U
U2YY
77I
77ISz$)$R,,,rc	|j!|}||jdzzS|tz
S)Nr)rrr_EPOCHr0r&s  r	timestampzdatetime.timestampmsC)<At'#---6M00222rc		|}|r||z}|j|j|j}}}|j|j|j}}}t||||||dSrE)rrr(r1rrrrh)rrrr`rarbrcrds        rutctimetuplezdatetime.utctimetupleuse>!!	FND)TZa1YT[B!!Q2r2q999rcD	t|j|j|jSr/)rrwrxryr/s rrz
datetime.date~sDJTY777rc^	t|j|j|j|j|jSNr)rrrrrrr/s rrz
datetime.times+1DIt{DK9IPTPYZZZZrcj	t|j|j|j|j|j|jSr)rrrrrrrr/s rtimetzzdatetime.timetzs61DIt{DK9ILty222	2rc		||j}||j}||j}||j}||j}||j}||j}|dur|j}|	|j}	t||||||||||			Sr;)
rr(r1rrrrrrr)
rrr(r1rrrrrrs
          rrzdatetime.replaces	N<9D=JE;(C<9D>[F>[F*KT>>[F<9DtDzz$sD&&%vD:::	:rc|j|}n|tz
tdz}t	j|}t
|dd}|j}|j}tt||S)Nr)rmr\)
rrrrr^rr	tm_gmtofftm_zoner)rtslocaltmrgmtoffzones      r_local_timezonezdatetime._local_timezones};BB-Ia$8$8$88B/"%%'"1"+&"	&1114888rc||}n$t|tstd|j}|*|}||}nT||}|=|d}||}||ur|S||z
|}||S)Nz)tz argument must be an instance of tzinfor)rrrrrrr)rrrmyoffsetrs     r
astimezonezdatetime.astimezones
:%%''BBB''	IGHHH{<''))D~~d++HH~~d++H||4|00@@BB>>$//
::Kh''r'22zz#rc	|dzpd}dt|t|j|j|j|j|j|jfzS)Nr]z%s %s %2d %02d:%02d:%02d %04d)	rrrrxryrrrrwrs  rrzdatetime.ctimesY&..""Q&+!.g$IJdlJ2	rr)ric	d|j|j|j|fzt|j|j|j|j|z}|}t|}|r||z
}|S)Nz%04d-%02d-%02d%c)
rwrxryrxrrrrrr)rseprurrrs      rrzdatetime.isoformats|	 4:t{DIs"K
K
$*dlDL+X777nn
C
 
 
	
GArc
	|j|j|j|j|j|j|jg}|ddkr|d=|ddkr|d=|jjd|jj	dd
tt|d}|j
|ddd|j
zzdz}|jr
|dddz}|S)	Nrrr r!r"r#r$r%)rwrxryrrrrr$r%r&rrrrr)rLrs   rr(zdatetime.__repr__s3
Zdi
Zt|T5F
HR5A::"R5A::">444>66699Sa[[1111
3<##2#55;A:	%#2#$Arc0	|dS)N )r)rr/s rr,zdatetime.__str__s'~~#~&&&rc:	ddl}||||SrE)	_strptime_strptime_datetime)rrrqrs    rstrptimezdatetime.strptimes)U++CfEEErcn	|jdS|j|}td||Sr/r0r1s  rrzdatetime.utcoffset
s>	<4''--+v...
rcl	|jdS|j|}t||Sr/r3r4s  rrzdatetime.tznamer5rcn	|jdS|j|}td||Sr7r8r1s  rrzdatetime.dst#r9rct|tr||ddkSt|tstSdS)NTr
rF)rrrrr7r8s  rrYzdatetime.__eq__4sLeX&&	99U955::E4((	!!5rct|tr||dkSt|tstSt||dSrErrrrr7rr8s  rr\zdatetime.__le__<YeX&&	#99U##q((E4((	#!!dE"""""rct|tr||dkSt|tstSt||dSrErr8s  rr^zdatetime.__lt__DYeX&&	#99U##a''E4((	#!!dE"""""rct|tr||dkSt|tstSt||dSrErr8s  rrazdatetime.__ge__Lrrct|tr||dkSt|tstSt||dSrErr8s  rrczdatetime.__gt__TrrFc
|j}|j}dx}}||urd}n|}|}|rh|||jkrdS|||jkrdS||k}|rdt	|j|j|j|j|j	|j
|jf|j|j|j|j|j	|j
|jfS|||rdStd||z
}|j
dkrdS|rdpdS)NTrr$z(cannot compare naive and aware datetimesrrr)rrrrrrwrxryrrrrrr)	rr9rrrrrrdiffs	         rrz
datetime._cmp\si|}4<<LLNN$$EOO%%E
DLL$)mL<<FFHHHH1EMM5:~M>>HHJJJJ1 E>L	.T[$)T\4<*,elEJemU]+-..
.=EM
Lq JKKKe|9q==2zQrc
	t|tstSt||j|j|j|j}||z
}t|j	d\}}t|d\}}d|j
cxkrtkr_nn\t|
t|j
t!||||j|jSt'd)Nrr
r	rrr)rrr7rrrrrr;rmrrrrtrrrrorr)rr9rrremrrs       rr:zdatetime.__add__s)%++	"!!$..** $
"&,"&,'+'8	:::
	5=$//	cRuz(((([(((((::%%d&6&6uz&B&B&*4+0+=26,'@'@'@AA
A1222rc4	t|ts"t|tr||zStS|}|}|j|jdzz|jdzz}|j|jdzz|jdzz}t||z
||z
|j|jz
}|j	|j	ur|S|
}|
}||kr|S||td||z|z
S)Nr	r
z(cannot mix naive and timezone-aware time)rrrr7rrrrrrrr)	rr9rrsecs1secs2baserrs	         rr=zdatetime.__sub__s,@%**	"%++
%uf}$!!  !!t|b004:3DD

 22U[45GG*U-??AA<5=((K  !!E>>K=EMFGGGe|e##rc|jdkr|jr|d}n|}|}|-t	|d|_nht
|j|j|j	}|j
dz|jdzz|jz}t	t|||j|z
|_|jS)Nrrrr
r	)rrrrrirer3rr(r1rrrrr)rrr rrms     rrjzdatetime.__hash__s>Ry
LLaL((KKMME}!%akkmmA&6!7!7	4:tx@@)d*T[2-==K!%igt?O&P&PSX&X!Y!Y~rr8c:t|jd\}}t|jd\}}t|d\}}|j}|jr|dkr|dz
}t||||j|j|j|j	|||g
}|j
|fS||j
fSr=)r;rwrrxrr|ryrrrr)	rr?rrr@rArBr`rCs	         rrezdatetime._getstates$*c**S$+S11S#s##SK:	(Q,,
HA3Q	:t|T\S*++	<<t|,,rc
.|$t|tstd|\
}}}|_|_|_|_}}}|dkrd|_|dz
|_nd|_||_|dz|z|_	|dz|zdz|z|_
||_dS)NrErrr>rrr)rrFrryrrrrrxrwrr)	rrrrrr`rBr@rAs	         rrzdatetime.__setstatesj&G&G23336<	4c1di	
t|S#ss77DJc'DKKDJDK3Y_
"ax3.14;rc:|j||fSr/rorHs  rrIzdatetime.__reduce_ex__rJrc,|dSr+rLr/s rrpzdatetime.__reduce__rMr)NNrrrrNr/)T)NNNNNNNT)r)rirOrQ)4rr%r&rrrrrrsrrrrrrrrirrlrnrprtrrrrrrrrrrrr(r,rrrrrYr\r^rarcrr:rtr=rjrerTrIrprrrrrs
/IJK&*!45!!!!!HXXX!!X!XX))[)V999[911[1((([(
''['

+
+
+[
+99[9<''' - - -F333:::888[[[222
=ACG::::::2
9
9
966&'''FF[F



"################J333&H$$$0


"
-
-
-
-


:::%%%%%rrc\d}t|dd}|dzdz}||z
}||kr|dz
}|S)Nr8rr\r])r3)rTHURSDAYfirstdayfirstweekdayrs     rrrsMHa##HqLA%L\)KhqrceZdZdZeZefdZeddZdZ	dZ
dZdZd	Z
d
ZdZdZd
ZeddZeZedZdS)r)_offset_namec8t|tstd||jur|s|jSd}n$t|t
std|j|cxkr|jksntd|	||S)Nzoffset must be a timedeltazname must be a stringzYoffset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).)
rrr_Omittedrr
_minoffset
_maxoffsetrs_create)rrrs   rrztimezone.__new__s&),,	:89993<
wDDD#&&	53444~99993>9999455
5{{64(((rNcVt|}||_||_|Sr/)rrrr)rrrrs    rrztimezone._create		s&~~c""
rc>	|j|jfS|j|jfSr/)rrr/s rrztimezone.__getinitargs__	s&:L?"dj))rcZt|tr|j|jkStSr/)rrrr7r8s  rrYztimezone.__eq__	s)eX&&	1<5=00rc*t|jSr/)rirr/s rrjztimezone.__hash__	sDL!!!rc	||jurdS|j$|jjd|jjd|jdS|jjd|jjd|jd|jdS)Nzdatetime.timezone.utcr r!r#r")rrr$r%r&rr/s rr(ztimezone.__repr__	s	48**:"&.";";";"&."="="="&,,,0
0#'.";";";"&."="="="&,,,


<	<rc,|dSr/)rr/s rr,ztimezone.__str__2	s{{4   rc\t|ts||jStd)Nz8utcoffset() argument must be a datetime instance or None)rrrrrs  rrztimezone.utcoffset5	s7b(##	 rz<#$$	$rct|ts|(|j||jS|jStd)Nz5tzname() argument must be a datetime instance or None)rrr_name_from_offsetrrrs  rrztimezone.tzname;	sUb(##	rzz!--dl;;;:#$$	$rcRt|ts|dStd)Nz2dst() argument must be a datetime instance or None)rrrrs  rrztimezone.dstC	s4b(##	rz4#$$	$rct|tr"|j|urtd||jzStd)Nzfromutc: dt.tzinfo is not selfz6fromutc() argument must be a datetime instance or None)rrrrsrrrs  rrztimezone.fromutcI	s\b(##	%y$$ "/000$$#$$	$rr9r)rkroc
H|sdS|tdkrd}|}nd}t|td\}}t|td\}}|j}|j}|rd||dd	|dd	|dd
|d	S|rd||dd	|dd	|dSd||dd	|dS)Nr
rr{r|rr}r~02drr 06d)rr;rmro)rrrkrrlrmros       rrztimezone._name_from_offsetU	s*	59Q<<DFEEDUIA$6$6$677ttYq%9%9%9::
,(	,+$+G++GG++'G++$*++
,	GFFuFFF7FFFFFFF4T45444w4444rr/)rr%r&rrrrrrrrrYrjr(r,rrrrrrrstaticmethodrrrrrrs"IvxxH"*
)
)
)
)[***
"""<<<(!!!$$$$$$$$$$$$"555JJ55\555rrrr|r)*)__doc__rP)E__all__rr^mathrr_operatorrrrrr	rr&r,dbmr2rrr"r)r-r3r<r=r>rFrrrhrxrrrrrrrrrrrrrrrrrr^r
resolutionrrrrrrrrFrsrrrrr
rr	_datetimerImportErrorrrr<module>rs`(



$$$$$$///
FEET!""Cc"""3JCCBBB***
!!!FFF

C
 
 

C
 
 

A

<<<~???CCC	III
*****


&=0=0=0@666r!"!"!"H655...`,,,^B111
)
)
)333"PPP999


(y2y2y2y2y2y2y2y2v		*%%	
	yB'-///	
 ya000	}2}2}2}2}2}2}2}2~	41a==4b")###:;:;:;:;:;:;:;:;zHHHHHeHHH6#
Y%Y%Y%Y%Y%Y%Y%Y%v
41a==4BF##)+++`	%`	%`	%`	%`	%t`	%`	%`	%Fx1a  xb"b"b&99iQ///			r5r5r5r5r5vr5r5r5h%%iill333hl
R!@!@!@ @AA		B ? ? ?@@	$1X\	2	2	2L"

&	[2D	/	M+<dI	(*;^	~vx%	5+}nh	13H	-/D	+-A	
"!!!!!!!'			DD	s
KKK