ó
    6°h‡º  ã                  óÎ   • S SK Jr  S SKrSSKJrJr  SSKJrJr  SSK	J
r
  SSKJr   " S S	\R                  5      r " S
 S\5      r " S S\5      r " S S\5      rS rS rS rg)é    )ÚannotationsNé   )ÚhexÚnullrev)ÚerrorÚmdiff)Ú
repository)Ústorageutilc                  óx   • \ rS rSr\" \R                  SS5      (       d  \R                  R                  rSr	gSr	g)Úbasetestcaseé   ÚassertRaisesRegexF© N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚgetattrÚunittestÚTestCaseÚassertRaisesRegexpr   Ú__static_attributes__r   ó    Ú;/usr/lib/python3/dist-packages/mercurial/testing/storage.pyr   r      s2   † Ù�8×$Ñ$Ð&9¸5×AÑAà×Ñ×0Ñ0ó 	ò Br   r   c                  ó0   • \ rS rSrSrS rS rS rS rSr	g)	Úifileindextestsé   zÄGeneric tests for the ifileindex interface.

All file storage backends for index data should conform to the tests in this
class.

Use ``makeifileindextests()`` to create an instance of this type.
c                óº  • U R                  5       nU R                  [        U5      SS5        U R                  [        U5      / S5        [	        U5      nU R                  [        5         [        U5        S S S 5        U R                  UR                  S 5      5        U R                  UR                  S5      5        U R                  UR                  [        5      5        U R                  UR                  UR                  5      5        U R                  UR                  S5      5        U R                  UR                  S5      5        U R                  [        UR                  5       5      / 5        [	        UR                  5       5      nU R                  [        5         [        U5        S S S 5        U R                  [        UR                  SS95      / 5        U R                  UR                  UR                  5      UR                  UR                  45        U R                  UR                  [        5      [        [        45        U R                  [        R                   5         UR                  S5        S S S 5        [#        S	S
5       H>  nU[        :X  a  M  U R                  [$        5         UR                  U5        S S S 5        M@     U R                  UR'                  UR                  5      [        5        U R                  UR)                  [        5      UR                  5        U R                  [        R                   5         UR'                  S5        S S S 5        [#        S	S
5       H>  nU[        :X  a  M  U R                  [$        5         UR)                  U5        S S S 5        M@     U R                  UR+                  UR                  5      UR                  5        U R                  UR+                  [        5      UR                  5        U R                  UR+                  [-        UR                  5      5      UR                  5        U R                  UR+                  S[        -  5      UR                  5        U R                  [        R                   5         UR+                  S5        S S S 5        U R                  [        R                   5         UR+                  [-        UR                  5      SS 5        S S S 5        U R                  [        R                   5         UR+                  S5        S S S 5        U R                  [        R                   5         UR+                  S5        S S S 5        U R                  [        R                   5         UR+                  S5        S S S 5        U R                  [        R                   5         UR+                  S5        S S S 5        [#        S	S
5       H>  nU[        :X  a  M  U R                  [         5         UR+                  U5        S S S 5        M@     U R                  UR/                  [        5      [        5        [#        S	S
5       H>  nU[        :X  a  M  U R                  [$        5         UR/                  U5        S S S 5        M@     U R                  UR1                  [        5      5        [#        S	S
5       H>  nU[        :X  a  M  U R                  [$        5         UR1                  U5        S S S 5        M@     U R                  [        UR3                  UR                  UR                  5      5      / 5        U R                  [4        5         U R                  [        UR7                  / 5      5      / 5        S S S 5        U R                  [        UR7                  [        /5      5      / 5        U R                  UR9                  5       UR                  /5        U R                  UR9                  UR                  5      UR                  /5        U R                  UR9                  S UR                  /5      UR                  /5        U R                  UR9                  UR                  UR                  /5      UR                  /5        U R                  UR;                  UR                  5      / 5        U R                  [        R                   5         UR;                  S5        S S S 5        g ! , (       d  f       GN¹= f! , (       d  f       GN’= f! , (       d  f       GNÓ= f! , (       d  f       GMÚ  = f! , (       d  f       GN= f! , (       d  f       GM  = f! , (       d  f       GNÝ= f! , (       d  f       GN = f! , (       d  f       GNy= f! , (       d  f       GNR= f! , (       d  f       GN+= f! , (       d  f       GN= f! , (       d  f       GM  = f! , (       d  f       GM§  = f! , (       d  f       GMH  = f! , (       d  f       GN‘= f! , (       d  f       g = f)Nr   s&   new file store has 0 length by defaults   iter yields nothing by defaultó   0s   aaaaaaaaaaaaaaaaaaaaé   ©Ústartó   éûÿÿÿé   ó   %ds   badvalueé   ó   -2ó   1s&   11111111111111111111111111111111111111)Ú_makefilefnÚassertEqualÚlenÚlistÚiterÚassertRaisesÚStopIterationÚnextÚassertFalseÚhasnoder   ÚnullidÚrevsÚparentsÚ
parentrevsr   ÚLookupErrorÚrangeÚ
IndexErrorÚrevÚnodeÚlookupr   ÚlinkrevÚ
iscensoredÚcommonancestorsheadsÚ
ValueErrorÚdescendantsÚheadsÚchildren)ÚselfÚfÚgenr5   Úis        r   Ú	testemptyÚifileindextests.testempty(   sî  € Ø×ÑÓˆØ×Ñœ˜Q› Ð$MÔNØ×Ñœ˜a› "Ð&GÔHä�1‹gˆØ×Ñœ}Õ-Ü�ŒI÷ .ð 	×Ñ˜Ÿ™ 4›Ô)Ø×Ñ˜Ÿ™ 1›Ô&Ø×Ñ˜Ÿ™¤7Ó+Ô,Ø×Ñ˜Ÿ™ 1§8¡8Ó,Ô-Ø×Ñ˜Ÿ™ 4›Ô)Ø×Ñ˜Ÿ™ 9Ó-Ô.ð 	×Ñœ˜aŸf™f›h›¨Ô,ä�A—F‘F“H‹~ˆØ×Ñœ}Õ-Ü�ŒJ÷ .ð 	×Ñœ˜aŸf™f¨2˜fÐ.Ó/°Ô4ð 	×Ñ˜Ÿ™ 1§8¡8Ó,¨q¯x©x¸¿¹Ð.BÔCØ×Ñ˜Ÿ™¤gÓ.´¼'Ð0BÔCà×Ñœu×0Ñ0Õ1Ø�I‰I�lÔ#÷ 2ô �r˜1–ˆAØ”G‹|Ùà×"Ñ"¤:Õ.Ø—‘˜Q”÷ /Ñ.ñ	 ð 	×Ñ˜Ÿ™˜qŸx™x›¬'Ô2Ø×Ñ˜Ÿ™¤›¨!¯(©(Ô3à×Ñœu×0Ñ0Õ1Ø�E‰E�,Ô÷ 2ô �r˜1–ˆAØ”G‹|Ùà×"Ñ"¤:Õ.Ø—‘�q”	÷ /Ñ.ñ	 ð 	×Ñ˜Ÿ™ !§(¡(Ó+¨Q¯X©XÔ6Ø×Ñ˜Ÿ™¤'Ó*¨A¯H©HÔ5Ø×Ñ˜Ÿ™¤# a§h¡h£-Ó0°!·(±(Ô;Ø×Ñ˜Ÿ™ %¬'¡/Ó2°A·H±HÔ=à×Ñœu×0Ñ0Õ1Ø�H‰H�[Ô!÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H”S˜Ÿ™“] 1 RÐ(Ô)÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�UŒO÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�TŒN÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�TŒN÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰HÐ>Ô?÷ 2ô �r˜1–ˆAØ”G‹|Ùà×"Ñ"¤;Õ/Ø—‘˜”÷ 0Ñ/ñ	 ð 	×Ñ˜Ÿ™¤7Ó+¬WÔ5ä�r˜1–ˆAØ”G‹|Ùà×"Ñ"¤:Õ.Ø—	‘	˜!”÷ /Ñ.ñ	 ð 	×Ñ˜Ÿ™¤gÓ.Ô/ä�r˜1–ˆAØ”G‹|Ùà×"Ñ"¤:Õ.Ø—‘˜Q”÷ /Ñ.ñ	 ð 	×Ñœ˜a×4Ñ4°Q·X±X¸q¿x¹xÓHÓIÈ2ÔNà×ÑœzÕ*Ø×ÑœT !§-¡-°Ó"3Ó4°bÔ9÷ +ð 	×Ñœ˜aŸm™m¬W¨IÓ6Ó7¸Ô<à×Ñ˜Ÿ™› Q§X¡X JÔ/Ø×Ñ˜Ÿ™ §¡Ó*¨Q¯X©X¨JÔ7Ø×Ñ˜Ÿ™ ¨¯© zÓ2°Q·X±X°JÔ?Ø×Ñ˜Ÿ™ §¡¨A¯H©H¨:Ó6¸¿¹¸
ÔCà×Ñ˜Ÿ™ A§H¡HÓ-¨rÔ2à×Ñœu×0Ñ0Õ1Ø�J‰J�|Ô$÷ 2Ð1÷[ .Ö-ú÷ .Ö-ú÷ 2Ö1ú÷ /×.ú÷ 2Ö1ú÷ /×.ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 0×/ú÷ /×.ú÷ /×.ú÷
 +Ö*ú÷ 2Õ1úsÌ   Á)d'Æ"d9É-eÊ7eÍe0ÎfÒ-fÓ&(f'Ô5f9Õ.gÖ'g× g/Ø*hÚ!hÜh'Þ+h:äiä'
d6ä9
eå
eå
e-	å0
e?æ
f	æ
f$æ'
f6æ9
gç
gç
g,ç/
g>è
h	è
h$	è'
h7	è:
i	é
ic           	     óÖ  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5      nS S S 5        U R	                  [        U5      S5        U R	                  [        U5      S/5        [        U5      nU R	                  [        U5      S5        U R                  [        5         [        U5        S S S 5        U R                  UR                  W5      5        U R                  UR                  [        U5      5      5        U R                  UR                  [        5      5        U R                  UR                  UR                  5      5        U R                  UR                  USS 5      5        U R                  UR                  [        U5      SS 5      5        U R	                  [        UR!                  5       5      S/5        U R	                  [        UR!                  SS95      / 5        U R	                  [        UR!                  SS95      S/5        U R	                  [        UR!                  SS95      S/5        U R	                  [        UR!                  SS95      S/5        U R	                  [        UR!                  SS5      5      / 5        U R	                  [        UR!                  SS5      5      SS/5        U R	                  [        UR!                  SS5      5      / S	Q5        U R	                  UR#                  U5      UR                  UR                  45        U R	                  UR%                  S5      [        [        45        U R                  [&        R(                  5         UR#                  S
5        S S S 5        U R                  [*        5         UR%                  S5        S S S 5        U R	                  UR-                  U5      S5        U R                  [&        R(                  5         UR-                  S
5        S S S 5        U R	                  UR/                  S5      U5        U R                  [*        5         UR/                  S5        S S S 5        U R	                  UR1                  U5      U5        U R	                  UR1                  S5      U5        U R	                  UR1                  S5      UR                  5        U R	                  UR1                  S5      U5        U R	                  UR1                  [        U5      5      U5        U R                  [&        R(                  5         UR1                  [        U5      SS 5        S S S 5        U R                  [&        R(                  5         UR1                  S5        S S S 5        U R                  [&        R(                  5         UR1                  S5        S S S 5        U R                  [&        R(                  5         UR1                  S5        S S S 5        U R                  [&        R(                  5         UR1                  S5        S S S 5        U R	                  UR3                  S5      S5        U R                  [*        5         UR3                  S5        S S S 5        U R                  UR5                  S5      5        U R                  [*        5         UR5                  S5        S S S 5        U R	                  [        UR7                  S/5      5      / 5        U R	                  UR9                  5       U/5        U R	                  UR9                  U5      U/5        U R	                  UR9                  U/S9U/5        U R                  [&        R(                  5         UR9                  S
/S9  S S S 5        U R	                  UR;                  U5      / 5        g ! , (       d  f       GNª= f! , (       d  f       GN6= f! , (       d  f       GNu= f! , (       d  f       GNX= f! , (       d  f       GN= f! , (       d  f       GNÒ= f! , (       d  f       GNç= f! , (       d  f       GNÀ= f! , (       d  f       GN™= f! , (       d  f       GNr= f! , (       d  f       GNK= f! , (       d  f       GN= f! , (       d  f       GNÐ= f! , (       d  f       GN= f)Nó   initialr   é   r'   r    r!   ©Ústopr   ©r   rM   r   r#   éÿÿÿÿr   éþÿÿÿr(   r)   )r*   Ú_maketransactionfnÚaddr4   r+   r,   r-   r.   r1   r/   r0   Ú
assertTruer3   r2   r   r   r5   r6   r7   r   r8   r:   r;   r<   r=   r>   r?   rB   rC   rD   )rE   rF   Útrr<   rG   s        r   ÚtestsinglerevisionÚ"ifileindextests.testsinglerevisionž   s2  € Ø×ÑÓˆØ×$Ñ$Ô&¨"Ø—5‘5˜ T¨2¨q°!·(±(¸A¿H¹HÓEˆD÷ 'ð 	×Ñœ˜Q› Ô#Ø×Ñœ˜a› 1 #Ô&ä�1‹gˆØ×Ñœ˜c› AÔ&à×Ñœ}Õ-Ü�ŒI÷ .ð 	�‰˜Ÿ	™	 $›Ô(Ø×Ñ˜Ÿ™¤3 t£9Ó-Ô.Ø×Ñ˜Ÿ™¤7Ó+Ô,Ø×Ñ˜Ÿ™ 1§8¡8Ó,Ô-Ø×Ñ˜Ÿ™ 4¨¨" :Ó.Ô/Ø×Ñ˜Ÿ™¤3 t£9¨Q¨r ?Ó3Ô4à×Ñœ˜aŸf™f›h›¨!¨Ô-Ø×Ñœ˜aŸf™f¨1˜f˜oÓ.°Ô3Ø×Ñœ˜aŸf™f¨1˜f˜oÓ.°°Ô4Ø×Ñœ˜aŸf™f¨!˜f˜nÓ-°¨sÔ3Ø×Ñœ˜aŸf™f¨!˜f˜nÓ-°¨sÔ3Ø×Ñœ˜aŸf™f Q¨›lÓ+¨RÔ0à×Ñœ˜aŸf™f Q¨›lÓ+¨a°¨VÔ4Ø×Ñœ˜aŸf™f Q¨›lÓ+ªYÔ7à×Ñ˜Ÿ™ 4›¨1¯8©8°Q·X±XÐ*>Ô?Ø×Ñ˜Ÿ™ a›¬7´GÐ*<Ô=à×Ñœu×0Ñ0Õ1Ø�I‰I�lÔ#÷ 2ð ×ÑœzÕ*Ø�L‰L˜ŒO÷ +ð 	×Ñ˜Ÿ™˜t› aÔ(à×Ñœu×0Ñ0Õ1Ø�E‰E�,Ô÷ 2ð 	×Ñ˜Ÿ™ › DÔ)à×ÑœzÕ*Ø�F‰F�1ŒI÷ +ð 	×Ñ˜Ÿ™ $›¨Ô.Ø×Ñ˜Ÿ™ !› dÔ+Ø×Ñ˜Ÿ™ "› q§x¡xÔ0Ø×Ñ˜Ÿ™ $›¨Ô.Ø×Ñ˜Ÿ™¤# d£)Ó,¨dÔ3à×Ñœu×0Ñ0Õ1Ø�H‰H”S˜“Y˜q �_Ô%÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�RŒL÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�UŒO÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�QŒK÷ 2ð ×Ñœu×0Ñ0Õ1Ø�H‰H�TŒN÷ 2ð 	×Ñ˜Ÿ™ 1› qÔ)à×ÑœzÕ*Ø�I‰I�aŒL÷ +ð 	×Ñ˜Ÿ™ a›Ô)à×ÑœzÕ*Ø�L‰L˜ŒO÷ +ð 	×Ñœ˜aŸm™m¨Q¨CÓ0Ó1°2Ô6à×Ñ˜Ÿ™› T FÔ+Ø×Ñ˜Ÿ™ ›¨¨Ô/Ø×Ñ˜Ÿ™ t f˜Ð-°¨vÔ6à×Ñœu×0Ñ0Õ1Ø�G‰G˜,˜ˆGÑ(÷ 2ð 	×Ñ˜Ÿ™ DÓ)¨2Õ.÷q 'Ö&ú÷ .Ö-ú÷. 2Ö1ú÷ +Ö*ú÷
 2Ö1ú÷
 +Ö*ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷
 +Ö*ú÷
 +Ö*ú÷ 2Ö1ús§   ¡+_/Ã`Î`Ï`%Ð`7Ñ,a	ÕaÖ"a-×a?ØbÙb#Úb5Û,cÞ4cß/
_>à
`à
`"à%
`4à7
aá	
aá
a*á-
a<á?
bâ
b â#
b2â5
cã
cã
c(c           	     ó  • SnUS-   nSU-   S-   nU R                  5       nU R                  5        nUR                  US USUR                  UR                  5      nUR                  US USXdR                  5      nUR                  US USXtR                  5      nS S S 5        U R	                  [        U5      S5        U R	                  [        U5      / SQ5        [        U5      n	U R	                  [        U	5      S5        U R	                  [        U	5      S5        U R	                  [        U	5      S5        U R                  [        5         [        U	5        S S S 5        U R	                  [        UR                  5       5      / SQ5        U R	                  [        UR                  S5      5      / SQ5        U R	                  [        UR                  S5      5      SS/5        U R	                  [        UR                  S5      5      S/5        U R	                  [        UR                  S5      5      / 5        U R	                  [        UR                  SS	95      SS/5        U R	                  [        UR                  SS	95      / SQ5        U R	                  [        UR                  SS	95      / SQ5        U R	                  [        UR                  SS5      5      / S
Q5        U R	                  [        UR                  SS5      5      SS/5        U R	                  [        UR                  SS5      5      SS/5        U R	                  UR                  W5      UR                  UR                  45        U R	                  UR                  W5      XdR                  45        U R	                  UR                  W5      XtR                  45        U R	                  UR                  S5      [        [        45        U R	                  UR                  S5      S[        45        U R	                  UR                  S5      S[        45        U R	                  UR                  U5      S5        U R	                  UR                  U5      S5        U R	                  UR                  U5      S5        U R                  [         R"                  5         UR                  S5        S S S 5        U R	                  UR%                  S5      U5        U R	                  UR%                  S5      U5        U R	                  UR%                  S5      U5        U R                  [&        5         UR%                  S5        S S S 5        U R	                  UR)                  U5      U5        U R	                  UR)                  S5      U5        U R	                  UR)                  S5      U5        U R	                  UR)                  [+        U5      5      U5        U R	                  UR)                  U5      U5        U R	                  UR)                  S5      U5        U R	                  UR)                  S5      U5        U R	                  UR)                  [+        U5      5      U5        U R	                  UR-                  S5      S5        U R	                  UR-                  S5      S5        U R	                  UR-                  S5      S5        U R                  [&        5         UR-                  S5        S S S 5        U R/                  UR1                  S5      5        U R/                  UR1                  S5      5        U R/                  UR1                  S5      5        U R                  [&        5         UR1                  S5        S S S 5        U R	                  UR3                  XtR                  5      / 5        U R	                  UR3                  Xv5      U/5        U R	                  UR3                  Xw5      U/5        U R	                  UR3                  Xg5      U/5        U R	                  UR3                  Xx5      U/5        U R	                  UR3                  X‡5      U/5        U R	                  [        UR5                  S/5      5      SS/5        U R	                  [        UR5                  S/5      5      S/5        U R	                  [        UR5                  SS/5      5      SS/5        U R	                  UR7                  5       U/5        U R	                  UR7                  U5      U/5        U R	                  UR7                  U5      U/5        U R	                  UR7                  U5      U/5        U R	                  UR7                  U/S	9Xx/5        U R	                  UR7                  U/S	9Xh/5        U R	                  UR7                  Xx/S	9Xx/5        U R                  [         R"                  5         UR7                  S/S	9  S S S 5        U R	                  UR9                  U5      U/5        U R	                  UR9                  U5      U/5        U R	                  UR9                  U5      / 5        g ! , (       d  f       G	Nþ= f! , (       d  f       G	NS= f! , (       d  f       GNä= f! , (       d  f       GNd= f! , (       d  f       GNÊ= f! , (       d  f       GNM= f! , (       d  f       Nà= f)Nó   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxó   yó   zr   rM   é   ©r   rM   r   r   rN   rP   r#   r   r)   )r*   rS   rT   r4   r+   r,   r-   r.   r1   r/   r0   r5   r6   r7   r   r;   r   r8   r<   r:   r=   r   r>   r2   r?   r@   rB   rC   rD   )
rE   Ú	fulltext0Ú	fulltext1Ú	fulltext2rF   rV   Únode0Únode1Únode2rG   s
             r   ÚtestmultiplerevisionsÚ%ifileindextests.testmultiplerevisionsú   s7  € Øˆ	Ø Ñ$ˆ	Ø˜9Ñ$ tÑ+ˆ	à×ÑÓˆØ×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ—E‘E˜) T¨2¨q°%¿¹ÓBˆEØ—E‘E˜) T¨2¨q°%¿¹ÓBˆE÷ 'ð
 	×Ñœ˜Q› Ô#Ø×Ñœ˜a›¢)Ô,ä�1‹gˆØ×Ñœ˜c› AÔ&Ø×Ñœ˜c› AÔ&Ø×Ñœ˜c› AÔ&à×Ñœ}Õ-Ü�ŒI÷ .ð 	×Ñœ˜aŸf™f›h›ªÔ3Ø×Ñœ˜aŸf™f Q›i›ª)Ô4Ø×Ñœ˜aŸf™f Q›i›¨1¨a¨&Ô1Ø×Ñœ˜aŸf™f Q›i›¨1¨#Ô.Ø×Ñœ˜aŸf™f Q›i›¨"Ô-Ø×Ñœ˜aŸf™f¨!˜f˜nÓ-°°1¨vÔ6Ø×Ñœ˜aŸf™f¨!˜f˜nÓ-ªyÔ9Ø×Ñœ˜aŸf™f¨!˜f˜nÓ-ªyÔ9Ø×Ñœ˜aŸf™f Q¨›lÓ+ªYÔ7Ø×Ñœ˜aŸf™f Q¨›lÓ+¨a°¨VÔ4à×Ñœ˜aŸf™f Q¨›lÓ+¨a°¨VÔ4à×Ñ˜Ÿ™ 5Ó)¨A¯H©H°a·h±hÐ+?Ô@Ø×Ñ˜Ÿ™ 5Ó)¨E·8±8Ð+<Ô=Ø×Ñ˜Ÿ™ 5Ó)¨E·8±8Ð+<Ô=à×Ñ˜Ÿ™ a›¬7´GÐ*<Ô=Ø×Ñ˜Ÿ™ a›¨1¬g¨,Ô7Ø×Ñ˜Ÿ™ a›¨1¬g¨,Ô7à×Ñ˜Ÿ™˜u› qÔ)Ø×Ñ˜Ÿ™˜u› qÔ)Ø×Ñ˜Ÿ™˜u› qÔ)à×Ñœu×0Ñ0Õ1Ø�E‰E�,Ô÷ 2ð 	×Ñ˜Ÿ™ › EÔ*Ø×Ñ˜Ÿ™ › EÔ*Ø×Ñ˜Ÿ™ › EÔ*à×ÑœzÕ*Ø�F‰F�1ŒI÷ +ð 	×Ñ˜Ÿ™ %›¨%Ô0Ø×Ñ˜Ÿ™ !› eÔ,Ø×Ñ˜Ÿ™ $›¨Ô/Ø×Ñ˜Ÿ™¤# e£*Ó-¨uÔ5à×Ñ˜Ÿ™ %›¨%Ô0Ø×Ñ˜Ÿ™ !› eÔ,Ø×Ñ˜Ÿ™ $›¨Ô/Ø×Ñ˜Ÿ™¤# e£*Ó-¨uÔ5à×Ñ˜Ÿ™ 1› qÔ)Ø×Ñ˜Ÿ™ 1› qÔ)Ø×Ñ˜Ÿ™ 1› qÔ)à×ÑœzÕ*Ø�I‰I�aŒL÷ +ð 	×Ñ˜Ÿ™ a›Ô)Ø×Ñ˜Ÿ™ a›Ô)Ø×Ñ˜Ÿ™ a›Ô)à×ÑœzÕ*Ø�L‰L˜ŒO÷ +ð 	×Ñ˜×/Ñ/°·x±xÓ@À"ÔEØ×Ñ˜×/Ñ/°Ó=À¸wÔGØ×Ñ˜×/Ñ/°Ó=À¸wÔGØ×Ñ˜×/Ñ/°Ó=À¸wÔGØ×Ñ˜×/Ñ/°Ó=À¸wÔGØ×Ñ˜×/Ñ/°Ó=À¸wÔGà×Ñœ˜aŸm™m¨Q¨CÓ0Ó1°A°q°6Ô:Ø×Ñœ˜aŸm™m¨Q¨CÓ0Ó1°A°3Ô7Ø×Ñœ˜aŸm™m¨Q°¨FÓ3Ó4°q¸!°fÔ=à×Ñ˜Ÿ™› U GÔ,Ø×Ñ˜Ÿ™ ›¨%¨Ô1Ø×Ñ˜Ÿ™ ›¨%¨Ô1Ø×Ñ˜Ÿ™ ›¨%¨Ô1ð
 	×Ñ˜Ÿ™ u g˜Ð.°°Ô?Ø×Ñ˜Ÿ™ u g˜Ð.°°Ô?Ø×Ñ˜Ÿ™ u n˜Ð5¸°~ÔFà×Ñœu×0Ñ0Õ1Ø�G‰G˜,˜ˆGÑ(÷ 2ð 	×Ñ˜Ÿ™ EÓ*¨U¨GÔ4Ø×Ñ˜Ÿ™ EÓ*¨U¨GÔ4Ø×Ñ˜Ÿ™ EÓ*¨BÕ/÷O 'Ö&ú÷ .Ö-ú÷8 2Ö1ú÷ +Ö*ú÷" +Ö*ú÷ +Ö*ú÷4 2Õ1úsT   °A)jÅ
j"Ój4ÕkÜkÞk*èk<ê
jê"
j1ê4
kë
kë
k'ë*
k9ë<
l
c           	     óN  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5      nUR                  SS USX1R                  5      nUR                  SS USXAR                  5      nUR                  SS USX1R                  5      nUR                  S	S US
XaR                  5      nUR                  SS USX1R                  5      nS S S 5        U R	                  [        U5      S5        U R	                  [        UR                  S/5      5      / SQ5        U R	                  [        UR                  S/5      5      S/5        U R	                  [        UR                  S/5      5      / 5        U R	                  [        UR                  S/5      5      S
/5        U R	                  [        UR                  SS/5      5      / SQ5        U R	                  [        UR                  SS/5      5      SS
/5        U R	                  UR                  5       WWW/5        U R	                  UR                  W5      XWU/5        U R	                  UR                  W5      U/5        U R	                  UR                  U5      U/5        U R	                  UR                  W5      U/5        U R	                  UR                  U5      U/5        U R	                  UR                  U5      U/5        U R	                  UR                  U/S9X5Xx/5        U R	                  UR                  U/S9XEXx/5        U R	                  UR                  U5      XFU/5        U R	                  UR                  U5      U/5        U R	                  UR                  U5      / 5        U R	                  UR                  U5      U/5        U R	                  UR                  U5      / 5        U R	                  UR                  U5      / 5        g ! , (       d  f       GN5= f)Nr   r   r)   rM   ó   2r   ó   3r]   ó   4é   ó   5r%   é   )rM   r   r]   rk   r%   rN   )
r*   rS   rT   r4   r+   r,   r-   rB   rC   rD   )	rE   rF   rV   rb   rc   rd   Únode3Únode4Únode5s	            r   ÚtestmultipleheadsÚ!ifileindextests.testmultipleheadsi  sR  € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø—E‘E˜$  b¨!¨Q¯X©X°q·x±xÓ@ˆEØ—E‘E˜$  b¨!¨U·H±HÓ=ˆEØ—E‘E˜$  b¨!¨U·H±HÓ=ˆEØ—E‘E˜$  b¨!¨U·H±HÓ=ˆEØ—E‘E˜$  b¨!¨U·H±HÓ=ˆEØ—E‘E˜$  b¨!¨U·H±HÓ=ˆE÷ 'ð 	×Ñœ˜Q› Ô#à×Ñœ˜aŸm™m¨Q¨CÓ0Ó1²?ÔCØ×Ñœ˜aŸm™m¨Q¨CÓ0Ó1°A°3Ô7Ø×Ñœ˜aŸm™m¨Q¨CÓ0Ó1°2Ô6Ø×Ñœ˜aŸm™m¨Q¨CÓ0Ó1°A°3Ô7Ø×Ñœ˜aŸm™m¨Q°¨FÓ3Ó4²oÔFØ×Ñœ˜aŸm™m¨Q°¨FÓ3Ó4°q¸!°fÔ=à×Ñ˜Ÿ™› U¨E°5Ð$9Ô:Ø×Ñ˜Ÿ™ ›¨%¸Ð)>Ô?Ø×Ñ˜Ÿ™ ›¨%¨Ô1Ø×Ñ˜Ÿ™ ›¨%¨Ô1Ø×Ñ˜Ÿ™ ›¨%¨Ô1Ø×Ñ˜Ÿ™ ›¨%¨Ô1Ø×Ñ˜Ÿ™ ›¨%¨Ô1ð 	×Ñ˜Ÿ™ u g˜Ð.°¸uÐ0LÔMØ×Ñ˜Ÿ™ u g˜Ð.°¸uÐ0LÔMà×Ñ˜Ÿ™ EÓ*¨U¸5Ð,AÔBØ×Ñ˜Ÿ™ EÓ*¨U¨GÔ4Ø×Ñ˜Ÿ™ EÓ*¨BÔ/Ø×Ñ˜Ÿ™ EÓ*¨U¨GÔ4Ø×Ñ˜Ÿ™ EÓ*¨BÔ/Ø×Ñ˜Ÿ™ EÓ*¨BÕ/÷E 'Ö&ús   ¡CPÐ
P$r   N)
r   r   r   r   Ú__doc__rI   rW   re   rq   r   r   r   r   r   r      s!   † ñòt%òlZ/òxm0õ^%0r   r   c                  óZ   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)Úifiledatatestsi‘  z¼Generic tests for the ifiledata interface.

All file storage backends for data should conform to the tests in this
class.

Use ``makeifiledatatests()`` to create an instance of this type.
c                óü  • U R                  5       nU R                  UR                  5       0 5        U R                  UR                  SSS9SSS.5        U R                  UR                  [        5      S5        [        SS5       H>  nU[        :X  a  M  U R                  [        5         UR                  U5        S S S 5        M@     U R                  UR                  UR                  5      S5        U R                  UR                  UR                  5      S5        U R                  [        R                  5         UR                  S5        S S S 5        U R                  UR                  UR                  5      S5        U R                  [        R                  5         UR                  S5        S S S 5        U R                  UR                  UR                  5      5        U R                  [        R                  5         UR                  S5        S S S 5        U R!                  UR#                  UR                  S5      5        U R!                  UR#                  UR                  S	5      5        U R                  [        R                  5         UR#                  SS
5        S S S 5        UR%                  / 5      nU R                  [&        5         [)        U5        S S S 5        UR%                  UR                  /5      nU R                  [&        5         [)        U5        S S S 5        U R                  [        R                  5         [+        UR%                  S/5      5        S S S 5        g ! , (       d  f       GMû  = f! , (       d  f       GN<= f! , (       d  f       GNê= f! , (       d  f       GN™= f! , (       d  f       GN= f! , (       d  f       Nò= f! , (       d  f       N¾= f! , (       d  f       g = f)NT©ÚrevisionscountÚtrackedsizer   ©s   revisionscounts   trackedsizer$   r%   r   r#   ó   fooó
   irrelevant)r*   r+   ÚstorageinfoÚsizer   r9   r/   r:   Úrevisionr4   Úrawdatar   r8   Úreadr2   ÚrenamedrU   ÚcmpÚemitrevisionsr0   r1   r-   )rE   rF   rH   rG   s       r   rI   Úifiledatatests.testemptyš  s»  € Ø×ÑÓˆà×Ñ˜Ÿ™›¨"Ô-Ø×ÑØ�M‰M¨¸4ˆMÐ@Ø !°1Ñ5ô	
ð
 	×Ñ˜Ÿ™¤›¨!Ô,ä�r˜1–ˆAØ”G‹|Ùà×"Ñ"¤:Õ.Ø—‘�q”	÷ /Ñ.ñ	 ð 	×Ñ˜Ÿ™ A§H¡HÓ-¨sÔ3Ø×Ñ˜Ÿ™ 1§8¡8Ó,¨cÔ2à×Ñœu×0Ñ0Õ1Ø�J‰J�|Ô$÷ 2ð 	×Ñ˜Ÿ™ §¡Ó)¨3Ô/à×Ñœu×0Ñ0Õ1Ø�F‰F�<Ô ÷ 2ð 	×Ñ˜Ÿ™ 1§8¡8Ó,Ô-à×Ñœu×0Ñ0Õ1Ø�F‰F�<Ô ÷ 2ð 	�‰˜Ÿ™˜aŸh™h¨Ó,Ô-Ø�‰˜Ÿ™˜aŸh™h¨Ó/Ô0à×Ñœu×0Ñ0Õ1Ø�E‰E�, Ô.÷ 2ð �o‰o˜bÓ!ˆØ×Ñœ}Õ-Ü�ŒI÷ .ð �o‰o˜qŸx™x˜jÓ)ˆØ×Ñœ}Õ-Ü�ŒI÷ .ð ×Ñœu×0Ñ0Õ1Ü�—‘ , Ó0Ô1÷ 2Ð1÷I /×.ú÷ 2Ö1ú÷
 2Ö1ú÷
 2Ö1ú÷ 2Ö1ú÷
 .Õ-ú÷
 .Õ-ú÷ 2Õ1ús`   Â)M0Ä<NÆ NÈN'ÊN9ËOÌOÍO-Í0
N 	Î
NÎ
N$Î'
N6Î9
OÏ
OÏ
O*Ï-
O;c           	     ó¼	  • SnU R                  5       nU R                  5        nUR                  US USUR                  UR                  5      nS S S 5        U R	                  UR                  5       0 5        U R	                  UR                  SSS9S[        U5      S.5        U R	                  UR                  S5      [        U5      5        U R                  [        5         UR                  S5        S S S 5        U R	                  UR                  W5      U5        U R	                  UR                  U5      U5        U R	                  UR                  U5      U5        U R                  UR                  U5      5        U R                  UR                  XA5      5        U R!                  UR                  XAS-   5      5        UR#                  U/5      n[%        U5      nU R	                  UR&                  U5        U R	                  UR(                  UR                  5        U R	                  UR*                  UR                  5        U R-                  UR.                  5        U R	                  UR0                  UR                  5        U R-                  UR2                  5        U R-                  UR                  5        U R-                  UR4                  5        U R                  [6        5         [%        U5        S S S 5        UR#                  U/SS9n[%        U5      nU R	                  UR&                  U5        U R	                  UR(                  UR                  5        U R	                  UR*                  UR                  5        U R-                  UR.                  5        U R	                  UR0                  UR                  5        U R-                  UR2                  5        U R	                  UR                  U5        U R-                  UR4                  5        U R                  [6        5         [%        U5        S S S 5        U R                  [8        R:                  5         [=        UR#                  US	/5      5        S S S 5        g ! , (       d  f       GN?= f! , (       d  f       GN¬= f! , (       d  f       GN¸= f! , (       d  f       N‰= f! , (       d  f       g = f)
NrL   r   Trw   rM   rz   s   extra©Úrevisiondatar#   )r*   rS   rT   r4   r+   r}   r,   r~   r/   r:   r   r€   r�   r2   r‚   rƒ   rU   r„   r1   r<   Úp1nodeÚp2nodeÚassertIsNoneÚlinknodeÚbasenodeÚbaserevisionsizeÚdeltar0   r   r8   r-   )rE   ÚfulltextrF   rV   r<   rG   r;   s          r   rW   Ú!ifiledatatests.testsinglerevisionÐ  sv  € Øˆà×ÑÓˆØ×$Ñ$Ô&¨"Ø—5‘5˜ 4¨¨Q°·±¸!¿(¹(ÓCˆD÷ 'ð 	×Ñ˜Ÿ™›¨"Ô-Ø×ÑØ�M‰M¨¸4ˆMÐ@Ø !´3°x³=ÑAô	
ð
 	×Ñ˜Ÿ™ ›¤C¨£MÔ2à×ÑœzÕ*Ø�F‰F�1ŒI÷ +ð 	×Ñ˜Ÿ™ DÓ)¨8Ô4Ø×Ñ˜Ÿ™ 4›¨(Ô3à×Ñ˜Ÿ™ › xÔ0à×Ñ˜Ÿ™ 4›Ô)à×Ñ˜Ÿ™˜tÓ.Ô/Ø�‰˜Ÿ™˜d¨xÑ$7Ó8Ô9ð �o‰o˜t˜fÓ%ˆÜ�3‹iˆà×Ñ˜Ÿ™ 4Ô(Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜#Ÿ)™)Ô$à×Ñœ}Õ-Ü�ŒI÷ .ð �o‰o˜t˜f°4ˆoÐ8ˆÜ�3‹iˆà×Ñ˜Ÿ™ 4Ô(Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜Ÿ™ xÔ0Ø×Ñ˜#Ÿ)™)Ô$à×Ñœ}Õ-Ü�ŒI÷ .ð ×Ñœu×0Ñ0Õ1Ü�—‘ $¨Ð!5Ó6Ô7÷ 2Ð1÷s 'Ö&ú÷ +Ö*ú÷4 .Ö-ú÷  .Õ-ú÷ 2Õ1ús;   £+RÃ!RË-R*Ð-R<Ñ SÒ
RÒ
R'Ò*
R9Ò<
S
Ó
Sc           	     ó(  • SnUS-   nSU-   S-   nU R                  5       nU R                  5        nUR                  US USUR                  UR                  5      nUR                  US USXdR                  5      nUR                  US USXtR                  5      nS S S 5        U R	                  UR                  5       0 5        U R	                  UR                  SSS9S[        U5      [        U5      -   [        U5      -   S	.5        U R	                  UR                  S5      [        U5      5        U R	                  UR                  S5      [        U5      5        U R	                  UR                  S
5      [        U5      5        U R                  [        5         UR                  S5        S S S 5        U R	                  UR                  W5      U5        U R	                  UR                  U5      U5        U R	                  UR                  W5      U5        U R	                  UR                  U5      U5        U R	                  UR                  W5      U5        U R	                  UR                  U5      U5        U R                  [        R                  5         UR                  S5        S S S 5        U R	                  UR                  U5      U5        U R	                  UR                  U5      U5        U R	                  UR                  U5      U5        U R                  [        R                  5         UR                  S5        S S S 5        U R                  UR!                  U5      5        U R                  UR!                  U5      5        U R                  UR!                  U5      5        U R                  [        R                  5         UR!                  S5        S S S 5        U R                  UR#                  Xa5      5        U R                  UR#                  Xr5      5        U R                  UR#                  Xƒ5      5        U R%                  UR#                  Xq5      5        U R%                  UR#                  X‚5      5        U R                  [        R                  5         UR#                  SS5        S S S 5        UR'                  XgU/SS9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  UR                  5        U R	                  U
R.                  UR                  5        U R1                  U
R2                  5        U R	                  U
R4                  UR                  5        U R1                  U
R6                  5        U R	                  U
R                  U5        U R1                  U
R8                  5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R1                  U
R2                  5        U R	                  U
R4                  U5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R1                  U
R2                  5        U R	                  U
R4                  U5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        U R                  [:        5         [)        U	5        S S S 5        UR'                  X‡U/SS9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  UR                  5        U R	                  U
R.                  UR                  5        U R1                  U
R2                  5        U R	                  U
R4                  UR                  5        U R1                  U
R6                  5        U R	                  U
R                  U5        U R1                  U
R8                  5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R1                  U
R2                  5        U R	                  U
R4                  U5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R1                  U
R2                  5        U R	                  U
R4                  U5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        U R                  [:        5         [)        U	5        S S S 5        U R                  [        R<                  5         [?        UR'                  / SS95        S S S 5        [?        UR'                  X‡U/SS95      nU R	                  [        U5      S5        U R	                  U Vs1 s H  oÌR*                  iM     snXgU15        UR'                  X†/SSS9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  UR                  5        U R1                  U
R6                  5        U R	                  U
R                  U5        U R1                  U
R8                  5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  UR                  5        U R	                  U
R.                  UR                  5        U R                  [:        5         [)        U	5        S S S 5        UR'                  X‡1SS9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  UR                  5        U R1                  U
R6                  5        U R	                  U
R                  U5        U R1                  U
R8                  5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  U5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        U R                  [:        5         [)        U	5        S S S 5        UR'                  X‡/SSS9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  U5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        UR'                  U/S[@        RB                  S9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  UR                  5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  UR                  5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        U R                  [:        5         [)        U	5        S S S 5        UR'                  Xh/S[@        RB                  S9n	[)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  UR                  5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  UR                  5        U R1                  U
R6                  5        U R1                  U
R                  5        U R	                  U
R8                  SU-   5        [)        U	5      n
U R	                  U
R*                  U5        U R	                  U
R,                  U5        U R	                  U
R.                  UR                  5        U R	                  U
R4                  U5        U R                  [:        5         [)        U	5        S S S 5        g ! , (       d  f       GN�= f! , (       d  f       GNŽ= f! , (       d  f       GN¡= f! , (       d  f       GN= f! , (       d  f       GN�= f! , (       d  f       GNÈ= f! , (       d  f       GN¯= f! , (       d  f       GN–= f! , (       d  f       GNg= fs  snf ! , (       d  f       GN‹= f! , (       d  f       GN¨= f! , (       d  f       GN—= f! , (       d  f       g = f)NrZ   r[   r\   r   rM   r]   Trw   rz   r   r#   r|   r‡   s            s           s   bad)Ú
nodesorders   storages   nodes)r“   rˆ   )rˆ   Úassumehaveparentrevisions)rˆ   Ú	deltamodes              )"r*   rS   rT   r4   r+   r}   r,   r~   r/   r:   r   r€   r   r8   r�   r2   r‚   rƒ   rU   r„   r1   r<   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r0   ÚProgrammingErrorr-   r	   ÚCG_DELTAMODE_PREV)rE   r_   r`   ra   rF   rV   rb   rc   rd   rG   r;   ÚresÚos                r   re   Ú$ifiledatatests.testmultiplerevisions  s¿  € Øˆ	Ø Ñ$ˆ	Ø˜9Ñ$ tÑ+ˆ	à×ÑÓˆØ×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ—E‘E˜) T¨2¨q°%¿¹ÓBˆEØ—E‘E˜) T¨2¨q°%¿¹ÓBˆE÷ 'ð
 	×Ñ˜Ÿ™›¨"Ô-Ø×ÑØ�M‰M¨¸4ˆMÐ@à#$Ü # I£Ü�i“.ñ!!ä�i“.ñ!!ñô	
ð 	×Ñ˜Ÿ™ ›¤C¨	£NÔ3Ø×Ñ˜Ÿ™ ›¤C¨	£NÔ3Ø×Ñ˜Ÿ™ ›¤C¨	£NÔ3à×ÑœzÕ*Ø�F‰F�1ŒI÷ +ð 	×Ñ˜Ÿ™ EÓ*¨IÔ6Ø×Ñ˜Ÿ™ 5Ó)¨9Ô5Ø×Ñ˜Ÿ™ EÓ*¨IÔ6Ø×Ñ˜Ÿ™ 5Ó)¨9Ô5Ø×Ñ˜Ÿ™ EÓ*¨IÔ6Ø×Ñ˜Ÿ™ 5Ó)¨9Ô5à×Ñœu×0Ñ0Õ1Ø�J‰J�|Ô$÷ 2ð 	×Ñ˜Ÿ™ ›¨	Ô2Ø×Ñ˜Ÿ™ ›¨	Ô2Ø×Ñ˜Ÿ™ ›¨	Ô2à×Ñœu×0Ñ0Õ1Ø�F‰F�<Ô ÷ 2ð 	×Ñ˜Ÿ™ 5Ó)Ô*Ø×Ñ˜Ÿ™ 5Ó)Ô*Ø×Ñ˜Ÿ™ 5Ó)Ô*à×Ñœu×0Ñ0Õ1Ø�I‰I�lÔ#÷ 2ð 	×Ñ˜Ÿ™˜uÓ0Ô1Ø×Ñ˜Ÿ™˜uÓ0Ô1Ø×Ñ˜Ÿ™˜uÓ0Ô1à�‰˜Ÿ™˜eÓ/Ô0Ø�‰˜Ÿ™˜eÓ/Ô0à×Ñœu×0Ñ0Õ1Ø�E‰E�, Ô.÷ 2ð �o‰o˜u¨UÐ3À$ˆoÐGˆä�3‹iˆà×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜Ÿ™ yÔ1Ø×Ñ˜#Ÿ)™)Ô$ä�3‹iˆà×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ uÔ-Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ô
 �3‹iˆà×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ uÔ-Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ð
 ×Ñœ}Õ-Ü�ŒI÷ .ð �o‰o˜u¨UÐ3À$ˆoÐGˆä�3‹iˆà×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜Ÿ™ yÔ1Ø×Ñ˜#Ÿ)™)Ô$ä�3‹iˆà×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ uÔ-Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ô
 �3‹iˆà×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜#Ÿ,™,Ô'Ø×Ñ˜Ÿ™ uÔ-Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ð
 ×Ñœ}Õ-Ü�ŒI÷ .ð ×Ñœu×5Ñ5Õ6Ü�—‘ °�Ð7Ô8÷ 7ô
 Ø�O‰O˜U¨5Ð1¸jˆOÐIó
ˆð 	×Ñœ˜S› 1Ô%Ø×Ñ©#Ó.ª# QŸ&œ&©#Ñ.°¸uÐ0EÔFð �o‰oØˆN x¸dð ð 
ˆô �3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜Ÿ™ yÔ1Ø×Ñ˜#Ÿ)™)Ô$ä�3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.ð ×Ñœ}Õ-Ü�ŒI÷ .ð
 �o‰o˜u˜n¸4ˆoÐ@ˆä�3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜Ÿ™ yÔ1Ø×Ñ˜#Ÿ)™)Ô$ä�3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ uÔ-Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ð
 ×Ñœ}Õ-Ü�ŒI÷ .ð �o‰oØˆN¨Èð ð 
ˆô �3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ uÔ-Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ð �o‰oØˆG $´*×2NÑ2Nð ð 
ˆô �3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ð
 ×Ñœ}Õ-Ü�ŒI÷ .ð �o‰oØˆNØÜ ×2Ñ2ð ð 
ˆô �3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ q§x¡xÔ0Ø×Ñ˜#×.Ñ.Ô/Ø×Ñ˜#Ÿ,™,Ô'Ø×ÑØ�I‰IØ?À)ÑKô	
ô
 �3‹iˆØ×Ñ˜Ÿ™ 5Ô)Ø×Ñ˜Ÿ™ UÔ+Ø×Ñ˜Ÿ™ Q§X¡XÔ.Ø×Ñ˜Ÿ™ uÔ-à×Ñœ}Õ-Ü�ŒI÷ .Ð-÷a 'Ö&ú÷( +Ö*ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷ 2Ö1ú÷Z .Ö-ú÷Z .Ö-ú÷ 7Ö6üò /÷, .Ö-ú÷8 .Ö-ú÷L .Ö-ú÷6 .Õ-úsÌ   °A)ALÆAL1ÊAMÌ3AMÏAM'Ò%AM9ßANìANì5AN/îAOô6AOü+AOÁEAO*ÁL
AO<ÁL
AL.ÁL1
AM ÁM
AMÁM
AM$ÁM'
AM6ÁM9
ANÁN
ANÁN
AN,ÁN/
AN>ÁO
AOÁO
AO'ÁO*
AO9ÁO<
AP
c           	     ó‚  • SnSnSnSSS.nSSS.nS	R                  S
SU/5      nS	R                  SSU/5      nU R                  5       nU R                  5        n	UR                  US U	SUR                  UR                  5      n
UR                  X$U	SX¨R                  5      nUR                  X5U	SUR                  UR                  5      nS S S 5        U R                  UR                  S5      [        U5      5        U R                  UR                  S5      [        U5      5        U R                  UR                  W5      U5        U R                  UR                  U5      U5        U R                  UR                  W5      U5        U R                  UR                  U5      U5        U R                  UR                  U5      U5        U R                  UR                  U5      U5        U R                  UR                  U5      5        U R                  UR                  U5      S5        U R                  UR                  X²5      5        U R                  UR                  X¶5      5        U R                  UR                  XÃ5      5        U R                  UR                  XÇ5      5        g ! , (       d  f       GNë= f)Nr{   ó   bars   bazó   source0s(   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa©s   copys   copyrevó   source1ó(   bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbr   ó   
copy: source0
s4   copyrev: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

s   
copy: source1
s4   copyrev: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

r   rM   r   )rŸ   ó   »»»»»»»»»»»»»»»»»»»»)Újoinr*   rS   rT   r4   r+   r~   r,   r   r€   r�   r2   r‚   rU   rƒ   )rE   r_   r`   ra   Úmeta1Úmeta2Ústored1Ústored2rF   rV   rb   rc   rd   s                r   ÚtestrenamedÚifiledatatests.testrenamed)  sD  € Øˆ	Øˆ	Øˆ	ð  Ø!ñ
ˆð  Ø!ñ
ˆð
 —(‘(à(ØLØðó
ˆð —(‘(à(ØLØðó
ˆð ×ÑÓˆØ×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ—E‘E˜)¨B°°5¿(¹(ÓCˆEØ—E‘E˜)¨B°°1·8±8¸Q¿X¹XÓFˆE÷ 'ð 	×Ñ˜Ÿ™ ›¤C¨£LÔ1Ø×Ñ˜Ÿ™ ›¤C¨	£NÔ3à×Ñ˜Ÿ™ EÓ*¨GÔ4Ø×Ñ˜Ÿ™ 5Ó)¨7Ô3Ø×Ñ˜Ÿ™ EÓ*¨GÔ4Ø×Ñ˜Ÿ™ 5Ó)¨7Ô3à×Ñ˜Ÿ™ ›¨	Ô2Ø×Ñ˜Ÿ™ ›¨	Ô2ð 	×Ñ˜Ÿ™ 5Ó)Ô*Ø×Ñ˜Ÿ™ 5Ó)Ð+EÔFà�‰˜Ÿ™˜eÓ/Ô0Ø�‰˜Ÿ™˜eÓ-Ô.Ø×Ñ˜Ÿ™˜uÓ0Ô1Ø�‰˜Ÿ™˜eÓ-Õ.÷1 'Ö&ús   ÁA2J/Ê/
J>c           	     óž  • SnSnSnSSS.nSR                  SS	S-  S
/5      nU R                  5       nU R                  5        nUR                  U0 USUR                  UR                  5      nUR                  X4USUR                  UR                  5      n	S S S 5        U R                  UR                  S5      [        U5      S-   5        U R                  UR                  S5      [        U5      5        U R                  UR                  W5      U5        U R                  UR                  U5      U5        U R                  UR                  W	5      U5        U R                  UR                  U	5      U5        U R                  UR                  U5      U5        U R                  UR                  U	5      U5        U R                  UR                  X�5      5        U R                  UR                  X‚5      5        U R                  UR                  X“5      5        U R                  UR                  X’5      5        g ! , (       d  f       GN­= f)Ns   
foos	   


foos   
barr�   r    rž   r   r¡   s   copyrev: %s
s   

barr   rM   rk   )r£   r*   rS   rT   r4   r+   r~   r,   r   r€   r�   r2   rƒ   rU   )
rE   r_   Ústored0r`   r¤   r¦   rF   rV   rb   rc   s
             r   ÚtestmetadataprefixÚ!ifiledatatests.testmetadataprefixc  sÖ  € à ˆ	Ø*ˆà ˆ	àØ!ñ
ˆð —(‘(à(Ø  IÑ.Ø"ðó
ˆð ×ÑÓˆØ×$Ñ$Ô&¨"Ø—E‘E˜) R¨¨Q°·±¸!¿(¹(ÓCˆEØ—E‘E˜)¨B°°1·8±8¸Q¿X¹XÓFˆE÷ 'ð
 	×Ñ˜Ÿ™ ›¤C¨	£N°QÑ$6Ô7à×Ñ˜Ÿ™ ›¤C¨	£NÔ3à×Ñ˜Ÿ™ EÓ*¨GÔ4Ø×Ñ˜Ÿ™ 5Ó)¨7Ô3à×Ñ˜Ÿ™ EÓ*¨GÔ4Ø×Ñ˜Ÿ™ 5Ó)¨7Ô3à×Ñ˜Ÿ™ ›¨	Ô2Ø×Ñ˜Ÿ™ ›¨	Ô2à×Ñ˜Ÿ™˜uÓ0Ô1Ø�‰˜Ÿ™˜eÓ-Ô.à×Ñ˜Ÿ™˜uÓ0Ô1Ø�‰˜Ÿ™˜eÓ-Õ.÷- 'Ö&ús   ÁAH=È=
Ic                óf  • U R                  5       nSnUS-   nU R                  5        nUR                  US USUR                  UR                  5      nSnU R	                  XXeUR                  SUS9  S S S 5        U R                  [        U5      S5        U R                  UR                  W5      WUR                  45        U R                  [        R                  5         UR                  U5        S S S 5        U R                  [        R                  5         UR                  U5        S S S 5        U R                  [        R                  5         UR                  U5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       N“= f! , (       d  f       Nk= f! , (       d  f       g = f)Nóx   foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
ó   bar
r   ó   ªªªªªªªªªªªªªªªªªªªªrM   ©Úrawtextr   )r*   rS   rT   r4   Ú_addrawrevisionfnr+   r,   r6   r/   r   ÚStorageErrorr   r€   r�   ©rE   rF   r_   r`   rV   rb   rc   s          r   ÚtestbadnodereadÚifiledatatests.testbadnodereadŽ  sL  € Ø×ÑÓˆà!ˆ	Ø Ñ(ˆ	à×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ ˆEà×"Ñ"Ø�u Q§X¡X¨q¸)ð #ñ ÷	 'ð 	×Ñœ˜Q› Ô#Ø×Ñ˜Ÿ™ 5Ó)¨E°1·8±8Ð+<Ô=ð ×Ñœu×1Ñ1Õ2Ø�J‰J�uÔ÷ 3ð
 ×Ñœu×1Ñ1Õ2Ø�I‰I�eÔ÷ 3ð ×Ñœu×1Ñ1Õ2Ø�F‰F�5ŒM÷ 3Ð2÷+ 'Ö&ú÷ 3Õ2ú÷
 3Õ2ú÷ 3Õ2ús0   ¨A
E.Ã!F ÄFÅF"Å.
E=Æ 
FÆ
FÆ"
F0c                ó@  • U R                  5       nSnUS-   nU R                  5        nUR                  US USUR                  UR                  5      nSnU R	                  XXeUR                  SUS9  S S S 5        U R                  [        R                  5         UR                  W5        S S S 5        U R                  [        R                  5         UR                  W5        S S S 5        g ! , (       d  f       N�= f! , (       d  f       NY= f! , (       d  f       g = f©Nr¯   r°   r   r±   rM   r²   )	r*   rS   rT   r4   r´   r/   r   rµ   r€   r¶   s          r   ÚtestbadnoderevisionrawÚ%ifiledatatests.testbadnoderevisionraw¯  sç   € ð ×ÑÓˆà!ˆ	Ø Ñ(ˆ	à×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ ˆEà×"Ñ"Ø�u Q§X¡X¨q¸)ð #ñ ÷	 'ð ×Ñœu×1Ñ1Õ2Ø�I‰I�eÔ÷ 3ð ×Ñœu×1Ñ1Õ2Ø�I‰I�eÔ÷ 3Ð2÷ 'Õ&ú÷ 3Õ2ú÷ 3Õ2úó$   ¨A
C-ÂC>ÃDÃ-
C;Ã>
DÄ
Dc                ó@  • U R                  5       nSnUS-   nU R                  5        nUR                  US USUR                  UR                  5      nSnU R	                  XXeUR                  SUS9  S S S 5        U R                  [        R                  5         UR                  W5        S S S 5        U R                  [        R                  5         UR                  W5        S S S 5        g ! , (       d  f       N�= f! , (       d  f       NY= f! , (       d  f       g = frº   )	r*   rS   rT   r4   r´   r/   r   rµ   r�   r¶   s          r   ÚtestbadnoderevisionÚ"ifiledatatests.testbadnoderevisionÅ  så   € ð ×ÑÓˆà!ˆ	Ø Ñ(ˆ	à×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ ˆEà×"Ñ"Ø�u Q§X¡X¨q¸)ð #ñ ÷	 'ð ×Ñœu×1Ñ1Õ2Ø�F‰F�5ŒM÷ 3ð ×Ñœu×1Ñ1Õ2Ø�F‰F�5ŒM÷ 3Ð2÷ 'Õ&ú÷ 3Õ2ú÷ 3Õ2úr½   c                ó0  • U R                  5       nSnUS-   nUS-   nU R                  5        nUR                  US USUR                  UR                  5      nSnU R	                  XXvUR                  SUS9  S S S 5        U R                  [        R                  5         UR                  W5        S S S 5        [        R                  " UWUR                  5      nU R                  5        n[        R                  " X45      n	U R	                  XX‡UR                  SSU	4S	9  S S S 5        U R                  [        U5      S
5        U R                  UR                  U5      U5        g ! , (       d  f       Nô= f! , (       d  f       NÌ= f! , (       d  f       Nm= f)Nó|   foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
r°   s   baz
r   r±   rM   r²   r   )r�   r]   )r*   rS   rT   r4   r´   r/   r   rµ   r�   r
   Úhashrevisionsha1r   Útextdiffr+   r,   )
rE   rF   r_   r`   ra   rV   rb   rc   rd   r�   s
             r   ÚtestbadnodedeltaÚifiledatatests.testbadnodedeltaÛ  sU  € Ø×ÑÓˆà!ˆ	Ø Ñ(ˆ	Ø Ñ(ˆ	à×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆEØ ˆEà×"Ñ"Ø�u Q§X¡X¨q¸)ð #ñ ÷	 'ð ×Ñœu×1Ñ1Õ2Ø�F‰F�5ŒM÷ 3ô ×,Ò,¨Y¸¸q¿x¹xÓHˆà×$Ñ$Ô&¨"Ü—N’N 9Ó8ˆEØ×"Ñ"Ø�u Q§X¡X¨q¸¸E¸
ð #ñ ÷ 'ð 	×Ñœ˜Q› Ô#ð 	×Ñ˜Ÿ™ ›¨	Õ2÷/ 'Õ&ú÷ 3Õ2ú÷
 'Õ&ús$   ­A
E%ÂE6Ã*6FÅ%
E3Å6
FÆ
Fc                ó:  • U R                  5       n[        R                  " SS0S5      nU R                  5        nUR	                  SS USUR
                  UR
                  5      nSnU R                  XXTUR
                  SUSS	9  S S S 5        U R                  UR                  S5      5        U R                  [        R                  5         UR                  S5        S S S 5        U R                  [        R                  5         UR                  S5        S S S 5        U R                  [        R                  5         UR                  S5        S S S 5        g ! , (       d  f       NÚ= f! , (       d  f       N’= f! , (       d  f       Nj= f! , (       d  f       g = f©
Nó   censoredó	   tombstoner   r{   r   r¢   rM   T©Úcensored)r*   r
   ÚpackmetarS   rT   r4   r´   rU   r?   r/   r   ÚCensoredNodeErrorr   r€   r�   ©rE   rF   r¦   rV   rb   rc   s         r   ÚtestcensoredÚifiledatatests.testcensoredû  s<  € Ø×ÑÓˆä×&Ò&à˜\ðð ó	
ˆð ×$Ñ$Ô&¨"Ø—E‘E˜& $¨¨A¨q¯x©x¸¿¹ÓBˆEð !ˆEà×"Ñ"Ø�u Q§X¡X¨q°'ÀDð #ñ ÷ 'ð 	�‰˜Ÿ™ Q›Ô(à×Ñœu×6Ñ6Õ7Ø�J‰J�qŒM÷ 8ð ×Ñœu×6Ñ6Õ7Ø�I‰I�aŒL÷ 8ð ×Ñœu×6Ñ6Õ7Ø�F‰F�1ŒI÷ 8Ð7÷% 'Õ&ú÷ 8Õ7ú÷ 8Õ7ú÷ 8Õ7ús0   ºAEÃE*ÄE;Ä>FÅ
E'Å*
E8Å;
F	Æ
Fc                óÒ  • U R                  5       n[        R                  " SS0S5      nU R                  5        nUR	                  SS USUR
                  UR
                  5      nSnU R                  XXTUR
                  SUSS	9  S S S 5        U R                  [        R                  5         UR                  S5        S S S 5        g ! , (       d  f       NH= f! , (       d  f       g = frÈ   )r*   r
   rÍ   rS   rT   r4   r´   r/   r   rÎ   r€   rÏ   s         r   ÚtestcensoredrawrevisionÚ&ifiledatatests.testcensoredrawrevision  sÌ   € ð ×ÑÓˆä×&Ò&à˜\ðð ó	
ˆð ×$Ñ$Ô&¨"Ø—E‘E˜& $¨¨A¨q¯x©x¸¿¹ÓBˆEð !ˆEà×"Ñ"Ø�u Q§X¡X¨q°'ÀDð #ñ ÷ 'ð ×Ñœu×6Ñ6Õ7Ø�I‰I�aŒL÷ 8Ð7÷ 'Õ&ú÷ 8Õ7ús   ºACÂ,CÃ
CÃ
C&r   N)r   r   r   r   rs   rI   rW   re   r¨   r¬   r·   r»   r¿   rÅ   rÐ   rÓ   r   r   r   r   ru   ru   ‘  sF   † ñò42òl>8ò@Wòr8/òt)/òVòBò,ò,3ò@õ>r   ru   c                  ól   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rSrg)Úifilemutationtestsi5  zÇGeneric tests for the ifilemutation interface.

All file storage backends that support writing should conform to this
interface.

Use ``makeifilemutationtests()`` to create an instance of this type.
c           	     óò  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5      nUR                  SS USUR                  UR                  5      nUR                  SS USUR                  UR                  5      nS S S 5        U R	                  WW5        U R	                  WU5        U R	                  [        U5      S5        g ! , (       d  f       NN= f)Nr{   r   rM   )r*   rS   rT   r4   r+   r,   ©rE   rF   rV   rb   rc   rd   s         r   ÚtestaddnoopÚifilemutationtests.testaddnoop>  sÂ   € Ø×ÑÓˆØ×$Ñ$Ô&¨"Ø—E‘E˜& $¨¨A¨q¯x©x¸¿¹ÓBˆEØ—E‘E˜& $¨¨A¨q¯x©x¸¿¹ÓBˆEà—E‘E˜& $¨¨A¨q¯x©x¸¿¹ÓBˆE÷	 'ð 	×Ñ˜ Ô&Ø×Ñ˜ Ô&Ø×Ñœ˜Q› Õ#÷ 'Õ&ús   ¡A?C(Ã(
C6c                ó:  • U R                  5       nU R                  5        nU R                  [        R                  5         UR                  SUSUR                  UR                  SS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nr{   r   r#   ©r<   )r*   rS   r/   r   rµ   Úaddrevisionr4   ©rE   rF   rV   s      r   ÚtestaddrevisionbadnodeÚ)ifilemutationtests.testaddrevisionbadnodeJ  su   € Ø×ÑÓˆØ×$Ñ$Ô&¨"à×"Ñ"¤5×#5Ñ#5Õ6Ø—‘Ø˜B  1§8¡8¨Q¯X©X¸Lð ñ ÷ 7÷ 'Ð&ç6Õ6ú÷ 'Õ&ús#   ¡ BÁ)A;Á*BÁ;
B		ÂBÂ
Bc                ó¨  • U R                  5       nU R                  5        n[        SSS5       H&  nSU-  [        R                  ) -  (       d  M!  SU-  n  O   U R                  [        R                  5         UR                  SUSUR                  UR                  WS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Né   r   rQ   rM   r{   )Úflags)
r*   rS   r9   r	   ÚREVISION_FLAGS_KNOWNr/   r   rµ   rÝ   r4   )rE   rF   rV   rH   rã   s        r   ÚtestaddrevisionunknownflagÚ-ifilemutationtests.testaddrevisionunknownflagS  sª   € Ø×ÑÓˆØ×$Ñ$Ô&¨"Ü˜2˜q "Ö%�Ø˜‘Fœz×>Ñ>Ð>×>Ñ>Ø ™F�EÙñ &ð
 ×"Ñ"¤5×#5Ñ#5Õ6Ø—‘˜f b¨!¨Q¯X©X°q·x±xÀu�ÑM÷ 7÷ 'Ð&÷ 7Õ6ú÷ 'Õ&ús)   ¡+CÁ(CÁ8)B2Â!CÂ2
C 	Â<CÃ
Cc           	     óä  ^
^^• U R                  5       n/ m
U
4S jmS nU R                  5        n/ mUU4S jnU4S jnUR                  / S UUUS9  S S S 5        U R                  T/ 5        U R                  T
/ 5        U R                  [	        U5      S5        Sn[
        R                  " [	        U5      5      U-   nU R                  5        nUR                  US USUR                  UR                  5      nS S S 5        U R                  5       nWUR                  UR                  UR                  UR                  US0 4/n	U R                  5        n/ mUU4S jnU4S	 jnUR                  U	UUUUS9  S S S 5        U R                  TS
/5        U R                  [	        T
5      S5        U R                  T
S   S   S   TS   5        U R                  [        UR                  5       5      S/5        U R                  UR                  TS   5      S5        U R                  UR                  S5      TS   5        g ! , (       d  f       GNò= f! , (       d  f       GN^= f! , (       d  f       Nñ= f)Nc                 ó*   >• TR                  X45        g ©N)Úappend)ÚargsÚkwargsÚcallbackargss     €r   ÚcbÚ1ifilemutationtests.testaddgroupsimple.<locals>.cbc  s   ø€ Ø×Ñ  Õ/r   c                ó   • g©Nr   r   rÜ   s    r   Ú
linkmapperÚ9ifilemutationtests.testaddgroupsimple.<locals>.linkmapperf  s   € Ør   c                óZ   >• U R                  U5      nTR                  U5        T" X5        g ré   ©r<   rê   ©Úclr;   r<   rî   Únodess      €€r   ÚonchangesetÚ:ifilemutationtests.testaddgroupsimple.<locals>.onchangesetl  ó#   ø€ Ø—w‘w˜s“|�Ø—‘˜TÔ"Ù�2•r   c                óF   >• TR                  U R                  U5      5        g ré   ©rê   r<   ©r÷   r;   rø   s     €r   ÚondupchangesetÚ=ifilemutationtests.testaddgroupsimple.<locals>.ondupchangesetq  ó   ø€ Ø—‘˜RŸW™W S›\Õ*r   ©ÚaddrevisioncbÚduplicaterevisioncbr   r{   c                óZ   >• U R                  U5      nTR                  U5        T" X5        g ré   rõ   rö   s      €€r   rù   rú   �  rû   r   c                óF   >• TR                  U R                  U5      5        g ré   rý   rþ   s     €r   rÿ   r   ”  r  r   s   IØË±\âW’G kF—‹zù€©yrM   )r*   rS   Úaddgroupr+   r,   r   ÚtrivialdiffheaderrT   r4   r-   r5   r;   r<   )rE   rF   rò   rV   rù   rÿ   r_   Údelta0rb   Údeltasrí   rî   rø   s             @@@r   ÚtestaddgroupsimpleÚ%ifilemutationtests.testaddgroupsimple^  s6  ú€ Ø×ÑÓˆàˆõ	0ò	ð ×$Ñ$Ô&¨"ØˆEöõ
+ð �J‰JØØØØ)Ø$2ð ñ ÷ 'ð& 	×Ñ˜ Ô#Ø×Ñ˜ rÔ*Ø×Ñœ˜Q› Ô#àˆ	Ü×(Ò(¬¨Y«Ó8¸9ÑDˆà×$Ñ$Ô&¨"Ø—E‘E˜) T¨2¨q°!·(±(¸A¿H¹HÓEˆE÷ 'ð ×ÑÓˆð �A—H‘H˜aŸh™h¨¯©°!·(±(¸FÀAÀrÐJð
ˆð ×$Ñ$Ô&¨"ØˆEöõ
+ð �J‰JØØØØ)Ø$2ð ñ ÷ 'ð& 	×ÑØð<ðô	
ð 	×Ñœ˜\Ó*¨AÔ.Ø×Ñ˜ a™¨Ñ+¨AÑ.°°a±Ô9à×Ñœ˜aŸf™f›h›¨!¨Ô-Ø×Ñ˜Ÿ™˜u Q™x›¨!Ô,Ø×Ñ˜Ÿ™ › E¨!¡HÕ-÷G 'Ö&ú÷4 'Ö&ú÷ 'Õ&ús#   ¯#H=Ã+IÅ#I!È=
IÉ
IÉ!
I/c                ó"  ^
• U R                  5       n/ SQn/ nU R                  5        nU H<  nUR                  UR                  US USUR                  UR                  5      5        M>     S S S 5        U R                  5       n/ n[        U5       Hj  u  pu[        R                  " [        U5      5      U-   nUR                  X7   UR                  UR                  UR                  UR                  US0 45        Ml     U R                  5        n/ m
U
4S jn	UR                  US UU	U	S9  U R                  T
U5        S S S 5        U R                  [        U5      [        U5      5        U R                  [        UR                  5       5      / SQ5        U R                  UR                  US   5      S5        U R                  UR                  US   5      S5        U R                  UR                  US   5      S5        U R                  UR                  S5      US   5        U R                  UR                  S5      US   5        U R                  UR                  S5      US   5        g ! , (       d  f       GN	= f! , (       d  f       GNI= f)	N)r{   rœ   rZ   r   c                óF   >• TR                  U R                  U5      5        g ré   rý   )r÷   r;   Únewnodess     €r   rù   Ú<ifilemutationtests.testaddgroupmultiple.<locals>.onchangesetÈ  s   ø€ Ø—‘ §¡¨£Õ-r   c                ó   • grñ   r   ©Úxs    r   Ú<lambda>Ú9ifilemutationtests.testaddgroupmultiple.<locals>.<lambda>Í  s   € ˜!r   r  r^   rM   r   )r*   rS   rê   rT   r4   Ú	enumerater   r  r,   r  r+   r-   r5   r;   r<   )rE   rF   Ú	fulltextsrø   rV   r�   r
  rH   r�   rù   r  s             @r   ÚtestaddgroupmultipleÚ'ifilemutationtests.testaddgroupmultiple®  s  ø€ Ø×ÑÓˆò
ˆ	ð ˆØ×$Ñ$Ô&¨"Û%�Ø—‘˜QŸU™U 8¨T°2°q¸!¿(¹(ÀAÇHÁHÓMÖNñ &÷ 'ð ×ÑÓˆØˆÜ$ YÖ/‰KˆAÜ×+Ò+¬C°«MÓ:¸XÑEˆEà�M‰MØ‘˜1Ÿ8™8 Q§X¡X¨q¯x©x¸¿¹À5È!ÈRÐPöñ 0ð ×$Ñ$Ô&¨"ØˆHõ.ð �J‰JØÙØØ)Ø$/ð ñ ð ×Ñ˜X uÔ-÷ 'ð 	×Ñœ˜Q›¤ V£Ô-Ø×Ñœ˜aŸf™f›h›ªÔ3Ø×Ñ˜Ÿ™˜u Q™x›¨!Ô,Ø×Ñ˜Ÿ™˜u Q™x›¨!Ô,Ø×Ñ˜Ÿ™˜u Q™x›¨!Ô,Ø×Ñ˜Ÿ™ › E¨!¡HÔ-Ø×Ñ˜Ÿ™ › E¨!¡HÔ-Ø×Ñ˜Ÿ™ › E¨!¡HÕ-÷G 'Ö&ú÷ 'Ö&ús   ¨AI-Ä/I?É-
I<É?
Jc                ó‚  • U R                  5       n[        R                  " SS0S5      nU R                  5        nUR	                  SS USUR
                  UR
                  5      nSnU R                  XXTUR
                  SUSS	9  S S S 5        [        R                  " S
S5      nSWUR
                  SXVS0 4/nU R                  5        nU R                  [        R                  5         UR                  US U5        S S S 5        S S S 5        g ! , (       d  f       N�= f! , (       d  f       N(= f! , (       d  f       g = f)NrÉ   rÊ   r   r¯   r   r¢   rM   TrË   sx   bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
s|   bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
bar
baz
s   ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌr#   c                ó   • grñ   r   r  s    r   r  Ú=ifilemutationtests.testdeltaagainstcensored.<locals>.<lambda>ù  s   € ¨Qr   )r*   r
   rÍ   rS   rT   r4   r´   r   rÄ   r/   r   ÚCensoredBaseErrorr  )rE   rF   r¦   rV   rb   rc   r�   r
  s           r   ÚtestdeltaagainstcensoredÚ+ifilemutationtests.testdeltaagainstcensoredÝ  s  € à×ÑÓˆä×&Ò&à˜\ðð ó	
ˆð ×$Ñ$Ô&¨"Ø—E‘E˜-¨¨r°1°a·h±hÀÇÁÓIˆEð !ˆEà×"Ñ"Ø�u Q§X¡X¨q°'ÀDð #ñ ÷ 'ô —’˜}Ð.HÓIˆà˜5 !§(¡(¨L¸%ÈÈ2ÐNð
ˆð ×$Ñ$Ô&¨"Ø×"Ñ"¤5×#:Ñ#:Õ;Ø—
‘
˜6¡;°Ô3÷ <÷ 'Ð&÷ 'Õ&ú÷  <Õ;ú÷ 'Õ&ús0   ºADÃ D0Ã(DÃ=D0Ä
DÄ
D-	Ä)D0Ä0
D>c           	     óf  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5      nUR                  SS USX1R                  5      nUR                  SS USXAR                  5      nS S S 5        U R                  5        nUR	                  UW/5        S S S 5        U R                  [        U5      S5        U R                  [        UR                  5       5      / SQ5        U R                  UR                  W5      S5        U R                  UR                  W5      S5        U R                  [        R                  5         UR                  W5        S S S 5        g ! , (       d  f       Nü= f! , (       d  f       Ná= f! , (       d  f       g = f)	Nr¯   r   rÂ   rM   s€   foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
foo
r   r]   r^   )r*   rS   rT   r4   Úcensorrevisionr+   r,   r-   r5   r�   r/   r   rÎ   rØ   s         r   ÚtestcensorrevisionbasicÚ*ifilemutationtests.testcensorrevisionbasicû  s@  € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø—E‘E˜-¨¨r°1°a·h±hÀÇÁÓIˆEØ—E‘E˜-¨¨r°1°e¿X¹XÓFˆEØ—E‘E˜-¨¨r°1°e¿X¹XÓFˆE÷ 'ð
 ×$Ñ$Ô&¨"Ø×Ñ˜R % Ô)÷ 'ð 	×Ñœ˜Q› Ô#Ø×Ñœ˜aŸf™f›h›ªÔ3à×Ñ˜Ÿ™ ›¨Ô6Ø×Ñ˜Ÿ™ ›¨Ô6à×Ñœu×6Ñ6Õ7Ø�F‰F�5ŒM÷ 8Ð7÷ 'Õ&ú÷
 'Õ&ú÷ 8Õ7ús$   ¡A)F Â"FÅ%F"Æ 
FÆ
FÆ"
F0c           
     ón  • U R                  5       nU R                  5        n[        S5       H/  nUR                  SU-  S X#UR                  UR                  5        M1     S S S 5        [        S5       H.  nU R                  UR                  U5      U[        5       45        M0     g ! , (       d  f       NL= f©Né
   r&   )r*   rS   r9   rT   r4   r+   ÚgetstrippointÚset)rE   rF   rV   r;   s       r   ÚtestgetstrippointnoparentsÚ-ifilemutationtests.testgetstrippointnoparents  s‰   € à×ÑÓˆà×$Ñ$Ô&¨"Ü˜R–y�Ø—‘�e˜c‘k 4¨°!·(±(¸A¿H¹HÖEñ !÷ 'ô ˜–9ˆCØ×Ñ˜QŸ_™_¨SÓ1°C¼»°<Ö@ò ÷	 'Õ&ús   ¡?B&Â&
B4c           
     óp  • U R                  5       nU R                  5        nUR                  n[        S5       H$  nUR	                  SU-  S X$X1R                  5        M&     S S S 5        [        S5       H.  nU R                  UR                  U5      U[        5       45        M0     g ! , (       d  f       NL= fr%  )r*   rS   r4   r9   rT   r+   r'  r(  ©rE   rF   rV   Úp1r;   s        r   ÚtestgetstrippointlinearÚ*ifilemutationtests.testgetstrippointlinear  sŒ   € à×ÑÓˆà×$Ñ$Ô&¨"Ø—‘ˆBä˜R–y�Ø—‘�e˜c‘k 4¨°"·h±hÖ?ñ !÷ 'ô ˜–9ˆCØ×Ñ˜QŸ_™_¨SÓ1°C¼»°<Ö@ò ÷ 'Õ&ús   ¡A B'Â'
B5c           	     ó>  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5      nUR                  SS USX1R                  5      nUR                  SS USXAR                  5        UR                  SS USX1R                  5        UR                  S	S US
X1R                  5        S S S 5        [	        S5       H.  nU R                  UR                  U5      U[        5       45        M0     g ! , (       d  f       NL= f)Nr   r   r)   rM   rh   r   ri   r]   rj   rk   r%   )r*   rS   rT   r4   r9   r+   r'  r(  )rE   rF   rV   rb   rc   r;   s         r   ÚtestgetstrippointmultipleheadsÚ1ifilemutationtests.testgetstrippointmultipleheads'  sÝ   € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø—E‘E˜$  b¨!¨Q¯X©X°q·x±xÓ@ˆEØ—E‘E˜$  b¨!¨U·H±HÓ=ˆEØ�E‰E�$˜˜b ! U¯H©HÔ5Ø�E‰E�$˜˜b ! U¯H©HÔ5Ø�E‰E�$˜˜b ! U¯H©HÔ5÷ 'ô ˜–8ˆCØ×Ñ˜QŸ_™_¨SÓ1°C¼»°<Ö@ò ÷ 'Õ&ús   ¡B'DÄ
Dc           	     ó  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5      nUR                  SS USX1R                  5        UR                  SS USX1R                  5        S S S 5        U R	                  UR                  S5      S[        5       45        U R	                  UR                  S5      S[        5       45        U R	                  UR                  S5      S[        5       45        U R	                  UR                  S	5      S[        5       45        U R	                  UR                  S
5      S[        5       45        U R	                  UR                  S5      S[        5       45        U R	                  UR                  S5      SS145        U R	                  UR                  S5      SS145        U R	                  UR                  S5      SS145        U R	                  UR                  S5      SS145        U R	                  UR                  S5      SS145        U R	                  UR                  S5      S	[        5       45        g ! , (       d  f       GNñ= f)Nr   r   r)   r&  rh   r%   rM   r   r]   rk   rm   é   é   é	   é   )r*   rS   rT   r4   r+   r'  r(  )rE   rF   rV   rb   s       r   Ú testgetstrippointearlierlinkrevsÚ3ifilemutationtests.testgetstrippointearlierlinkrevs4  sò  € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø—E‘E˜$  b¨!¨Q¯X©X°q·x±xÓ@ˆEØ�E‰E�$˜˜b " e¯X©XÔ6Ø�E‰E�$˜˜b ! U¯H©HÔ5÷ 'ð
 	×Ñ˜Ÿ™¨Ó+¨a´³¨ZÔ8Ø×Ñ˜Ÿ™¨Ó+¨a´³¨ZÔ8Ø×Ñ˜Ÿ™¨Ó+¨a´³¨ZÔ8Ø×Ñ˜Ÿ™¨Ó+¨a´³¨ZÔ8Ø×Ñ˜Ÿ™¨Ó+¨a´³¨ZÔ8Ø×Ñ˜Ÿ™¨Ó+¨a´³¨ZÔ8Ø×Ñ˜Ÿ™¨Ó+¨a°!°¨XÔ6Ø×Ñ˜Ÿ™¨Ó+¨a°!°¨XÔ6Ø×Ñ˜Ÿ™¨Ó+¨a°!°¨XÔ6Ø×Ñ˜Ÿ™¨Ó+¨a°!°¨XÔ6Ø×Ñ˜Ÿ™¨Ó,¨q°1°#¨hÔ7Ø×Ñ˜Ÿ™¨Ó,¨q´#³%¨jÕ9÷! 'Ö&ús   ¡A)I4É4
Jc                óÒ   • U R                  5       nU R                  5        nUR                  SU5        S S S 5        U R                  [	        U5      S5        g ! , (       d  f       N*= frñ   )r*   rS   Ústripr+   r,   rÞ   s      r   ÚteststripemptyÚ!ifilemutationtests.teststripemptyI  sO   € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø�G‰G�A�rŒN÷ 'ð 	×Ñœ˜Q› Õ#÷ 'Õ&ús   ¡AÁ
A&c           
     óÚ  • U R                  5       nU R                  5        nUR                  n[        S5       H$  nUR	                  SU-  S X$X1R                  5      nM&     S S S 5        U R                  [        U5      S5        U R                  5        nUR                  SU5        S S S 5        U R                  [        U5      S5        g ! , (       d  f       Np= f! , (       d  f       N;= f)Nr&  r&   r   )r*   rS   r4   r9   rT   r+   r,   r;  r,  s        r   ÚteststripallÚifilemutationtests.teststripallQ  s´   € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø—‘ˆBÜ˜R–y�Ø—U‘U˜5 3™;¨¨b°r¿8¹8ÓD’ñ !÷ 'ð
 	×Ñœ˜Q› Ô$à×$Ñ$Ô&¨"Ø�G‰G�A�rŒN÷ 'ð 	×Ñœ˜Q› Õ#÷ 'Õ&ú÷ 'Õ&ús   ¡A CÂCÃ
CÃ
C*c           	     ó’  • U R                  5       nU R                  5        nUR                  SS USUR                  UR                  5        UR                  SS USUR                  UR                  5      nUR                  SS USUR                  UR                  5      nS S S 5        U R	                  [        U5      S5        U R                  5        nUR                  SU5        S S S 5        U R	                  [        U5      S5        U R                  5        nUR                  SU5        S S S 5        U R	                  [        U5      S	5        U R                  [        R                  5         UR                  W5        S S S 5        U R                  5        nUR                  S
U5        S S S 5        U R	                  [        U5      S	5        U R                  5        nUR                  SU5        S S S 5        U R	                  [        U5      S5        U R                  [        R                  5         UR                  W5        S S S 5        g ! , (       d  f       GNµ= f! , (       d  f       GN�= f! , (       d  f       GNM= f! , (       d  f       GN= f! , (       d  f       Nñ= f! , (       d  f       N¼= f! , (       d  f       g = f)Nr   r   r)   r%   rh   r&  r]   r7  r   rm   rM   )r*   rS   rT   r4   r+   r,   r;  r/   r   r8   r;   )rE   rF   rV   rc   rd   s        r   ÚteststrippartialÚ#ifilemutationtests.teststrippartial`  sû  € Ø×ÑÓˆà×$Ñ$Ô&¨"Ø�E‰E�$˜˜b ! Q§X¡X¨q¯x©xÔ8Ø—E‘E˜$  b¨!¨Q¯X©X°q·x±xÓ@ˆEØ—E‘E˜$  b¨"¨a¯h©h¸¿¹ÓAˆE÷ 'ð
 	×Ñœ˜Q› Ô#à×$Ñ$Ô&¨"Ø�G‰G�B˜ŒO÷ 'ð 	×Ñœ˜Q› Ô#à×$Ñ$Ô&¨"Ø�G‰G�B˜ŒO÷ 'ð 	×Ñœ˜Q› Ô#à×Ñœu×0Ñ0Õ1Ø�E‰E�%ŒL÷ 2ð ×$Ñ$Ô&¨"Ø�G‰G�A�rŒN÷ 'ð 	×Ñœ˜Q› Ô#à×$Ñ$Ô&¨"Ø�G‰G�A�rŒN÷ 'ð 	×Ñœ˜Q› Ô#à×Ñœu×0Ñ0Õ1Ø�E‰E�%ŒL÷ 2Ð1÷= 'Ö&ú÷ 'Ö&ú÷
 'Ö&ú÷
 2Ö1ú÷ 'Õ&ú÷
 'Õ&ú÷
 2Õ1úsT   ¡A?IÃI ÄI2Å.JÆJÇJ'È3J8É
IÉ 
I/É2
JÊ
JÊ
J$Ê'
J5Ê8
Kr   N)r   r   r   r   rs   rÙ   rß   rå   r  r  r  r"  r)  r.  r1  r8  r<  r?  rB  r   r   r   r   rÖ   rÖ   5  sT   † ñò
$òò	NòN.ò`-.ò^4ò<ò(	AòAòAò:ò*$ò$õ"r   rÖ   c                ó2   • U UUS.n[        S[        4U5      $ )a	  Create a unittest.TestCase class suitable for testing file storage.

``makefilefn`` is a callable which receives the test case as an
argument and returns an object implementing the ``ifilestorage`` interface.

``maketransactionfn`` is a callable which receives the test case as an
argument and returns a transaction object.

``addrawrevisionfn`` is a callable which receives arguments describing a
low-level revision to add. This callable allows the insertion of
potentially bad data into the store in order to facilitate testing.

Returns a type that is a ``unittest.TestCase`` that can be used for
testing the object implementing the file storage interface. Simply
assign the returned value to a module-level attribute and a test loader
should find and run it automatically.
©r*   rS   r´   r   )Útyper   ©Ú
makefilefnÚmaketransactionfnÚaddrawrevisionfnÚds       r   ÚmakeifileindextestsrL  …  s)   € ð& "Ø/Ø-ñ	€Aô
 Ð!¤OÐ#5°qÓ9Ð9r   c                ó2   • U UUS.n[        S[        4U5      $ )NrE  ru   )rF  ru   rG  s       r   ÚmakeifiledatatestsrN  Ÿ  s'   € à!Ø/Ø-ñ	€Aô
 Ð ¤>Ð"3°QÓ7Ð7r   c                ó2   • U UUS.n[        S[        4U5      $ )NrE  rÖ   )rF  rÖ   rG  s       r   ÚmakeifilemutationtestsrP  ¨  s(   € à!Ø/Ø-ñ	€Aô
 Ð$Ô'9Ð&;¸QÓ?Ð?r   )Ú
__future__r   r   r<   r   r   Ú r   r   Ú
interfacesr	   Úutilsr
   r   r   r   ru   rÖ   rL  rN  rP  r   r   r   Ú<module>rU     sn   ðõ #ã ÷÷õ $Ý ô
�8×$Ñ$ô 
ôo0�lô o0ôda
�\ô a
ôHM˜ô Mò`
:ò48ó@r   