o 0¦iQã@sj ddlZddlZddlZgd¢ZdjZdjZdjZGdd„deƒZ ej ej dZ e d Z d d „eed ƒƒeeee ƒƒDƒZe ed ƒdedƒdi¡e de e ¡¡jZe d¡Zdd„Zdd„Ze d¡jZdd„Zdd„Zgd¢Zgd¢Z dee fdd„Z!Gd d!„d!e"ƒZ#d"Z$e$d#Z%e d$e$d%e%d&ej&ej'B¡Z(Gd'd(„d(e"ƒZ)Gd)d*„d*e)ƒZ*dS)+éN)Ú CookieErrorÚ BaseCookieÚ SimpleCookieÚz; ú c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú3/opt/alt/python310/lib64/python3.10/http/cookies.pyr‘srz!#$%&'*+-.^_`|~:z ()/<=>?@[]{}cCsi|]}|d|“qS)z\%03or )Ú.0Únr r r Ú ¥sÿréú"ú\"ú\z\\z[%s]+z[\x00-\x1F\x7F]cGs tdd„|DƒƒS)Ncss�|] }t t|ƒ¡VqdS©N)Ú_control_character_reÚsearchÚstr)r Úvr r r Ú ´s€z)_has_control_character..)Úany)Úvalr r r Ú_has_control_character°srcCs( |dus t|ƒr |Sd| t¡dS)Nr)Ú _is_legal_keyÚ translateÚ _Translator©rr r r Ú_quote·sr z\\(?:([0-3][0-7][0-7])|(.))cCs"|dr tt|ddƒƒS|dS)Nééé)ÚchrÚint)Úmr r r Ú_unquote_replaceÆsr'cCsJ|dus t|ƒdkr |S|ddks|ddkr|S|dd…}tt|ƒS)Nr#rréÿÿÿÿr!)ÚlenÚ _unquote_subr'rr r r Ú_unquoteÌs   r+)ZMonZTueZWedZThuZFriZSatZSun) NZJanZFebZMarZAprZMayZJunZJulZAugZSepZOctZNovZDecc CsRddlm}m}|ƒ}|||ƒ\ }}}} } } } } }d|| ||||| | | fS)Nr)ÚgmtimeÚtimez#%s, %02d %3s %4d %02d:%02d:%02d GMT)r-r,)ZfutureZ weekdaynameZ monthnamer,r-ZnowZyearZmonthZdayZhhZmmZssZwdÚyÚzr r r Ú_getdateís ÿr0c @sÞeZdZ ddddddddd d œ Zd d hZd d„Zedd„ƒZedd„ƒZedd„ƒZ dd„Z d1dd„Z dd„Z e jZdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Zd2d)d*„ZeZd+d,„Zd1d-d.„Zd1d/d0„ZeejƒZdS)3ÚMorselÚexpiresZPathÚCommentZDomainzMax-AgeZSecureZHttpOnlyZVersionZSameSite) r2ÚpathÚcommentZdomainúmax-ageÚsecureÚhttponlyÚversionZsamesiter7r8cCs0d|_|_|_|jD] }t ||d¡q dS)Nr)Ú_keyÚ_valueÚ _coded_valueÚ _reservedÚdictÚ __setitem__)ÚselfÚkeyr r r Ú__init__s ÿzMorsel.__init__cCó|jSr)r:©r@r r r rA óz Morsel.keycCrCr)r;rDr r r Úvalue$rEz Morsel.valuecCrCr)r<rDr r r Ú coded_value(rEzMorsel.coded_valuecCsP| ¡}||jvrtd|fƒ‚t||ƒrtd|›d|›�ƒ‚t |||¡dS)NúInvalid attribute %rz.Control characters are not allowed in cookies r)Úlowerr=rrr>r?)r@ÚKÚVr r r r?,s   zMorsel.__setitem__NcCsH| ¡}||jvrtd|fƒ‚t||ƒrtd||fƒ‚t |||¡S)NrHz3Control characters are not allowed in cookies %r %r)rIr=rrr>Ú setdefault)r@rArr r r rL4s   zMorsel.setdefaultcCs>t|tƒstSt ||¡o|j|jko|j|jko|j|jkSr)Ú isinstancer1ÚNotImplementedr>Ú__eq__r;r:r<©r@Zmorselr r r rO<s   ÿ þ ýz Morsel.__eq__cCs$tƒ}t ||¡|j |j¡|Sr)r1r>ÚupdateÚ__dict__rPr r r ÚcopyFs z Morsel.copycCsRi}t|ƒ ¡D]\}}| ¡}||jvrtd|fƒ‚|||<qt ||¡dS)NrH)r>ÚitemsrIr=rrQ)r@ÚvaluesÚdatarArr r r rQLs  z Morsel.updatecCs| ¡|jvSr)rIr=)r@rJr r r Ú isReservedKeyUszMorsel.isReservedKeycCsf| ¡|jvrtd|fƒ‚t|ƒstd|fƒ‚t|||ƒr(td|||fƒ‚||_||_||_dS)Nz Attempt to set a reserved key %rzIllegal key %rz6Control characters are not allowed in cookies %r %r %r)rIr=rrrr:r;r<)r@rArZ coded_valr r r ÚsetXs  ÿ z Morsel.setcCs|j|j|jdœS)N)rArFrG©r:r;r<rDr r r Ú __getstate__fsýzMorsel.__getstate__cCs"|d|_|d|_|d|_dS)NrArFrGrY)r@Ústater r r Ú __setstate__ms  zMorsel.__setstate__ú Set-Cookie:cCsd|| |¡fS)Nz%s %s)Ú OutputString)r@ÚattrsÚheaderr r r Úoutputrsz Morsel.outputcCsd|jj| ¡fS)Nú<%s: %s>)Ú __class__rr^rDr r r Ú__repr__wszMorsel.__repr__cCsd| |¡ dd¡S)Nz— rr)r^Úreplace)r@r_r r r Ú js_outputzsúzMorsel.js_outputcCs g}|j}|d|j|jfƒ|dur|j}t| ¡ƒ}|D]m\}}|dkr'q||vr,q|dkrCt|tƒrC|d|j|t|ƒfƒq|dkrXt|tƒrX|d|j||fƒq|dkrot|t ƒro|d|j|t |ƒfƒq||j vr€|r|t |j|ƒƒq|d|j||fƒqt |ƒS)Nú%s=%srr2r6z%s=%dr5) ÚappendrArGr=ÚsortedrTrMr%r0rr Ú_flagsÚ_semispacejoin)r@r_ÚresultrhrTrArFr r r r^„s.   €zMorsel.OutputStringr)Nr])rrr r=rjrBÚpropertyrArFrGr?rLrOÚobjectÚ__ne__rSrQrWrXrZr\raÚ__str__rdrfr^Ú classmethodÚtypesÚ GenericAliasÚ__class_getitem__r r r r r1õsH÷         !r1z,\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=z\[\]zŒ \s* # Optional whitespace at start of cookie (?P # Start of group 'key' [a ]+? # Any word of at least one letter ) # End of group 'key' ( # Optional group: there may not be a value. \s*=\s* # Equal Sign (?P # Start of group 'val' "(?:[^\\"]|\\.)*" # Any doublequoted string | # or \w{3},\s[\w\d\s-]{9,11}\s[\d:]{8}\sGMT # Special case for "expires" attr | # or [a-]* # Any word or empty string ) # End of group 'val' )? # End of optional value group \s* # Any number of spaces. (\s+|;|$) # Ending either at space, semicolon, or EOS. c@sleZdZ dd„Zdd„Zddd„Zdd „Zd d „Zddd„ZeZ dd„Z ddd„Z dd„Z e fdd„ZdS)rcCs ||fSrr ©r@rr r r Ú value_decodeÍszBaseCookie.value_decodecCs t|ƒ}||fSrr©r@rZstrvalr r r Ú value_encodeÖszBaseCookie.value_encodeNcCs|r | |¡dSdSr)Úload)r@Úinputr r r rBßsÿzBaseCookie.__init__cCs0 | |tƒ¡}| |||¡t |||¡dSr)Úgetr1rXr>r?)r@rAZ real_valuerGÚMr r r Z__setãszBaseCookie.__setcCs> t|tƒrt |||¡dS| |¡\}}| |||¡dSr)rMr1r>r?rxÚ_BaseCookie__set)r@rArFÚrvalÚcvalr r r r?és  zBaseCookie.__setitem__r]ú c CsP g}t| ¡ƒ}|D]\}}| ||¡}t|ƒrtdƒ‚| |¡q | |¡S)Nz-Control characters are not allowed in cookies)rirTrarrrhÚjoin) r@r_r`ÚseprlrTrArFZ value_outputr r r raòs     zBaseCookie.outputcCsJg}t| ¡ƒ}|D]\}}| d|t|jƒf¡q d|jjt|ƒfS)Nrgrb)rirTrhÚreprrFrcrÚ _spacejoin)r@ÚlrTrArFr r r rdÿs   zBaseCookie.__repr__cCs8 g}t| ¡ƒ}|D] \}}| | |¡¡q t|ƒSr)rirTrhrfÚ _nulljoin)r@r_rlrTrArFr r r rfs   zBaseCookie.js_outputcCs8 t|tƒr | |¡dS| ¡D]\}}|||<qdSr)rMrÚ_BaseCookie__parse_stringrT)r@ZrawdatarArFr r r rys  þ zBaseCookie.loadcCspd}t|ƒ}g}d}d}d}d|kr|kr”nnz| ||¡} | s#nq|  d¡|  d¡} } |  d¡}| ddkrI|sr1Z_LegalKeyCharsZ_LegalValueCharsÚASCIIÚVERBOSErŽrrr r r r Ús\&]ÿþ  =ýý ô ô ï