Ë ÀåBîtfRUãó–—ddlZddlmZddlmZmZddlmZejZd„Z d„Z Gd„d «Z Gd „d ej«Z y) éN)Ú_)ÚerrorÚpycompaté)Úcommonc#óˆK—t|«}|dk7r(|d|||dzdf–—|jdd|«}|dk7rŒ(d|f–—y­w)aYield tuples with path split at '/', starting with the full path. No leading, trailing or double '/', please. >>> for x in rpairs(b'foo/bar/baz'): print(x) ('foo/bar/baz', '') ('foo/bar', 'baz') ('foo', 'bar/baz') ('.', 'foo/bar/baz') éÿÿÿÿNró/ró.)ÚlenÚrfind)ÚpathÚis ú9usr/lib/python3.12/site-packages/hgext/convert/filemap.pyÚrpairsrsZèø€ô ˆD‹ €AØ ˆrŠ'Ø�2�Aˆh˜˜Q ™U˜W˜ Ð%Ò%Ø �J‰J�t˜Q Ó "ˆð ˆr‹'ð �ˆ*Óùs ‚8A»Acó2—|€ytj|«S)z}We use posixpath.normpath to support cross-platform path format. However, it doesn't handle None input. So we wrap it up.N)Ú posixpathÚnormpath)rs rÚ normalizer$s€ð €|ØÜ × Ñ ˜dÓ #Ð#ócó6—eZdZdZd d„Zd„Zd„Zd„Zd„Zd„Z y) Ú filemapperz€Map and filter filenames when importing. A name can be mapped to itself, a new name, or None (omit from new repository).Ncó®—||_i|_i|_i|_d|_|r0|j |«rt jtd««‚yy)Nserrors in filemap) ÚuiÚincludeÚexcludeÚrenameÚtargetprefixesÚparserÚAbortr)Úselfrrs rÚ__init__zfilemapper.__init__1sT€ØˆŒØˆŒ ؈Œ ؈Œ Ø"ˆÔÙ Ø�z‰z˜$ÔÜ—k‘k¤!Ð$8Ó"9Ó:Ð:ð ð rc󤇇—d}ˆˆfd„}tj|d¬«Š‰j«}|�r›|dk(rAt‰j««}|||‰jd«z }|‰j |<�nA|dk(rWt‰j««}|||‰j d«z }|||‰j d«z }|‰j|<nå|dk(rYt‰j««}t‰j««}|||‰jd«z }|‰j |<n‡|dk(r,|‰jt‰j«««z }nV‰jjtd «‰j‰jtj|«fz«|d z }‰j«}|r�Œ›|S) Nrc ó•—|s?‰jjtd«‰j‰j|fz«y||vr@‰jjtd«‰j‰j||fz«y|j d«s|j d«sd|vrS‰jjtd«‰j‰j|tj|«fz«yy)Ns%s:%d: path to %s is missing rs%s:%d: %r already in %s list r s//s%s:%d: superfluous / in %s %r r) rÚwarnrÚinfileÚlinenoÚ startswithÚendswithrÚbytestr)ÚnameÚmappingÚlistnameÚlexr!s €€rÚcheckzfilemapper.parse..check>sÜø€ÙØ—‘— ‘ ÜÐ7Ó8Ø—z‘z 3§:¡:¨xÐ8ñ9ôðØ�w‰Ø—‘— ‘ ÜÐ7Ó8Ø—z‘z 3§:¡:¨t°XÐ>ñ?ôðØ�‰˜tÔ$¨¯ © °dÔ(;¸uȹ}Ø—‘— ‘ ÜÐ8Ó9Ø—z‘z 3§:¡:¨x¼×9IÑ9IÈ$Ó9OÐPñQôðØrs!@#$%^&*()-=+[]{}|;:,./<>?)ÚfilepathÚ wordcharssincludesexcludesrenamessources%s:%d: unknown directive %r r)rÚshlexerÚ get_tokenrrrrrrr%rr&r'rr*) r!rÚerrsr/Úcmdr+ÚsrcÚdestr.s ` @rrzfilemapper.parse;s•ù€Øˆõ ô*�n‰nØÐ%Bô ˆð�m‰m‹oˆÚØ�jÒ Ü  §¡£Ó1�Ø™˜d D§L¡L°*Ó=Ñ=�Ø%)�— ‘ ˜TÓ"ؘ Ò"Ü  §¡£Ó1�Ø™˜d D§L¡L°*Ó=Ñ=�Ø™˜d D§K¡K°Ó;Ñ;�Ø%)�— ‘ ˜TÒ"ؘ Ò!Ü § ¡ £Ó0�Ü  §¡£Ó1�Ø™˜c 4§<¡<°Ó<Ñ<�Ø#'�— ‘ ˜CÒ Ø˜ Ò!ؘŸ ™ ¤9¨S¯]©]«_Ó#=Ó>Ñ>‘à—‘— ‘ ÜÐ6Ó7Ø—z‘z 3§:¡:¬x×/?Ñ/?ÀÓ/DÐEñFô𘑠�Ø—-‘-“/ˆCó/ð0ˆ rcóz—t|«}t|«D]\}} ||||fcSd|dfS#t$rYŒ"wxYw)Nr)rrÚKeyError)r!r+r,ÚpreÚsufs rÚlookupzfilemapper.lookupqsU€Ü˜‹ˆÜ˜tž ‰HˆC�ð Ø˜s‘| S¨#Ð-Ò-ð%ð �D˜#ˆ~Ðøôò Ùð ús ž.® :¹:cóF—|j€Lt«|_|jj«D] \}}|jj |«Œ"|jrd|jvryt |«}t |«D]\}}||jvsŒyy)zÑReturn true if the given target filename is covered as a destination of the filemap. This is useful for identifying what parts of the target repo belong to the source repo and what parts don't.r TF)rÚsetrÚitemsÚaddrr)r!ÚfilenameÚbeforeÚafterr:r;s rÚ istargetfilezfilemapper.istargetfilezs™€ð × Ñ Ð &Ü"%£%ˆDÔ Ø!%§¡×!2Ñ!2Ö!4‘ �˜Ø×#Ñ#×'Ñ'¨Õ.ð"5ð ×"Ò" d¨d×.AÑ.AÑ&AØä˜XÓ&ˆÜ˜xÖ(‰HˆC�ð �d×)Ñ)Ò)Ùð )ðrcó —|jr |j||j«d}n|}|jr |j||j«d}nd}|js|st|«t|«kry|j||j«\}}}|r)|dk(r|S|r|j d«r||zS|dz|zS|S|S)Nrrr r )rr<rr rr))r!r+ÚincÚexcÚnewprer:r;s rÚ__call__zfilemapper.__call__’sÃ€Ø �<Š<Ø—+‘+˜d D§L¡LÓ1°!Ñ4‰CàˆCØ �<Š<Ø—+‘+˜d D§L¡LÓ1°!Ñ4‰CàˆCØ— ’ ¡¬#¨c«(´c¸#³hÒ*>ØØŸ;™; t¨T¯[©[Ó9ш��S٠ؘŠ~Ø� ÙØ—?‘? 4Ô(Ø! C™<Ð'Ø ‘} sÑ*Ð*؈M؈ rcód—t|jxs|jxs |j«S©N)Úboolrrr©r!s rÚactivezfilemapper.active¨s#€Ü�D—L‘LÒ? D§L¡LÒ?°D·K±KÓ@Ð@rrK) Ú__name__Ú __module__Ú __qualname__Ú__doc__r"rr<rDrIrN©rrrr,s'„ñó;ò4òlòò0ó,Arrcó–‡—eZdZˆfd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZˆxZS)Úfilemap_sourcecó$•—tt|� ||j«||_t ||«|_i|_i|_i|_d|_ d|_ i|_ i|_ i|_ |jjdd«|_y)NFsconvertsignoreancestorcheck)ÚsuperrUr"ÚrepotypeÚbaserÚcommitsÚ parentmapÚwantedancestorsÚconvertedorderÚ_rebuiltÚ origparentsÚchildrenÚ seenchildrenrÚ configboolÚignoreancestorcheck)r!rÚ baseconverterÚfilemapÚ __class__s €rr"zfilemap_source.__init__¼sŒø€Ü Œn˜dÑ,¨R°×1GÑ1GÔHØ!ˆŒ Ü$ R¨Ó1ˆŒØˆŒ ðˆŒð "ˆÔØ"ˆÔ؈Œ ØˆÔØˆŒ ؈Ôà#'§7¡7×#5Ñ#5Ø Ð.ó$ ˆÕ rcó8—|jj«yrK)rYrBrMs rrBzfilemap_source.beforeÑs€Ø � ‰ ×ÑÕrcó8—|jj«yrK)rYrCrMs rrCzfilemap_source.afterÔs€Ø � ‰ �‰Õrcór—| |_tti}t«}g}|jD]g}||}||v}|r|||<||j|<n|||j|<||j |<||}|tk(rd}|j |||f«Œi||_|jj|«SrK) r^ÚSKIPREVr>Úorderr[r\Úappendr]rYÚ setrevmap) r!ÚrevmapÚseenÚdummysetÚ convertedÚrevÚmappedÚwantedÚargs rrmzfilemap_source.setrevmap×sÉ€ð#˜ ˆŒ ÜœÐ!ˆÜ“5ˆØˆ Ø—<”<ˆCؘC‘[ˆFØ 4Ð'ˆFÙØ"��V‘ Ø&)�—‘˜sÒ#à&*¨6¡l�—‘˜sÑ#Ø(0ˆD× Ñ  Ñ %Ø�v‘,ˆCØ”gŠ~Ø�Ø × Ñ ˜c 6¨3Ð/Õ 0ð ð(ˆÔØ�y‰y×"Ñ" 6Ó*Ð*rcó —|jryd|_|jj«|jj«|jj«|j D]l\}}}||j vr) |j|«j|j |<|€ŒA|jj|d«dz|j|<Œn|j D]P\}}} |j |}|r|j!||«n|j#||«|j$|g|¢­ŽŒRy#tj$r"|jjd|z«Y�ŒwxYw#t$rYŒ—wxYw)NTsunknown revmap source: %s rr)r^r[Úclearr\rar]r_Ú getcommitÚparentsrÚRepoLookupErrorrÚdebugr`Úgetr9Ú mark_wantedÚmark_not_wantedÚ_discard)r!rrrtrurys rÚrebuildzfilemap_source.rebuildösi€Ø �=Š=ØØˆŒ Ø �‰×ÑÔØ ×Ñ×"Ñ"Ô$Ø ×Ñ×ÑÔ!Ø $× 3Ô 3Ñ ˆC�˜Ø˜$×*Ñ*Ñ*ðØ,0¯N©N¸3Ó,?×,GÑ,G�D×$Ñ$ SÑ)ð‰Ø%)§]¡]×%6Ñ%6°s¸AÓ%>ÀÑ%B�— ‘ ˜cÒ"ð!4ð!%× 3Ô 3Ñ ˆC�˜ð Ø×*Ñ*¨3Ñ/�ñØ× Ñ   gÕ.à×$Ñ$ S¨#Ô.Ø ˆD�M‰M˜#Ð ( Ô (ð!4ðøô#×,Ñ,òØ—G‘G—M‘MÐ"@À3Ñ"FÔGÚðûôò Ùð ús$Â(D>Ã2E6Ä>1E3Å2E3Å6 FÆFcó6—|jj«SrK)rYÚgetheadsrMs rr‚zfilemap_source.getheadss€Ø�y‰y×!Ñ!Ó#Ð#rcóÔ—|jj|«x}|j|<|jD].}|jj |d«dz|j|<Œ0|S©Nrr)rYrxrZryr`r|)r!rrÚcÚps rrxzfilemap_source.getcommits]€ð!%§ ¡ × 3Ñ 3°CÓ 8Ð8ˆˆD�L‰L˜Ñ Ø—”ˆAØ#Ÿ}™}×0Ñ0°°AÓ6¸Ñ:ˆD�M‰M˜!Ò ðàˆrcó6—|jj«SrK)rYÚ numcommitsrMs rrˆzfilemap_source.numcommitss€Ø�y‰y×#Ñ#Ó%Ð%rcór—||jvr|j|S|jj|«SrK)rZrYrx©r!rrs rÚ _cachedcommitzfilemap_source._cachedcommit"s2€Ø �$—,‘,Ñ Ø—<‘< Ñ$Ð $Ø�y‰y×"Ñ" 3Ó'Ð'rcón—|D]°}|€Œ|jj|d«dz|j|<|j||j|k(sŒR|jj |d«|j j |d«|j|=|j sŒ¤|j|=Œ²yr„)rar|r`r\Úpopr[r^)r!ÚrevsÚrs rrzfilemap_source._discard's£€ÛˆA؈yØØ#'×#4Ñ#4×#8Ñ#8¸¸AÓ#>ÀÑ#BˆD× Ñ ˜aÑ Ø× Ñ  Ñ# t§}¡}°QÑ'7Ó7Ø×$Ñ$×(Ñ(¨¨DÔ1Ø—‘×"Ñ" 1 dÔ+Ø×%Ñ% aÐ(Ø—=“=ØŸ ™  aÑ(ñrcó4— |jj||«}|D]}|j |«sŒy|j jry| xrd|j|jvS#t$rtjt d««‚wxYw)Ns+source repository doesn't support --filemapTFóclose) rYÚgetchangedfilesÚNotImplementedErrorrr rrrrZÚextra)r!rrrÚfilesÚfs rrtzfilemap_source.wanted3s–€ð QØ—I‘I×-Ñ-¨c°1Ó5ˆEóˆAØ�‰˜qÕ!Ùðð �?‰?× "Ò "ØðˆyÒD˜X¨T¯\©\¸#Ñ->×-DÑ-DÐDÐDøô!#ò QÜ—+‘+œaÐ NÓOÓPÐ Pð Qús ‚A/Á/(BcóÈ—|€(t|j|<th|j|<y|j||j|<|j||j|<yrK)rjr[r\)r!rrr†s rr~zfilemap_source.mark_not_wantedOsb€ð ˆ9ô#*ˆD�N‰N˜3Ñ Ü)0¨ ˆD× Ñ  Ñ %Ø ð#Ÿn™n¨QÑ/ˆ�‰�sÑØ$(×$8Ñ$8¸Ñ$;ˆ×јSÒ!rcó0—||j|<t«}|D]X}||jvr|j|j|«Œ0|jj t d«||fz«ŒZ|j|«||j|<y)Ns!warning: %s parent %s is missing )r[r>r\Úupdaterr%rr@)r!rrryÚwrevr†s rr}zfilemap_source.mark_wanted^s‰€ð "ˆ�‰�sÑô‹uˆÛˆAØ�D×(Ñ(Ñ(Ø— ‘ ˜D×0Ñ0°Ñ3Õ4à—‘— ‘ ÜÐ;Ó<ÀÀQ¸xÑGõð ð �‰�Œ Ø$(ˆ×јSÒ!rc󼇇‡—‰j|j}t|«dkDr‰js‰j «g}t «}‰j|j }d}t|«D]Ÿ\}Љj‰Š‰tk(s‰|vrŒ#‰j xrtˆˆˆfd„|D««} | s0|s.t|«dkDr ‰j‰«j |k(rd}|j‰‰|| f«|j‰«Œ¡|r|D� cgc] } | drŒ | ‘Œ }} d} |r%td„|D««} |D� cgc]} | d‘Œ }} n|rd} |‰j|<d} d‰j|j vr.|D� cgc]} ‰j| «j ‘Œ} } || vrd} t|«d krk| si‰j#|| «sWd} |r|| } ‰j%|| «‰j&j|d| f«‰j(|މj|S|‰j|_‰j+||«‰j&j|ddf«‰j(|މj,j/||«\}}}i}t |«}|D]A\}}‰j1|«}|sŒ||k7s||vsŒ$||f||<||k7sŒ1|j3|«ŒCt5|j7««}i}|D]2}‰j1|«}|sŒ‰j1||«}|sŒ.|||<Œ4|||fScc} wcc} wcc} w) NrFc3ór•K—|].}‰|k7r'‰‰j|k7r‰‰j|vr|–—Œ0y­wrK)r[r\)Ú.0Úp2Úmp1Úp1r!s €€€rÚ z,filemap_source.getchanges..�sDøèø€ð>á!�Bؘ’8ؘ4Ÿ>™>¨"Ñ-Ò-ؘ4×/Ñ/°Ñ3Ñ3ô Ù!ùsƒ47Téc3ó&K—|] }|d–—Œ y­w)éNrS)r�r†s rr¡z,filemap_source.getchanges..£sèø€Ð,¡8˜a�Q�q•T¡8ùs‚rr‘r¤)rZryr rcr€r>ÚbranchÚ enumerater[rjÚanyr‹rlr@Úmaxr_r”rtr~r]rr}rYÚ getchangesrÚdiscardÚsortedr?)r!rrÚfullryÚmparentsÚ knownparentsr¥ÚhasbranchparentrÚ isancestorr†ÚwpÚclosedÚ pbranchesÚchangesÚcopiesÚcleanp2r•Úncleanp2r–r�ÚnewfÚncopiesr…ÚnewcÚ newsourcerŸr s` @@rr©zfilemap_source.getchangessslú€Ø—,‘,˜sÑ#×+Ñ+ˆÜ ˆw‹<˜!Ò  D×$<Ò$<Ø �L‰LŒNð"ˆÜ“uˆ Ø—‘˜cÑ"×)Ñ)ˆØˆÜ˜wÖ'‰EˆAˆrØ—.‘. Ñ$ˆCØ”gŠ~ ¨ Ñ!4Øà!×5Ñ5Ð5ò¼#õ>á!ó>ó;ˆJñ¡o¼#¸g»,ÈÒ:Jà×%Ñ% bÓ)×0Ñ0°FÒ:Ø&*�OØ �O‰O˜R  a¨Ð4Ô 5Ø × Ñ ˜SÕ !ð#(ñ( Ù#+Ó8¡8˜a°1°Q³4š 8ˆHÐ8Ø ˆÙ ÜÑ,¡8Ó,Ó,ˆBÙ&.Ó/¡h ˜˜!› hˆHÑ/٠؈Bà 'ˆ×јÑàˆØ �t—|‘| CÑ(×.Ñ.Ñ .ñ@HÓH¹x¸!˜×+Ñ+¨AÓ.×5Ó5¸xˆIÐHؘÑ"Ø�ä ˆx‹=˜1Ò ¡V°D·K±KÀÀRÔ4HðˆAÙØ˜B‘K�Ø × Ñ   aÔ (Ø × Ñ × &Ñ &¨¨U°A Ô 7Ø ˆD�M‰M˜7Ñ #Ø—>‘> #Ñ&Ð &ð%-ˆ� ‰ �SÑÔ!Ø ×ј˜gÔ&Ø ×Ñ×"Ñ" C¨¨tÐ#4Ô5؈� ‰ �wÑð $(§9¡9×#7Ñ#7¸¸TÓ#BÑ ˆ�˜ØˆÜ�w“<ˆÛ‰DˆAˆqØ—?‘? 1Ó%ˆDÚ˜ š d°%Ò&7Ø  !˜f��d‘ ؘ1“9Ø×$Ñ$ QÕ'ð ô �u—{‘{“}Ó%ˆàˆÛˆAØ—?‘? 1Ó%ˆDÚØ ŸO™O¨F°1©IÓ6� ÚØ$-�G˜D’Mð ð�g˜xÐ'Ð'ùòw9ùò0ùòIsÄ! MÄ,MÅ MÆ"Mcó8—|jj|«SrK)rrD)r!Útargetfilenames rÚtargetfilebelongstosourcez(filemap_source.targetfilebelongstosourceÝs€Ø�‰×+Ñ+¨NÓ;Ð;rcóD—|\}}|jj||«SrK)rYÚgetfile)r!r+rrÚrealnameÚrealrevs rrÀzfilemap_source.getfileàs#€ØÑˆ�'Ø�y‰y× Ñ  ¨7Ó3Ð3rcó6—|jj«SrK)rYÚgettagsrMs rrÄzfilemap_source.gettagsäs€Ø�y‰y× Ñ Ó"Ð"rcó6—|jj«SrK)rYÚhasnativeorderrMs rrÆzfilemap_source.hasnativeorderçs€Ø�y‰y×'Ñ'Ó)Ð)rcó8—|jj|«SrK)rYÚ lookuprevrŠs rrÈzfilemap_source.lookuprevês€Ø�y‰y×"Ñ" 3Ó'Ð'rcó6—|jj«SrK)rYÚ getbookmarksrMs rrÊzfilemap_source.getbookmarksís€Ø�y‰y×%Ñ%Ó'Ð'rcó<—|jj||«yrK)rYrq)r!rrÚsinkrevs rrqzfilemap_source.convertedðs€Ø � ‰ ×јC Õ)r)rOrPrQr"rBrCrmr€r‚rxrˆr‹rrtr~r}r©r¾rÀrÄrÆrÈrÊrqÚ __classcell__)rfs@rrUrU»soø„ô ò*òò+ò>ò<$òò&ò(ò )òEò8 <ò)ò*h(òT<ò4ò#ò*ò(ò(ö*rrU)rÚmercurial.i18nrÚ mercurialrrÚrrjrrrÚconverter_sourcerUrSrrÚrÒsMðóå÷õà �.‰.€ò ò $÷}Añ}Aô^v*�V×,Ñ,õv*r