Ë ]�W¨¤ä¬eãó¶—ddlZddlmZddlmZddlmZddlmZm Z m Z m Z m Z dZ dZdd„Zd„Zed «Zed «Zed «Zed «ZGd „d«Zy)éNé)Ú_)Úshort)Ú stringutil)ÚerrorÚpycompatÚ requirementsÚrevlogÚutilcó†—|j«5t||«}|j«cddd«S#1swYyxYw©N)ÚlockÚverifierÚverify)ÚrepoÚlevelÚvs ú4usr/lib/python3.12/site-packages/mercurial/verify.pyrrs*€Ø �‰�Ü �T˜5Ó !ˆØ�x‰x‹z÷ �Šús ‘7·Acó<—d|vr|jdd«}d|vrŒ|S)Ns//ó/)Úreplace)Úfs rÚ _normpathr!s)€ð �1‰*Ø �I‰I�e˜TÓ "ˆð �1Š*à €HósChint: run "hg debugrebuildfncache" to recover from corrupt fncache s7parent-directory manifest refers to unknown revision %ss1warning: copy source of '%s' not in parents of %ss5warning: %s@%s: copy source revision is nullid %s:%s có^—eZdZdd„Zd„Zdd„Zdd„Zd„Zd„Zd„Z d „Z dd „Z d „Z d „Z d „Zy)rNcóŒ—|j«|_|j|_|j«|_|€t }||_t«|_d|_ d|_ t|j«dkD|_ t|jjd««dkD|_|jj"t$j&k7|_t+j,|j«j.«|_d|_d|_|jj7dd«|_d|_y)NrrFsverifyó skipflagsT)Ú unfilteredrÚuiÚ narrowmatchÚmatchÚVERIFY_DEFAULTÚ_levelÚsetÚbadrevsÚerrorsÚwarningsÚlenÚ changelogÚhaveclÚ manifestlogÚ getstorageÚhavemfÚ_format_versionr ÚREVLOGV0Úrevlogv1r Ú lrucachefuncÚ __getitem__Ú lrugetctxÚrefersmfÚ fncachewarnedÚ configintÚ skipflagsÚwarnorphanstorefiles)Úselfrrs rÚ__init__zverifier.__init__;sò€Ø—O‘OÓ%ˆŒ Ø—'‘'ˆŒØ×%Ñ%Ó'ˆŒ Ø ˆ=Ü"ˆE؈Œ Ü“uˆŒ ؈Œ ؈Œ ܘ$Ÿ.™.Ó)¨AÑ-ˆŒ ܘ$×*Ñ*×5Ñ5°cÓ:Ó;¸aÑ?ˆŒ ØŸ™×6Ñ6¼&¿/¹/ÑIˆŒ Ü×*Ñ*¨4¯?©?Ó+<×+HÑ+HÓIˆŒØˆŒ Ø"ˆÔàŸ™×*Ñ*¨9°lÓCˆŒØ$(ˆÕ!rcój—|jj|dz«|xjdz c_y)zrecord a "warning" level issueó rN)rÚwarnr')r9Úmsgs rÚ_warnzverifier._warnOs$€à �‰� ‰ �S˜5‘[Ô!Ø � Š ˜ÑŽ rcóÚ—|�!|jj|«d|z}nd}d||fz}|rd||fz}|jjd|zdz«|xjdz c_y) zrecord a "error" level issueNs%dó?ó%s: %ss%s@%só r<r)r%Úaddrr=r&)r9Úlinkrevr>Úfilenames rÚ_errz verifier._errTsn€à Ð Ø �L‰L× Ñ ˜WÔ %ؘg‘o‰GàˆGؘ7 C˜.Ñ(ˆÙ ؘh¨˜_Ñ,ˆCØ �‰� ‰ �T˜C‘Z %Ñ'Ô(Ø � Š �qÑŽ rcóŒ—tj|«}|stj|«}|j |d||fz|«y)z1record exception raised during the verify processrBN)rÚ forcebytestrrÚbytereprrG)r9rEr>ÚinstrFÚfmsgs rÚ_excz verifier._excas>€ä×&Ñ& tÓ,ˆÙÜ×$Ñ$ TÓ*ˆDØ � ‰ �'˜9¨¨T {Ñ2°HÕ=rcó(—t|«s7|js |jr|j|t d«|z«y|j «}|dr"|jdt d«|dz|«|dr"|jdt d«|dz|«|j tjk7r+|js|jt d«|z«yy|jr|jt d«|z«yy) zÈverify high level property of a revlog - revlog is present, - revlog is non-empty, - sizes (index and data) are correct, - revlog's format version is correct. óempty or missing %sNrsdata length off by %d bytesrsindex contains %d extra bytess"warning: `%s' uses revlog format 1s"warning: `%s' uses revlog format 0) r(r*r-rGrÚ checksizer.r r/r0r?)r9ÚobjÚnamerEÚds rÚ _checkrevlogzverifier._checkrevloghsâ€ô�3Œx˜TŸ[š[¨D¯KªKØ �I‰I�gœqÐ!7Ó8¸4Ñ?Ô @Ø à �M‰M‹OˆØ ˆQŠ4Ø �I‰I�dœAÐ<Ó=ÀÀ!ÁÑDÀdÔ KØ ˆQŠ4Ø �I‰I�dœAÐ>Ó?À!ÀAÁ$ÑFÈÔ Mà × Ñ ¤&§/¡/Ò 1Ø—=’=Ø— ‘ œ1ÐBÓCÀdÑJÕKð!à �]Š]Ø �J‰J”qÐ>Ó?À$ÑFÕ Gðrcó—|j|j|««}|dks|jrø||vrô|dks"|t|jj «k\r t d«}n t d«}|jd|||fz|«|rš|rPt|«dkDrB g}|D]9}|j|«|j«|k(sŒ)|j|«Œ; t d«}|djttj|««z}|j!|«d} |j#|«\} } | |vrN| |jj$k7r5t d«t'| «t'|«fz}|j|||«| |vrN| |jj$k7r5t d «t'| «t'|«fz}|j|||«||vr$|j|t d «|||fz|«|||<|S#t$rY�Œ>wxYw#t$r3} |j)|t d «t'|«z| |«Yd} ~ Œvd} ~ wwxYw) a verify a single revlog entry arguments are: - obj: the source revlog - i: the revision number - node: the revision node id - seen: nodes previously seen for this revlog - linkrevs: [changelog-revisions] introducing "node" - f: string label ("changelog", "manifest", or filename) Performs the following checks: - linkrev points to an existing changelog revision, - linkrev points to a changelog revision that introduces this revision, - linkrev points to the lowest of these changesets, - both parents exist in the revlog, - the revision is not duplicated. Return the linkrev of the revision (or None for changelog's revisions). rs)rev %d points to nonexistent changeset %ds(rev %d points to unexpected changeset %dNrs (expected %s)rCsunknown parent 1 %s of %ssunknown parent 2 %s of %sschecking parents of %ssduplicate revision %d (%d))rEÚrevr*r(rr)rrGr3ÚfilenodeÚappendÚ ExceptionÚjoinÚmaprÚbytestrr?ÚparentsÚnullidrrM) r9rQÚiÚnodeÚseenÚlinkrevsrÚlrr>Úp1Úp2rKs rÚ _checkentryzverifier._checkentry€s-€ð(�[‰[˜Ÿ™ ›Ó 'ˆØ �Š6�d—k’k b°Ñ&8Ø�AŠv˜œs 4§9¡9×#6Ñ#6Ó7Ò7ÜÐDÓE‘äÐCÓD�Ø �I‰I�d˜C 1 b '™M¨1Ô -ÙÙœ˜X›¨Ò*ðà#%˜Û"*˜BØ#Ÿ~™~¨bÓ1°!Ñ4×=Ñ=Ó?À4ÓGØ (§¡°Õ 3ñ#+ô Ð)Ó*�Ø�t—y‘y¤¤X×%5Ñ%5°xÓ!@ÓAÑA�Ø— ‘ ˜3”؈Bð OØ—[‘[ Ó&‰FˆB�ؘ‰~ "¨¯ © ×(8Ñ(8Ò"8ÜÐ4Ó5¼¸r»ÄEÈ$ÃKÐ8PÑP�Ø— ‘ ˜"˜c 1Ô%ؘ‰~ "¨¯ © ×(8Ñ(8Ò"8ÜÐ4Ó5¼¸r»ÄEÈ$ÃKÐ8PÑP�Ø— ‘ ˜"˜c 1Ô%ð �4‰<Ø �I‰I�bœ!Ð9Ó:¸aÀÀdÁ¸_ÑLÈaÔ P؈ˆT‰ ؈ øô+%òÚðûôò OØ �I‰I�bœ!Ð5Ó6¼¸t»ÑDÀdÈA× NÑ Nûð Oús1Â,Hà HÄ+B8H"È HÈHÈ" IÈ+)IÉIcó>—|j}|j}|j«jd«st j t d««‚tjj|jd««r|jt d««|js |js/|jt d«|jxrdxsdz«|j«\}}|j!|«}~|j#||«|j%||«\}}|j&r|jt d««d}n|j)«}|jt d «t+|j,«||fz«|j.r'|jt d «|j.z«|j0r|jt2«|j&r¡|jt d «|j&z«|j4r4t d «} | t7|j4«z} |j| «|r7|jt d ««|jt d«|z«yy)zÂverify the content of the Mercurial repository This method run all verifications, displaying issues as they are found. return 1 if any error have been encountered, 0 otherwise.sfile:s$cannot verify bundle or remote repossjournals-abandoned transaction found - run hg recover s!repository uses revlog format %d rrs1not checking dirstate because of previous errors s2checked %d changesets with %d changes to %d files s%d warnings encountered! s!%d integrity errors encountered! s+(first damaged changeset appears to be %d) s5dirstate inconsistent with current parent's manifest s%d dirstate errors )rrÚurlÚ startswithrÚAbortrÚosÚpathÚexistsÚsjoinr=Úverboser0ÚstatusÚ_verifychangelogÚ_verifymanifestÚ_crosscheckfilesÚ _verifyfilesr&Ú_verify_dirstater(r)r'r5Ú HINT_FNCACHEr%Úmin) r9rrÚ mflinkrevsÚ filelinkrevsÚ filenodesÚ totalfilesÚ filerevisionsÚdirstate_errorsr>s rrzverifier.verifyºs€ð�y‰yˆØ �W‰WˆØ�x‰x‹z×$Ñ$ XÔ.Ü—+‘+œaÐ GÓHÓIÐ Iä �7‰7�>‰>˜$Ÿ*™* ZÓ0Ô 1Ø �G‰G”AÐGÓHÔ Ià �:Š:˜TŸ]š]Ø �I‰IÜÐ7Ó8Ø—=‘=Ò& QÒ+¨!ñ-ô ð $(×#8Ñ#8Ó#:Ñ ˆ �LØ×(Ñ(¨Ó4ˆ Ø Ø ×јl¨IÔ6Ø$(×$5Ñ$5°iÀÓ$NÑ!ˆ �Mà �;Š;Ø �G‰G”AÐKÓLÔ M؉Oà"×3Ñ3Ó5ˆOð � ‰ Ü ÐDÓ EÜ�4—>‘>Ó" M°:Ð>ñ ?ô ð �=Š=Ø �G‰G”AÐ3Ó4°t·}±}ÑDÔ EØ × Ò Ø �G‰G”LÔ !Ø �;Š;Ø �G‰G”AÐ;Ó<¸t¿{¹{ÑJÔ KØ�|Š|ÜÐGÓH�Ø”s˜4Ÿ<™<Ó(Ñ(�Ø—‘˜” ÙØ—‘ÜÐOÓPôð—‘œÐ1Ó2°_ÑDÔEØØrc ó†—|j}|j}|j}|j}|j t d««i}i}i}|j |dd«|jt d«t d«t|«¬«}|D]Ñ} |j| «|j| «} |j|| | || gd« |j| «} | d|jjk7r+|j| dg«j| «d|_| dD]5} || «sŒ |jt#| «g«j| «Œ7ŒÓ|j+«||fS#t$$r:} d|_|j'| t d «t)| «z| «Yd } ~ �Œ&d } ~ wwxYw) aIverify the changelog of a repository The following checks are performed: - all of `_checkrevlog` checks, - all of `_checkentry` checks (for each revisions), - each revision can be read. The function returns some of the data observed in the changesets as a (mflinkrevs, filelinkrevs) tuples: - mflinkrevs: is a { manifest-node -> [changelog-rev] } mapping - filelinkrevs: is a { file-path -> [changelog-rev] } mapping If a matcher was specified, filelinkrevs will only contains matched files. schecking changesets s changelogrócheckings changesets©ÚunitÚtotalTésunpacking changeset %sN)rrr!r)rprrTÚ makeprogressr(Úupdater`rfÚreadr^Ú setdefaultrXr4rrYrMrÚcomplete)r9rrr!ÚclrxryraÚprogressr_ÚnÚchangesrrKs rrqzverifier._verifychangelogósš€ð �W‰WˆØ�y‰yˆØ— ‘ ˆØ �^‰^ˆà � ‰ ”!Ð,Ó-Ô.؈ ؈ ØˆØ ×ј"˜l¨AÔ.Ø—?‘?Ü ˆk‹N¤ =Ó!1¼¸T»ð#ó ˆóˆAØ �O‰O˜AÔ Ø—‘˜“ ˆAØ × Ñ ˜R  A t¨a¨S°,Ô ?ð LØŸ'™' !›*�ؘ1‘: §¡×!1Ñ!1Ò1Ø×)Ñ)¨'°!©*°bÓ9×@Ñ@ÀÔCØ$(�D”MØ  œ�AÙ˜Q•xØ$×/Ñ/´ ¸!³ ¸bÓA×HÑHÈÕKñ$ðð ×ÑÔØ˜<Ð'Ð'øô ò LØ $�” Ø— ‘ ˜!œQÐ8Ó9¼EÀ!»HÑDÀd×KÒKûð LúsÃA(E=Ä;,E=Å= GÆ/F;Æ;Gc ó@ —|j}|j}|j}|jj}|j |«} |s$|jj t d««i} i} i} d} |r5|} | j«}|j|«|r|j«|jr|j| j| d«|jt d«t d«t| «¬«}| D�]È}|s|j|«| j!|«}|j#| ||| |j%|g«| «}||vr||=nU|r+t d«t'|«z}|j)||| «n(|j)|t d«t'|«z| « |j%||«j+d ¬ «}|j-«D]±\}}}|s|j)|t d ««n|d k(rŒ+|t/|«z}|d k(rI|j1|«sŒP| j3|dzi«}|j3|g«j5|«Œ‡||«sŒ�| j3|i«j3||«Œ³ |j:t<k\s�Œ¨ |j%||«j?«}�ŒË|s|jA«|jBr‚|D��cgc]}||D]}||f‘ŒŒ}}}tE|«D]W\}}|r$|j)|tFt'|«z| «Œ,t d«}|t'|«z}|j)||| «ŒY|�sf| �rc|jj t d««tI«}tI«}|jJ}g} |jLjO| ¬«D]ª}!|!j«D]•}"|"jP}|"jS|jLjT«}#|#dkDs|rŒ<|jWd«sŒN|jYt/|««|jYtZj\j_|««Œ—Œ¬| D] }|j)dt d«|z«Œ"|jt d«t d«t|«¬«}| ja«D]R\}$}%|jc|%|$||«}&|&ja«D]&\}}'| j3|i«j|'«Œ(ŒT|sO| rM|€J‚|jA«|jdr-tE|«D]}|jgt d«|z«Œ!| S#t6$r4}|j9|t d«t'|«z|| «Yd}~�Œ2d}~wwxYw#t6$r6}t d«t'|«z}|j9|||| «Yd}~�Œd}~wwxYwcc}}w)aŒverify the manifestlog content Inputs: - mflinkrevs: a {manifest-node -> [changelog-revisions]} mapping - dir: a subdirectory to check (for tree manifest repo) - storefiles: set of currently "orphan" files. - subdirprogress: a progress object This function checks: * all of `_checkrevlog` checks (for all manifest related revlogs) * all of `_checkentry` checks (for all manifest related revisions) * nodes for subdirectory exists in the sub-directory manifest * each manifest entries have a file path * each manifest node refered in mflinkrevs exist in the manifest log If tree manifest is in use and a matchers is specified, only the sub-directories matching it will be verified. return a two level mapping: {"path" -> { filenode -> changelog-revision}} This mapping primarily contains entries for every files in the repository. In addition, when tree-manifest is used, it also contains sub-directory entries. If a matcher is provided, only matching paths will be included. schecking manifests smanifestrrs manifestsr€s#%s not in parent-directory manifests%s not in changesetsT)Úshallowsentry without name in manifests /dev/nullótrsreading delta %sNsreading full manifest %ss'changeset refers to unknown revision %sschecking directory manifests ©Ú undecodablesmeta/ócannot decode filename '%s'ówarning: orphan data file '%s')4rrr!r+r,rprÚfilesÚdifference_updateÚ incrementr4rTÚ_revlogr„r(r…r`rfÚgetrrGÚ readdeltaÚ iterentriesrÚvisitdirr‡rXrYrMr#Ú VERIFY_FULLr†rˆr-ÚsortedÚWARN_PARENT_DIR_UNKNOWN_REVr$r0ÚstoreÚ data_entriesÚunencoded_pathÚ file_sizeÚvfsrirDrkrlÚdirnameÚitemsrrr8r?)(r9rxÚdirÚ storefilesÚsubdirprogressrrr!ÚmflÚmfrzÚ subdirnodesraÚlabelÚ revlogfilesrŠr_r‹rcr>ÚmfdeltarÚfnÚflÚfullpathÚsdnrKÚmÚcÚchangesetpairsÚsubdirsr0r‘ÚentryÚfile_ÚsizeÚsubdirrbÚsubdirfilenodesÚ onefilenodess( rrrzverifier._verifymanifest#s`€ð<�y‰yˆØ �W‰WˆØ— ‘ ˆØ�i‰i×#Ñ#ˆØ �^‰^˜CÓ ˆáØ �G‰G�N‰Nœ1Ð4Ó5Ô 6àˆ Øˆ ؈؈٠؈EØŸ(™(›*ˆKØ × (Ñ (¨Ô 5ÙØ×(Ñ(Ô*Ø �=Š=ð × Ñ ˜bŸj™j¨%°Ô 3Ø—?‘?Ü ˆk‹N¤ <£¼¸B»ð#ó ˆôˆAÙØ—‘ Ô"Ø—‘˜“ ˆAØ×!Ñ! " a¨¨D°*·.±.ÀÀBÓ2GÈÓOˆBØ�J‰Ø˜q‘MÙÜÐ>Ó?Ä%ÈÃ(ÑJ�Ø— ‘ ˜"˜c 5Õ)à— ‘ ˜"œaÐ 7Ó8¼5À»8ÑCÀUÔKð NØŸ'™' # q›/×3Ñ3¸DÐ3ÓA�Ø!(×!4Ñ!4Ö!6‘I�A�r˜2ÙØŸ ™  "¤aÐ(IÓ&JÕKؘlÒ*Ø Ø"¤Y¨q£\Ñ1�HؘT’zØ$Ÿ~™~¨hÔ7Ø$Ø)×4Ñ4°XÀ±_ÀbÓI˜ØŸ™ r¨2Ó.×5Ñ5°bÕ9á$ XœØ$Ø!×,Ñ,¨X°rÓ:×EÑEÀbÈ"ÕMñ"7ð"�{‰{œkÔ)ð4ð"Ÿg™g c¨1›o×2Ñ2Ó4’GðKñTØ × Ñ Ô à �;Š;ñ/9ÔP©j¨À*ÈQÄ-¸Q˜q !šfÀ-˜f¨jˆNÑPܘ~Ö.‘��1ÙØ—I‘I˜aÔ!<¼uÀQ»xÑ!GÈÕOäÐFÓG�CØœ5 ›8‘O�CØ—I‘I˜a  eÕ,ð /ò’{Ø �G‰G�N‰Nœ1Ð>Ó?Ô @Ü›ˆJÜ“eˆGØ—}‘}ˆH؈KØŸ™×0Ñ0¸[Ð0ÖI�Ø"Ÿ[™[ž]�EØ×,Ñ,�AØ Ÿ?™?¨4¯:©:¯>©>Ó:�Dؘqšª°a·l±lÀ8Õ6LØ"Ÿ™¤y°£|Ô4ØŸ ™ ¤B§G¡G§O¡O°AÓ$6Õ7ñ +ðJó!�Ø— ‘ ˜$¤Ð"@Ó AÀAÑ EÕFð!àŸ_™_Ü�+“¤Q |£_¼CÀ»Lð-óˆNð!,× 1Ñ 1Ö 3Ñ ˆF�HØ"×2Ñ2ؘ& *¨nóˆOð$3×#8Ñ#8Ö#:‘��<Ø×$Ñ$ Q¨Ó+×2Ñ2°<Õ@ñ$;ð !4ñ‘{Ø!Ð-Ð -Ð-Ø × #Ñ #Ô %Ø×(Ò(Ü  Ö+�AØ—J‘JœqÐ!BÓCÀaÑGÕHð,ðÐøôyò NØ— ‘ ˜"œaÐ 3Ó4´u¸Q³xÑ?ÀÀu×MÒMûð Nûô!ò4ÜÐ7Ó8¼5À»8ÑC�CØ—I‘I˜b # t¨U×3Ò3ûð4üóQs7Æ7C&VÊ4 WË:XÖ WÖ!)W×W× X×!+XØXc ó —|j}|j}|jtd««t |«t |«z}|j td«td«|¬«}|j rIt|«D];}|j«||vsŒ||d}|j|td«|«Œ=|jr�t|«D]}|j«||vsŒ |j|«} t||D� cgc]"} | j| j| ««‘Œ$c} «}|j|td«|«Œ�|j!«ycc} w#t$rd}YŒAwxYw)Ns0crosschecking files in changesets and manifests s crosscheckingófilesr€rs in changeset but not in manifests in manifest but not in changeset)rrrprr(r„r-r�r–rGr*ÚfilerwrErVrYrˆ) r9ryrzrrr‚rŠrrcr°r‹s rrszverifier._crosscheckfiles·sY€Ø�y‰yˆØ �W‰WˆØ � ‰ ”!ÐHÓIÔJä�LÓ!¤C¨ £NÑ2ˆØ—?‘?Ü ÐÓ ¤a¨£k¸ð#ó ˆð �;Š;ܘLÖ)�Ø×"Ñ"Ô$ؘIÒ%Ø% a™¨Ñ+�BØ—I‘I˜b¤!Ð$GÓ"HÈ!ÕLð *ð �;Š;ܘIÖ&�Ø×"Ñ"Ô$ؘLÒ(ð"Ø!ŸY™Y q›\˜Ü ÀÈ1ÂÓ!NÁ¸A "§*¡*¨R¯V©V°A«YÕ"7ÀÑ!NÓO˜ð—I‘I˜b¤!Ð$GÓ"HÈ!ÕLð'ð ×ÑÕùò "OøÜ$ò"Ø!šð"ús$Ã5E4Ä'E/ Ä9E4Å/E4Å4 FÆFc ó ‡&—|j}|j}|j}|j}|j}|j t d««t«}g} |jj| ¬«D]|} | j«D]g} | j|jj«} | j} | dkDs|rŒ<| jd«sŒN|jt!| ««ŒiŒ~| D] } |j#dt d«| z«Œ"|jj$j&|j(|j+dd«dk(d œ}t-t|«t|«z«}d}|j/t d «t d «t1|«¬ «}t3|«D�]‹\}} |j5|| ¬ « || }|r|d}nd} |j9| «}|j«D]} |j?|«Œt1|«s7|jFs |jr|j#|t d«| z«nât«|d<t«|d<|jI|«D]´}|jJ�+|jM|jO|jJ««}nd}|jPr|jC|jP«Œd|j:r$|�|n|}|j#||j:| «Œ”t;jRd|jTz«‚i}|D�]“}|dz }|jK|«}|jW|||||| «}| |vr8|r0||| vr)|j#|t d«tY|«z| «n|| |=||dvr||dvrŒ{ |j[|«Š&‰&�r|�P|j\rD||«}t_ˆ&fd„|ja«D««s|jCtb| |fz«|j9‰&d«}t1|«s3t d«} |j#|| ‰&dtY‰&d«fz| «n`‰&d|jjdk(r0tf}|| |‰&dtY‰&d«fz}|ji|«n|jO‰&d«�Œ–| |vs�Œ(|| jo«D�"�#cgc] \}"}#|#|"f‘Œ }$}"}#t-|$«D]/\}}%t d«}|j#||tY|%«z| «Œ1�ŒŽ|jq«|j@r-t-|«D]} |jCt d«| z«Œ!t1|«|fS#t6$rg}Y�ŒÓwxYw#t:j<$r*}|j#|t d«|z| «Yd}~�Œ/d}~wwxYw#t6$r6|j@r&t d«}|jC||z«d|_"Y�Œ)wxYw#tj$r4}!|jm|t d«tY|«z|!| «Yd}!~!�Œ&d}!~!wwxYwcc}#}"w)Nschecking files r�rsdata/r’scensorspolicysabort)sexpectedversionrserroroncensoredrr¾r€)Úitemsbroken revlog! (%s)s% warning: revlog '%s' not in fncache!TrOsskipreads safe_renameds<problem instance does not set warning or error attribute: %srs%s not in manifestsc3ó,•K—|] }‰d|v–—Œ y­w)rN©)Ú.0ÚpctxÚrps €rÚ z(verifier._verifyfiles..@søèø€Ð&OÁ¸ r¨!¡u°¤}Áùsƒs)empty or missing copy source revlog %s:%sschecking rename of %ss&manifest refers to unknown revision %sr“)9rrr3r0r-rprr$rŸr r”r¢r£r¡rirDrrGr)r.r7Úconfigr�r„r(Ú enumerater…ÚKeyErrorr¿rÚ StorageErrorÚremover8r?r5r*Úverifyintegrityr`rErVÚwarningÚProgrammingErrorr>rfrÚrenamedroÚanyr]ÚWARN_UNKNOWN_COPY_SOURCEr^ÚWARN_NULLID_COPY_SOURCEÚnoterYrMr¥rˆ)'r9rzryrrr3r0r-r§r‘r·r¸r¹rÚstater”Ú revisionsrŠr_rbrcr°ÚeÚffr>ÚproblemrEÚ linkrev_msgrar‹ÚctxÚfl2r³rKÚkrÚfnsr`rÆs' @rrtzverifier._verifyfilesÔsÛø€Ø�y‰yˆØ �W‰WˆØ—N‘Nˆ Ø—=‘=ˆØ—‘ˆØ � ‰ ”!Ð'Ó(Ô)ä“Uˆ ؈ Ø—Z‘Z×,Ñ,¸Ð,ÖEˆEØŸ™ž�Ø—‘ t§z¡z§~¡~Ó6�Ø×(Ñ(�ؘ1’H¢H°!·,±,¸xÕ2HØ—N‘N¤9¨Q£<Õ0ñ 'ðFó ˆAØ �I‰I�dœAÐ<Ó=ÀÑAÕ Bðð !%§ ¡ × 3Ñ 3× CÑ CØŸ.™.à "§ ¡ ¨)°YÓ ?À8Ñ Kñ  ˆô”s˜9“~¬¨LÓ(9Ñ9Ó:ˆØˆ Ø—?‘?Ü ˆk‹N¤ 8£´C¸³Jð#ó ˆô˜e×$‰DˆAˆqØ �O‰O˜A AˆOÔ &ð Ø'¨™?�ñ ؘa‘[‘à�ð Ø—Y‘Y˜q“\�ð —h‘h–j�ð2Ø×%Ñ% bÕ)ð!ô�r”7 § ¢ ¨t¯{ª{Ø— ‘ ˜"œaÐ 6Ó7¸!Ñ;Õ<ô&)£U��kÑ"Ü),«��oÑ&à!×1Ñ1°%Ö8�GØ—|‘|Ð/Ø"$§*¡*¨R¯V©V°G·L±LÓ-AÓ"B™à"&˜à—’ØŸ ™  7§?¡?Õ3Ø ŸšØ18Ð1D¡gÈ"˜ ØŸ ™  +¨w¯}©}¸aÕ@ä#×4Ñ4ð-Ø/6¯{©{ñ;óðð 9ð"ˆDÜ�ؘQ‘� Ø—G‘G˜A“J�Ø×%Ñ% b¨!¨Q°°hÀÓB�ؘ ‘>Ù !¨9°Q©<Ñ"7ØŸ ™  "¤aÐ(>Ó&?Ä5ÈÃ8Ñ&LÈaÕPà% a™L¨˜Oà˜˜kÑ*Ñ*¨q¸¸oÑ8NÑ/NØðð Ÿ™ A›�BÚØ˜>¨b¯jªjÙ"+¨B£-˜CÜ#&Ó&OÀÇÁÄÓ&OÔ#OØ $§ ¡ Ô+CÀqÈ#ÀhÑ+NÔ OØ"Ÿi™i¨¨1©Ó.˜Ü" 3œxÜ !Ð"NÓ O˜AØ ŸI™I b¨!¨r°!©u´e¸B¸q¹E³lÐ.CÑ*CÀQÕGØ ™U d§i¡i×&6Ñ&6Ò6Ü"9˜CØ A r¨2¨a©5´%¸¸1¹³,Ð#?Ñ?˜CØŸG™G C�LàŸG™G B q¡EœNùðEðR�I‹~Ø*3°A©,×*<Ñ*<Ô*>Ô?Ñ*>¡$ ! Q˜˜1’vÐ*>�Ñ?Ü & s¦ ‘H�B˜ÜÐEÓF�CØ—I‘I˜b #¬¨d« Ñ"3°QÕ7ò!,ðA%ðF ×ÑÔà × $Ò $ܘJÖ'�Ø— ‘ œ1Ð>Ó?À!ÑCÕDð(ô�5‹z˜9Ð$Ð$øôKò à“ð ûô×%Ñ%ò Ø— ‘ ˜"œaÐ 6Ó7¸!Ñ;¸QÔ?Ýûð ûô ò2Ø×0Ò0ÜÐ HÓI˜ØŸ ™  3¨¡8Ô,Ø-1˜Ô*úð 2ûôD!òØ—I‘IØœAÐ6Ó7¼%À»(ÑBÀDÈ!÷òûðüó@s[ÇV&Ç,V8ÈW8ÏDX:Ó?Y:Ö& V5Ö4V5Ö8W5× W0×0W5×8;X7Ø6X7Ø: Y7Ù)Y2Ù2Y7cóô—|j}|j}|jtd««|jj «\}}||j «}||j «}d}tj|jv}|r|j«nd} |jj|||| «D]} |j| «|dz }Œ|r|xj|z c_ |S)z@Check that the dirstate is consistent with the parent's manifestschecking dirstate rNr) rrrprÚdirstater]Úmanifestr ÚNARROW_REQUIREMENTr rrr&) r9rrÚparent1Úparent2Úm1Úm2r}Ú is_narrowÚnarrow_matcherÚerrs rruzverifier._verify_dirstate_sÜ€à�y‰yˆØ �W‰WˆØ � ‰ ”!Ð*Ó+Ô,àŸ=™=×0Ñ0Ó2ш�Ø �'‰]× #Ñ #Ó %ˆØ �'‰]× #Ñ #Ó %ˆØˆä ×3Ñ3°t×7HÑ7HÐHˆ Ù/8˜×)Ñ)Ô+¸dˆà—=‘=×'Ñ'¨¨B°¸ÖHˆCØ �H‰H�SŒMØ ˜qÑ ‰OðIñ Ø �KŠK˜?Ñ *�KØÐrr )rNN)Ú__name__Ú __module__Ú __qualname__r:r?rGrMrTrfrrqrrrsrtrurÃrrrr:sM„ó)ò(ó ó>òHò08òt7òr.(ðbDHóRòhò:I%óVrrr )rkÚi18nrr`rÚutilsrÚrrr r r r"rœrrrvržrÒrÓrrÃrrÚrðs~ðó åÝÝ÷õð€Ø€ óò  ñØKó€ ñ Ø>óÐñØ8óÐñØ=óÐ÷ yòyr