grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´i;mã@sðgd¢ZddlZddlZddlZddlZddl Z ddl Z ddl mZddlZddlZddlZddlZejZejejBejBZeedƒr�eejOZeZeedƒr¨eej OZeedƒrºej!Z!ndZ!dZ"eƒZ#d d „Z$d d „Z%d d„Z&Gdd„dƒZ'dd„Z(dd„Z)da*dd„Z+dd„Z,dd„Z-dd„Z.dd„Z/dd „Z0da1d!d"„Z2d#d$„Z3d@d&d'„Z4dAd(d)„Z5d*e"dfd+d,„Z6Gd-d.„d.ƒZ7Gd/d0„d0ƒZ8dBdd4œd5d6„Z9ej:d7k�s®ej;d8k�r´e9ZGd>d?„d?e?ƒZ@dS)D) ÚNamedTemporaryFileÚ TemporaryFileÚSpooledTemporaryFileÚTemporaryDirectoryÚmkstempÚmkdtempÚmktempÚTMP_MAXÚ gettempprefixÚtempdirÚ gettempdirÚgettempprefixbÚ gettempdirbéN)ÚRandomÚ O_NOFOLLOWÚO_BINARYri'ÚtmpcCs,zt |¡Wnty"YdS0dSdS)NFT)Ú_osÚlstatÚOSError)Úfn©rú /usr/lib64/python3.9/tempfile.pyÚ_existsLs  rcGsrd}|D]X}|durqt|tjƒr,t |¡}t|tƒrL|turFtdƒ‚t}q|tur\tdƒ‚t}q|durntS|S)Nz1Can't mix bytes and non-bytes in path components.)Ú isinstancerÚPathLikeÚfspathÚbytesÚstrÚ TypeError)ÚargsÚ return_typeÚargrrrÚ_infer_return_typeUs    r#cCsdt|||ƒ}|dur|ƒ}|dur:|tur0t}n t t¡}|durX|turRtƒ}ntƒ}||||fS©N)r#rÚtemplaterÚfsencoder r )ÚprefixÚsuffixÚdirÚ output_typerrrÚ_sanitize_paramsns  r+c@s,eZdZdZedd„ƒZdd„Zdd„ZdS) Ú_RandomNameSequenceÚ%abcdefghijklmnopqrstuvwxyz0123456789_cCs,t ¡}|t|ddƒkr&tƒ|_||_|jS)NÚ_rng_pid)rÚgetpidÚgetattrÚ_RandomÚ_rngr.)ÚselfÚcur_pidrrrÚrngŠs z_RandomNameSequence.rngcCs|Sr$r©r3rrrÚ__iter__’sz_RandomNameSequence.__iter__cs0|j‰|jj‰‡‡fdd„tdƒDƒ}d |¡S)Ncsg|] }ˆˆƒ‘qSrr)Ú.0Údummy©ÚcÚchooserrÚ ˜óz0_RandomNameSequence.__next__..éÚ)Ú charactersr5ÚchoiceÚrangeÚjoin)r3Úlettersrr:rÚ__next__•sz_RandomNameSequence.__next__N)Ú__name__Ú __module__Ú __qualname__rAÚpropertyr5r7rFrrrrr,€s  r,c Cs g}dD]}t |¡}|r| |¡qtjdkrX| tj d¡tj d¡ddddg¡n| gd ¢¡z| t ¡¡Wn"t t fyš| tj ¡Yn0|S) N)ÚTMPDIRÚTEMPÚTMPÚntz~\AppData\Local\Tempz%SYSTEMROOT%\Tempzc:\tempzc:\tmpz\tempz\tmp)z/tmpz/var/tmpz/usr/tmp) rÚgetenvÚappendÚnameÚextendÚpathÚ expanduserÚ expandvarsÚgetcwdÚAttributeErrorrÚcurdir)ÚdirlistÚenvnameÚdirnamerrrÚ_candidate_tempdir_list›s   þr\c Cshtƒ}tƒ}|D�]@}|tjkr,tj |¡}tdƒD�]}t|ƒ}tj ||¡}zŽt  |t d¡}zdzHt j |ddd��}|  d¡Wdƒn1s”0YWt  |¡n t  |¡0Wt |¡n t |¡0|WStyðYq4t�y6tjdk�r,tj |¡�r,t |tj¡�r,Yq4YqYq4t�yNYqYq40q4qttjd|ƒ‚dS) Nédé€ÚwbF)ÚclosefdsblatrNz)No usable temporary directory found in %s)r,r\rrXrSÚabspathrCÚnextrDÚopenÚ_bin_openflagsÚ_ioÚwriteÚcloseÚunlinkÚFileExistsErrorÚPermissionErrorrQÚisdirÚaccessÚW_OKrÚFileNotFoundErrorÚ_errnoÚENOENT)ÚnamerrYr)ÚseqrQÚfilenameÚfdÚfprrrÚ_get_default_tempdir¶s@    *  ÿ ÿÿrvcCs:tdur6t ¡ztdur tƒaWt ¡n t ¡0tSr$)Ú_name_sequenceÚ _once_lockÚacquirer,ÚreleaserrrrÚ_get_candidate_namesåsr{c CsÚtƒ}|turttj|ƒ}ttƒD]¦}t|ƒ}tj  ||||¡}t   d|¡zt  ||d¡} WnRt yxYq"Yn>ty´tjdkr®tj |¡r®t |tj¡r®Yq"n‚Yn0| tj |¡fSt tjdƒ‚dS)Nztempfile.mkstempr^rNz#No usable temporary file name found)r{rÚmaprr&rCrrbrSrDÚ_sysÚauditrcrirjrQrkrlrmraroÚEEXIST) r)ÚpreÚsufÚflagsr*ÚnamesrrrQÚfilertrrrÚ_mkstemp_innerós*      ÿÿr…cGsL|tjvr"||g|¢RddiŽn&tjdks8tj |¡sH||g|¢RŽdS)NÚfollow_symlinksFrN)rÚsupports_follow_symlinksrQrSÚislink)ÚfuncrSr rrrÚ_dont_follow_symlinkss rŠcCs<z tj}WntyYn0t||dƒttj|dƒdS)NréÀ)rÚchflagsrWrŠÚchmod)rSrŒrrrÚ _resetpermss    rŽcCstSr$)r%rrrrr "sr cCs t tƒ¡Sr$)rr&r rrrrr &sr cCs:tdur6t ¡ztdur tƒaWt ¡n t ¡0tSr$)r rxryrvrzrrrrr ,sr cCs t tƒ¡Sr$)rr&r rrrrr 8sr FcCs2t|||ƒ\}}}}|rt}nt}t|||||ƒSr$)r+Ú_text_openflagsrdr…)r(r'r)Útextr*r‚rrrr<s rc Csàt|||ƒ\}}}}tƒ}|tur.ttj|ƒ}ttƒD]˜}t|ƒ}tj   ||||¡}t   d|¡zt  |d¡WnRtyŠYq6Yn>tyÆtjdkrÀtj  |¡rÀt |tj¡rÀYq6n‚Yn0|Sttjdƒ‚dS)Nztempfile.mkdtempr‹rNz(No usable temporary directory name found)r+r{rr|rr&rCrrbrSrDr}r~ÚmkdirrirjrQrkrlrmror)r(r'r)r*rƒrrrQr„rrrrcs,       ÿÿrr@cCs`|durtƒ}tƒ}ttƒD]2}t|ƒ}tj ||||¡}t|ƒs|Sqt t j dƒ‚dS)Nz"No usable temporary filename found) r r{rCrrbrrSrDrriror)r(r'r)rƒrrrQr„rrrr‹s  ÿrc@sHeZdZdZdZd dd„ZejdkreZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „ZdS)Ú_TemporaryFileWrapperTcCs$||_||_||_t|||ƒ|_dSr$)r„rQr“r’Ú_closerr”rrrr•Þsz_TemporaryFileWrapper.__init__cs^|jd}t||ƒ}t|dƒrD|‰t ˆ¡‡fdd„ƒ}|j|_|}t|tƒsZt|||ƒ|S)Nr„Ú__call__csˆ|i|¤ŽSr$r)r Úkwargs©r‰rrÚ func_wrapperìsz7_TemporaryFileWrapper.__getattr__..func_wrapper) Ú__dict__r0ÚhasattrÚ _functoolsÚwrapsršrÚintÚsetattr)r3rQr„Úaržrr�rÚ __getattr__äs     z!_TemporaryFileWrapper.__getattr__cCs|j ¡|Sr$)r„Ú __enter__r6rrrr§ùs z_TemporaryFileWrapper.__enter__cCs|j |||¡}| ¡|Sr$)r„Ú__exit__rg)r3ÚexcÚvalueÚtbÚresultrrrr¨ÿsz_TemporaryFileWrapper.__exit__cCs|j ¡dSr$)ršrgr6rrrrgsz_TemporaryFileWrapper.closeccs|jD] }|VqdSr$)r„)r3Úlinerrrr7 s z_TemporaryFileWrapper.__iter__N)T) rGrHrIr•r¦r§r¨rgr7rrrrr™Ös  r™úw+béÿÿÿÿT©ÚerrorscCs–t|||ƒ\}}}} t} tjdkr0|r0| tjO} t|||| | ƒ\} } z$tj| |||||d�} t| | |ƒWSt y�t  | ¡t  | ¡‚Yn0dS)NrN©Ú bufferingÚnewlineÚencodingr±) r+rdrrQÚ O_TEMPORARYr…rercr™Ú BaseExceptionrhrg)Úmoder³rµr´r(r'r)r“r±r*r‚rtrQr„rrrrs  ÿ   rÚposixÚcygwinÚ O_TMPFILEc Csît|||ƒ\}}}}t} tršz$| tjBtj@} t || d¡} Wn&tyVdaYnDtyfYn40zt j| |||||d�WSt  | ¡‚Yn0t |||| |ƒ\} } z"t  | ¡t j| |||||d�WSt  | ¡‚Yn0dS)Nr^Fr²) r+rdÚ_O_TMPFILE_WORKSrr»ÚO_CREATrcÚIsADirectoryErrorrrergr…rh) r¸r³rµr´r(r'r)r±r*r‚Úflags2rtrQrrrrGs6   þ   ÿ rc@süeZdZdZd7ddœdd„ZeejƒZd d „Z d d „Z d d„Z dd„Z dd„Z dd„Zedd„ƒZedd„ƒZedd„ƒZdd„Zdd„Zdd „Zed!d"„ƒZed#d$„ƒZed%d&„ƒZd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd8d1d2„Zd3d4„Zd5d6„Z dS)9rFrr®r¯Nr°c  CsTd|vrt ¡|_ntjt ¡|| |d�|_||_d|_|||||||| dœ|_dS)NÚb)rµr±r´F)r¸r³r(r'rµr´r)r±)reÚBytesIOÚ_fileÚ TextIOWrapperÚ _max_sizeÚ_rolledÚ_TemporaryFileArgs) r3Úmax_sizer¸r³rµr´r(r'r)r±rrrr•Šs  þýzSpooledTemporaryFile.__init__cCs,|jr dS|j}|r(| ¡|kr(| ¡dSr$)rÅrÄÚtellÚrollover)r3r„rÇrrrÚ_checkœs zSpooledTemporaryFile._checkcCsv|jr dS|j}tfi|j¤Ž}|_|`| ¡}t|dƒrR|j | ¡  ¡¡n| |  ¡¡|  |d¡d|_dS)NÚbufferrT) rÅrÂrrÆrÈr rËrfÚdetachÚgetvalueÚseek)r3r„ÚnewfileÚposrrrrÉ¢s   zSpooledTemporaryFile.rollovercCs|jjrtdƒ‚|S)Nz%Cannot enter context with closed file)rÂÚclosedÚ ValueErrorr6rrrr§·szSpooledTemporaryFile.__enter__cCs|j ¡dSr$©rÂrg©r3r©rªr«rrrr¨¼szSpooledTemporaryFile.__exit__cCs |j ¡Sr$)rÂr7r6rrrr7ÀszSpooledTemporaryFile.__iter__cCs|j ¡dSr$rÓr6rrrrgÃszSpooledTemporaryFile.closecCs|jjSr$)rÂrÑr6rrrrÑÆszSpooledTemporaryFile.closedcCs|jjSr$)rÂrµr6rrrrµÊszSpooledTemporaryFile.encodingcCs|jjSr$)rÂr±r6rrrr±ÎszSpooledTemporaryFile.errorscCs| ¡|j ¡Sr$)rÉrÂÚfilenor6rrrrÕÒszSpooledTemporaryFile.filenocCs|j ¡dSr$)rÂÚflushr6rrrrÖÖszSpooledTemporaryFile.flushcCs |j ¡Sr$)rÂÚisattyr6rrrr×ÙszSpooledTemporaryFile.isattycCs,z |jjWSty&|jdYS0dS)Nr¸)rÂr¸rWrÆr6rrrr¸Üs  zSpooledTemporaryFile.modecCs$z |jjWStyYdS0dSr$)rÂrQrWr6rrrrQãs  zSpooledTemporaryFile.namecCs|jjSr$)rÂÚnewlinesr6rrrrØêszSpooledTemporaryFile.newlinescGs |jj|ŽSr$)rÂÚread©r3r rrrrÙîszSpooledTemporaryFile.readcGs |jj|ŽSr$)rÂÚreadlinerÚrrrrÛñszSpooledTemporaryFile.readlinecGs |jj|ŽSr$)rÂÚ readlinesrÚrrrrÜôszSpooledTemporaryFile.readlinescGs |jj|ŽSr$)rÂrÎrÚrrrrÎ÷szSpooledTemporaryFile.seekcCs |j ¡Sr$)rÂrÈr6rrrrÈúszSpooledTemporaryFile.tellcCs6|dur|j ¡n||jkr&| ¡|j |¡dSr$)rÂÚtruncaterÄrÉ)r3ÚsizerrrrÝýs   zSpooledTemporaryFile.truncatecCs|j}| |¡}| |¡|Sr$)rÂrfrÊ)r3Úsr„Úrvrrrrfs  zSpooledTemporaryFile.writecCs|j}| |¡}| |¡|Sr$)rÂÚ writelinesrÊ)r3Úiterabler„ràrrrrá s  zSpooledTemporaryFile.writelines)rr®r¯NNNNN)N)!rGrHrIrÅr•Ú classmethodÚ_typesÚ GenericAliasÚ__class_getitem__rÊrÉr§r¨r7rgrJrÑrµr±rÕrÖr×r¸rQrØrÙrÛrÜrÎrÈrÝrfrárrrrrƒsJþþ         rc@sXeZdZddd„Zedd„ƒZedd„ƒZdd „Zd d „Zd d „Z dd„Z ee j ƒZ dS)rNcCs0t|||ƒ|_tj||j|jd |¡d�|_dS)NzImplicitly cleaning up {!r})Ú warn_message)rrQÚ_weakrefÚfinalizeÚ_cleanupÚformatÚ _finalizer)r3r(r'r)rrrr•s  þzTemporaryDirectory.__init__cs ‡‡fdd„}tjˆ|d�dS)Nc sŽt|dtƒrxzT|ˆkr(ttj |¡ƒt|ƒzt |¡Wn ttfy^ˆ |¡Yn0WqŠt ytYqŠ0nt|dt ƒrˆn‚dS)Nr) Ú issubclassrjrŽrrSr[rhr¾Ú_rmtreern)r‰rSÚexc_info©ÚclsrQrrÚonerror&s z+TemporaryDirectory._rmtree..onerror)rò)Ú_shutilÚrmtree)rñrQròrrðrrî$szTemporaryDirectory._rmtreecCs| |¡t |t¡dSr$)rîÚ _warningsÚwarnÚResourceWarning)rñrQrçrrrrê;s zTemporaryDirectory._cleanupcCsd |jj|j¡S)Nz <{} {!r}>)rëÚ __class__rGrQr6rrrÚ__repr__@szTemporaryDirectory.__repr__cCs|jSr$)rQr6rrrr§CszTemporaryDirectory.__enter__cCs | ¡dSr$)ÚcleanuprÔrrrr¨FszTemporaryDirectory.__exit__cCs|j ¡r| |j¡dSr$)rìrÌrîrQr6rrrrúIs zTemporaryDirectory.cleanup)NNN)rGrHrIr•rãrîrêrùr§r¨rúrärårærrrrrs   r)NNNF)NNN)r®r¯NNNNNT)r®r¯NNNNN)AÚ__all__Ú functoolsr¡ÚwarningsrõÚioreÚosrÚshutilróÚerrnoroÚrandomrr1Úsysr}ÚtypesräÚweakrefrèÚ_threadÚ allocate_lockÚ_allocate_lockÚO_RDWRr½ÚO_EXCLr�r rrdrrr%rxrr#r+r,r\rvrwr{r…rŠrŽr r r r r rrrr’r™rrQÚplatformrr¼rÚobjectrrrrrÚs|        -   ' ( +?þþ ' þþ <