Ë ê7Æ™Pƒãó—ddlZddlZddlZddlmZmZmZmZddlmZdd„Z ejjd«Z e rdd„Z ejejd z«Zejd «ZGd „d «Zd „Zd„Zdd„Zy)éNé)ÚencodingÚerrorÚnodeÚutilé)Ú constantscóX—tjtj|dz««S)z_return a new unique identifier. The identifier is random and composed of ascii characters.r)rÚhexÚosÚurandom)Úid_sizes ú@usr/lib/python3.12/site-packages/mercurial/revlogutils/docket.pyÚmake_uidr#s €ô �8‰8”B—J‘J˜w¨!™|Ó,Ó -Ð-ósHGTEST_UUIDFILEcód— ttd¬«5}|j«j«}ddd«t «}d}t dd«}|D]}|dz }||zdz}||z|z}Œtj«} | j|d ¬ «| j|d z«} |d k(sJ‚tjd | «} tj| «} ttd«5}|j| «ddd«| S#1swYŒ×xYw#t$rd}YŒçwxYw#1swY| SxYw)NÚrb)Úmodes04rÚ#11111111111111111111111111111111111ré#ér)Úversionééz>LÚwb)ÚopenÚstable_docket_fileÚreadÚstripÚFileNotFoundErrorÚiterÚintÚrandomÚRandomÚseedÚ getrandbitsÚstructÚpackrr Úwrite) rÚfr%Ú iter_seedÚint_seedÚlow_maskÚiÚ high_partÚlow_partÚrÚrawÚpÚnews rrr1s€ð ÜÔ(¨tÕ4¸Ø—v‘v“x—~‘~Ó'�÷5ô˜“Jˆ àˆÜ�x Ó#ˆÛˆAØ  B™ˆIØ  8Ñ+°Ñ2ˆHØ  8Ñ+¨aÑ/‰Hðô �M‰M‹OˆØ �‰ˆx ˆÔ#à�m‰m˜G a™KÓ(ˆØ˜!Š|Ј|Ü �K‰K˜˜cÓ "ˆÜ�h‰h�q‹kˆÜ Ô$ dÔ +¨qØ �G‰G�CŒL÷,àˆ ÷+5Ð4ûä ò ØŠDð ú÷",àˆ ús3‚D“D²DÃ,D%ÄDÄ DÄ D"Ä!D"Ä%D/s BBBBBBQQQQQQcz>BLcó—eZdZdZ dd„Zd„Zd„Zdd„Zd„Zd„Z dd „Z d „Z d „Z dd „Z ed „«Zej d„«Zed„«Zej d„«Zed„«Zej d„«Zdd„Zdd„Zy)Ú RevlogDocketzmetadata associated with revlogNcóü—||_t|«|_d|_|j|_|j |_|j|_ ||_ ||_ ||_ ||_ ||_| |_t!|«t!|«zrJ‚t!|«t!| «zrJ‚t!|«t!| «zrJ‚| | ksJ‚| | ksJ‚||ksJ‚| |_| |_| |_| |_||_||_|r;|j$|_|j(|_|j,|_||_y|j"|_|j&|_|j*|_||_y)NF)Ú_version_headerÚboolÚ _read_onlyÚ_dirtyÚradixÚ_radixÚ _docket_fileÚ_pathÚopenerÚ_openerÚ _index_uuidÚ_older_index_uuidsÚ _data_uuidÚ_older_data_uuidsÚ_sidedata_uuidÚ_older_sidedata_uuidsÚsetÚ_initial_index_endÚ_pending_index_endÚ_initial_data_endÚ_pending_data_endÚ_initial_sidedata_endÚ_pending_sidedata_endÚ _index_endÚ _data_endÚ _sidedata_endÚdefault_compression_header)ÚselfÚrevlogÚ use_pendingÚversion_headerÚ index_uuidÚolder_index_uuidsÚ data_uuidÚolder_data_uuidsÚ sidedata_uuidÚolder_sidedata_uuidsÚ index_endÚpending_index_endÚdata_endÚpending_data_endÚ sidedata_endÚpending_sidedata_endrRs rÚ__init__zRevlogDocket.__init__fs„€ð& .ˆÔܘ{Ó+ˆŒØˆŒ Ø—l‘lˆŒ Ø×(Ñ(ˆŒ Ø—}‘}ˆŒ Ø%ˆÔØ"3ˆÔØ#ˆŒØ!1ˆÔØ+ˆÔØ%9ˆÔ"ÜÐ(Ó)¬CÐ0@Ó,AÒAÐAÐAÜÐ'Ó(¬3Ð/CÓ+DÒDÐDÐDÜÐ(Ó)¬CÐ0DÓ,EÒEÐEÐEàÐ-Ò-Ð-Ð-ØÐ+Ò+Ð+Ð+ØÐ3Ò3Ð3Ð3Ø"+ˆÔØ"3ˆÔØ!)ˆÔØ!1ˆÔØ%1ˆÔ"Ø%9ˆÔ"Ù Ø"×5Ñ5ˆDŒOØ!×3Ñ3ˆDŒNØ!%×!;Ñ!;ˆDÔ ð +EˆÕ'ð#×5Ñ5ˆDŒOØ!×3Ñ3ˆDŒNØ!%×!;Ñ!;ˆDÔ Ø*DˆÕ'rcón—|j€t«|_d|j|jfzS)z=file path to the current index file associated to this docketó %s-%s.idx)rBrr=©rSs rÚindex_filepathzRevlogDocket.index_filepathœs4€ð × Ñ Ð #Ü'›zˆDÔ Ø˜tŸ{™{¨D×,<Ñ,<Ð=Ñ=Ð=rcó¨—|j|jf}|jjd|«t «|_|j «S)z\switch index file to a new UID The previous index UID is moved to the "older" list.r)rBrOrCÚinsertrrg©rSÚolds rÚnew_index_filezRevlogDocket.new_index_file£sG€ð×Ñ §¡Ð1ˆØ ×Ñ×&Ñ& q¨#Ô.Ü#›:ˆÔØ×"Ñ"Ó$Ð$rc#ójK—|jD] \}}|s|dkDsŒd|j|fz–—Œ"y­w)z>yield file path to older index files associated to this docketrreN)rCr=©rSÚ include_emptyÚuuidÚsizes rÚold_index_filepathsz RevlogDocket.old_index_filepaths¬s9èø€ð×1Ô1‰JˆD�$Ù  q£Ø" d§k¡k°4Ð%8Ñ8Ó8ñ2ùó‚3�3cón—|j€t«|_d|j|jfzS)zÑ$>Ñ !à!%§¡Ð Ø $§¡Ð Ø$(×$6Ñ$6Ð !ð! D§N¡NÒ2Ð2Ð2Ø$¨×(:Ñ(:Ò:Ð:Ð:à × Ñ Ü �× Ñ Ó !Ü �×'Ñ'Ó (Ü �—‘Ó Ü �×&Ñ&Ó 'Ü �×#Ñ#Ó $Ü �×*Ñ*Ó +Ø Ø �O‰OØ Ø �N‰NØ !Ø × Ñ Ø × +Ñ +ð ˆð ˆØ �‰”—‘ Ð%Ô&à �‰�×!Ñ!Ô"Ø×.Ô.‰GˆAˆtØ �H‰H”Y—^‘^¤C¨£F¨DÓ1Õ 2ð/à×.Ô.‰GˆAˆtØ �H‰H�Q�Kð/ð �‰�—‘Ô!Ø×-Ô-‰GˆAˆtØ �H‰H”Y—^‘^¤C¨£F¨DÓ1Õ 2ð.à×-Ô-‰GˆAˆtØ �H‰H�Q�Kð.ð �‰�×$Ñ$Ô%Ø×1Ô1‰GˆAˆtØ �H‰H”Y—^‘^¤C¨£F¨DÓ1Õ 2ð2à×1Ô1‰GˆAˆtØ �H‰H�Q�Kð2à�x‰x˜‹{Ðr)FNN©Nr£Nr£rrrrrrN)T)FF©F)Ú__name__Ú __module__Ú __qualname__Ú__doc__rcrgrlrrrvrxrzr}rr�Úpropertyr]Úsetterr_rar)r“r£rrr6r6csû„Ù)ð ØØØØØØØØØØØØØØ#'ó#4Eòl>ò%ó9ò=ò$ó9òAò(ó9ðñóðð×Ññóðð ñóðð‡_�_ñóðð ñ"óð"ð×Ññóðó ô*1rr6cóÖ—|dz}|tjtjfvrytj|j j «}t|||¬«}d|_|S)z?given a revlog version a new docket object for the given revlogiÿÿN)rVrRT) r ÚREVLOGV2Ú CHANGELOGV2rÚ compenginesÚ _compengineÚ revlogheaderr6r;)rTrVÚ rl_versionÚcompÚdockets rÚdefault_docketr´Hsh€à &Ñ(€JØœ)×,Ñ,¬i×.CÑ.CÐDÑDØÜ × Ñ ˜F×.Ñ.Ñ /× <Ñ <Ó >€DÜ ØØ%Ø#'ô€Fð €F„MØ €Mrcóî—g}g}td|«D]<}|tj«}|jtj |««Œ>|D] \}}||«}|j||f«Œ"|S)Nr)Úranger›rqr™Úunpack) Úget_dataÚcountÚ all_sizesÚall_uidsr.r2Úuid_sizeÚ file_sizeÚuids rÚ_parse_old_uidsr¿Wsv€Ø€IØ€HÜ �1�eŽ_ˆÙ”y—~‘~Ó&ˆØ×Ñœ×)Ñ)¨#Ó.Õ/ðó )ш�)Ù�xÓ ˆØ�‰˜˜iÐ(Õ)ð )ð €Orcóz‡‡—tj‰dtj«}tjgŠˆˆfd„}t|«}t |«}t |«}||«}t |«} t || «} t |«} || «} t |«} t || «}t |«}||«}t |«}t ||«}t |«}t |«}t |«}t |«}t |«}t |«}t |«}t |f|||| | ||||||||||dœŽ}|S)zBgiven some docket data return a docket object for the given revlogNcóÀ•—‰d|zt‰«kDr-d}|‰d|zt‰«fz}tj|«‚‰‰d‰d|z}‰dxx|z cc<|S)z/utility closure to access the `size` next bytesrs'docket is too short, expected %d got %d)r˜rÚAbort)rqr–r2r Úoffsets €€rr¸zparse_docket..get_datakstø€à �!‰9�tÑ œc $›iÒ 'à<ˆCØ �F˜1‘I Ñ$¤c¨$£iÐ0Ñ 0ˆCÜ—+‘+˜cÓ"Ð "Ø�6˜!‘9˜v a™y¨4Ñ/Ð0ˆØˆq‹ �TÑ‹ ؈ r)rUrVrWrXrYrZr[r\r]r^r_r`rarbrR)ršr·rqr!Únextr¿r6)rTr rUÚheaderr¸ÚiheaderrVÚindex_uuid_sizerWÚolder_index_uuid_countrXÚdata_uuid_sizerYÚolder_data_uuid_countrZÚsidedata_uuid_sizer[Úolder_sidedata_uuid_countr\Ú index_sizeÚpending_index_sizeÚ data_sizeÚpending_data_sizeÚ sidedata_sizeÚpending_sidedata_sizerRr³rÃs ` @rÚ parse_docketrÓdsNù€ä �_‰_˜T /¤H§M¡MÐ2Ó 3€Fô�m‰mˆ_€Fõ ô�6‹l€Gä˜'“]€Nä˜7“m€OÙ˜/Ó*€Jä! '›]ÐÜ'¨Ð2HÓIÐä˜'“]€NÙ˜Ó(€Iä  ›MÐÜ& xÐ1FÓGÐä˜g›ÐÙÐ/Ó0€Mä $ W£ ÐÜ*¨8Ð5NÓOÐä�g“€Jä˜g›Ðä�W“ €Iä˜W› Ð䘓M€Mä  ›MÐä!% g£Ðä ØðàØ%ØØ+ØØ)Ø#Ø1ØØ,ØØ*Ø"Ø2Ø#=ò!€Fð$ €Mr)rr¤)r r#r'Úrrrrr rÚenvironÚgetrÚStructÚINDEX_HEADER_FMTršr›r6r´r¿rÓr£rrÚrÙs”ðó& Û Û ÷óõó .ð×%Ñ%×)Ñ)Ð*<Ó=ÐáóðX ˆ6�=‰=˜×3Ñ3Ð6FÑFÓ G€ð ˆF�M‰M˜%Ó € ÷bñbòJ ò ôHr