§
    L˜ºhS— ã                   ó^  — d Z dZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
d„ ZddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dZ e
j        de¦  «          ej        defdef¦  «        ej          G d„ de	j         ¦  «        ¦   «         ¦   «         Z!ej          G d„ de	j         ¦  «        ¦   «         Z"ej          G d„ de	j         ¦  «        ¦   «         Z#ej          G d„ de	j         ¦  «        ¦   «         Z$ej          G d„ d e	j         ¦  «        ¦   «         Z% e	j&         ej'        ¦   «         d!k    d"¦  «        ej          G d#„ d$e	j         ¦  «        ¦   «         ¦   «         Z(e)d%k    r e	j*        ¦   «          dS dS )&aœ  Tests python protocol buffers against the golden message.

Note that the golden messages exercise every known field type, thus this
test ends up exercising and verifying nearly all of the parsing and
serialization code in the whole library.

TODO(kenton):  Merge with wire_format_test?  It doesn't make a whole lot of
sense to call this a test of the "message" module, which only declares an
abstract interface.
z!gps@google.com (Gregory P. Smith)é    Nc                 ó   — | |k    | |k     z
  S ©N© )ÚxÚys     úm/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/google/protobuf/internal/message_test.pyú<lambda>r	   7   s   € �A˜’E˜a !šeÑ$€ ó    )Úmap_proto2_unittest_pb2)Úmap_unittest_pb2)Úunittest_pb2)Úunittest_proto3_arena_pb2)Ú
descriptor)Úapi_implementation)Úencoder)Úmore_extensions_pb2)Úpacked_field_test_pb2)Ú	test_util)Útest_proto3_optional_pb2)Útesting_refleaks)Úmessage)Ú_parameterizediÿÿ  ÚerrorÚ_proto2Ú_proto3c                   ód  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,d+„ Z-d,„ Z.d-„ Z/d.„ Z0d/„ Z1d0„ Z2d1„ Z3d2„ Z4d3„ Z5d4„ Z6d5„ Z7d6„ Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=d<d=d>d?d@dA e>¦   «         g i  e?¦   «         g
Z@dB„ ZAdC„ ZBdD„ ZCdE„ ZDdF„ ZEdG„ ZFdH„ ZG G dI„ dJeH¦  «        ZIdK„ ZJdL„ ZKdM„ ZL G dN„ dOeH¦  «        ZMdP„ ZNdQ„ ZOdR„ ZPdS„ ZQdT„ ZRdU„ ZSdV„ ZTdW„ ZUdX„ ZVdY„ ZWdZ„ ZXd[„ ZYd<S )\ÚMessageTestc                 ón  — t          j        ¦   «         dk    r|                      d¦  «         t          j        d¦  «        }|                      t          ¦  «        5 }|j                             |¦  «         d d d ¦  «         n# 1 swxY w Y   |  	                    dt          |j        ¦  «        ¦  «         d S )NÚpythonzŠSkipping testBadUtf8String, currently only the python api implementation raises UnicodeDecodeError when a string field contains bad utf-8.Úbad_utf8_stringzTestAllTypes.optional_string)r   ÚTypeÚskipTestr   ÚGoldenFileDataÚassertRaisesÚUnicodeDecodeErrorÚTestAllTypesÚ
FromStringÚassertInÚstrÚ	exception)ÚselfÚmessage_moduleÚbad_utf8_dataÚcontexts       r   ÚtestBadUtf8StringzMessageTest.testBadUtf8StringR   sè   € ÝÔÑ Ô  HÒ,Ð,Ø
‡m‚mð 7ñ 8ô 8ð 8õ Ô,Ð->Ñ?Ô?€MØ	×	Ò	Õ-Ñ	.Ô	.ð <°'ØÔ!×,Ò,¨]Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <à‡M‚MÐ0µ#°gÔ6GÑ2HÔ2HÑIÔIÐIÐIÐIs   ÁBÂBÂ	Bc                 óÀ  — |t           u rt          j        d¦  «        }nt          j        d¦  «        }|                     ¦   «         }|                     |¦  «         |t           u rt          j        | |¦  «         |                      ||                     ¦   «         ¦  «         t          j	        |¦  «        }|                      ||                     ¦   «         ¦  «         d S )NÚ golden_message_oneof_implementedÚgolden_message_proto3)
r   r   r#   r&   ÚParseFromStringÚExpectAllFieldsSetÚassertEqualÚSerializeToStringÚcopyÚdeepcopy)r+   r,   Úgolden_dataÚgolden_messageÚgolden_copys        r   ÚtestGoldenMessagezMessageTest.testGoldenMessage\   sÏ   € ð �Ð%Ð%ÝÔ,Ð-OÑPÔP€k€kåÔ,Ð-DÑEÔE€kà#×0Ò0Ñ2Ô2€NØ×"Ò" ;Ñ/Ô/Ð/Ø�Ð%Ð%ÝÔ" 4¨Ñ8Ô8Ð8Ø×Ò�[ .×"BÒ"BÑ"DÔ"DÑEÔEÐEÝ”- Ñ/Ô/€KØ×Ò�[ +×"?Ò"?Ñ"AÔ"AÑBÔBÐBÐBÐBr
   c                 ó
  — t          j        d¦  «        }|                     ¦   «         }|                     |¦  «        }|                     ¦   «         }t          j        |¦  «         |                      |t          |¦  «        ¦  «         |                      ||¦  «         |                      ||                     ¦   «         ¦  «         t          j	        |¦  «        }|                      ||                     ¦   «         ¦  «         d S ©NÚgolden_packed_fields_message)
r   r#   ÚTestPackedTypesr3   ÚSetAllPackedFieldsr5   Úlenr6   r7   r8   )r+   r,   r9   r:   Úparsed_bytesÚall_setr;   s          r   ÚtestGoldenPackedMessagez#MessageTest.testGoldenPackedMessagem   sæ   € ÝÔ*Ð+IÑJÔJ€KØ#×3Ò3Ñ5Ô5€NØ!×1Ò1°+Ñ>Ô>€LØ×,Ò,Ñ.Ô.€GÝÔ  Ñ)Ô)Ð)Ø×Ò�\¥3 {Ñ#3Ô#3Ñ4Ô4Ð4Ø×Ò�W˜nÑ-Ô-Ð-Ø×Ò�[ '×";Ò";Ñ"=Ô"=Ñ>Ô>Ð>Ý”- Ñ/Ô/€KØ×Ò�[ +×"?Ò"?Ñ"AÔ"AÑBÔBÐBÐBÐBr
   c                 óš  — |                      ¦   «         }|                      t          |j        d¦  «         |                      t          |j        d¦  «         t          j        dd¦  «        }t          j        ¦   «         dk    st          j        ¦   «         dk    r‹|                      t          j
        ¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         dk    r(|                      dt          |j        ¦  «        ¦  «         |                      t          j
        |j        d¦  «         d S )	Nr   Ú0é   é   r   ÚupbzUnexpected end-group tag.s   )r&   r$   Ú	TypeErrorr'   Ú	Exceptionr   ÚTagBytesr   r!   r   ÚDecodeErrorr5   r)   r*   )r+   r,   ÚmsgÚend_tagr.   s        r   ÚtestParseErrorszMessageTest.testParseErrorsy   sY  € Ø
×
%Ò
%Ñ
'Ô
'€CØ×Ò•i ¤°Ñ3Ô3Ð3Ø×Ò•i ¤°Ñ5Ô5Ð5õ Ô˜q !Ñ$Ô$€GÝÔÑ!Ô! XÒ-Ð-ÝÔÑ!Ô! UÒ*Ð*Ø×Ò�WÔ0Ñ1Ô1ð  °WØ�Š�wÑÔÐð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  å	Ô	 Ñ	"Ô	" hÒ	.Ð	.à×ÒÐ4µc¸'Ô:KÑ6LÔ6LÑMÔMÐMð 	×Ò•gÔ)¨3¬>¸7ÑCÔCÐCÐCÐCs   Â9CÃCÃ"Cc                 óP  ‡— d}|                      ¦   «         }|j                             g d¢¦  «         |                      ||                     d ¬¦  «        ¦  «         |                      ||                     d¬¦  «        ¦  «         |                      ||                     d¬¦  «        ¦  «          G d„ dt
          ¦  «        Š G ˆfd„d	t          ¦  «        }|                      ‰¦  «        5  |                      |¦   «         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Ns5   â
One stringâ
Two stringâ
Red stringâBlue string)z
One stringz
Two stringz
Red stringzBlue string©ÚdeterministicFTc                   ó   — e Zd ZdS )ú:MessageTest.testDeterminismParameters.<locals>.BadArgErrorN)Ú__name__Ú
__module__Ú__qualname__r   r
   r   ÚBadArgErrorrV   ¡   s   € € € € € Ø
€dr
   rZ   c                   ó$   •— e Zd Zˆ fd„Zˆ fd„ZdS )ú5MessageTest.testDeterminismParameters.<locals>.BadArgc                 ó   •—  ‰¦   «         ‚r   r   ©r+   rZ   s    €r   Ú__nonzero__zAMessageTest.testDeterminismParameters.<locals>.BadArg.__nonzero__¦   ó   ø€ Øˆk‰mŒmÐr
   c                 ó   •—  ‰¦   «         ‚r   r   r^   s    €r   Ú__bool__z>MessageTest.testDeterminismParameters.<locals>.BadArg.__bool__©   r`   r
   N)rW   rX   rY   r_   rb   )rZ   s   €r   ÚBadArgr\   ¤   sG   ø€ € € € € ðð ð ð ð ðð ð ð ð ð ð r
   rc   )r&   Úrepeated_stringÚextendr5   r6   rL   Úobjectr$   )r+   r,   r9   r:   rc   rZ   s        @r   ÚtestDeterminismParametersz%MessageTest.testDeterminismParameters‹   sÑ  ø€ ð.€Kð $×0Ò0Ñ2Ô2€NØÔ"×)Ò)ð +ð +ð +ñ ô ð ð 	×Ò�[Ø#×5Ò5ÀDÐ5ÑIÔIñKô Kð Kà×Ò�[Ø#×5Ò5ÀEÐ5ÑJÔJñLô Lð Là×Ò�[Ø#×5Ò5ÀDÐ5ÑIÔIñKô Kð Kðð ð ð ð •iñ ô ð ðð ð ð ð ð ð •ñ ô ð ð 
×	Ò	˜;Ñ	'Ô	'ð ?ð ?Ø×&Ò&°V°V±X´XÐ&Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s   Ã/DÄDÄ"Dc                 óü   — t          j        d¦  «        }|                     ¦   «         }|                     |¦  «         t	          j        |¦  «        }t	          j        |¦  «        }|                      ||¦  «         d S ©Nr:   )r   r#   r&   r3   ÚpickleÚdumpsÚloadsr5   )r+   r,   r9   r:   Úpickled_messageÚunpickled_messages         r   ÚtestPickleSupportzMessageTest.testPickleSupport¯   st   € ÝÔ*Ð+;Ñ<Ô<€KØ#×0Ò0Ñ2Ô2€NØ×"Ò" ;Ñ/Ô/Ð/Ý”l >Ñ2Ô2€Oåœ _Ñ5Ô5ÐØ×ÒÐ&¨Ñ7Ô7Ð7Ð7Ð7r
   c                 ó¸   — |j                              d¬¦  «        }t          j        |¦  «        }t          j        |¦  «        }|                      ||¦  «         d S )NrH   ©Úbb)ÚTestPickleNestedMessageÚNestedMessagerj   rk   rl   r5   )r+   r,   r:   rm   rn   s        r   ÚtestPickleNestedMessagez#MessageTest.testPickleNestedMessage¸   sW   € Ø#Ô;×IÒIÈQÐIÑOÔO€NÝ”l >Ñ2Ô2€OÝœ _Ñ5Ô5ÐØ×ÒÐ&¨Ñ7Ô7Ð7Ð7Ð7r
   c                 óÆ   — |j         j        }|                     d¬¦  «        }t          j        |¦  «        }t          j        |¦  «        }|                      ||¦  «         d S )NrH   )Úcc)rs   rt   ÚNestedNestedMessagerj   rk   rl   r5   )r+   r,   Úclsr:   rm   rn   s         r   ÚtestPickleNestedNestedMessagez)MessageTest.testPickleNestedNestedMessage¾   s_   € Ø
Ô
0Ô
>€CØ×,Ò,°Ð,Ñ2Ô2€NÝ”l >Ñ2Ô2€OÝœ _Ñ5Ô5ÐØ×ÒÐ&¨Ñ7Ô7Ð7Ð7Ð7r
   c                 ó  — |t           u rd}nd}|                     ¦   «         }|                     |¦  «         |                      |j        t
          j        ¦  «         |                      |j        t
          j        ¦  «         |                      |j        d         t
          j        ¦  «         |                      |j	        d         t
          j        ¦  «         |                      || 
                    ¦   «         ¦  «         d S )Ns   ]  €a      ðÍ  €Ñ      ðs    ]  €a      ðÊ  €Ò      ðr   ©r   r&   r3   r5   Úoptional_floatÚmathÚinfÚoptional_doubleÚrepeated_floatÚrepeated_doubler6   ©r+   r,   r9   r:   s       r   ÚtestPositiveInfinityz MessageTest.testPositiveInfinityÅ   sä   € Ø�Ð%Ð%ðA€k€kð
E€kð
 $×0Ò0Ñ2Ô2€NØ×"Ò" ;Ñ/Ô/Ð/Ø×Ò�^Ô2µD´HÑ=Ô=Ð=Ø×Ò�^Ô3µT´XÑ>Ô>Ð>Ø×Ò�^Ô2°1Ô5µt´xÑ@Ô@Ð@Ø×Ò�^Ô3°AÔ6½¼ÑAÔAÐAØ×Ò�[ .×"BÒ"BÑ"DÔ"DÑEÔEÐEÐEÐEr
   c                 ó  — |t           u rd}nd}|                     ¦   «         }|                     |¦  «         |                      |j        t
          j         ¦  «         |                      |j        t
          j         ¦  «         |                      |j        d         t
          j         ¦  «         |                      |j	        d         t
          j         ¦  «         |                      || 
                    ¦   «         ¦  «         d S )Ns   ]  €ÿa      ðÿÍ  €ÿÑ      ðÿs    ]  €ÿa      ðÿÊ  €ÿÒ      ðÿr   r|   rƒ   s       r   ÚtestNegativeInfinityz MessageTest.testNegativeInfinityÙ   sì   € Ø�Ð%Ð%ðA€k€kð
E€kð
 $×0Ò0Ñ2Ô2€NØ×"Ò" ;Ñ/Ô/Ð/Ø×Ò�^Ô2µT´X°IÑ>Ô>Ð>Ø×Ò�^Ô3µd´h°YÑ?Ô?Ð?Ø×Ò�^Ô2°1Ô5½¼°yÑAÔAÐAØ×Ò�^Ô3°AÔ6½¼¸	ÑBÔBÐBØ×Ò�[ .×"BÒ"BÑ"DÔ"DÑEÔEÐEÐEÐEr
   c                 ó¼  — d}|                      ¦   «         }|                     |¦  «         |                      t          j        |j        ¦  «        ¦  «         |                      t          j        |j        ¦  «        ¦  «         |                      t          j        |j        d         ¦  «        ¦  «         |                      t          j        |j        d         ¦  «        ¦  «         | 	                    ¦   «         }|                      ¦   «         } |j        |¦  «         |                      t          j        |j        ¦  «        ¦  «         |                      t          j        |j        ¦  «        ¦  «         |                      t          j        |j        d         ¦  «        ¦  «         |                      t          j        |j        d         ¦  «        ¦  «         d S )Ns   ]  Àa      øÍ  ÀÑ      ør   )
r&   r3   Ú
assertTruer~   Úisnanr}   r€   r�   r‚   r6   ©r+   r,   r9   r:   Ú
serializedr   s         r   ÚtestNotANumberzMessageTest.testNotANumberí   sy  € ð?€Kð $×0Ò0Ñ2Ô2€NØ×"Ò" ;Ñ/Ô/Ð/Ø‡O‚O•D”J˜~Ô<Ñ=Ô=Ñ>Ô>Ð>Ø‡O‚O•D”J˜~Ô=Ñ>Ô>Ñ?Ô?Ð?Ø‡O‚O•D”J˜~Ô<¸QÔ?Ñ@Ô@ÑAÔAÐAØ‡O‚O•D”J˜~Ô=¸aÔ@ÑAÔAÑBÔBÐBð  ×1Ò1Ñ3Ô3€JØ×)Ò)Ñ+Ô+€GØ€GÔ˜JÑ'Ô'Ð'Ø‡O‚O•D”J˜wÔ5Ñ6Ô6Ñ7Ô7Ð7Ø‡O‚O•D”J˜wÔ6Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O•D”J˜wÔ5°aÔ8Ñ9Ô9Ñ:Ô:Ð:Ø‡O‚O•D”J˜wÔ6°qÔ9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r
   c                 óX  — d}|                      ¦   «         }|                     |¦  «         |                      |j        d         t          j        ¦  «         |                      |j        d         t          j        ¦  «         |                      ||                     ¦   «         ¦  «         d S )Ns   ¢  €ª      ðr   ©r@   r3   r5   Úpacked_floatr~   r   Úpacked_doubler6   rƒ   s       r   ÚtestPositiveInfinityPackedz&MessageTest.testPositiveInfinityPacked  s—   € ðC€Kà#×3Ò3Ñ5Ô5€NØ×"Ò" ;Ñ/Ô/Ð/Ø×Ò�^Ô0°Ô3µT´XÑ>Ô>Ð>Ø×Ò�^Ô1°!Ô4µd´hÑ?Ô?Ð?Ø×Ò�[ .×"BÒ"BÑ"DÔ"DÑEÔEÐEÐEÐEr
   c                 ó\  — d}|                      ¦   «         }|                     |¦  «         |                      |j        d         t          j         ¦  «         |                      |j        d         t          j         ¦  «         |                      ||                     ¦   «         ¦  «         d S )Ns   ¢  €ÿª      ðÿr   rŽ   rƒ   s       r   ÚtestNegativeInfinityPackedz&MessageTest.testNegativeInfinityPacked  s›   € ðC€Kà#×3Ò3Ñ5Ô5€NØ×"Ò" ;Ñ/Ô/Ð/Ø×Ò�^Ô0°Ô3µd´h°YÑ?Ô?Ð?Ø×Ò�^Ô1°!Ô4µt´x°iÑ@Ô@Ð@Ø×Ò�[ .×"BÒ"BÑ"DÔ"DÑEÔEÐEÐEÐEr
   c                 ó\  — d}|                      ¦   «         }|                     |¦  «         |                      t          j        |j        d         ¦  «        ¦  «         |                      t          j        |j        d         ¦  «        ¦  «         |                     ¦   «         }|                      ¦   «         } |j        |¦  «         |                      t          j        |j        d         ¦  «        ¦  «         |                      t          j        |j        d         ¦  «        ¦  «         d S )Ns   ¢  Àª      ør   )r@   r3   rˆ   r~   r‰   r�   r�   r6   rŠ   s         r   ÚtestNotANumberPackedz MessageTest.testNotANumberPacked  sú   € ðC€Kà#×3Ò3Ñ5Ô5€NØ×"Ò" ;Ñ/Ô/Ð/Ø‡O‚O•D”J˜~Ô:¸1Ô=Ñ>Ô>Ñ?Ô?Ð?Ø‡O‚O•D”J˜~Ô;¸AÔ>Ñ?Ô?Ñ@Ô@Ð@à×1Ò1Ñ3Ô3€JØ×,Ò,Ñ.Ô.€GØ€GÔ˜JÑ'Ô'Ð'Ø‡O‚O•D”J˜wÔ3°AÔ6Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O•D”J˜wÔ4°QÔ7Ñ8Ô8Ñ9Ô9Ð9Ð9Ð9r
   c                 óŒ  — |                      ¦   «         }t          j        dd¦  «        }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         dt          j        dd¦  «        z  }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         t          j        dd¦  «        }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         dt          j        dd¦  «        z  }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         t                               d¦  «        }||_        |  	                    |j        |¦  «          |j        ¦   «         } |j        |¦  «         |  	                    |j        |¦  «         d|_        |  
                    |j        t          d¦  «        ¦  «          |j        ¦   «         } |j        |¦  «         |  
                    |j        t          d¦  «        ¦  «         d|_        |  
                    |j        t          d	¦  «        ¦  «         d
|_        |  	                    |j        d
¦  «         d S )Né   é   ç      ø?i�ÿÿÿz0x1.fffffep+127gû�Pïÿÿ#Hr   gû�Pïÿÿ#Èz-infg�¸ˆš �Þ7)r&   r~   Úpowr}   r3   r6   rˆ   ÚfloatÚfromhexÚassertAlmostEqualr5   )	r+   r,   r   ÚkMostPosExponentNoSigBitsÚkMostPosExponentOneSigBitÚkMostNegExponentNoSigBitsÚkMostNegExponentOneSigBitÚ	max_floatÚserialized_datas	            r   ÚtestExtremeFloatValuesz"MessageTest.testExtremeFloatValues%  sÃ  € Ø×)Ò)Ñ+Ô+€Gõ !%¤¨¨CÑ 0Ô 0ÐØ6€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð.GÒGÑHÔHÐHð !$¥d¤h¨q°#Ñ&6Ô&6Ñ 6ÐØ6€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð.GÒGÑHÔHÐHð 8Ð7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð/HÐ.HÒHÑIÔIÐIà7Ð7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð/HÐ.HÒHÑIÔIÐIõ !%¤¨¨DÑ 1Ô 1ÐØ6€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð.GÒGÑHÔHÐHð !$¥d¤h¨q°$Ñ&7Ô&7Ñ 7ÐØ6€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð.GÒGÑHÔHÐHð 8Ð7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð/HÐ.HÒHÑIÔIÐIà7Ð7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ*Ð/HÐ.HÒHÑIÔIÐIõ —’Ð/Ñ0Ô0€IØ&€GÔØ×Ò˜7Ô1°9Ñ=Ô=Ð=Ø/�gÔ/Ñ1Ô1€OØ€GÔ˜OÑ,Ô,Ð,Ø×Ò˜7Ô1°9Ñ=Ô=Ð=ð +€GÔØ×Ò�WÔ+­U°5©\¬\Ñ:Ô:Ð:Ø/�gÔ/Ñ1Ô1€OØ€GÔ˜OÑ,Ô,Ð,Ø×Ò�WÔ+­U°5©\¬\Ñ:Ô:Ð:à+€GÔØ×Ò�WÔ+­U°6©]¬]Ñ;Ô;Ð;à*€GÔØ×Ò˜7Ô1°=ÑAÔAÐAÐAÐAr
   c                 ó  — |                      ¦   «         }t          j        dd¦  «        }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         dt          j        dd¦  «        z  }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         t          j        dd¦  «        }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         dt          j        dd¦  «        z  }||_         |j         |j        ¦   «         ¦  «         |                      |j        |k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         | |_         |j         |j        ¦   «         ¦  «         |                      |j        | k    ¦  «         d S )Nr—   iÿ  r™   iüÿÿ)r&   r~   rš   r€   r3   r6   rˆ   )r+   r,   r   rž   rŸ   r    r¡   s          r   ÚtestExtremeDoubleValuesz#MessageTest.testExtremeDoubleValuesg  sŸ  € Ø×)Ò)Ñ+Ô+€Gõ !%¤¨¨DÑ 1Ô 1ÐØ7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð/HÒHÑIÔIÐIð !$¥d¤h¨q°$Ñ&7Ô&7Ñ 7ÐØ7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð/HÒHÑIÔIÐIð  9Ð8€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð0IÐ/IÒIÑJÔJÐJà8Ð8€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð0IÐ/IÒIÑJÔJÐJõ !%¤¨¨EÑ 2Ô 2ÐØ7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð/HÒHÑIÔIÐIð !$¥d¤h¨q°%Ñ&8Ô&8Ñ 8ÐØ7€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð/HÒHÑIÔIÐIð  9Ð8€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð0IÐ/IÒIÑJÔJÐJà8Ð8€GÔØ€GÔÐ5˜GÔ5Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�GÔ+Ð0IÐ/IÒIÑJÔJÐJÐJÐJr
   c                 ó‚   — |                      ¦   «         }d|_        |                      t          |¦  «        d¦  «         d S )Nç       @zoptional_float: 2.0
)r&   r}   r5   r)   ©r+   r,   r   s      r   ÚtestFloatPrintingzMessageTest.testFloatPrinting”  s>   € Ø×)Ò)Ñ+Ô+€GØ €GÔØ×Ò•S˜‘\”\Ð#:Ñ;Ô;Ð;Ð;Ð;r
   c                 óÎ   — |                      ¦   «         }d|_        |j        }|                     |                     ¦   «         ¦  «         |                      ||j        ¦  «         d S )Nç^!Á7Ýš¿?)r&   r}   r3   r6   r5   )r+   r,   rO   Ú	old_floats       r   ÚtestHighPrecisionFloatPrintingz*MessageTest.testHighPrecisionFloatPrinting™  sb   € Ø
×
%Ò
%Ñ
'Ô
'€CØ,€CÔØÔ"€IØ×Ò˜×-Ò-Ñ/Ô/Ñ0Ô0Ð0Ø×Ò�Y Ô 2Ñ3Ô3Ð3Ð3Ð3r
   c                 ó‚   — |                      ¦   «         }d|_        |                      t          |¦  «        d¦  «         d S )Nr¬   z%optional_double: 0.12345678912345678
)r&   r€   r5   r)   ©r+   r,   rO   s      r   ÚtestHighPrecisionDoublePrintingz+MessageTest.testHighPrecisionDoublePrinting   s>   € Ø
×
%Ò
%Ñ
'Ô
'€CØ-€CÔØ×Ò•S˜‘X”XÐGÑHÔHÐHÐHÐHr
   c                 ó  — |                      ¦   «         }t          j        |¦  «         |                     ¦   «         }|                     |                     ¦   «         ¦  «         |                      t          |¦  «        d¦  «         d S )NÚ )r&   r   ÚSetAllNonLazyFieldsÚTestEmptyMessager3   r6   r5   r)   )r+   r,   Ú	populatedÚemptys       r   ÚtestUnknownFieldPrintingz$MessageTest.testUnknownFieldPrinting¥  sw   € Ø×+Ò+Ñ-Ô-€IÝÔ! )Ñ,Ô,Ð,Ø×+Ò+Ñ-Ô-€EØ	×Ò˜)×5Ò5Ñ7Ô7Ñ8Ô8Ð8Ø×Ò•S˜‘Z”Z Ñ$Ô$Ð$Ð$Ð$r
   c                 óô  — |                      ¦   «         }|j                             |j                              d¬¦  «        ¦  «         |j                              d¬¦  «        }|j                             |¦  «         	 |j                             d¦  «         n# t          $ r Y nw xY w|                      dt          |j        ¦  «        ¦  «         |                      ddgd„ |j        D ¦   «         ¦  «         d S )NrH   rq   r—   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   ©Ú.0Úms     r   ú
<listcomp>z@MessageTest.testAppendRepeatedCompositeField.<locals>.<listcomp>·  s   € ÐHÐHÐH q˜aœdÐHÐHÐHr
   )r&   Úrepeated_nested_messageÚappendrt   rK   r5   rB   )r+   r,   rO   Únesteds       r   Ú testAppendRepeatedCompositeFieldz,MessageTest.testAppendRepeatedCompositeField¬  s  € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×&Ò&ØÔ#×1Ò1°QÐ1Ñ7Ô7ñ9ô 9ð 9àÔ(×6Ò6¸!Ð6Ñ<Ô<€FØÔ×&Ò& vÑ.Ô.Ð.ðØ	Ô!×(Ò(¨Ñ+Ô+Ð+Ð+øÝð ð ð Ø
€dðøøøà×Ò�Q�˜CÔ7Ñ8Ô8Ñ9Ô9Ð9Ø×Ò�a˜�VÐHÐH¨CÔ,GÐHÑHÔHÑIÔIÐIÐIÐIs   Á>B Â
B&Â%B&c                 óÄ  — |                      ¦   «         }|j                             d|j                              d¬¦  «        ¦  «         |j        d         }|j                             d|j                              d¬¦  «        ¦  «         |j                             d|j                              d¬¦  «        ¦  «         |j                             d|j                              d¬¦  «        ¦  «         |j                             d	|j                              d	¬¦  «        ¦  «         	 |j                             dd
¦  «         n# t          $ r Y nw xY w|                      dt          |j        ¦  «        ¦  «         |                      g d¢d„ |j        D ¦   «         ¦  «         |                      t          |¦  «        d¦  «         |                      |j        d¦  «         d S )NéÿÿÿÿrH   rq   r   r—   éc   é   éþÿÿÿéüÿÿéç  é   )rÈ   r—   rÄ   rH   rÆ   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r»   s     r   r¾   z@MessageTest.testInsertRepeatedCompositeField.<locals>.<listcomp>Ì  s   € Ð@Ð@Ð@˜q�a”dÐ@Ð@Ð@r
   z¹repeated_nested_message {
  bb: -1000
}
repeated_nested_message {
  bb: 2
}
repeated_nested_message {
  bb: -1
}
repeated_nested_message {
  bb: 1
}
repeated_nested_message {
  bb: 3
}
)	r&   r¿   Úinsertrt   rK   r5   rB   r)   rr   )r+   r,   rO   Úsub_msgs       r   Ú testInsertRepeatedCompositeFieldz,MessageTest.testInsertRepeatedCompositeField¹  s  € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×&Ò&Ø
ˆNÔ'×5Ò5¸Ð5Ñ;Ô;ñ=ô =ð =àÔ)¨!Ô,€GØÔ×&Ò&Ø	ˆ>Ô&×4Ò4¸Ð4Ñ:Ô:ñ<ô <ð <àÔ×&Ò&Ø
ˆNÔ'×5Ò5¸Ð5Ñ;Ô;ñ=ô =ð =àÔ×&Ò&Ø
ˆNÔ'×5Ò5¸Ð5Ñ<Ô<ñ>ô >ð >àÔ×&Ò&Øˆ~Ô*×8Ò8¸EÐ8ÑBÔBñDô Dð DðØ	Ô!×(Ò(¨¨CÑ0Ô0Ð0Ð0øÝð ð ð Ø
€dðøøøà×Ò�Q�˜CÔ7Ñ8Ô8Ñ9Ô9Ð9Ø×ÒÐ)Ð)Ð)Ø@Ð@ CÔ$?Ð@Ñ@Ô@ñBô Bð Bà×ÒÝˆC‰Œð ñô ð ð  	×Ò�W”Z Ñ#Ô#Ð#Ð#Ð#s   Ä'E Å
EÅEc                 ó  — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |j                             d¬¦  «         |j                             d¬¦  «         |                      ¦   «         }|j                             d¬¦  «         |j                             d¬¦  «         |j                             d¦  «         |j                             d¦  «         |j                             |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             |j        ¦  «         |                      g d¢d	„ |j        D ¦   «         ¦  «         d S )
NrH   rÆ   rq   r—   rI   rÊ   é   ©rH   r—   rÆ   rI   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r»   s     r   r¾   z:MessageTest.testMergeFromRepeatedField.<locals>.<listcomp>ï  ó   € Ð#NÐ#NÐ#N¨Q A¤DÐ#NÐ#NÐ#Nr
   )r&   Úrepeated_int32rÀ   r¿   ÚaddÚ	MergeFromr5   rB   )r+   r,   rO   Ú	other_msgs       r   ÚtestMergeFromRepeatedFieldz&MessageTest.testMergeFromRepeatedFieldß  so  € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×Ò˜aÑ Ô Ð ØÔ×Ò˜aÑ Ô Ð ØÔ×#Ò# qÐ#Ñ)Ô)Ð)ØÔ×#Ò# qÐ#Ñ)Ô)Ð)Ø×+Ò+Ñ-Ô-€IØÔ%×)Ò)¨QÐ)Ñ/Ô/Ð/ØÔ%×)Ò)¨QÐ)Ñ/Ô/Ð/ØÔ×#Ò# AÑ&Ô&Ð&ØÔ×#Ò# AÑ&Ô&Ð&àÔ× Ò  Ô!9Ñ:Ô:Ð:Ø×Ò�Q�˜CÔ.Ñ/Ô/Ñ0Ô0Ð0àÔ×)Ò)¨)Ô*KÑLÔLÐLØ×Ò�\�\�\Ð#NÐ#N°#Ô2MÐ#NÑ#NÔ#NÑOÔOÐOÐOÐOr
   c                 ó0  — |                      ¦   «         }	 |j                             d¦  «         n# t          $ r Y nw xY w	 |j                             d¬¦  «         n# t          $ r Y nw xY w|                      t          |j        ¦  «        d¦  «         d S )NÚwrong)Úvalue_fieldr   )r&   r¿   rÕ   rK   Ú
ValueErrorr5   rB   r°   s      r   ÚtestAddWrongRepeatedNestedFieldz+MessageTest.testAddWrongRepeatedNestedFieldñ  s»   € Ø
×
%Ò
%Ñ
'Ô
'€CðØ	Ô!×%Ò% gÑ.Ô.Ð.Ð.øÝð ð ð Ø
€dðøøøðØ	Ô!×%Ò%°'Ð%Ñ:Ô:Ð:Ð:øÝð ð ð Ø
€dðøøøà×Ò•S˜Ô4Ñ5Ô5°qÑ9Ô9Ð9Ð9Ð9s   –1 ±
>½>ÁA Á
A+Á*A+c                 óš  — |                      ¦   «         }|j                             g d¢¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |j                             d¬¦  «         |j        d         }|j                              d¬¦  «        }|j                              d¬¦  «        }|j                             |¦  «         |j         	                    d|¦  «         |                      ||j        ¦  «         |                      ||j        ¦  «         |                      ||j        ¦  «         d S )N©rH   r—   rÆ   r—   r   rH   rq   rÆ   )
r&   rÔ   re   r(   ÚassertNotInr¿   rÕ   rt   rÀ   rÌ   )r+   r,   rO   Úsub_msg1Úsub_msg2Úsub_msg3s         r   ÚtestRepeatedContainsz MessageTest.testRepeatedContainsý  s2  € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×Ò˜i˜i˜iÑ(Ô(Ð(Ø‡M‚M�!�SÔ'Ñ(Ô(Ð(Ø×Ò�Q˜Ô*Ñ+Ô+Ð+àÔ×#Ò# qÐ#Ñ)Ô)Ð)ØÔ*¨1Ô-€HØÔ*×8Ò8¸AÐ8Ñ>Ô>€HØÔ*×8Ò8¸AÐ8Ñ>Ô>€HØÔ×&Ò& xÑ0Ô0Ð0ØÔ×&Ò& q¨(Ñ3Ô3Ð3Ø‡M‚M�(˜CÔ7Ñ8Ô8Ð8Ø‡M‚M�(˜CÔ7Ñ8Ô8Ð8Ø‡M‚M�(˜CÔ7Ñ8Ô8Ð8Ð8Ð8r
   c                 ó´   — |                      ¦   «         }|j                             g d¢¦  «         d}|j        D ]}||z  }Œ|                      |d¦  «         d S )Nrß   r   é   ©r&   rÔ   re   r5   )r+   r,   rO   rÕ   Úitems        r   ÚtestRepeatedScalarIterablez&MessageTest.testRepeatedScalarIterable  sl   € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×Ò˜i˜i˜iÑ(Ô(Ð(Ø
€CØÔ"ð ð ˆØ	ˆT�k€c€cØ×Ò�S˜!ÑÔÐÐÐr
   c                 ó  — |                      ¦   «         }|j                             d¬¦  «         |j                             d¬¦  «         |j                             d¬¦  «         |j                             d¬¦  «         |                      g d¢d„ |j        D ¦   «         ¦  «         |                      g d¢d	„ t	          |j        ¦  «        D ¦   «         ¦  «         |                      g d¢d
„ |j        d d d…         D ¦   «         ¦  «         d S )NrH   rq   r—   rÆ   rI   rÑ   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r»   s     r   r¾   z@MessageTest.testRepeatedNestedFieldIteration.<locals>.<listcomp>  rÓ   r
   )rI   rÆ   r—   rH   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r»   s     r   r¾   z@MessageTest.testRepeatedNestedFieldIteration.<locals>.<listcomp>  s   € ÐJÐJÐJ˜q�a”dÐJÐJÐJr
   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r»   s     r   r¾   z@MessageTest.testRepeatedNestedFieldIteration.<locals>.<listcomp>   s   € ÐFÐFÐF˜q�a”dÐFÐFÐFr
   rÄ   )r&   r¿   rÕ   r5   Úreversedr°   s      r   Ú testRepeatedNestedFieldIterationz,MessageTest.testRepeatedNestedFieldIteration  s0  € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×#Ò# qÐ#Ñ)Ô)Ð)ØÔ×#Ò# qÐ#Ñ)Ô)Ð)ØÔ×#Ò# qÐ#Ñ)Ô)Ð)ØÔ×#Ò# qÐ#Ñ)Ô)Ð)à×Ò�\�\�\Ð#NÐ#N°#Ô2MÐ#NÑ#NÔ#NÑOÔOÐOØ×Ò�\�\�\ØJÐJ¥H¨SÔ-HÑ$IÔ$IÐJÑJÔJñLô Lð Là×Ò�\�\�\ØFÐF CÔ$?ÀÀÀ"ÀÔ$EÐFÑFÔFñHô Hð Hð Hð Hr
   c                 óÈ  — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             ¦   «          |                      |j        d         d¦  «         |                      |j        d         d¦  «         |                      |j        d         d¦  «         |                      t          |j        ¦  «        t          g d¢¦  «        ¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             ¦   «          |                      |j        d         d¦  «         |                      |j        d         d¦  «         |                      |j        d         d¦  «         |j                             d	¦  «         |j                             d
¦  «         |j                             d¦  «         |j                             ¦   «          |                      |j        d         d	¦  «         |                      |j        d         d¦  «         |                      |j        d         d
¦  «         |                      t          |j        ¦  «        t          g d¢¦  «        ¦  «         |j	                             d¦  «         |j	                             d¦  «         |j	                             d¦  «         |j	                             ¦   «          |                      |j	        d         d¦  «         |                      |j	        d         d¦  «         |                      |j	        d         d¦  «         |                      t          |j	        ¦  «        t          g d¢¦  «        ¦  «         dS )z7Check some different types with the default comparator.rH   rÆ   r—   r   rß   çš™™™™™ñ?gÍÌÌÌÌÌô?ç333333ó?ÚaÚcÚb©ró   rõ   rô   ó   aó   có   b)r÷   rù   rø   N)
r&   rÔ   rÀ   Úsortr5   r)   r�   r�   rd   Úrepeated_bytesr©   s      r   Ú0testSortingRepeatedScalarFieldsDefaultComparatorz<MessageTest.testSortingRepeatedScalarFieldsDefaultComparator"  sv  € à×)Ò)Ñ+Ô+€Gð Ô×!Ò! !Ñ$Ô$Ð$ØÔ×!Ò! !Ñ$Ô$Ð$ØÔ×!Ò! !Ñ$Ô$Ð$ØÔ×ÒÑ!Ô!Ð!Ø×Ò�WÔ+¨AÔ.°Ñ2Ô2Ð2Ø×Ò�WÔ+¨AÔ.°Ñ2Ô2Ð2Ø×Ò�WÔ+¨AÔ.°Ñ2Ô2Ð2Ø×Ò•S˜Ô/Ñ0Ô0µ#°i°i°i±.´.ÑAÔAÐAàÔ×!Ò! #Ñ&Ô&Ð&ØÔ×!Ò! #Ñ&Ô&Ð&ØÔ×!Ò! #Ñ&Ô&Ð&ØÔ×ÒÑ!Ô!Ð!Ø×Ò˜7Ô1°!Ô4°cÑ:Ô:Ð:Ø×Ò˜7Ô1°!Ô4°cÑ:Ô:Ð:Ø×Ò˜7Ô1°!Ô4°cÑ:Ô:Ð:àÔ×"Ò" 3Ñ'Ô'Ð'ØÔ×"Ò" 3Ñ'Ô'Ð'ØÔ×"Ò" 3Ñ'Ô'Ð'ØÔ× Ò Ñ"Ô"Ð"Ø×Ò�WÔ,¨QÔ/°Ñ5Ô5Ð5Ø×Ò�WÔ,¨QÔ/°Ñ5Ô5Ð5Ø×Ò�WÔ,¨QÔ/°Ñ5Ô5Ð5Ø×Ò•S˜Ô0Ñ1Ô1µ3Ð7IÐ7IÐ7IÑ3JÔ3JÑKÔKÐKàÔ×!Ò! $Ñ'Ô'Ð'ØÔ×!Ò! $Ñ'Ô'Ð'ØÔ×!Ò! $Ñ'Ô'Ð'ØÔ×ÒÑ!Ô!Ð!Ø×Ò�WÔ+¨AÔ.°Ñ5Ô5Ð5Ø×Ò�WÔ+¨AÔ.°Ñ5Ô5Ð5Ø×Ò�WÔ+¨AÔ.°Ñ5Ô5Ð5Ø×Ò•S˜Ô/Ñ0Ô0µ#Ð6HÐ6HÐ6HÑ2IÔ2IÑJÔJÐJÐJÐJr
   c                 ór  — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             t          ¬¦  «         |                      |j        d         d¦  «         |                      |j        d         d¦  «         |                      |j        d         d¦  «         |j                             d¦  «         |j                             d	¦  «         |j                             d
¦  «         |j                             t          ¬¦  «         |                      |j        d         d
¦  «         |                      |j        d         d	¦  «         |                      |j        d         d¦  «         dS )z2Check some different types with custom comparator.éýÿÿÿrÇ   rÄ   ©Úkeyr   rH   r—   Úaaarr   rô   N)r&   rÔ   rÀ   rú   Úabsr5   rd   rB   r©   s      r   Ú/testSortingRepeatedScalarFieldsCustomComparatorz;MessageTest.testSortingRepeatedScalarFieldsCustomComparatorJ  s‹  € à×)Ò)Ñ+Ô+€GàÔ×!Ò! "Ñ%Ô%Ð%ØÔ×!Ò! "Ñ%Ô%Ð%ØÔ×!Ò! "Ñ%Ô%Ð%ØÔ×Ò¥CÐÑ(Ô(Ð(Ø×Ò�WÔ+¨AÔ.°Ñ3Ô3Ð3Ø×Ò�WÔ+¨AÔ.°Ñ3Ô3Ð3Ø×Ò�WÔ+¨AÔ.°Ñ3Ô3Ð3àÔ×"Ò" 5Ñ)Ô)Ð)ØÔ×"Ò" 4Ñ(Ô(Ð(ØÔ×"Ò" 3Ñ'Ô'Ð'ØÔ× Ò ¥SÐ Ñ)Ô)Ð)Ø×Ò�WÔ,¨QÔ/°Ñ5Ô5Ð5Ø×Ò�WÔ,¨QÔ/°Ñ6Ô6Ð6Ø×Ò�WÔ,¨QÔ/°Ñ7Ô7Ð7Ð7Ð7r
   c                 ó  — |                      ¦   «         }d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        |j                             t          j        d¦  «        ¬¦  «         |                      |j        d	         j        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j        d¦  «         |                      t          |j        ¦  «        d
¦  «         dS )úECheck passing a custom comparator to sort a repeated composite field.rH   rÆ   r—   ræ   rÊ   rI   rr   rÿ   r   z0[bb: 1
, bb: 2
, bb: 3
, bb: 4
, bb: 5
, bb: 6
]N)	r&   r¿   rÕ   rr   rú   ÚoperatorÚ
attrgetterr5   r)   r©   s      r   Ú2testSortingRepeatedCompositeFieldsCustomComparatorz>MessageTest.testSortingRepeatedCompositeFieldsCustomComparator^  sÀ  € à×)Ò)Ñ+Ô+€Gà/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,ØÔ#×(Ò(­XÔ-@ÀÑ-FÔ-FÐ(ÑGÔGÐGØ×Ò�WÔ4°QÔ7Ô:¸AÑ>Ô>Ð>Ø×Ò�WÔ4°QÔ7Ô:¸AÑ>Ô>Ð>Ø×Ò�WÔ4°QÔ7Ô:¸AÑ>Ô>Ð>Ø×Ò�WÔ4°QÔ7Ô:¸AÑ>Ô>Ð>Ø×Ò�WÔ4°QÔ7Ô:¸AÑ>Ô>Ð>Ø×Ò�WÔ4°QÔ7Ô:¸AÑ>Ô>Ð>Ø×ÒÝˆGÔ+Ñ,Ô,Ø@ñBô Bð Bð Bð Br
   c                 ó  — |                      ¦   «         }d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        |j                             d„ ¬	¦  «         |                      g d
¢d„ |j        D ¦   «         ¦  «          |j        ¦   «         } |j        ¦   «           |j        |¦  «         |                      g d
¢d„ |j        D ¦   «         ¦  «         dS )r  é   é   é   é!   é   é   é
   c                 ó   — | j         dz  S )Nr  rq   )Úzs    r   r	   zFMessageTest.testSortingRepeatedCompositeFieldsStable.<locals>.<lambda>~  s   € °q´t¸r±z€ r
   rÿ   )r  r  r  r
  r  r  r  c                 ó   — g | ]	}|j         ‘Œ
S r   rq   ©r¼   Úns     r   r¾   zHMessageTest.testSortingRepeatedCompositeFieldsStable.<locals>.<listcomp>€  ó   € ÐDÐDÐD˜q�a”dÐDÐDÐDr
   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r  s     r   r¾   zHMessageTest.testSortingRepeatedCompositeFieldsStable.<locals>.<listcomp>ˆ  r  r
   N)	r&   r¿   rÕ   rr   rú   r5   r6   ÚClearÚMergeFromString)r+   r,   r   Úpbs       r   Ú(testSortingRepeatedCompositeFieldsStablez4MessageTest.testSortingRepeatedCompositeFieldsStables  s€  € à×)Ò)Ñ+Ô+€Gà/1€GÔ#×'Ò'Ñ)Ô)Ô,Ø/1€GÔ#×'Ò'Ñ)Ô)Ô,Ø/1€GÔ#×'Ò'Ñ)Ô)Ô,Ø/1€GÔ#×'Ò'Ñ)Ô)Ô,Ø/1€GÔ#×'Ò'Ñ)Ô)Ô,Ø/1€GÔ#×'Ò'Ñ)Ô)Ô,Ø/1€GÔ#×'Ò'Ñ)Ô)Ô,ØÔ#×(Ò(Ð-AÐ-AÐ(ÑBÔBÐBØ×ÒÐ1Ð1Ð1ØDÐD GÔ$CÐDÑDÔDñFô Fð Fð
 
#ˆÔ	"Ñ	$Ô	$€BØ€G„M�O„O€OØ€GÔ˜BÑÔÐØ×ÒÐ1Ð1Ð1ØDÐD GÔ$CÐDÑDÔDñFô Fð Fð Fð Fr
   c                 óÈ  — |                      ¦   «         }t          j        d¦  «        }d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        |j                             |¬¦  «         |                      d	„ |j        D ¦   «         g d
¢¦  «         |j                             |d¬¦  «         |                      d„ |j        D ¦   «         g d¢¦  «         dS )zECheck sorting a repeated composite field using list.sort() arguments.rr   rH   rÆ   r—   ræ   rÊ   rI   rÿ   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   ©r¼   Úks     r   r¾   zGMessageTest.testRepeatedCompositeFieldSortArguments.<locals>.<listcomp>–  r  r
   )rH   r—   rÆ   rI   rÊ   ræ   T©r   Úreversec                 ó   — g | ]	}|j         ‘Œ
S r   rq   r  s     r   r¾   zGMessageTest.testRepeatedCompositeFieldSortArguments.<locals>.<listcomp>™  r  r
   )ræ   rÊ   rI   rÆ   r—   rH   N)r&   r  r  r¿   rÕ   rr   rú   r5   )r+   r,   r   Úget_bbs       r   Ú'testRepeatedCompositeFieldSortArgumentsz3MessageTest.testRepeatedCompositeFieldSortArgumentsŠ  sW  € à×)Ò)Ñ+Ô+€GåÔ  Ñ&Ô&€FØ/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,Ø/0€GÔ#×'Ò'Ñ)Ô)Ô,ØÔ#×(Ò(¨VÐ(Ñ4Ô4Ð4Ø×ÒÐDÐD GÔ$CÐDÑDÔDØ'Ð'Ð'ñ)ô )ð )àÔ#×(Ò(¨V¸TÐ(ÑBÔBÐBØ×ÒÐDÐD GÔ$CÐDÑDÔDØ'Ð'Ð'ñ)ô )ð )ð )ð )r
   c                 óº  — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             t          ¬¦  «         |                      t          |j        ¦  «        g d¢¦  «         |j                             t          d¬¦  «         |                      t          |j        ¦  «        g d¢¦  «         |j                             d	¦  «         |j                             d
¦  «         |j                             d¦  «         |j                             t          ¬¦  «         |                      t          |j        ¦  «        g d¢¦  «         |j                             t          d¬¦  «         |                      t          |j        ¦  «        g d¢¦  «         dS )z9Check sorting a scalar field using list.sort() arguments.rþ   rÇ   rÄ   rÿ   )rÄ   rÇ   rþ   Tr   )rþ   rÇ   rÄ   r  rr   rô   )rô   rr   r  )r  rr   rô   N)	r&   rÔ   rÀ   rú   r  r5   Úlistrd   rB   r©   s      r   Ú$testRepeatedScalarFieldSortArgumentsz0MessageTest.testRepeatedScalarFieldSortArgumentsœ  s©  € à×)Ò)Ñ+Ô+€GàÔ×!Ò! "Ñ%Ô%Ð%ØÔ×!Ò! "Ñ%Ô%Ð%ØÔ×!Ò! "Ñ%Ô%Ð%ØÔ×Ò¥CÐÑ(Ô(Ð(Ø×Ò•T˜'Ô0Ñ1Ô1°<°<°<Ñ@Ô@Ð@ØÔ×Ò¥C°ÐÑ6Ô6Ð6Ø×Ò•T˜'Ô0Ñ1Ô1°<°<°<Ñ@Ô@Ð@àÔ×"Ò" 5Ñ)Ô)Ð)ØÔ×"Ò" 4Ñ(Ô(Ð(ØÔ×"Ò" 3Ñ'Ô'Ð'ØÔ× Ò ¥SÐ Ñ)Ô)Ð)Ø×Ò•T˜'Ô1Ñ2Ô2Ð4FÐ4FÐ4FÑGÔGÐGØÔ× Ò ¥S°$Ð Ñ7Ô7Ð7Ø×Ò•T˜'Ô1Ñ2Ô2Ð4FÐ4FÐ4FÑGÔGÐGÐGÐGr
   c                 óö  — |                      ¦   «         }|                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d|j                             ¦   «         _        d S )Nr   rH   r—   rÆ   )r&   rÔ   rÀ   r¿   rÕ   rr   ©r+   r,   Úm1Úm2s       r   ÚtestRepeatedFieldsComparablez(MessageTest.testRepeatedFieldsComparable°  s>  € Ø	×	$Ò	$Ñ	&Ô	&€BØ	×	$Ò	$Ñ	&Ô	&€BØÔ×Ò˜QÑÔÐØÔ×Ò˜QÑÔÐØÔ×Ò˜QÑÔÐØÔ×Ò˜QÑÔÐØÔ×Ò˜QÑÔÐØÔ×Ò˜QÑÔÐØ*+€BÔ×"Ò"Ñ$Ô$Ô'Ø*+€BÔ×"Ò"Ñ$Ô$Ô'Ø*+€BÔ×"Ò"Ñ$Ô$Ô'Ø*+€BÔ×"Ò"Ñ$Ô$Ô'Ø*+€BÔ×"Ò"Ñ$Ô$Ô'Ø*+€BÔ×"Ò"Ñ$Ô$Ô'Ð'Ð'r
   c                 óÖ   — |                      ¦   «         }|                      |j        t          j        j        ¦  «         |                      |j        t          j        j        ¦  «         d S r   )r&   ÚassertIsInstancerÔ   ÚcollectionsÚabcÚMutableSequencer¿   ©r+   r,   r½   s      r   ÚtestRepeatedFieldsAreSequencesz*MessageTest.testRepeatedFieldsAreSequencesÀ  s`   € Ø×#Ò#Ñ%Ô%€AØ×Ò˜!Ô*­K¬OÔ,KÑLÔLÐLØ×Ò˜!Ô3Ý%œ/Ô9ñ;ô ;ð ;ð ;ð ;r
   c                 óH  — |                      ¦   «         }|                      t          ¦  «        5  t          |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5  t          |j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r&   r$   rK   ÚhashrÔ   r¿   r2  s      r   ÚtestRepeatedFieldsNotHashablez)MessageTest.testRepeatedFieldsNotHashableÆ  s  € Ø×#Ò#Ñ%Ô%€AØ	×	Ò	�9Ñ	%Ô	%ð ð Ý
ˆ1ÔÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à	×	Ò	�9Ñ	%Ô	%ð &ð &Ý
ˆ1Ô$Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s#   ¯AÁAÁAÁ5BÂBÂBc                 ó¼   — |                      ¦   «         }|j        j                             g ¦  «         |                      |                     d¦  «        ¦  «         d S )NÚpayload)ÚNestedTestAllTypesr8  rÔ   re   rˆ   ÚHasFieldr2  s      r   Ú$testRepeatedFieldInsideNestedMessagez0MessageTest.testRepeatedFieldInsideNestedMessageÍ  sP   € Ø×)Ò)Ñ+Ô+€AØ„IÔ×#Ò# BÑ'Ô'Ð'Ø‡O‚O�A—J’J˜yÑ)Ô)Ñ*Ô*Ð*Ð*Ð*r
   c                 óž  — |                      ¦   «         }|                      ¦   «         }|j        }|                      d|j        ¦  «         d|j        _        |                     |¦  «         |                      d|j        ¦  «         |                     ¦   «         }|                     ¦   «         }|j        j        j        }|                      d|j        ¦  «         d|j        j        j        _        |                     |¦  «         |                      d|j        ¦  «         |                      |j        j        |j        j        ¦  «         |j        j         	                    ¦   «         }d|_        |                     |¦  «         |                      dt          |j        j        ¦  «        ¦  «         |                      d|j        ¦  «         d S ©Nr   rH   )r&   Úoptional_nested_messager5   rr   rÖ   r9  Úchildr8  r¿   rÕ   rB   )r+   r,   r*  r+  rÁ   Úmsg1Úmsg2s          r   ÚtestMergeFromzMessageTest.testMergeFromÒ  s—  € Ø	×	$Ò	$Ñ	&Ô	&€BØ	×	$Ò	$Ñ	&Ô	&€BàÔ'€FØ×Ò�Q˜œ	Ñ"Ô"Ð"Ø$%€BÔÔ!ð ‡L‚L�ÑÔÐØ×Ò�Q˜œ	Ñ"Ô"Ð"ð ×,Ò,Ñ.Ô.€DØ×,Ò,Ñ.Ô.€DØŒZÔÔ7€FØ×Ò�Q˜œ	Ñ"Ô"Ð"Ø45€D„JÔÔ.Ô1Ø‡N‚N�4ÑÔÐØ×Ò�Q˜œ	Ñ"Ô"Ð"ð 	×Ò�T”\Ô9Ø”\Ô9ñ;ô ;ð ;àŒ\Ô1×5Ò5Ñ7Ô7€FØ€F„IØ‡N‚N�4ÑÔÐØ×Ò�Q�˜DœLÔ@ÑAÔAÑBÔBÐBØ×Ò�Q˜œ	Ñ"Ô"Ð"Ð"Ð"r
   c                 ó<  — |                      ¦   «         }|                      ¦   «         }|                      d|j        j        ¦  «         d|j        _        |                     |                     ¦   «         ¦  «         |                      d|j        j        ¦  «         d S r=  )r&   r5   r>  rr   r  r6   r)  s       r   ÚtestMergeFromStringzMessageTest.testMergeFromStringð  s�   € Ø	×	$Ò	$Ñ	&Ô	&€BØ	×	$Ò	$Ñ	&Ô	&€Bà×Ò�Q˜Ô2Ô5Ñ6Ô6Ð6Ø$%€BÔÔ!ð ×Ò�r×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø×Ò�Q˜Ô2Ô5Ñ6Ô6Ð6Ð6Ð6r
   c                 ó   — |                      ¦   «         }d|_        |j                             d¦  «         d|_        |j                             d¦  «         |                     ¦   «         }t          |¦  «        }|j                              |¦  «        }|  	                    |j        d¦  «         |  	                    |j        dg¦  «         |  	                    |j        d¦  «         |  	                    |j        dg¦  «         |  
                    |j        t          ¦  «         |  
                    |j        d         t          ¦  «         |  
                    |j        t          ¦  «         |  
                    |j        d         t          ¦  «         d S )Nzscalar stringzrepeated strings   scalar bytess   repeated bytesr   )r&   Úoptional_stringrd   rÀ   Úoptional_bytesrû   r6   Ú
memoryviewr'   r5   r.  Úbytesr)   )r+   r,   r+  r‹   Úmemviewr*  s         r   Ú"testMergeFromStringUsingMemoryViewz.MessageTest.testMergeFromStringUsingMemoryViewû  si  € Ø	×	$Ò	$Ñ	&Ô	&€BØ(€BÔØÔ×ÒÐ/Ñ0Ô0Ð0Ø'€BÔØÔ×ÒÐ.Ñ/Ô/Ð/à×%Ò%Ñ'Ô'€JÝ˜Ñ$Ô$€GØ	Ô	$×	/Ò	/°Ñ	8Ô	8€Bà×Ò�RÔ&¨Ñ8Ô8Ð8Ø×Ò�RÔ&Ð):Ð(;Ñ<Ô<Ð<Ø×Ò�RÔ'¨Ñ9Ô9Ð9Ø×Ò�RÔ'Ð*;Ð)<Ñ=Ô=Ð=ð 	×Ò˜"Ô+­UÑ3Ô3Ð3Ø×Ò˜"Ô+¨AÔ.µÑ6Ô6Ð6Ø×Ò˜"Ô,­cÑ2Ô2Ð2Ø×Ò˜"Ô,¨QÔ/µÑ5Ô5Ð5Ð5Ð5r
   c                 ó8  — |                      ¦   «         }|                      d|j        j        ¦  «         |                      |                     d¦  «        ¦  «         |                     d¦  «         |                      |                     d¦  «        ¦  «         d S )Nr   r>  r
   )r&   r5   r>  rr   ÚassertFalser:  r  )r+   r,   r*  s      r   ÚtestMergeFromEmptyzMessageTest.testMergeFromEmpty  s‹   € Ø	×	$Ò	$Ñ	&Ô	&€Bà×Ò�Q˜Ô2Ô5Ñ6Ô6Ð6Ø×Ò�R—[’[Ð!:Ñ;Ô;Ñ<Ô<Ð<à×Ò�sÑÔÐØ×Ò�R—[’[Ð!:Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r
   c                 óv   — t          ||¦  «         |                      |                     |¦  «        ¦  «         dS )zÃMake sure that a nested message object exists.

    As soon as a nested message attribute is accessed, it will be present in the
    _fields dict, without being marked as actually being set.
    N)ÚgetattrrM  r:  )r+   rO   Ú	attributes      r   ÚensureNestedMessageExistsz%MessageTest.ensureNestedMessageExists  s:   € õ ˆC�ÑÔÐØ×Ò�S—\’\ )Ñ,Ô,Ñ-Ô-Ð-Ð-Ð-r
   c                 ó²   — |                      ¦   «         }|                      t          |j        d¦  «         |                      t          |j        d¦  «         d S )NÚno_such_oneof_fieldr   )r&   r$   rÜ   Ú
WhichOneofrL   r2  s      r   Ú testOneofGetCaseNonexistingFieldz,MessageTest.testOneofGetCaseNonexistingField#  sN   € Ø×#Ò#Ñ%Ô%€AØ×Ò•j !¤,Ð0EÑFÔFÐFØ×Ò•i ¤¨qÑ1Ô1Ð1Ð1Ð1r
   c                 óp  — |                      ¦   «         }|                      d |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d S )NÚoneof_fieldÚoneof_uint32r   Úoneof_stringr³   )	r&   ÚassertIsrU  rM  r:  rY  r5   rˆ   rZ  r2  s      r   ÚtestOneofDefaultValuesz"MessageTest.testOneofDefaultValues(  sg  € Ø×#Ò#Ñ%Ô%€AØ‡M‚M�$˜Ÿš ]Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�Q—Z’Z Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0ð €A„NØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ‡O‚O�A—J’J˜}Ñ-Ô-Ñ.Ô.Ð.Ø‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0à€A„NØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r
   c                 óD  — |                      ¦   «         }|                      d |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |j	         |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |j	        j
         |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d|j	        _
        |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d S )	NrX  r  rY  ÚfoorZ  Úoneof_nested_messageó   bbÚoneof_bytes)r&   r[  rU  rY  r5   rˆ   r:  rZ  rM  r_  rr   ra  r2  s      r   ÚtestOneofSemanticszMessageTest.testOneofSemantics:  s—  € Ø×#Ò#Ñ%Ô%€AØ‡M‚M�$˜Ÿš ]Ñ3Ô3Ñ4Ô4Ð4à€A„NØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/à€A„NØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0Ø‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/ð ÔÐØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�Q—Z’ZÐ 6Ñ7Ô7Ñ8Ô8Ð8ð ÔÔÐØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�Q—Z’ZÐ 6Ñ7Ô7Ñ8Ô8Ð8à "€AÔÔØ×ÒÐ+¨Q¯\ª\¸-Ñ-HÔ-HÑIÔIÐIØ×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0Ø‡O‚O�A—J’JÐ5Ñ6Ô6Ñ7Ô7Ð7à€A„MØ×Ò�] A§L¢L°Ñ$?Ô$?Ñ@Ô@Ð@Ø×Ò�Q—Z’ZÐ 6Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�A—J’J˜}Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r
   c                 óð   — |                      ¦   «         }d|_        |                      |d¦  «         |                      d|                     d¦  «        ¦  «         |                      d|j        ¦  «         d S )Nr  r_  rY  rX  )r&   rY  rR  r5   rU  r2  s      r   Ú!testOneofCompositeFieldReadAccessz-MessageTest.testOneofCompositeFieldReadAccess]  sq   € Ø×#Ò#Ñ%Ô%€AØ€A„Nà×"Ò" 1Ð&<Ñ=Ô=Ð=Ø×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ×Ò�R˜œÑ(Ô(Ð(Ð(Ð(r
   c                 óæ  — |                      ¦   «         }|                      d |                     d¦  «        ¦  «         |t          u r(|                      |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         |t          u r(|                      |                     d¦  «        ¦  «         d|_	        |                      d|                     d¦  «        ¦  «         | 
                    d¦  «         |                      d |                     d¦  «        ¦  «         |t          u r*|                      |                     d¦  «        ¦  «         d S d S )NrX  r  rY  r`  ra  )r&   r[  rU  r   rM  r:  rY  r5   rˆ   ra  Ú
ClearFieldr2  s      r   ÚtestOneofWhichOneofzMessageTest.testOneofWhichOneofe  sD  € Ø×#Ò#Ñ%Ô%€AØ‡M‚M�$˜Ÿš ]Ñ3Ô3Ñ4Ô4Ð4Ø�Ð%Ð%Ø
×Ò�q—z’z -Ñ0Ô0Ñ1Ô1Ð1à€A„NØ×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAØ�Ð%Ð%Ø
‡o‚o�a—j’j Ñ/Ô/Ñ0Ô0Ð0à€A„MØ×Ò�] A§L¢L°Ñ$?Ô$?Ñ@Ô@Ð@à‡L‚L�ÑÔÐØ‡M‚M�$˜Ÿš ]Ñ3Ô3Ñ4Ô4Ð4Ø�Ð%Ð%Ø
×Ò�q—z’z -Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1ð &Ð%r
   c                 ój  — |                      ¦   «         }d|_        |                     d¦  «         |t          u r(|                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      d |                     d¦  «        ¦  «         d S )Nr  rX  rY  ©r&   rY  rf  r   rM  r:  r[  rU  r2  s      r   ÚtestOneofClearFieldzMessageTest.testOneofClearFieldx  s�   € Ø×#Ò#Ñ%Ô%€AØ€A„NØ‡L‚L�ÑÔÐØ�Ð%Ð%Ø
×Ò�q—z’z -Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0Ø‡M‚M�$˜Ÿš ]Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4r
   c                 ój  — |                      ¦   «         }d|_        |                     d¦  «         |t          u r(|                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      d |                     d¦  «        ¦  «         d S ©Nr  rY  rX  ri  r2  s      r   ÚtestOneofClearSetFieldz"MessageTest.testOneofClearSetField�  s�   € Ø×#Ò#Ñ%Ô%€AØ€A„NØ‡L‚L�Ñ Ô Ð Ø�Ð%Ð%Ø
×Ò�q—z’z -Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�Q—Z’Z Ñ/Ô/Ñ0Ô0Ð0Ø‡M‚M�$˜Ÿš ]Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4r
   c                 óÌ  — |                      ¦   «         }d|_        |                      |d¦  «         |                     d¦  «         |                      d|j        ¦  «         |t
          u r(|                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      d|                     d¦  «        ¦  «         d S )Nr  r_  rX  rY  )	r&   rY  rR  rf  r5   r   rˆ   r:  rU  r2  s      r   ÚtestOneofClearUnsetFieldz$MessageTest.testOneofClearUnsetFieldŠ  sË   € Ø×#Ò#Ñ%Ô%€AØ€A„NØ×"Ò" 1Ð&<Ñ=Ô=Ð=Ø‡L‚LÐ'Ñ(Ô(Ð(Ø×Ò�R˜œÑ(Ô(Ð(Ø�Ð%Ð%Ø
‡o‚o�a—j’j Ñ/Ô/Ñ0Ô0Ð0Ø‡O‚O�A—J’J˜~Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�^ Q§\¢\°-Ñ%@Ô%@ÑAÔAÐAÐAÐAr
   c                 ó  — |                      ¦   «         }d|_        |                      ¦   «         }|                     |                     ¦   «         ¦  «         |                      d|                     d¦  «        ¦  «         d S rl  )r&   rY  r3   r6   r5   rU  ©r+   r,   r½   r+  s       r   ÚtestOneofDeserializez MessageTest.testOneofDeserialize•  ss   € Ø×#Ò#Ñ%Ô%€AØ€A„NØ	×	$Ò	$Ñ	&Ô	&€BØ×Ò�q×*Ò*Ñ,Ô,Ñ-Ô-Ð-Ø×Ò�^ R§]¢]°=Ñ%AÔ%AÑBÔBÐBÐBÐBr
   c                 óà   — |                      ¦   «         }d|_        |                      ¦   «         }|                     |¦  «         |                      d|                     d¦  «        ¦  «         d S rl  )r&   rY  ÚCopyFromr5   rU  rq  s       r   ÚtestOneofCopyFromzMessageTest.testOneofCopyFromœ  sb   € Ø×#Ò#Ñ%Ô%€AØ€A„NØ	×	$Ò	$Ñ	&Ô	&€BØ‡K‚K��N„N€NØ×Ò�^ R§]¢]°=Ñ%AÔ%AÑBÔBÐBÐBÐBr
   c                 ó”  — |                      ¦   «         }d|j        _        |                      ¦   «         }d|j        _        d|j        j        _        |                     |¦  «         |                      d|j                             d¦  «        ¦  «         |                      d|j        j                             d¦  «        ¦  «         d S )Nr  r`  rY  rX  ra  )r9  r8  rY  ra  r?  rÖ   r5   rU  rq  s       r   ÚtestOneofNestedMergeFromz$MessageTest.testOneofNestedMergeFrom£  s©   € Ø×)Ò)Ñ+Ô+€AØ€A„IÔØ	×	*Ò	*Ñ	,Ô	,€BØ"€B„JÔØ#(€B„HÔÔ Ø‡L‚L��O„O€OØ×Ò�^ R¤Z×%:Ò%:¸=Ñ%IÔ%IÑJÔJÐJØ×Ò�] B¤HÔ$4×$?Ò$?ÀÑ$NÔ$NÑOÔOÐOÐOÐOr
   c                 ó¨  — |                      ¦   «         }d|j        j        _        d|j        j        j        _        |                      ¦   «         }d|j        _        |                     |¦  «         |                      d|j                             d¦  «        ¦  «         |                      d|j        j                             d¦  «        ¦  «         d S )Nr  é   r  r_  rX  )	r9  r8  r_  rr   r?  rY  rÖ   r5   rU  rq  s       r   ÚtestOneofMessageMergeFromz%MessageTest.testOneofMessageMergeFrom­  sÇ   € Ø×)Ò)Ñ+Ô+€AØ(*€A„IÔ"Ô%Ø.0€A„G„OÔ(Ô+Ø	×	*Ò	*Ñ	,Ô	,€BØ €B„JÔØ‡L‚L��O„O€OØ×ÒÐ+Ø”Z×*Ò*¨=Ñ9Ô9ñ;ô ;ð ;à×ÒÐ+Ø”XÔ%×0Ò0°Ñ?Ô?ñAô Að Að Að Ar
   c                 ó²   — |                      |j                              ¦   «         ¬¦  «        }|                      d|                     d¦  «        ¦  «         d S )N)r_  r_  rX  )r&   rt   r5   rU  r2  s      r   ÚtestOneofNestedMessageInitz&MessageTest.testOneofNestedMessageInit¹  sY   € Ø×#Ò#Ø+Ô8×FÒFÑHÔHð 	$ñ 	Jô 	J€Aà×ÒÐ+¨Q¯\ª\¸-Ñ-HÔ-HÑIÔIÐIÐIÐIr
   c                 ó  — |                      ¦   «         }d|_        |                     ¦   «          |                      |                     d¦  «        ¦  «         d|_        |                      d|                     d¦  «        ¦  «         d S )Nr  rX  r`  ra  )r&   rY  r  ÚassertIsNonerU  ra  r5   r2  s      r   ÚtestOneofClearzMessageTest.testOneofClear¾  sv   € Ø×#Ò#Ñ%Ô%€AØ€A„NØ‡G‚G�I„I€IØ×Ò�a—l’l =Ñ1Ô1Ñ2Ô2Ð2Ø€A„MØ×Ò�] A§L¢L°Ñ$?Ô$?Ñ@Ô@Ð@Ð@Ð@r
   c                 ó–   — |                      ¦   «         }t          d¦  «        |_        |                      |j        t          ¦  «         dS )zsAssigning a byte string to a string field should result

    in the value being converted to a Unicode string.
    r³   N)r&   r)   rF  r.  r2  s      r   Ú"testAssignByteStringToUnicodeFieldz.MessageTest.testAssignByteStringToUnicodeFieldÆ  sB   € ð
 	×#Ò#Ñ%Ô%€AÝ˜B™œ€AÔØ×Ò˜!Ô+­SÑ1Ô1Ð1Ð1Ð1r
   c                 ó^  — |                      ¦   «         }|j                             d¦  «         |j        t          d¦  «        t          t	          |j        ¦  «        ¦  «        …         }|                      t	          |j        ¦  «        t	          |¦  «        ¦  «         d|j                             ¦   «         _        |j        t          d¦  «        t          t	          |j        ¦  «        ¦  «        …         }|                      t	          |j        ¦  «        t	          |¦  «        ¦  «         dS )z{It should be possible to use int-valued indices in slices.

    This didn't used to work in the v2 C++ implementation.
    rH   r   rÆ   N)	r&   rÔ   rÀ   ÚintrB   r5   r¿   rÕ   rr   )r+   r,   r½   Úsls       r   ÚtestLongValuedSlicezMessageTest.testLongValuedSliceÏ  sñ   € ð
 	×#Ò#Ñ%Ô%€Að Ô×Ò˜AÑÔÐØ	
Ô	�#˜a™&œ&¥¥S¨Ô)9Ñ%:Ô%:Ñ!;Ô!;Ð;Ô	<€BØ×Ò•S˜Ô)Ñ*Ô*­C°©G¬GÑ4Ô4Ð4ð *+€AÔ×!Ò!Ñ#Ô#Ô&Ø	
Ô	"¥3 q¡6¤6­#­c°!Ô2KÑ.LÔ.LÑ*MÔ*MÐ#MÔ	N€BØ×Ò•S˜Ô2Ñ3Ô3µS¸±W´WÑ=Ô=Ð=Ð=Ð=r
   c                 ó¼  — |                      ¦   «         }|                      t          ¦  «        5 }|j                             d„ t          d¦  «        D ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   |                      t          ¦  «        5 }|j                             d„ t          d¦  «        D ¦   «         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z5This didn't use to work in the v2 C++ implementation.c              3   ó$   K  — | ]}t           V — Œd S r   ©ró   ©r¼   Úis     r   ú	<genexpr>zCMessageTest.testExtendShouldNotSwallowExceptions.<locals>.<genexpr>ä  s"   è è € Ð3Ð3 A�aÐ3Ð3Ð3Ð3Ð3Ð3r
   r  Nc              3   ó$   K  — | ]}t           V — Œd S r   rˆ  r‰  s     r   r‹  zCMessageTest.testExtendShouldNotSwallowExceptions.<locals>.<genexpr>æ  s"   è è € Ð#9Ð#9¨!¥AÐ#9Ð#9Ð#9Ð#9Ð#9Ð#9r
   )r&   r$   Ú	NameErrorrÔ   re   ÚrangeÚrepeated_nested_enum©r+   r,   r½   Ú_s       r   Ú$testExtendShouldNotSwallowExceptionsz0MessageTest.testExtendShouldNotSwallowExceptionsà  sF  € à×#Ò#Ñ%Ô%€AØ	×	Ò	�9Ñ	%Ô	%ð 4¨ØÔ×ÒÐ3Ð3­¨r©¬Ð3Ñ3Ô3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4à	×	Ò	�9Ñ	%Ô	%ð :¨ØÔ×#Ò#Ð#9Ð#9­u°R©y¬yÐ#9Ñ#9Ô#9Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s#   ¯2A-Á-A1Á4A1Â2CÃCÃCNFr   ç        r
   r³   c                 óV  — |                      ¦   «         }|                      g |j        ¦  «         t          j        D ]7}|j                             |¦  «         |                      g |j        ¦  «         Œ8|j                             g ¦  «         |                      g |j        ¦  «         dS )z,Test no-ops extending repeated int32 fields.N)r&   ÚassertSequenceEqualrÔ   r   ÚFALSY_VALUESre   ©r+   r,   r½   Úfalsy_values       r   ÚtestExtendInt32WithNothingz&MessageTest.testExtendInt32WithNothingê  ó©   € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!1Ñ2Ô2Ð2õ #Ô/ð 5ð 5ˆØÔ×Ò˜kÑ*Ô*Ð*Ø
×Ò˜r 1Ô#3Ñ4Ô4Ð4Ð4àÔ×Ò˜BÑÔÐØ×Ò˜R Ô!1Ñ2Ô2Ð2Ð2Ð2r
   c                 óV  — |                      ¦   «         }|                      g |j        ¦  «         t          j        D ]7}|j                             |¦  «         |                      g |j        ¦  «         Œ8|j                             g ¦  «         |                      g |j        ¦  «         dS )z,Test no-ops extending repeated float fields.N)r&   r•  r�   r   r–  re   r—  s       r   ÚtestExtendFloatWithNothingz&MessageTest.testExtendFloatWithNothing÷  rš  r
   c                 óV  — |                      ¦   «         }|                      g |j        ¦  «         t          j        D ]7}|j                             |¦  «         |                      g |j        ¦  «         Œ8|j                             g ¦  «         |                      g |j        ¦  «         dS )z-Test no-ops extending repeated string fields.N)r&   r•  rd   r   r–  re   r—  s       r   ÚtestExtendStringWithNothingz'MessageTest.testExtendStringWithNothing  s©   € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!2Ñ3Ô3Ð3õ #Ô/ð 6ð 6ˆØÔ×Ò˜{Ñ+Ô+Ð+Ø
×Ò˜r 1Ô#4Ñ5Ô5Ð5Ð5àÔ×Ò˜RÑ Ô Ð Ø×Ò˜R Ô!2Ñ3Ô3Ð3Ð3Ð3r
   c                 ó¶  — |                      ¦   «         }|                      g |j        ¦  «         |j                             dg¦  «         |                      dg|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         dS )	z7Test extending repeated int32 fields with python lists.r   rH   r—   ©r   rH   r—   rÆ   rI   ©r   rH   r—   rÆ   rI   N)r&   r•  rÔ   re   r2  s      r   ÚtestExtendInt32WithPythonListz)MessageTest.testExtendInt32WithPythonList  sÖ   € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!1Ñ2Ô2Ð2ØÔ×Ò˜Q˜CÑ Ô Ð Ø×Ò˜a˜S !Ô"2Ñ3Ô3Ð3ØÔ×Ò˜Q ˜FÑ#Ô#Ð#Ø×Ò˜Y˜Y˜Y¨Ô(8Ñ9Ô9Ð9ØÔ×Ò˜Q ˜FÑ#Ô#Ð#Ø×Ò˜_˜_˜_¨aÔ.>Ñ?Ô?Ð?Ð?Ð?r
   c                 ó¶  — |                      ¦   «         }|                      g |j        ¦  «         |j                             dg¦  «         |                      dg|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         dS )	z7Test extending repeated float fields with python lists.r“  ç      ð?r¨   ©r“  r¤  r¨   ç      @ç      @©r“  r¤  r¨   r¦  r§  N)r&   r•  r�   re   r2  s      r   ÚtestExtendFloatWithPythonListz)MessageTest.testExtendFloatWithPythonList  sÙ   € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!1Ñ2Ô2Ð2ØÔ×Ò˜S˜EÑ"Ô"Ð"Ø×Ò˜c˜U AÔ$4Ñ5Ô5Ð5ØÔ×Ò˜S #˜JÑ'Ô'Ð'Ø×Ò˜_˜_˜_¨aÔ.>Ñ?Ô?Ð?ØÔ×Ò˜S #˜JÑ'Ô'Ð'Ø×ÒÐ6Ð6Ð6¸Ô8HÑIÔIÐIÐIÐIr
   c                 ó¶  — |                      ¦   «         }|                      g |j        ¦  «         |j                             dg¦  «         |                      dg|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         dS )	z8Test extending repeated string fields with python lists.r³   Ú11Ú22)r³   r«  r¬  Ú33Ú44)r³   r«  r¬  r­  r®  N©r&   r•  rd   re   r2  s      r   ÚtestExtendStringWithPythonListz*MessageTest.testExtendStringWithPythonList'  sÜ   € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!2Ñ3Ô3Ð3ØÔ×Ò˜b˜TÑ"Ô"Ð"Ø×Ò˜b˜T 1Ô#4Ñ5Ô5Ð5ØÔ×Ò˜d D˜\Ñ*Ô*Ð*Ø×ÒÐ-Ð-Ð-¨qÔ/@ÑAÔAÐAØÔ×Ò˜d D˜\Ñ*Ô*Ð*Ø×ÒÐ9Ð9Ð9¸1Ô;LÑMÔMÐMÐMÐMr
   c                 óÒ   — |                      ¦   «         }|                      g |j        ¦  «         |j                             d¦  «         |                      g d¢|j        ¦  «         dS )zDTest extending repeated string fields with characters from a string.r0  rö   Nr¯  r2  s      r   ÚtestExtendStringWithStringz&MessageTest.testExtendStringWithString2  sf   € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!2Ñ3Ô3Ð3ØÔ×Ò˜UÑ#Ô#Ð#Ø×Ò˜_˜_˜_¨aÔ.?Ñ@Ô@Ð@Ð@Ð@r
   c                   ó,   — e Zd ZdZdd„Zd„ Zd„ Zd„ ZdS )úMessageTest.TestIterablez�This iterable object mimics the behavior of numpy.array.

    __nonzero__ fails for length > 1, and returns bool(item[0]) for length == 1.

    Nc                 ó   — |pg | _         d S r   )Ú_list)r+   Úvaluess     r   Ú__init__z!MessageTest.TestIterable.__init__@  s   € Ø�<˜R€d„j€j€jr
   c                 ó˜   — t          | j        ¦  «        }|dk    rdS |dk    rt          | j        d         ¦  «        S t          d¦  «        ‚)Nr   FrH   zTruth value is ambiguous.)rB   r¶  ÚboolrÜ   )r+   Úsizes     r   r_   z$MessageTest.TestIterable.__nonzero__C  sI   € Ý�”‰_Œ_€dØ	�ŠˆØˆuØ	�ŠˆÝ�D”J˜q”MÑ"Ô"Ð"ÝÐ2Ñ3Ô3Ð3r
   c                 ó*   — t          | j        ¦  «        S r   )rB   r¶  ©r+   s    r   Ú__len__z MessageTest.TestIterable.__len__K  s   € Ý�”‰_Œ_Ðr
   c                 ó4   — | j                              ¦   «         S r   )r¶  Ú__iter__r½  s    r   rÀ  z!MessageTest.TestIterable.__iter__N  s   € ØŒZ× Ò Ñ"Ô"Ð"r
   r   )rW   rX   rY   Ú__doc__r¸  r_   r¾  rÀ  r   r
   r   ÚTestIterabler´  9  s_   € € € € € ðð ð ð  ð  ð  ð4ð 4ð 4ðð ð ð#ð #ð #ð #ð #r
   rÂ  c                 óà  — |                      ¦   «         }|                      g |j        ¦  «         |j                             t                               g ¦  «        ¦  «         |                      g |j        ¦  «         |j                             t                               dg¦  «        ¦  «         |                      dg|j        ¦  «         |j                             t                               ddg¦  «        ¦  «         |                      g d¢|j        ¦  «         |j                             t                               ddg¦  «        ¦  «         |                      g d¢|j        ¦  «         dS )	z3Test extending repeated int32 fields with iterable.r   rH   r—   r   rÆ   rI   r¡  N)r&   r•  rÔ   re   r   rÂ  r2  s      r   ÚtestExtendInt32WithIterablez'MessageTest.testExtendInt32WithIterableQ  s>  € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!1Ñ2Ô2Ð2ØÔ×Ò�K×4Ò4°RÑ8Ô8Ñ9Ô9Ð9Ø×Ò˜R Ô!1Ñ2Ô2Ð2ØÔ×Ò�K×4Ò4°a°SÑ9Ô9Ñ:Ô:Ð:Ø×Ò˜a˜S !Ô"2Ñ3Ô3Ð3ØÔ×Ò�K×4Ò4°a¸°VÑ<Ô<Ñ=Ô=Ð=Ø×Ò˜Y˜Y˜Y¨Ô(8Ñ9Ô9Ð9ØÔ×Ò�K×4Ò4°a¸°VÑ<Ô<Ñ=Ô=Ð=Ø×Ò˜_˜_˜_¨aÔ.>Ñ?Ô?Ð?Ð?Ð?r
   c                 óà  — |                      ¦   «         }|                      g |j        ¦  «         |j                             t                               g ¦  «        ¦  «         |                      g |j        ¦  «         |j                             t                               dg¦  «        ¦  «         |                      dg|j        ¦  «         |j                             t                               ddg¦  «        ¦  «         |                      g d¢|j        ¦  «         |j                             t                               ddg¦  «        ¦  «         |                      g d¢|j        ¦  «         dS )	z3Test extending repeated float fields with iterable.r“  r¤  r¨   r¥  r¦  r§  r¨  N)r&   r•  r�   re   r   rÂ  r2  s      r   ÚtestExtendFloatWithIterablez'MessageTest.testExtendFloatWithIterable^  sA  € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!1Ñ2Ô2Ð2ØÔ×Ò�K×4Ò4°RÑ8Ô8Ñ9Ô9Ð9Ø×Ò˜R Ô!1Ñ2Ô2Ð2ØÔ×Ò�K×4Ò4°c°UÑ;Ô;Ñ<Ô<Ð<Ø×Ò˜c˜U AÔ$4Ñ5Ô5Ð5ØÔ×Ò�K×4Ò4°c¸3°ZÑ@Ô@ÑAÔAÐAØ×Ò˜_˜_˜_¨aÔ.>Ñ?Ô?Ð?ØÔ×Ò�K×4Ò4°c¸3°ZÑ@Ô@ÑAÔAÐAØ×ÒÐ6Ð6Ð6¸Ô8HÑIÔIÐIÐIÐIr
   c                 óà  — |                      ¦   «         }|                      g |j        ¦  «         |j                             t                               g ¦  «        ¦  «         |                      g |j        ¦  «         |j                             t                               dg¦  «        ¦  «         |                      dg|j        ¦  «         |j                             t                               ddg¦  «        ¦  «         |                      g d¢|j        ¦  «         |j                             t                               ddg¦  «        ¦  «         |                      g d¢|j        ¦  «         dS )	z4Test extending repeated string fields with iterable.r³   Ú1Ú2)r³   rÈ  rÉ  Ú3Ú4)r³   rÈ  rÉ  rÊ  rË  N)r&   r•  rd   re   r   rÂ  r2  s      r   ÚtestExtendStringWithIterablez(MessageTest.testExtendStringWithIterablek  sA  € à×#Ò#Ñ%Ô%€AØ×Ò˜R Ô!2Ñ3Ô3Ð3ØÔ×Ò�[×5Ò5°bÑ9Ô9Ñ:Ô:Ð:Ø×Ò˜R Ô!2Ñ3Ô3Ð3ØÔ×Ò�[×5Ò5°r°dÑ;Ô;Ñ<Ô<Ð<Ø×Ò˜b˜T 1Ô#4Ñ5Ô5Ð5ØÔ×Ò�[×5Ò5°s¸C°jÑAÔAÑBÔBÐBØ×Ò˜^˜^˜^¨QÔ->Ñ?Ô?Ð?ØÔ×Ò�[×5Ò5°s¸C°jÑAÔAÑBÔBÐBØ×ÒÐ5Ð5Ð5°qÔ7HÑIÔIÐIÐIÐIr
   c                   ó    — e Zd ZdZdd„Zd„ ZdS )úMessageTest.TestIndexzEThis index object mimics the behavior of numpy.int64 and other types.Nc                 ó   — || _         d S r   ©Úvalue)r+   rÑ  s     r   r¸  zMessageTest.TestIndex.__init__{  s   € Ø€d„j€j€jr
   c                 ó   — | j         S r   rÐ  r½  s    r   Ú	__index__zMessageTest.TestIndex.__index__~  s
   € ØŒZÐr
   r   )rW   rX   rY   rÁ  r¸  rÓ  r   r
   r   Ú	TestIndexrÎ  x  s=   € € € € € ØOÐOðð ð ð ðð ð ð ð r
   rÔ  c                 óØ   — |                      ¦   «         }|j                             g d¢¦  «         |                      d|j        t                               d¦  «                 ¦  «         d S )Nrß   rH   r   ©r&   rÔ   re   r5   r   rÔ  r°   s      r   Ú testRepeatedIndexingWithIntIndexz,MessageTest.testRepeatedIndexingWithIntIndex�  s`   € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×Ò˜i˜i˜iÑ(Ô(Ð(Ø×Ò�Q˜Ô*­;×+@Ò+@ÀÑ+CÔ+CÔDÑEÔEÐEÐEÐEr
   c                 óØ   — |                      ¦   «         }|j                             g d¢¦  «         |                      d|j        t                               d¦  «                 ¦  «         d S ©Nrß   rÆ   rÄ   rÖ  r°   s      r   Ú)testRepeatedIndexingWithNegative1IntIndexz5MessageTest.testRepeatedIndexingWithNegative1IntIndex†  s`   € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×Ò˜i˜i˜iÑ(Ô(Ð(Ø×Ò�Q˜Ô*­;×+@Ò+@ÀÑ+DÔ+DÔEÑFÔFÐFÐFÐFr
   c                 ó¨   — |                      ¦   «         }|j                             g d¢¦  «         |                      d|j        d         ¦  «         d S rÙ  rç   r°   s      r   Ú$testRepeatedIndexingWithNegative1Intz0MessageTest.testRepeatedIndexingWithNegative1Int‹  sR   € Ø
×
%Ò
%Ñ
'Ô
'€CØÔ×Ò˜i˜i˜iÑ(Ô(Ð(Ø×Ò�Q˜Ô*¨2Ô.Ñ/Ô/Ð/Ð/Ð/r
   c                 óæ   — |                      ¦   «         }|                      t          j        ¦  «        5 }t          j        |j        t          j        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r   )r&   r$   rj   ÚPickleErrorrk   rÔ   ÚHIGHEST_PROTOCOLr�  s       r   Ú!testPickleRepeatedScalarContainerz-MessageTest.testPickleRepeatedScalarContainer�  s£   € à×#Ò#Ñ%Ô%€AØ	×	Ò	�6Ô-Ñ	.Ô	.ð >°!Ý„l�1Ô#¥VÔ%<Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   ´%A&Á&A*Á-A*c                 ó`   — |                      ¦   «         }|j                             ¦   «          dS )z:Exercise a scenario that has led to segfaults in the past.N)r&   r¿   rú   r2  s      r   Ú'testSortEmptyRepeatedCompositeContainerz3MessageTest.testSortEmptyRepeatedCompositeContainer–  s.   € à×#Ò#Ñ%Ô%€AØÔ×"Ò"Ñ$Ô$Ð$Ð$Ð$r
   c                 ó¾   — |                      ¦   «         }|                      t          ¦  «        5 }|                     d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z=Using HasField on a repeated field should raise an exception.rÔ   N)r&   r$   rÜ   r:  r�  s       r   ÚtestHasFieldOnRepeatedFieldz'MessageTest.testHasFieldOnRepeatedField›  s›   € à×#Ò#Ñ%Ô%€AØ	×	Ò	�:Ñ	&Ô	&ð #¨!Ø‡j‚jÐ!Ñ"Ô"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #ó   ¯AÁAÁAc                 ó^  — |                      ¦   «         }|                      t          ¦  «        5 }|j                             ¦   «          d d d ¦  «         n# 1 swxY w Y   |j                             t          d¦  «        ¦  «         |                      d|j                             ¦   «         ¦  «         |                      d|j                             d¦  «        ¦  «         |                      d|j                             d¦  «        ¦  «         |                      ddg|j        ¦  «         d S )NrÊ   rI   r   r—   rH   rÆ   )r&   r$   Ú
IndexErrorrÔ   Úpopre   rŽ  r5   r�  s       r   ÚtestRepeatedScalarFieldPopz&MessageTest.testRepeatedScalarFieldPop¡  sA  € Ø×#Ò#Ñ%Ô%€AØ	×	Ò	�:Ñ	&Ô	&ð ¨!ØÔ×ÒÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àÔ×Ò�E !™HœHÑ%Ô%Ð%Ø×Ò�Q˜Ô(×,Ò,Ñ.Ô.Ñ/Ô/Ð/Ø×Ò�Q˜Ô(×,Ò,¨QÑ/Ô/Ñ0Ô0Ð0Ø×Ò�Q˜Ô(×,Ò,¨QÑ/Ô/Ñ0Ô0Ð0Ø×Ò�a˜�V˜QÔ-Ñ.Ô.Ð.Ð.Ð.s   ¯AÁAÁAc                 ó>  — |                      ¦   «         }|                      t          ¦  «        5 }|j                             ¦   «          d d d ¦  «         n# 1 swxY w Y   |                      t
          ¦  «        5 }|j                             d¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «        D ]"}|j                             ¦   «         }||_        Œ#|  	                    d|j                             ¦   «         j        ¦  «         |  	                    d|j                             d¦  «        j        ¦  «         |  	                    d|j                             d¦  «        j        ¦  «         |  	                    ddgd„ |j        D ¦   «         ¦  «         d S )	NrG   rÊ   rI   r   r—   rH   rÆ   c                 ó   — g | ]	}|j         ‘Œ
S r   rq   r  s     r   r¾   z=MessageTest.testRepeatedCompositeFieldPop.<locals>.<listcomp>·  s   € ÐFÐFÐF q˜aœdÐFÐFÐFr
   )
r&   r$   rç  r¿   rè  rK   rŽ  rÕ   rr   r5   )r+   r,   r½   r‘  rŠ  r  s         r   ÚtestRepeatedCompositeFieldPopz)MessageTest.testRepeatedCompositeFieldPop«  së  € Ø×#Ò#Ñ%Ô%€AØ	×	Ò	�:Ñ	&Ô	&ð &¨!ØÔ×#Ò#Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &à	×	Ò	�9Ñ	%Ô	%ð )¨ØÔ×#Ò# CÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å�1‰XŒXð ð ˆØ
Ô
#×
'Ò
'Ñ
)Ô
)€aØ€a„d€dØ×Ò�Q˜Ô1×5Ò5Ñ7Ô7Ô:Ñ;Ô;Ð;Ø×Ò�Q˜Ô1×5Ò5°aÑ8Ô8Ô;Ñ<Ô<Ð<Ø×Ò�Q˜Ô1×5Ò5°aÑ8Ô8Ô;Ñ<Ô<Ð<Ø×Ò�a˜�VÐFÐF¨AÔ,EÐFÑFÔFÑGÔGÐGÐGÐGs#   ¯AÁAÁAÁ:B!Â!B%Â(B%c                 óH  — |                      ¦   «         }t          d¦  «        D ]=}|j                             ||¦  «         |j                             ¦   «         }||_        Œ>|                      |j        |j        ¦  «         |                      |j        |j        ¦  «         d S )NrÊ   )	r&   rŽ  rÔ   rÌ   r¿   rÕ   rr   r•  r5   )r+   r,   r½   rŠ  r  s        r   ÚtestRepeatedCompareWithSelfz'MessageTest.testRepeatedCompareWithSelf¹  sœ   € Ø×#Ò#Ñ%Ô%€AÝ�1‰XŒXð ð ˆØÔ×Ò˜a Ñ#Ô#Ð#Ø
Ô
#×
'Ò
'Ñ
)Ô
)€aØ€a„d€dØ×Ò˜QÔ-¨qÔ/?Ñ@Ô@Ð@Ø×Ò�QÔ.°Ô0IÑJÔJÐJÐJÐJr
   c                 óà   — |                      ¦   «         }|j                             ¦   «         }|j        }|j                             ¦   «         }|                      |j        j        d¦  «         dS )zxA case that lead to a segfault when a message detached from its parent

    container has itself a child container.
    r   N)r9  Úrepeated_childrÕ   r?  r5   r8  Úoptional_int32r2  s      r   ÚtestReleasedNestedMessagesz&MessageTest.testReleasedNestedMessagesÂ  se   € ð
 	×)Ò)Ñ+Ô+€AØ	Ô×ÒÑÔ€AØ	Œ€AØ	Ô×ÒÑÔ€AØ×Ò�Q”YÔ-¨qÑ1Ô1Ð1Ð1Ð1r
   c                 óH  — |                      ¦   «         }|                      t          ¦  «        5  g |_        d d d ¦  «         n# 1 swxY w Y   |j                             d¦  «         |                      t          ¦  «        5  g |_        d d d ¦  «         d S # 1 swxY w Y   d S )NrH   )r&   r$   ÚAttributeErrorrÔ   rÀ   r2  s      r   ÚtestSetRepeatedCompositez$MessageTest.testSetRepeatedCompositeÍ  s  € Ø×#Ò#Ñ%Ô%€AØ	×	Ò	�>Ñ	*Ô	*ð ð Ø€aÔðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð àÔ×Ò˜AÑÔÐØ	×	Ò	�>Ñ	*Ô	*ð ð Ø€aÔðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   ¯AÁAÁ
AÂBÂBÂBc                 ó"  — |                      ¦   «         }|                      t          t          |j        ¦  «        ¦  «         |                      t          t          |j        ¦  «        ¦  «         |                      t          t          |j        ¦  «        ¦  «         d|_        d|_        d|_        |j         	                    d¦  «         |j
         	                    d¦  «         |j         	                    d¦  «         |                     |                     ¦   «         ¦  «         |                      t          t          |j        ¦  «        ¦  «         |                      t          t          |j        ¦  «        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      t          t          |j        ¦  «        ¦  «         |                      t          t          |j        d         ¦  «        ¦  «         |                      t          t          |j
        d         ¦  «        ¦  «         |                      t          t          |j        d         ¦  «        ¦  «         |                      d|j        d         ¦  «         d S )NrH   z1.0r   T)r&   r5   r›   Útyper}   r€   rº  Úoptional_boolr�   rÀ   r‚   Úrepeated_boolr3   r6   r)   r2  s      r   ÚtestReturningTypezMessageTest.testReturningTypeÕ  s  € Ø×#Ò#Ñ%Ô%€AØ×Ò•U�D Ô!1Ñ2Ô2Ñ3Ô3Ð3Ø×Ò•U�D Ô!2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò•T�4 ¤Ñ0Ô0Ñ1Ô1Ð1Ø€AÔØ€AÔØ€A„OØÔ×Ò˜AÑÔÐØÔ×Ò˜QÑÔÐØ„O×Ò˜1ÑÔÐØ×Ò�a×)Ò)Ñ+Ô+Ñ,Ô,Ð,Ø×Ò•U�D Ô!1Ñ2Ô2Ñ3Ô3Ð3Ø×Ò•U�D Ô!2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�U�C Ô 1Ñ2Ô2Ñ3Ô3Ð3Ø×Ò•T�4 ¤Ñ0Ô0Ñ1Ô1Ð1Ø×Ò•U�D Ô!1°!Ô!4Ñ5Ô5Ñ6Ô6Ð6Ø×Ò•U�D Ô!2°1Ô!5Ñ6Ô6Ñ7Ô7Ð7Ø×Ò•T�4 ¤°Ô 2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�T˜1œ?¨1Ô-Ñ.Ô.Ð.Ð.Ð.r
   )ZrW   rX   rY   r/   r<   rE   rQ   rg   ro   ru   rz   r„   r†   rŒ   r‘   r“   r•   r¤   r¦   rª   r®   r±   r¸   rÂ   rÎ   rØ   rÝ   rä   ré   rï   rü   r  r  r  r$  r'  r,  r3  r6  r;  rB  rD  rK  rN  rR  rV  r\  rb  rd  rg  rj  rm  ro  rr  ru  rw  rz  r|  r  r�  r…  r’  Ú	bytearrayÚsetr–  r™  rœ  rž  r¢  r©  r°  r²  rf   rÂ  rÄ  rÆ  rÌ  rÔ  r×  rÚ  rÜ  rà  râ  rä  ré  rì  rî  rò  rõ  rú  r   r
   r   r   r   M   sÄ  € € € € € ð
Jð Jð JðCð Cð Cð"
Cð 
Cð 
CðDð Dð Dð$"?ð "?ð "?ðH8ð 8ð 8ð8ð 8ð 8ð8ð 8ð 8ðFð Fð Fð(Fð Fð Fð(<ð <ð <ð0Fð Fð FðFð Fð Fð:ð :ð :ð@Bð @Bð @BðD+Kð +Kð +KðZ<ð <ð <ð
4ð 4ð 4ðIð Ið Ið
%ð %ð %ðJð Jð Jð$$ð $$ð $$ðLPð Pð Pð$
:ð 
:ð 
:ð9ð 9ð 9ð ð ð ðHð Hð Hð&Kð &Kð &KðP8ð 8ð 8ð(Bð Bð Bð*Fð Fð Fð.)ð )ð )ð$Hð Hð Hð(,ð ,ð ,ð ;ð ;ð ;ð&ð &ð &ð+ð +ð +ð
#ð #ð #ð<	7ð 	7ð 	7ð6ð 6ð 6ð,=ð =ð =ð.ð .ð .ð2ð 2ð 2ð
1ð 1ð 1ð$!/ð !/ð !/ðF)ð )ð )ð2ð 2ð 2ð&5ð 5ð 5ð5ð 5ð 5ð	Bð 	Bð 	BðCð Cð CðCð Cð CðPð Pð Pð
Að 
Að 
AðJð Jð Jð
Að Að Að2ð 2ð 2ð>ð >ð >ð":ð :ð :ð ˜˜q # s¨C°°±´¸bÀ"ÀcÀcÁeÄeÐL€,ð3ð 3ð 3ð3ð 3ð 3ð4ð 4ð 4ð	@ð 	@ð 	@ð	Jð 	Jð 	Jð	Nð 	Nð 	NðAð Að Að#ð #ð #ð #ð #�Vñ #ô #ð #ð0@ð @ð @ðJð Jð JðJð Jð Jðð ð ð ð �&ñ ô ð ðFð Fð Fð
Gð Gð Gð
0ð 0ð 0ð
>ð >ð >ð%ð %ð %ð
#ð #ð #ð/ð /ð /ðHð Hð HðKð Kð Kð	2ð 	2ð 	2ðð ð ð/ð /ð /ð /ð /r
   r   c                   óV   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ ZdS )Ú
Proto2Testc                 ó   — t          j        ¦   «         }|                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         |                      t
          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t
          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t
          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j	        j
        ¦  «         d|_        d|_        d|j	        _
        |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         d	|_        d
|_        d|j	        _
        |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «          |j        d¦  «          |j        d¦  «          |j        d¦  «         |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         |                       |j        d¦  «        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j	        j
        ¦  «         d S )Nrñ  rø  r>  Úfield_doesnt_existrÔ   r¿   r   FrÊ   Té   )r   r&   rM  r:  r$   rÜ   r5   rñ  rø  r>  rr   rˆ   rf  ©r+   r   s     r   ÚtestFieldPresencezProto2Test.testFieldPresenceï  s9  € ÝÔ'Ñ)Ô)€Gà×ÒÐ%�WÔ%Ð&6Ñ7Ô7Ñ8Ô8Ð8Ø×ÒÐ%�WÔ% oÑ6Ô6Ñ7Ô7Ð7Ø×ÒÐ%�WÔ%Ð&?Ñ@Ô@ÑAÔAÐAà	×	Ò	�:Ñ	&Ô	&ð -ð -Ø€gÔÐ+Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð 
×	Ò	�:Ñ	&Ô	&ð )ð )Ø€gÔÐ'Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à	×	Ò	�:Ñ	&Ô	&ð 2ð 2Ø€gÔÐ0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 	×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�U˜GÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô7Ô:Ñ;Ô;Ð;ð €GÔØ!€GÔØ)*€GÔ#Ô&Ø‡O‚OÐ$�GÔ$Ð%5Ñ6Ô6Ñ7Ô7Ð7Ø‡O‚OÐ$�GÔ$ _Ñ5Ô5Ñ6Ô6Ð6Ø‡O‚OÐ$�GÔ$Ð%>Ñ?Ô?Ñ@Ô@Ð@ð €GÔØ €GÔØ)+€GÔ#Ô&à‡O‚OÐ$�GÔ$Ð%6Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚OÐ$�GÔ$ _Ñ5Ô5Ñ6Ô6Ð6Ø‡O‚OÐ$�GÔ$Ð%>Ñ?Ô?Ñ@Ô@Ð@ð €GÔÐ'Ñ(Ô(Ð(Ø€GÔÐ'Ñ(Ô(Ð(Ø€GÔÐ0Ñ1Ô1Ð1à×ÒÐ%�WÔ%Ð&6Ñ7Ô7Ñ8Ô8Ð8Ø×ÒÐ%�WÔ% oÑ6Ô6Ñ7Ô7Ð7Ø×ÒÐ%�WÔ%Ð&?Ñ@Ô@ÑAÔAÐAØ×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�U˜GÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô7Ô:Ñ;Ô;Ð;Ð;Ð;s6   ÂB4Â4B8Â;B8ÃC6Ã6C:Ã=C:ÄD8Ä8D<Ä?D<c                 óN  — t          j        ¦   «         }|                      t          ¦  «        5 }d|_        ddd¦  «         n# 1 swxY w Y   |                      t          |j        j        d¦  «         |j                             d¦  «         d|j        d<   |                      t          ¦  «        5  d|j        d<   ddd¦  «         n# 1 swxY w Y   t          j        ¦   «         }d|_        |j                             d¦  «         |                     ¦   «         }t          j        ¦   «         }| 	                    |¦  «         |  
                    |                     d¦  «        ¦  «         |                      d|j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                     ¦   «          | 	                    |                     ¦   «         ¦  «         |                      d|j        ¦  «         |                      d|j        d         ¦  «         dS )	z:Assigning an invalid enum number is not allowed in proto2.é‡Ö Nr—   r   i@â é±Ët Úoptional_nested_enumrH   )r   r&   r$   rÜ   r  r�  rÀ   r   r6   r3   rM  r:  r5   rB   r  )r+   r½   r‘  r+  r‹   Úm3s         r   ÚtestAssignInvalidEnumz Proto2Test.testAssignInvalidEnum  s_  € åÔ!Ñ#Ô#€Að 
×	Ò	�:Ñ	&Ô	&ð '¨!Ø&€aÔð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'à×Ò•j !Ô"8Ô"?ÀÑIÔIÐIàÔ×!Ò! !Ñ$Ô$Ð$Ø !€AÔ˜1ÑØ	×	Ò	�:Ñ	&Ô	&ð )ð )Ø"(€aÔ˜QÑð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 
#Ô	/Ñ	1Ô	1€BØ%€BÔØÔ×"Ò" 7Ñ+Ô+Ð+Ø×%Ò%Ñ'Ô'€Jå	Ô	"Ñ	$Ô	$€BØ×Ò�zÑ"Ô"Ð"Ø×Ò�R—[’[Ð!7Ñ8Ô8Ñ9Ô9Ð9à×Ò�Q˜Ô/Ñ0Ô0Ð0Ø×Ò�Q�˜BÔ3Ñ4Ô4Ñ5Ô5Ð5Ø‡H‚H�J„J€JØ×Ò�r×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø×Ò�W˜bÔ5Ñ6Ô6Ð6Ø×Ò�W˜bÔ5°aÔ8Ñ9Ô9Ð9Ð9Ð9s#   ®AÁAÁ	AÂ1CÃCÃCc                 óº   — t          j        ¦   «         }d|j        d<   |                      t          ¦  «        5  d|j        d<   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   é{   rH   )r   ÚTestEnumMapÚknown_map_fieldr$   rÜ   Úunknown_map_field)r+   r½   s     r   ÚtestUnknownEnumMapzProto2Test.testUnknownEnumMap>  s¢   € ÝÔ+Ñ-Ô-€AØ€AÔ�cÑØ	×	Ò	�:Ñ	&Ô	&ð #ð #Ø"€aÔ˜!Ñð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   ¸AÁAÁAc                 óp   — t          j        ¦   «         }|                      t          t          |d¦  «         d S )NÚ
Extensions)r   r&   r$   rô  rP  ©r+   rO   s     r   ÚtestExtensionsErrorszProto2Test.testExtensionsErrorsD  s0   € Ý
Ô
#Ñ
%Ô
%€CØ×Ò•n¥g¨s°LÑAÔAÐAÐAÐAr
   c                 ó¾  — t          j        ¦   «         }t          j        ¦   «         }|                      d|j        j        t           j                 ¦  «         |                      |                     d¦  «        ¦  «         d|j        j        t           j        <   |                     |¦  «         |                      d|j        j        t           j                 ¦  «         d S )Nr   Ú
submessager  )	r   ÚTopLevelMessager5   r  r  Úoptional_int_extensionrM  r:  rÖ   ©r+   r@  rA  s      r   ÚtestMergeFromExtensionsz"Proto2Test.testMergeFromExtensionsH  sÑ   € ÝÔ.Ñ0Ô0€DÝÔ.Ñ0Ô0€Dà×ÒØ	ØŒÔ"Õ#6Ô#MÔNñPô Pð Pð 	×Ò�T—]’] <Ñ0Ô0Ñ1Ô1Ð1ØMP€D„OÔÕ2ÔIÑJð 	‡N‚N�4ÑÔÐØ×ÒØØŒÔ"Õ#6Ô#MÔNñPô Pð Pð Pð Pr
   c                 óÀ  — t          j        d¦  «        }t          j        ¦   «         }|                     |¦  «         t          j        ¦   «         }t          j        |¦  «         |                      ||¦  «         |                      ||                     ¦   «         ¦  «         t          j	        |¦  «        }|                      ||                     ¦   «         ¦  «         d S ri   )
r   r#   r   ÚTestAllExtensionsr3   ÚSetAllExtensionsr5   r6   r7   r8   ©r+   r9   r:   rD   r;   s        r   ÚtestGoldenExtensionszProto2Test.testGoldenExtensionsX  sÃ   € ÝÔ*Ð+;Ñ<Ô<€KÝ!Ô3Ñ5Ô5€NØ×"Ò" ;Ñ/Ô/Ð/ÝÔ,Ñ.Ô.€GÝÔ˜wÑ'Ô'Ð'Ø×Ò�W˜nÑ-Ô-Ð-Ø×Ò�[ .×"BÒ"BÑ"DÔ"DÑEÔEÐEÝ”- Ñ/Ô/€KØ×Ò�[ +×"?Ò"?Ñ"AÔ"AÑBÔBÐBÐBÐBr
   c                 óÀ  — t          j        d¦  «        }t          j        ¦   «         }|                     |¦  «         t          j        ¦   «         }t          j        |¦  «         |                      ||¦  «         |                      ||                     ¦   «         ¦  «         t          j	        |¦  «        }|                      ||                     ¦   «         ¦  «         d S r>   )
r   r#   r   ÚTestPackedExtensionsr3   ÚSetAllPackedExtensionsr5   r6   r7   r8   r  s        r   ÚtestGoldenPackedExtensionsz%Proto2Test.testGoldenPackedExtensionsc  sÃ   € ÝÔ*Ð+IÑJÔJ€KÝ!Ô6Ñ8Ô8€NØ×"Ò" ;Ñ/Ô/Ð/ÝÔ/Ñ1Ô1€GÝÔ$ WÑ-Ô-Ð-Ø×Ò�W˜nÑ-Ô-Ð-Ø×Ò�[ '×";Ò";Ñ"=Ô"=Ñ>Ô>Ð>Ý”- Ñ/Ô/€KØ×Ò�[ +×"?Ò"?Ñ"AÔ"AÑBÔBÐBÐBÐBr
   c                 ó,  — t          j        d¬¦  «        }t          j        |¦  «        }t          j        |¦  «        }|                      ||¦  «         |                      |j        d¦  «         |                      t          j	        |j
        ¦  «         d S )NrH   rˆ  )r   ÚTestRequiredrj   rk   rl   r5   ró   r$   r   ÚEncodeErrorr6   )r+   r:   rm   rn   s       r   ÚtestPickleIncompleteProtoz$Proto2Test.testPickleIncompleteProton  sˆ   € Ý!Ô.°Ð3Ñ3Ô3€NÝ”l >Ñ2Ô2€Oåœ _Ñ5Ô5ÐØ×ÒÐ&¨Ñ7Ô7Ð7Ø×ÒÐ&Ô(¨!Ñ,Ô,Ð,à×Ò•gÔ)Ð+<Ô+NÑOÔOÐOÐOÐOr
   c                 ó   — t          j        ¦   «         t          j        ¦   «         t          j        ¦   «         g}d|d         _        d|d         _        d|d         _        d|d         _        t          j        ¦   «         }d|_        d|_        d|_        t           j                             ¦   «         }|j                             |¦  «         |j	                             |¦  «         |j
                             |¦  «         |j                             |¦  «         |j                             |¦  «         |j                             ¦   «         j                             |d         ¦  «         |j                             ¦   «         j                             |d         ¦  «         |j                             ¦   «         j                             |d         ¦  «         |j                             ¦   «         j                             |d         ¦  «         |j                             ¦   «         j                             |d         ¦  «         |j                             ¦   «         j                             |d         ¦  «         |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      |j        |¦  «         |                      |j        |¦  «         |                      |j        j        |¦  «         |                      |j        t           j        j                 |¦  «         |                      t5          |j        ¦  «        d¦  «         |                      t5          |j        ¦  «        d¦  «         |                      t5          |j        t           j        j                 ¦  «        d¦  «         dS )ziCheck the merge behavior when a required or optional field appears

    multiple times in the input.
    rH   r   r—   rÆ   ÚhelloN)r   r&   rñ  Úoptional_int64rF  ÚTestParsingMergeÚRepeatedFieldsGeneratorÚfield1re   Úfield2Úfield3Úext1Úext2Úgroup1rÕ   rÖ   Úgroup2r6   r3   r5   Úrequired_all_typesÚoptional_all_typesÚoptionalgroupÚoptional_group_all_typesr  Úoptional_extrB   Úrepeated_all_typesÚrepeatedgroupÚrepeated_ext)r+   ÚmessagesÚmerged_messageÚ	generatorÚdataÚparsing_merges         r   ÚtestParsingMergezProto2Test.testParsingMerge{  sG  € õ 	Ô!Ñ#Ô#ÝÔ!Ñ#Ô#ÝÔ!Ñ#Ô#ð€Hð
 "#€HˆQ„KÔØ!"€HˆQ„KÔØ!"€HˆQ„KÔØ")€HˆQ„KÔå!Ô.Ñ0Ô0€NØ$%€NÔ!Ø$%€NÔ!Ø%,€NÔ"åÔ-×EÒEÑGÔG€IØÔ×Ò˜HÑ%Ô%Ð%ØÔ×Ò˜HÑ%Ô%Ð%ØÔ×Ò˜HÑ%Ô%Ð%Ø„N×Ò˜(Ñ#Ô#Ð#Ø„N×Ò˜(Ñ#Ô#Ð#ØÔ×ÒÑÔÔ!×+Ò+¨H°Q¬KÑ8Ô8Ð8ØÔ×ÒÑÔÔ!×+Ò+¨H°Q¬KÑ8Ô8Ð8ØÔ×ÒÑÔÔ!×+Ò+¨H°Q¬KÑ8Ô8Ð8ØÔ×ÒÑÔÔ!×+Ò+¨H°Q¬KÑ8Ô8Ð8ØÔ×ÒÑÔÔ!×+Ò+¨H°Q¬KÑ8Ô8Ð8ØÔ×ÒÑÔÔ!×+Ò+¨H°Q¬KÑ8Ô8Ð8à×&Ò&Ñ(Ô(€DÝ Ô1Ñ3Ô3€MØ×!Ò! $Ñ'Ô'Ð'ð 	×Ò�]Ô5°~ÑFÔFÐFØ×Ò�]Ô5°~ÑFÔFÐFØ×Ò�]Ô0ÔIØ#ñ%ô %ð %à×ÒØÔ ¥Ô!>Ô!KÔLØñô ð ð
 	×Ò•S˜Ô9Ñ:Ô:¸AÑ>Ô>Ð>Ø×Ò•S˜Ô4Ñ5Ô5°qÑ9Ô9Ð9Ø×ÒÝˆMÔ$ÝÔ)Ô6ô8ñ 	9ô 	9Ø:;ñ=ô =ð =ð =ð =r
   c                 óJ	  — t          j        ddddddiddii d	dd
iddigdt           j        j        gdd¬¦  «        }|                      |t           j        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j	        j
        ¦  «         |                      |j        t           j        j        ¦  «         |                      d|j        j        ¦  «         |                       |j        d¦  «        ¦  «         |                      |j        t          j        ¦   «         ¦  «         |                      t           j        j        |j        ¦  «         |                      dt)          |j        ¦  «        ¦  «         |                      d
|j        d         j
        ¦  «         |                      d|j        d         j
        ¦  «         |                      dt)          |j        ¦  «        ¦  «         |                      t           j        j        |j        d         ¦  «         |                      t           j        j        |j        d         ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                       |j        d¦  «        ¦  «         |                      dt)          |j        ¦  «        ¦  «         |                      d|j        ¦  «         t          j        d	¬¦  «        }|                      t           j        j        |j        ¦  «         |                      t<          ¦  «        5  t          j        ddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t>          ¦  «        5  t          j        ddi¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t<          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t<          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Néd   éÈ   g     Èr@ó   xró   i�  rr   iô  ÚBAZiX  i¼  ÚFOOi   r   )rñ  Úoptional_fixed32r}   rG  r5  r>  Úoptional_foreign_messager  r9  r�  Údefault_int32rZ  rH  r—   r   rH   r)  é*   )r  ÚINVALID_NESTED_FIELDé   )r>  ÚINVALID_VALUE_TYPEÚINVALID_LABEL)r�  ) r   r&   ÚBARr.  r5   rñ  rG  r}   rG  r5  ró   r>  rt   rr   rˆ   r:  rH  ÚForeignMessagerE  r  rB   r9  r�  rF  rI  rZ  rM  r�   Údefault_int64r$   rÜ   rK   r  s     r   ÚtestPythonicInitzProto2Test.testPythonicInit°  s¿  € ÝÔ'ØØØØØ˜C�jØ!% s Ø!#Ø"à�ð
ð �ð
ðð
 $¥\Ô%>Ô%BÐCØØð!ñ ô €Gð" 	×Ò˜'¥<Ô#<Ñ=Ô=Ð=Ø×Ò�S˜'Ô0Ñ1Ô1Ð1Ø×Ò�S˜'Ô2Ñ3Ô3Ð3Ø×Ò�U˜GÔ2Ñ3Ô3Ð3Ø×Ò�T˜7Ô1Ñ2Ô2Ð2Ø×Ò�S˜'Ô/Ô1Ñ2Ô2Ð2Ø×Ò˜'Ô9Ý&Ô3ÔAñCô Cð Cà×Ò�S˜'Ô9Ô<Ñ=Ô=Ð=Ø‡O‚OÐ$�GÔ$Ð%?Ñ@Ô@ÑAÔAÐAØ×Ò�WÔ5Ý!Ô0Ñ2Ô2ñ4ô 4ð 4à×Ò•\Ô.Ô2ØÔ1ñ3ô 3ð 3à×Ò�Q�˜GÔ1Ñ2Ô2Ñ3Ô3Ð3Ø×Ò�S˜'Ô/°Ô2Ô4Ñ5Ô5Ð5Ø×Ò�S˜'Ô/°Ô2Ô4Ñ5Ô5Ð5Ø×Ò�Q�˜GÔ8Ñ9Ô9Ñ:Ô:Ð:Ø×Ò•\Ô.Ô2ØÔ1°!Ô4ñ6ô 6ð 6à×Ò•\Ô.Ô2ØÔ1°!Ô4ñ6ô 6ð 6à×Ò�S˜'Ô/Ñ0Ô0Ð0Ø×Ò�S˜'Ô.Ñ/Ô/Ð/Ø×ÒÐ%�WÔ%Ð&6Ñ7Ô7Ñ8Ô8Ð8Ø×Ò�Q�˜GÔ2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�R˜Ô.Ñ/Ô/Ð/åÔ'¸VÐDÑDÔD€GØ×Ò•\Ô.Ô2ØÔ1ñ3ô 3ð 3ð 
×	Ò	�:Ñ	&Ô	&ð @ð @ÝÔØ#9¸2Ð">ð@ñ @ô @ð @ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð 
×	Ò	�9Ñ	%Ô	%ð @ð @ÝÔØ#'Ð)=Ð">ð@ñ @ô @ð @ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @ð 
×	Ò	�:Ñ	&Ô	&ð Fð FÝÔ°_ÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð 
×	Ò	�:Ñ	&Ô	&ð <ð <ÝÔ°UÐ;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <sH   ÎO Ï OÏOÏ%P	Ð	PÐPÐ.QÑQÑQÑ5RÒRÒRc                 óž   — dddœ}t          j        di |¤Ž}|                      d|j        ¦  «         |                      d|j        ¦  «         d S )NrB  rC  )rñ  rG  r   )r   r&   r5   rñ  rG  )r+   ÚkwargsrO   s      r   ÚtestPythonicInitWithDictz#Proto2Test.testPythonicInitWithDictð  sf   € ð Ø ðð €Fõ Ô
#Ð
-Ð
- fÐ
-Ð
-€CØ×Ò�S˜#Ô,Ñ-Ô-Ð-Ø×Ò�S˜#Ô.Ñ/Ô/Ð/Ð/Ð/r
   c                 óP  — t           j                             t          j        d¦  «        }|                      d|¦  «         |                      d|¦  «         |                      d|¦  «         t          j        j        d         }|                      t          t          |d¦  «         d S )Nr   zclass TestAllTypesÚSerializePartialToStringr�   r   Ú_extensions_by_name)
ÚpydocÚhtmlÚdocumentr   r&   r(   Ú	__bases__r$   rô  rP  )r+   ÚdocÚbases      r   Útest_documentationzProto2Test.test_documentationû  sŒ   € å
Œ*×
Ò
�lÔ7¸Ñ
CÔ
C€CØ‡M‚MÐ&¨Ñ,Ô,Ð,Ø‡M‚MÐ,¨cÑ2Ô2Ð2Ø‡M‚MÐ" CÑ(Ô(Ð(ÝÔ$Ô.¨qÔ1€DØ×Ò•n¥g¨tÐ5JÑKÔKÐKÐKÐKr
   N)rW   rX   rY   r  r	  r  r  r  r  r"  r&  r@  rR  rU  r_  r   r
   r   rþ  rþ  ì  sß   € € € € € ð.<ð .<ð .<ð`:ð :ð :ð>#ð #ð #ðBð Bð BðPð Pð Pð 	Cð 	Cð 	Cð	Cð 	Cð 	CðPð Pð Pð3=ð 3=ð 3=ðj><ð ><ð ><ð@0ð 0ð 0ðLð Lð Lð Lð Lr
   rþ  c                   óD  — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d$„ Z&d%„ Z'd&„ Z(d'„ Z) e*j+        e,j-        e.k    d(¦  «        d)„ ¦   «         Z/d*„ Z0d+S ),Ú
Proto3Testc                 óž   — t          |¦  «        }|D ]$\  }}|                      |||         ¦  «         ||= Œ%|                      i |¦  «         d S r   )Údictr5   )r+   Úmap_iterÚ
dict_valuer  Úvs        r   ÚassertMapIterEqualszProto3Test.assertMapIterEquals
  sa   € å�jÑ!Ô!€Jàð ð ‰ˆˆ1Ø
×Ò�q˜* Qœ-Ñ(Ô(Ð(Ø
�Qˆ-ˆ-à×Ò�R˜Ñ$Ô$Ð$Ð$Ð$r
   c                 óŒ  — t          j        ¦   «         }|                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                       |j        d¦  «        ¦  «         |                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5   |j        d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d	|j        ¦  «         |                      d	|j        ¦  «         |                      d
|j	        ¦  «         |                      d|j
        ¦  «         |                      d	|j        j        ¦  «         d	|j        _        |                       |j        d¦  «        ¦  «         d|_        d|_        d|_	        d|_
        d|j        _         |j        d¦  «          |j        d¦  «          |j        d¦  «          |j        d¦  «          |j        d¦  «         |                      d	|j        ¦  «         |                      d	|j        ¦  «         |                      d
|j	        ¦  «         |                      d|j
        ¦  «         |                      d	|j        j        ¦  «         d S )Nrñ  r}   rF  rø  r>  r   rÔ   r¿   r   r³   FrÊ   rñ   r0  Tr  )r   r&   r$   rÜ   r:  rM  r5   rñ  r}   rF  rø  r>  rr   rˆ   rf  r  s     r   r  zProto3Test.testFieldPresence  sm  € Ý'Ô4Ñ6Ô6€Gð 
×	Ò	�:Ñ	&Ô	&ð )ð )Ø€gÔÐ'Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à	×	Ò	�:Ñ	&Ô	&ð )ð )Ø€gÔÐ'Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à	×	Ò	�:Ñ	&Ô	&ð *ð *Ø€gÔÐ(Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *à	×	Ò	�:Ñ	&Ô	&ð (ð (Ø€gÔ�Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð 	×ÒÐ%�WÔ%Ð&?Ñ@Ô@ÑAÔAÐAð 
×	Ò	�:Ñ	&Ô	&ð -ð -Ø€gÔÐ+Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð 
×	Ò	�:Ñ	&Ô	&ð )ð )Ø€gÔÐ'Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )à	×	Ò	�:Ñ	&Ô	&ð 2ð 2Ø€gÔÐ0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 	×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�R˜Ô0Ñ1Ô1Ð1Ø×Ò�U˜GÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô7Ô:Ñ;Ô;Ð;ð *+€GÔ#Ô&Ø‡O‚OÐ$�GÔ$Ð%>Ñ?Ô?Ñ@Ô@Ð@ð €GÔØ €GÔØ#€GÔØ €GÔØ)+€GÔ#Ô&ð €GÔÐ'Ñ(Ô(Ð(Ø€GÔÐ'Ñ(Ô(Ð(Ø€GÔÐ(Ñ)Ô)Ð)Ø€GÔ�Ñ'Ô'Ð'Ø€GÔÐ0Ñ1Ô1Ð1à×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�R˜Ô0Ñ1Ô1Ð1Ø×Ò�U˜GÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô7Ô:Ñ;Ô;Ð;Ð;Ð;s}   ®AÁAÁAÁ0BÂBÂBÂ2CÃCÃCÃ4DÄDÄDÅE6Å6E:Å=E:ÆF8Æ8F<Æ?F<ÇG:Ç:G>ÈG>c                 óž  — t          j        ¦   «         }d|_        d|_        d|_        |                      t          |                     ¦   «         ¦  «        d¦  «         t          j        ¦   «         }| 	                    | 
                    ¦   «         ¦  «         |                      t          |                     ¦   «         ¦  «        d¦  «         d S )Nr   r³   r
   rÆ   )r   r&   rñ  rF  rG  r5   rB   Ú
ListFieldsr   r3   r6   )r+   Úmessage_proto2Úmessage_proto3s      r   Ú!testProto3ParserDropDefaultScalarz,Proto3Test.testProto3ParserDropDefaultScalarM  s°   € Ý!Ô.Ñ0Ô0€NØ$%€NÔ!Ø%'€NÔ"Ø$'€NÔ!Ø×Ò•S˜×2Ò2Ñ4Ô4Ñ5Ô5°qÑ9Ô9Ð9å.Ô;Ñ=Ô=€NØ×"Ò" >×#CÒ#CÑ#EÔ#EÑFÔFÐFØ×Ò•S˜×2Ò2Ñ4Ô4Ñ5Ô5°qÑ9Ô9Ð9Ð9Ð9r
   c                 óP  — t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         d|_        d|_        d|_        d|j        _        |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |j                             d¦  «        ¦  «         d	|_        d
|_        d|_        d	|j        _        |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |j                             d¦  «        ¦  «         t          j        ¦   «         }| 
                    |                     ¦   «         ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |                     d¦  «        ¦  «         |  	                    |j                             d¦  «        ¦  «         |                      |                     d¦  «        d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         |                      |                     d¦  «        d ¦  «         t           j        j        j        D ]}|  	                    |j        ¦  «         Œt$          j        j        j        D ]Q}|j        t*          j        j        k    r|                      |j        ¦  «         Œ7|  	                    |j        ¦  «         ŒRt0          j        j        }|j        d         }|                      |j        ¦  «         |j        d         }|                      |j        ¦  «         |j        d         }|  	                    |j        ¦  «         |j        d         }|  	                    |j        ¦  «         |j        d         }	|  	                    |	j        ¦  «         d S )Nrñ  r}   rF  r>  rr   rH   r¤  Ú123r   r“  r³   Ú_optional_int32rÔ   Úproto3_optional_int32rY  )r   ÚTestProto3OptionalrM  r:  r>  rñ  r}   rF  rr   rˆ   r3   r6   r5   rU  rf  Ú
DESCRIPTORÚfieldsÚhas_presencer   r&   Úlabelr   ÚFieldDescriptorÚLABEL_REPEATEDr   Úfields_by_name)
r+   rO   rA  ÚfieldÚproto3_descriptorÚrepeated_fieldÚsingular_fieldÚoptional_fieldÚmessage_fieldrX  s
             r   ÚtestProto3OptionalzProto3Test.testProto3OptionalX  sŸ  € Ý
"Ô
5Ñ
7Ô
7€CØ×Ò�S—\’\Ð"2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�S—\’\Ð"2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�S—\’\Ð"3Ñ4Ô4Ñ5Ô5Ð5Ø×Ò�S—\’\Ð";Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�SÔ0×9Ò9¸$Ñ?Ô?Ñ@Ô@Ð@ð €CÔØ€CÔØ€CÔØ%&€CÔÔ"Ø‡O‚O�C—L’LÐ!1Ñ2Ô2Ñ3Ô3Ð3Ø‡O‚O�C—L’LÐ!1Ñ2Ô2Ñ3Ô3Ð3Ø‡O‚O�C—L’LÐ!2Ñ3Ô3Ñ4Ô4Ð4Ø‡O‚O�C—L’LÐ!:Ñ;Ô;Ñ<Ô<Ð<Ø‡O‚O�CÔ/×8Ò8¸Ñ>Ô>Ñ?Ô?Ð?à€CÔØ€CÔØ€CÔØ%&€CÔÔ"Ø‡O‚O�C—L’LÐ!1Ñ2Ô2Ñ3Ô3Ð3Ø‡O‚O�C—L’LÐ!1Ñ2Ô2Ñ3Ô3Ð3Ø‡O‚O�C—L’LÐ!2Ñ3Ô3Ñ4Ô4Ð4Ø‡O‚O�C—L’LÐ!:Ñ;Ô;Ñ<Ô<Ð<Ø‡O‚O�CÔ/×8Ò8¸Ñ>Ô>Ñ?Ô?Ð?õ $Ô6Ñ8Ô8€DØ×Ò˜×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø‡O‚O�D—M’MÐ"2Ñ3Ô3Ñ4Ô4Ð4Ø‡O‚O�D—M’MÐ"2Ñ3Ô3Ñ4Ô4Ð4Ø‡O‚O�D—M’MÐ"3Ñ4Ô4Ñ5Ô5Ð5Ø‡O‚O�D—M’MÐ";Ñ<Ô<Ñ=Ô=Ð=Ø‡O‚O�DÔ0×9Ò9¸$Ñ?Ô?Ñ@Ô@Ð@à×Ò�S—^’^Ð$5Ñ6Ô6Ð8HÑIÔIÐIð ‡N‚NÐ#Ñ$Ô$Ð$Ø‡N‚NÐ#Ñ$Ô$Ð$Ø‡N‚NÐ$Ñ%Ô%Ð%Ø‡N‚NÐ,Ñ-Ô-Ð-Ø×Ò�S—\’\Ð"2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�S—\’\Ð"2Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�S—\’\Ð"3Ñ4Ô4Ñ5Ô5Ð5Ø×Ò�S—\’\Ð";Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�SÔ0×9Ò9¸$Ñ?Ô?Ñ@Ô@Ð@à×Ò�S—^’^Ð$5Ñ6Ô6¸Ñ=Ô=Ð=õ *Ô<ÔGÔNð *ð *ˆØ
‡o‚o�eÔ(Ñ)Ô)Ð)Ð)ÝÔ*Ô5Ô<ð ,ð ,ˆØ	Œ�
Ô2ÔAÒ	AÐ	AØ×Ò˜Ô+Ñ,Ô,Ð,Ð,à�Š˜Ô*Ñ+Ô+Ð+Ð+Ý1Ô>ÔIÐØ&Ô5Ð6FÔG€NØ×Ò�^Ô0Ñ1Ô1Ð1Ø&Ô5Ð6FÔG€NØ×Ò�^Ô0Ñ1Ô1Ð1Ø&Ô5Ð6MÔN€NØ‡O‚O�NÔ/Ñ0Ô0Ð0Ø%Ô4Ð5NÔO€MØ‡O‚O�MÔ.Ñ/Ô/Ð/Ø#Ô2°>ÔB€KØ‡O‚O�KÔ,Ñ-Ô-Ð-Ð-Ð-r
   c                 ó,  — t          j        ¦   «         }d|_        |                      d|j        ¦  «         |j                             d¦  «         |                      d|j        d         ¦  «         d|j        d<   |                      d|j        d         ¦  «         |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      d|j        ¦  «         |                      d|j        d         ¦  «         dS )zCAssigning an unknown enum value is allowed and preserves the value.r  i÷ËTr   r  N)r   r&   r  r5   r�  rÀ   r6   r3   )r+   r½   r‹   r+  s       r   ÚtestAssignUnknownEnumz Proto3Test.testAssignUnknownEnum¡  s  € å!Ô.Ñ0Ô0€Að %€AÔØ×Ò�W˜aÔ4Ñ5Ô5Ð5ØÔ×!Ò! (Ñ+Ô+Ð+Ø×Ò�X˜qÔ5°aÔ8Ñ9Ô9Ð9à '€AÔ˜1ÑØ×Ò�W˜aÔ4°QÔ7Ñ8Ô8Ð8Ø×$Ò$Ñ&Ô&€Jå	"Ô	/Ñ	1Ô	1€BØ×Ò�zÑ"Ô"Ð"Ø×Ò�W˜bÔ5Ñ6Ô6Ð6Ø×Ò�W˜bÔ5°aÔ8Ñ9Ô9Ð9Ð9Ð9r
   c                 ó|  — t          j        ¦   «         }|                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j	        v ¦  «         |                      d|j
        v ¦  «         |                      d|j        v ¦  «         |                      d	|j        d         ¦  «         |                      d	|j        d         ¦  «         |                      d	|j        d         ¦  «         |                      d	|j        d         ¦  «         |                      d
|j        d         ¦  «         |                      t          |j        d         t          ¦  «        ¦  «         |                      d|j        d         ¦  «         |                      t          |j        d         t           ¦  «        ¦  «         |                      d|j	        d         ¦  «         |                      d|j
        d         ¦  «         |                      d	|j        d         ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j        v ¦  «         |                      d|j	        v ¦  «         |                      d|j
        v ¦  «         |                      d|j        v ¦  «         |                      |j	        d         t$          ¦  «         |                      t(          ¦  «        5  |j	        d          d d d ¦  «         n# 1 swxY w Y   |                      t(          ¦  «        5  d|j	        v  d d d ¦  «         d S # 1 swxY w Y   d S )Né…ÿÿÿìýÿÿÿ     r  ì        Fr0  éo   éx  r   r“  r³   r
   )r   ÚTestMaprM  Úmap_int32_int32Úmap_int64_int64Úmap_uint32_uint32Úmap_uint64_uint64Úmap_int32_doubleÚmap_bool_boolÚmap_string_stringÚmap_int32_bytesÚmap_int32_enumr5   rˆ   Ú
isinstancer›   rº  r.  r)   r$   rK   r  s     r   ÚtestScalarMapDefaultsz Proto3Test.testScalarMapDefaults¹  sq  € Ý
Ô
"Ñ
$Ô
$€Cð 	×Ò�T˜SÔ0Ð0Ñ1Ô1Ð1Ø×Ò�V˜sÔ2Ð2Ñ3Ô3Ð3Ø×Ò�S˜CÔ1Ð1Ñ2Ô2Ð2Ø×Ò�U˜cÔ3Ð3Ñ4Ô4Ð4Ø×Ò�S˜CÔ0Ð0Ñ1Ô1Ð1Ø×Ò�U˜cÔ/Ð/Ñ0Ô0Ð0Ø×Ò�U˜cÔ3Ð3Ñ4Ô4Ð4Ø×Ò�S˜CÔ/Ð/Ñ0Ô0Ð0Ø×Ò�S˜CÔ.Ð.Ñ/Ô/Ð/ð 	×Ò�Q˜Ô+¨DÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô+¨FÔ3Ñ4Ô4Ð4Ø×Ò�Q˜Ô-¨cÔ2Ñ3Ô3Ð3Ø×Ò�Q˜Ô-¨eÔ4Ñ5Ô5Ð5Ø×Ò�S˜#Ô.¨sÔ3Ñ4Ô4Ð4Ø‡O‚O•J˜sÔ3°CÔ8½%Ñ@Ô@ÑAÔAÐAØ×Ò�U˜CÔ-¨eÔ4Ñ5Ô5Ð5Ø‡O‚O•J˜sÔ0°Ô7½Ñ>Ô>Ñ?Ô?Ð?Ø×Ò�R˜Ô.¨uÔ5Ñ6Ô6Ð6Ø×Ò�S˜#Ô-¨cÔ2Ñ3Ô3Ð3Ø×Ò�Q˜Ô*¨3Ô/Ñ0Ô0Ð0ð 	‡O‚O�D˜CÔ/Ð/Ñ0Ô0Ð0Ø‡O‚O�F˜cÔ1Ð1Ñ2Ô2Ð2Ø‡O‚O�C˜3Ô0Ð0Ñ1Ô1Ð1Ø‡O‚O�E˜SÔ2Ð2Ñ3Ô3Ð3Ø‡O‚O�C˜3Ô/Ð/Ñ0Ô0Ð0Ø‡O‚O�E˜SÔ.Ð.Ñ/Ô/Ð/Ø‡O‚O�E˜SÔ2Ð2Ñ3Ô3Ð3Ø‡O‚O�C˜3Ô.Ð.Ñ/Ô/Ð/Ø‡O‚O�C˜3Ô-Ð-Ñ.Ô.Ð.à×Ò˜#Ô/°Ô6½Ñ<Ô<Ð<ð 
×	Ò	�9Ñ	%Ô	%ð !ð !Ø	Ô˜CÔ Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð 
×	Ò	�9Ñ	%Ô	%ð #ð #Ø	ˆSÔ"Ð"Ð"ð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s$   ÏO5Ï5O9Ï<O9Ð
P1Ð1P5Ð8P5c                 ó*  — t          j        ¦   «         }|                      |j                             d¦  «        ¦  «         |                      d|j                             dd¦  «        ¦  «         |                      d|j                             dd¬¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         d|j        d<   |                      d|j                             d¦  «        ¦  «         |                      d|j                             d¦  «        ¦  «         |                      t          ¦  «        5  |j                             d¦  «         d d d ¦  «         n# 1 swxY w Y   |                      |j                             d¦  «        ¦  «         |                      d|j                             dd¦  «        ¦  «         |                      d|j                             dd¬¦  «        ¦  «         |j        d         }|  	                    ||j                             d¦  «        ¦  «         |                      t          ¦  «        5  |j                             d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÊ   r  )r   Údefaultr  r³   )
r   r‰  r~  rŠ  Úgetr5   r$   rK   Úmap_int32_foreign_messager[  )r+   rO   Úsubmsgs      r   Ú
testMapGetzProto3Test.testMapGeté  sÉ  € õ Ô
"Ñ
$Ô
$€Cà×Ò�cÔ)×-Ò-¨aÑ0Ô0Ñ1Ô1Ð1Ø×Ò�R˜Ô,×0Ò0°°BÑ7Ô7Ñ8Ô8Ð8Ø×Ò�R˜Ô,×0Ò0°QÀÐ0ÑCÔCÑDÔDÐDØ×Ò�cÔ)×-Ò-¨aÑ0Ô0Ñ1Ô1Ð1à€CÔ˜ÑØ×Ò�R˜Ô,×0Ò0°Ñ3Ô3Ñ4Ô4Ð4Ø×Ò�R˜Ô,×0Ò0°Ñ3Ô3Ñ4Ô4Ð4Ø	×	Ò	�9Ñ	%Ô	%ð "ð "Ø	Ô×Ò˜bÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð 	×Ò�cÔ3×7Ò7¸Ñ:Ô:Ñ;Ô;Ð;Ø×Ò�R˜Ô6×:Ò:¸1¸bÑAÔAÑBÔBÐBØ×Ò�R˜Ô6×:Ò:¸qÈ"Ð:ÑMÔMÑNÔNÐNàÔ*¨1Ô-€FØ‡M‚M�&˜#Ô7×;Ò;¸AÑ>Ô>Ñ?Ô?Ð?Ø	×	Ò	�9Ñ	%Ô	%ð ,ð ,Ø	Ô#×'Ò'¨Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s$   ÅE4Å4E8Å;E8É JÊJÊJc                 ó¨  — t          j        ¦   «         }|                      dt          |j        ¦  «        ¦  «         |                      d|j        v ¦  «         d|j        d<   d|j        d<   d|j        d<   d	|j        d
<   d|j	        d<   d|j
        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   |                      g |                     ¦   «         ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      t           ¦  «        5  d|j        d<   d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                      t           ¦  «        5  d|j        d<   d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      t           ¦  «        5  d|j        d<   d d d ¦  «         n# 1 swxY w Y   |                      t           ¦  «        5  d|j        d<   d d d ¦  «         n# 1 swxY w Y   |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d	|j        d
         ¦  «         |                      d|j	        d         ¦  «         |                      d|j
        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      dt)          |j        ¦  «        ¦  «         d S )Nr   rÊ   é8þÿÿr„  ìýÿÿÿ     r…  éÈ  r  ì        r†  rò   r—   gffffff
@rH   ro  r0  Trˆ  z{-123: -456})r   r‰  r5   rB   rŠ  rM  r‹  rŒ  r�  Úmap_int32_floatrŽ  r�  r�  r’  ÚFindInitializationErrorsr$   rK   r6   r3   r�   r)   ©r+   rO   r‹   rA  s       r   ÚtestScalarMapzProto3Test.testScalarMap  sŸ  € Ý
Ô
"Ñ
$Ô
$€Cà×Ò�Q�˜CÔ/Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�Q˜#Ô-Ð-Ñ.Ô.Ð.à $€CÔ˜ÑØ"(€CÔ˜ÑØ!$€CÔ˜#ÑØ#(€CÔ˜%Ñ Ø €CÔ˜ÑØ!€CÔ˜ÑØ#(€CÔ˜%Ñ Ø"€CÔ�dÑØ€CÔ�sÑà!€CÔ�sÑà×Ò�R˜×5Ò5Ñ7Ô7Ñ8Ô8Ð8à×Ò�Q�˜CÔ1Ñ2Ô2Ñ3Ô3Ð3ð 
×	Ò	�9Ñ	%Ô	%ð )ð )Ø#(€cÔ˜CÑ ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð
 	×Ò�Q�˜CÔ1Ñ2Ô2Ñ3Ô3Ð3ð 
×	Ò	�9Ñ	%Ô	%ð )ð )Ø%(€cÔ˜EÑ"ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð ×&Ò&Ñ(Ô(€JÝÔ#Ñ%Ô%€DØ×Ò˜Ñ$Ô$Ð$ð 
×	Ò	�9Ñ	%Ô	%ð *ð *Ø$)€dÔ˜SÑ!ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð 
×	Ò	�9Ñ	%Ô	%ð *ð *Ø&)€dÔ˜UÑ#ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *ð 	×Ò�T˜4Ô/°Ô5Ñ6Ô6Ð6Ø×Ò�V˜TÔ1°&Ô9Ñ:Ô:Ð:Ø×Ò�S˜$Ô0°Ô5Ñ6Ô6Ð6Ø×Ò�U˜DÔ2°5Ô9Ñ:Ô:Ð:Ø×Ò˜3 Ô 3°AÔ 6Ñ7Ô7Ð7Ø×Ò�S˜#Ô.¨qÔ1Ñ2Ô2Ð2Ø×Ò�U˜DÔ2°5Ô9Ñ:Ô:Ð:Ø×Ò�T˜4Ô-¨dÔ3Ñ4Ô4Ð4Ø×Ò�Q˜Ô+¨CÔ0Ñ1Ô1Ð1Ø×Ò�S˜$Ô-¨cÔ2Ñ3Ô3Ð3Ø×Ò�^¥S¨Ô)=Ñ%>Ô%>Ñ?Ô?Ð?Ð?Ð?sH   Ä&D=Ä=EÅEÆ
F!Æ!F%Æ(F%ÈHÈHÈ HÈ>IÉIÉIc                 óô   — t          j        ¦   «         }d|j        d<   d|j        d<   |                      |                     ¦   «         d¦  «         |                      d|                     ¦   «         ¦  «         d S )Nr   r³   ry  s   
  r
  )r   r‰  rŠ  r�  r5   ÚByteSizer6   r  s     r   ÚtestMapEntryAlwaysSerializedz'Proto3Test.testMapEntryAlwaysSerialized<  s|   € Ý
Ô
"Ñ
$Ô
$€CØ€CÔ˜ÑØ "€CÔ˜"ÑØ×Ò�S—\’\‘^”^ RÑ(Ô(Ð(Ø×ÒÐAØ×*Ò*Ñ,Ô,ñ.ô .ð .ð .ð .r
   c                 ó�  — t          j        ¦   «         }d}|                     d¦  «        }||j        |<   t	          |j                             ¦   «         ¦  «        d         \  }}|                      ||¦  «         |                      ||¦  «         |                      |t          ¦  «         |                      |t          ¦  «         d S )Nu   áˆ´Úutf8r   )	r   r‰  Úencoder�  r&  Úitemsr5   r.  r)   )r+   rO   Úunicode_objÚ	bytes_objr   rÑ  s         r   Ú testStringUnicodeConversionInMapz+Proto3Test.testStringUnicodeConversionInMapD  s¸   € Ý
Ô
"Ñ
$Ô
$€Cà€KØ×"Ò" 6Ñ*Ô*€Ià'0€CÔ˜)Ñ$å˜Ô-×3Ò3Ñ5Ô5Ñ6Ô6°qÔ9�L€Sˆ%à×Ò�S˜+Ñ&Ô&Ð&Ø×Ò�U˜KÑ(Ô(Ð(à×Ò˜#�sÑ#Ô#Ð#Ø×Ò˜%¥Ñ%Ô%Ð%Ð%Ð%r
   c                 ób  — t          j        ¦   «         }|                      dt          |j        ¦  «        ¦  «         |                      d|j        v ¦  «         |j        d          |j                             d¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5  |j        d          d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5  |j        d         |j        d<   d d d ¦  «         n# 1 swxY w Y   |                      dt          |j        ¦  «        ¦  «         |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      dt          |j        ¦  «        ¦  «         d|j        d         _        |                      t          |j        ¦  «        d	¦  «         d S )
Nr   rÊ   r  rœ  r—   ro  rÉ   rH   )z{-456: , 123: c: 1
}z{123: c: 1
, -456: })r   r‰  r5   rB   r˜  rM  Úget_or_creater(   r$   rK   rÜ   r6   r3   rô   r)   r¢  s       r   ÚtestMessageMapzProto3Test.testMessageMapT  só  € Ý
Ô
"Ñ
$Ô
$€Cà×Ò�Q�˜CÔ9Ñ:Ô:Ñ;Ô;Ð;Ø×Ò�Q˜#Ô7Ð7Ñ8Ô8Ð8àÔ! #Ô&Ð&àÔ!×/Ò/°Ñ5Ô5Ð5à×Ò�Q�˜CÔ9Ñ:Ô:Ñ;Ô;Ð;Ø‡M‚M�#�sÔ4Ñ5Ô5Ð5Ø‡M‚M�$˜Ô5Ñ6Ô6Ð6Ø×Ò�Q�˜CÔ9Ñ:Ô:Ñ;Ô;Ð;ð 
×	Ò	�9Ñ	%Ô	%ð +ð +Ø	Ô# EÔ*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð 
×	Ò	�:Ñ	&Ô	&ð Nð NØ+.Ô+HÈÔ+M€cÔ# CÑ(ðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nð
 	×Ò�Q�˜CÔ9Ñ:Ô:Ñ;Ô;Ð;à×&Ò&Ñ(Ô(€JÝÔ#Ñ%Ô%€DØ×Ò˜Ñ$Ô$Ð$à×Ò�Q�˜DÔ:Ñ;Ô;Ñ<Ô<Ð<Ø‡M‚M�#�tÔ5Ñ6Ô6Ð6Ø‡M‚M�$˜Ô6Ñ7Ô7Ð7Ø×Ò�Q�˜DÔ:Ñ;Ô;Ñ<Ô<Ð<Ø,-€DÔ" 3Ô'Ô)à‡M‚MÝˆDÔ*Ñ+Ô+Ø:ñ<ô <ð <ð <ð <s$   ÄD9Ä9D=Å D=ÅF Æ FÆFc                 ó   — t          j        ¦   «         }d|j        d         j        _        |j        d= d|j        d         j        _        |                      dt          |j        ¦  «        ¦  «         d|j        d         j        _        |                      dt          |j        ¦  «        ¦  «         |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         ddg}|D ]
}|j        |= Œd S )NrH   r—   )	r   r‰  Úmap_int32_all_typesr>  rr   r5   rB   r6   r3   )r+   rO   r‹   rA  Úkeysr   s         r   ÚtestNestedMessageMapItemDeletez)Proto3Test.testNestedMessageMapItemDelete}  sù   € Ý
Ô
"Ñ
$Ô
$€CØ<=€CÔ˜AÔÔ6Ô9ØÔ Ð"Ø<=€CÔ˜AÔÔ6Ô9Ø×Ò�Q�˜CÔ3Ñ4Ô4Ñ5Ô5Ð5Ø<=€CÔ˜AÔÔ6Ô9Ø×Ò�Q�˜CÔ3Ñ4Ô4Ñ5Ô5Ð5à×&Ò&Ñ(Ô(€JÝÔ#Ñ%Ô%€DØ×Ò˜Ñ$Ô$Ð$Øˆqˆ6€Dàð (ð (ˆØ
Ô
" 3Ð
'Ð
'ð(ð (r
   c                 ó˜  — t          j        ¦   «         }d|j        d<   |                     ¦   «         }d|j        d<   |                      |                     ¦   «         |dz   ¦  «         d|j        d         _        |                     ¦   «         }d|j        d         _        |                      |                     ¦   «         |dz   ¦  «         d S )NrH   é€   é   )r   r‰  rŠ  r¥  r5   r˜  rô   )r+   rO   r»  s      r   ÚtestMapByteSizezProto3Test.testMapByteSizeŽ  s®   € Ý
Ô
"Ñ
$Ô
$€CØ€CÔ˜ÑØ�<Š<‰>Œ>€DØ €CÔ˜ÑØ×Ò�S—\’\‘^”^ T¨A¡XÑ.Ô.Ð.à*+€CÔ! "Ô%Ô'Ø�<Š<‰>Œ>€DØ*-€CÔ! "Ô%Ô'Ø×Ò�S—\’\‘^”^ T¨A¡XÑ.Ô.Ð.Ð.Ð.r
   c                 ó,  — t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d<   d|j        d         _        d	|j        d
         _        t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d
         _        d|j        d
         _        |j        d
         }|                     |¦  «         t          j        ¦   «         }|                     |¦  «         d|j        d<   |  	                    ||¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         j        ¦  «         |  	                    d	|j        d
         j        ¦  «         |  
                    |j        d
                              d¦  «        ¦  «         t          j        ¦   «         dk    r|  	                    d|j        ¦  «         i }|j        D ].}|  
                    ||v ¦  «         |j        |         j        ||<   Œ/|  	                    dd	dœ|¦  «         |j        d= |  
                    d|j        v ¦  «         |j        d
= |  
                    d
|j        v ¦  «         |                      t          ¦  «        5  |j        d= d d d ¦  «         d S # 1 swxY w Y   d S )Né"   ry  éN   é8   r  é   rÊ   r‡  r  éÞ   é7   rÅ   éX   r  r  ÚdÚcpp)r‡  r¾  r³   )r   r‰  rŠ  r‹  r˜  rô   rÁ  rÖ   rt  r5   rM  r:  r   r!   r$   rK   )r+   rO   rA  Úold_map_valueÚexpected_msgÚas_dictr   s          r   rB  zProto3Test.testMergeFromš  sO  € Ý
Ô
"Ñ
$Ô
$€CØ €CÔ˜ÑØ €CÔ˜ÑØ €CÔ˜ÑØ+,€CÔ! #Ô&Ô(Ø+-€CÔ! #Ô&Ô(åÔ#Ñ%Ô%€DØ!€DÔ˜ÑØ!€DÔ˜ÑØ,.€DÔ" 3Ô'Ô)Ø,.€DÔ" 3Ô'Ô)ØÔ2°3Ô7€Mà‡N‚N�3ÑÔÐõ $Ô+Ñ-Ô-€LØ×Ò˜#ÑÔÐØ')€LÔ  Ñ$Ø×Ò�T˜<Ñ(Ô(Ð(à×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô6°sÔ;Ô=Ñ>Ô>Ð>Ø×Ò�R˜Ô7¸Ô<Ô>Ñ?Ô?Ð?Ø×Ò�TÔ3°CÔ8×AÒAÀ#ÑFÔFÑGÔGÐGÝÔÑ Ô  EÒ)Ð)ð ×Ò�r˜=œ?Ñ+Ô+Ð+ð
 €GØÔ-ð ;ð ;ˆØ
×Ò�s˜g�~Ñ&Ô&Ð&ØÔ3°CÔ8Ô:€gˆc�l€là×Ò˜1 2Ð&Ð&¨Ñ0Ô0Ð0ð 	Ô˜RÐ Ø×Ò�R˜4Ô/Ð/Ñ0Ô0Ð0àÔ& sÐ+Ø×Ò�S˜DÔ:Ð:Ñ;Ô;Ð;Ø	×	Ò	�9Ñ	%Ô	%ð -ð -Ø
Ô
(¨Ð
,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -s   Ë3	L	Ì	LÌLc                 óò  — t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d<   d|j        d         _        d	|j        d
         _        t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d
         _        d|j        d
         _        |j                             |j        ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |j                             |j        ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |j                             |j        ¦  «         t          j        ¦   «         }| 	                    |¦  «         d|j        d<   |                      ||¦  «         t          j        ¦   «         }t          j        ¦   «         }|                      |j        |j        ¦  «         d	|j        d         _        |                     |¦  «         |                      d	|j        d         j        ¦  «         t          j        ¦   «         }t          j
        ¦   «         }d	|j        d         _        |j                             |j        ¦  «         |                      d	|j        d         j        ¦  «         t          j        ¦   «         }d|j        d
         _        t          j        ¦   «         }d|j        d
         _        |                     |                     ¦   «         ¦  «         |                      |j        d
         j        d¦  «         |                      |j        d
         j        d¦  «         |                      t$          ¦  «        5  |j                             dt'          j        ¦   «         i¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrº  ry  r»  r¼  r  r½  rÊ   r‡  r  r¾  r¿  rÅ   rÀ  r  r  r  rH   )r   r‰  rŠ  r‹  r˜  rô   rÁ  rÖ   r5   rt  ÚTestMessageMapÚmap_int32_messagerñ  r²  r  r6   ÚassertNotEqualr$   rô  r   r&   )r+   rO   rA  rÄ  r*  r+  s         r   ÚtestMapMergeFromzProto3Test.testMapMergeFromÙ  sÙ  € Ý
Ô
"Ñ
$Ô
$€CØ €CÔ˜ÑØ €CÔ˜ÑØ €CÔ˜ÑØ+,€CÔ! #Ô&Ô(Ø+-€CÔ! #Ô&Ô(åÔ#Ñ%Ô%€DØ!€DÔ˜ÑØ!€DÔ˜ÑØ,.€DÔ" 3Ô'Ô)Ø,.€DÔ" 3Ô'Ô)àÔ×"Ò" 3Ô#6Ñ7Ô7Ð7Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2àÔ×"Ò" 3Ô#6Ñ7Ô7Ð7Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2àÔ"×,Ò,¨SÔ-JÑKÔKÐKõ $Ô+Ñ-Ô-€LØ×Ò˜#ÑÔÐØ')€LÔ  Ñ$Ø×Ò�T˜<Ñ(Ô(Ð(õ 
Ô	!Ñ	#Ô	#€BÝ	Ô	!Ñ	#Ô	#€BØ×Ò�RÔ1°2Ô3OÑPÔPÐPØ*,€BÔ  Ô%Ô'Ø‡L‚L�ÑÔÐØ×Ò�R˜Ô5°cÔ:Ô<Ñ=Ô=Ð=õ 
Ô	!Ñ	#Ô	#€BÝ	Ô	(Ñ	*Ô	*€BØ/1€BÔ˜ÔÔ,ØÔ×$Ò$ RÔ%9Ñ:Ô:Ð:Ø×Ò�R˜Ô/°Ô4ÔCÑDÔDÐDõ Ô
"Ñ
$Ô
$€CØ+.€CÔ! #Ô&Ô(ÝÔ#Ñ%Ô%€DØ,.€DÔ" 3Ô'Ô)Ø×Ò˜×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�SÔ2°3Ô7Ô9¸2Ñ>Ô>Ð>Ø×Ò˜Ô5°cÔ:Ô<¸cÑBÔBÐBð 
×	Ò	�>Ñ	*Ô	*ð 9ð 9ØÔ×&Ò&ØÕ'Ô4Ñ6Ô6Ð
7ñ9ô 9ð 9ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   Î1.O,Ï,O0Ï3O0c                 ó¾   — t          j        ¦   «         }|                      t          d¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzWParameter to MergeFrom\(\) must be instance of same class: expected .+TestMap got int\.rH   )r   r‰  ÚassertRaisesRegexrK   rÖ   r  s     r   ÚtestMergeFromBadTypezProto3Test.testMergeFromBadType  s¦   € Ý
Ô
"Ñ
$Ô
$€CØ	×	Ò	Ýð	ñ
 ô 
 ð ð ð 
‡m‚m�AÑÔÐð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rå  c                 ó¾   — t          j        ¦   «         }|                      t          d¦  «        5  |                     d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz[Parameter to [A-Za-z]*From\(\) must be instance of same class: expected .+TestMap got int\.rH   )r   r‰  rÌ  rK   rt  r  s     r   ÚtestCopyFromBadTypezProto3Test.testCopyFromBadType  s£   € Ý
Ô
"Ñ
$Ô
$€CØ	×	Ò	Ýð	(ñ
)ô 
)ð ð ð 
‡l‚l�1�o„o€oð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð rå  c                 óÌ  — t          j        ¦   «         }t          d¦  «        |j        t          d¦  «        <   t          d¦  «        |j        t          d¦  «        <   t          d¦  «        |j        t          d¦  «        <   t          d¦  «        |j        t          d¦  «        <   |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         ¦  «         |  	                    d|j        d         ¦  «         d S )	Nrœ  r„  r�  r…  rž  r  rŸ  r†  )
r   r‰  rƒ  rŠ  r‹  rŒ  r�  r6   r3   r5   r¢  s       r   ÚtestIntegerMapWithLongsz"Proto3Test.testIntegerMapWithLongs%  s%  € Ý
Ô
"Ñ
$Ô
$€CÝ%(¨¡Y¤Y€CÔ�˜D™	œ	Ñ"Ý'*¨6¡{¤{€CÔ�˜F™œÑ$Ý&)¨#¡h¤h€CÔ�#˜c™(œ(Ñ#Ý(+¨E©
¬
€CÔ�#˜e™*œ*Ñ%à×&Ò&Ñ(Ô(€JÝÔ#Ñ%Ô%€DØ×Ò˜Ñ$Ô$Ð$à×Ò�T˜4Ô/°Ô5Ñ6Ô6Ð6Ø×Ò�V˜TÔ1°&Ô9Ñ:Ô:Ð:Ø×Ò�S˜$Ô0°Ô5Ñ6Ô6Ð6Ø×Ò�U˜DÔ2°5Ô9Ñ:Ô:Ð:Ð:Ð:r
   c                 óD  — t          j        ¦   «         }d|j        j        d<   |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      ||¦  «         d|j        j        d<   |                     ¦   «         }|                     |¦  «         |                      ||¦  «         |j        j                             ¦   «          |                     ¦   «         }|                     |¦  «         |                      ||¦  «         d S )Nrž  r  rÉ   rˆ  )r   ÚTestMapSubmessageÚtest_maprŠ  r6   r3   r5   Úclearr¢  s       r   ÚtestMapAssignmentCausesPresencez*Proto3Test.testMapAssignmentCausesPresence5  s  € Ý
Ô
,Ñ
.Ô
.€CØ(+€C„LÔ  Ñ%à×&Ò&Ñ(Ô(€JÝÔ-Ñ/Ô/€DØ×Ò˜Ñ$Ô$Ð$à×Ò�S˜$ÑÔÐð ),€C„LÔ  Ñ%Ø×&Ò&Ñ(Ô(€JØ×Ò˜Ñ$Ô$Ð$Ø×Ò�S˜$ÑÔÐà„LÔ ×&Ò&Ñ(Ô(Ð(Ø×&Ò&Ñ(Ô(€JØ×Ò˜Ñ$Ô$Ð$Ø×Ò�S˜$ÑÔÐÐÐr
   c                 óL  — t          j        ¦   «         }d|j        j        d         _        |                     ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      ||¦  «         d|j        j        d         _        |                     ¦   «         }|                     |¦  «         |                      ||¦  «         |j        j        d                              |j        j        d         ¦  «         |                     ¦   «         }|                     |¦  «         |                      ||¦  «         |j        j         	                    ¦   «          |                     ¦   «         }|                     |¦  «         |                      ||¦  «         d S )NrÊ   r  rÐ   rˆ  )
r   rÓ  rÔ  r˜  rô   r6   r3   r5   rÖ   rÕ  r¢  s       r   Ú-testMapAssignmentCausesPresenceForSubmessagesz8Proto3Test.testMapAssignmentCausesPresenceForSubmessagesK  s|  € Ý
Ô
,Ñ
.Ô
.€CØ45€C„LÔ*¨3Ô/Ô1à×&Ò&Ñ(Ô(€JÝÔ-Ñ/Ô/€DØ×Ò˜Ñ$Ô$Ð$à×Ò�S˜$ÑÔÐð 56€C„LÔ*¨3Ô/Ô1Ø×&Ò&Ñ(Ô(€JØ×Ò˜Ñ$Ô$Ð$Ø×Ò�S˜$ÑÔÐà„LÔ*¨3Ô/×9Ò9ØŒÔ.¨sÔ3ñ5ô 5ð 5à×&Ò&Ñ(Ô(€JØ×Ò˜Ñ$Ô$Ð$Ø×Ò�S˜$ÑÔÐà„LÔ*×0Ò0Ñ2Ô2Ð2Ø×&Ò&Ñ(Ô(€JØ×Ò˜Ñ$Ô$Ð$Ø×Ò�S˜$ÑÔÐÐÐr
   c                 ó–  — t          j        ¦   «         }t          |j        ¦  «        }t          |j        ¦  «        }d|j        d<   d|j        d         _        |                      t          ¦  «        5  |D ]}Œ	 d d d ¦  «         n# 1 swxY w Y   |                      t          ¦  «        5  |D ]}Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )Nro  r0  rÊ   )r   r‰  Úiterr�  r˜  rô   r$   ÚRuntimeError)r+   rO   Ústring_string_iterÚint32_foreign_iterr   s        r   ÚtestModifyMapWhileIteratingz&Proto3Test.testModifyMapWhileIteratingg  s`  € Ý
Ô
"Ñ
$Ô
$€Cå˜cÔ3Ñ4Ô4ÐÝ˜cÔ;Ñ<Ô<Ðà#(€CÔ˜%Ñ Ø)*€CÔ! !Ô$Ô&à	×	Ò	�<Ñ	(Ô	(ð ð Ø#ð ð ˆ#Øððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
×	Ò	�<Ñ	(Ô	(ð ð Ø#ð ð ˆ#Øððð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   Á2BÂB	ÂB	Â*B>Â>CÃCc                 óh  — t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d<   d|j        d         _        d|j        d         _        d	|j        d	         _        t          |j                             ¦   «         ¦  «        }t          |j                             ¦   «         ¦  «        }g }|j        D ]!}|                     |¦  «         d
|j        |<   Œ"|                      ||¦  «         |                      |t          |j                             ¦   «         ¦  «        ¦  «         g }|j        D ])}|                     |¦  «         d|j        |         _        Œ*|                      ||¦  «         |                      |t          |j                             ¦   «         ¦  «        ¦  «         d S )Nro  r0  Ú456ÚdefÚ789ÚghirÊ   ræ   rÐ   Ú000r   )	r   r‰  r�  r˜  rô   r&  r³  rÀ   r5   )r+   rO   Ústring_string_keysÚint32_foreign_keysr³  r   s         r   Ú testModifyMapEntryWhileIteratingz+Proto3Test.testModifyMapEntryWhileIteratingx  s¤  € Ý
Ô
"Ñ
$Ô
$€Cà#(€CÔ˜%Ñ Ø#(€CÔ˜%Ñ Ø#(€CÔ˜%Ñ à)*€CÔ! !Ô$Ô&Ø)*€CÔ! !Ô$Ô&Ø)*€CÔ! !Ô$Ô&å˜cÔ3×8Ò8Ñ:Ô:Ñ;Ô;ÐÝ˜cÔ;×@Ò@ÑBÔBÑCÔCÐà€DØÔ$ð )ð )ˆØ
‡k‚k�#ÑÔÐØ#(€cÔ˜CÑ Ð Ø×Ò�TÐ-Ñ.Ô.Ð.Ø×Ò�T�4 Ô 5× :Ò :Ñ <Ô <Ñ=Ô=Ñ>Ô>Ð>à€DØÔ,ð /ð /ˆØ
‡k‚k�#ÑÔÐØ-.€cÔ# CÔ(Ô*Ð*Ø×Ò�TÐ-Ñ.Ô.Ð.Ø×Ò�T�4 Ô =× BÒ BÑ DÔ DÑEÔEÑFÔFÐFÐFÐFr
   c                 ó6  — t          j        ¦   «         }|j        d         }|                      ||j        d         ¦  «         |                      |t
          j        ¦  «         d|_        |                     ¦   «         }t          j        ¦   «         }| 	                    |¦  «         |  
                    d|j        d         j        ¦  «         |                      t          ¦  «        5  t          j        ¦   «         |j        d<   d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡  rÊ   rÀ  )r   r‰  r˜  r[  r.  r   rP  rô   r6   r3   r5   r$   rÜ   )r+   rO   r™  r‹   rA  s        r   ÚtestSubmessageMapzProto3Test.testSubmessageMap”  sQ  € Ý
Ô
"Ñ
$Ô
$€CàÔ*¨3Ô/€FØ‡M‚M�&˜#Ô7¸Ô<Ñ=Ô=Ð=Ø×Ò˜&¥,Ô"=Ñ>Ô>Ð>à€F„Hà×&Ò&Ñ(Ô(€JÝÔ#Ñ%Ô%€DØ×Ò˜Ñ$Ô$Ð$à×Ò�Q˜Ô6°sÔ;Ô=Ñ>Ô>Ð>ð 
×	Ò	�:Ñ	&Ô	&ð Hð HÝ*6Ô*EÑ*GÔ*G€cÔ# BÑ'ðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hð Hð Hs   Ã%DÄDÄDc                 ó†  — t          j        ¦   «         }|j                             ¦   «         D ]\  }}|                      d¦  «         Œd|j        d<   d|j        d<   d|j        d<   |                      dt          |j        ¦  «        ¦  «         ddddœ}|                      |j                             ¦   «         |¦  «         d S )NFrI   r—   ræ   rÆ   é   ©r—   rÆ   rI   )r   r‰  rŠ  rª  rˆ   r5   rB   rg  )r+   rO   r  rf  Úmatching_dicts        r   ÚtestMapIterationzProto3Test.testMapIteration§  sÉ   € Ý
Ô
"Ñ
$Ô
$€CàÔ#×)Ò)Ñ+Ô+ð ð ‰ˆˆ1à
‡o‚o�eÑÔÐÐà€CÔ˜ÑØ€CÔ˜ÑØ€CÔ˜ÑØ×Ò�Q�˜CÔ/Ñ0Ô0Ñ1Ô1Ð1à˜a AÐ&Ð&€MØ×Ò˜SÔ0×6Ò6Ñ8Ô8¸-ÑHÔHÐHÐHÐHr
   c                 ó   — t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d<   d|j        d<   d|j        d<   |j                             ¦   «         }|j                             ¦   «         }|                      ||¦  «         d S )Nr³   Úlocal_init_opÚtrainable_variablesÚ	variablesÚinit_opÚ	summaries)r   r‰  r�  rª  r5   )r+   rO   Úitems1Úitems2s       r   ÚtestMapItemszProto3Test.testMapItems¶  s˜   € õ
 Ô
"Ñ
$Ô
$€CØ-/€CÔ˜/Ñ*Ø35€CÔÐ/Ñ0Ø)+€CÔ˜+Ñ&Ø')€CÔ˜)Ñ$Ø)+€CÔ˜+Ñ&ØÔ"×(Ò(Ñ*Ô*€FØÔ"×(Ò(Ñ*Ô*€FØ×Ò�V˜VÑ$Ô$Ð$Ð$Ð$r
   c                 ó8  — d}t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d<   d|j        d	<   d
|j        d<   d
|j        d<   d|j        d<   d|j        d<   d|j        d<   |                      ||                     d¬¦  «        ¦  «         d S )Ns�   r
init_opdr

item1er

item2fr

item3gr
item4QQr
local_init_opar
	summarieser
trainable_variablesbr
	variablescró   rð  rõ   rñ  rô   rò  rÁ  ró  Úerô  Úitem1ÚfÚitem2ÚgÚitem3ÚQQÚitem4TrS   )r   r‰  r�  r5   r6   )r+   r9   rO   s      r   Ú!testMapDeterministicSerializationz,Proto3Test.testMapDeterministicSerializationÅ  s¾   € ð2€Kõ Ô
"Ñ
$Ô
$€CØ-0€CÔ˜/Ñ*Ø36€CÔÐ/Ñ0Ø),€CÔ˜+Ñ&Ø'*€CÔ˜)Ñ$Ø),€CÔ˜+Ñ&Ø%(€CÔ˜'Ñ"Ø%(€CÔ˜'Ñ"Ø%(€CÔ˜'Ñ"Ø%)€CÔ˜'Ñ"ð 	×Ò�[ #×"7Ò"7ÀdÐ"7Ñ"KÔ"KÑLÔLÐLÐLÐLr
   c                 óÔ   — t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d<   |j                             ¦   «         }~ddddœ}|                      ||¦  «         d S )NrI   r—   ræ   rÆ   rë  rì  )r   r‰  rŠ  rª  rg  )r+   rO   Úitrí  s       r   ÚtestMapIterationClearMessagez'Proto3Test.testMapIterationClearMessageâ  sy   € å
Ô
"Ñ
$Ô
$€Cà€CÔ˜ÑØ€CÔ˜ÑØ€CÔ˜Ñà	Ô	×	"Ò	"Ñ	$Ô	$€BØà˜a AÐ&Ð&€MØ×Ò˜R Ñ/Ô/Ð/Ð/Ð/r
   c                 óZ  — t          j        dddœ¬¦  «        }|                      d|j        d         ¦  «         |                      d|j        d         ¦  «         t          j        dt	          j        d¬¦  «        i¬	¦  «        }|                      d|j        d         j        ¦  «         d S )
Nr—   rI   )rH   rÆ   ©rŠ  rH   rÆ   rÊ   )rô   )r˜  )r   r‰  r5   rŠ  r   rP  r˜  rô   r  s     r   ÚtestMapConstructionzProto3Test.testMapConstructionð  s®   € Ý
Ô
"°q¸Q°<°<Ð
@Ñ
@Ô
@€CØ×Ò�Q˜Ô+¨AÔ.Ñ/Ô/Ð/Ø×Ò�Q˜Ô+¨AÔ.Ñ/Ô/Ð/å
Ô
"Ø#$¥lÔ&AÀAÐ&FÑ&FÔ&FÐ"GðIñ Iô I€Cà×Ò�Q˜Ô5°aÔ8Ô:Ñ;Ô;Ð;Ð;Ð;r
   c                 ó¶   — t          j        ¦   «         }d|j        d<   t          j        |j        ¬¦  «        }|                      d|j        d         ¦  «         d S )NrJ  rH   r  )r   r‰  rŠ  r5   r  s      r   ÚtestMapScalarFieldConstructionz)Proto3Test.testMapScalarFieldConstructionù  sW   € ÝÔ#Ñ%Ô%€DØ €DÔ˜ÑÝÔ#°DÔ4HÐIÑIÔI€DØ×Ò�R˜Ô-¨aÔ0Ñ1Ô1Ð1Ð1Ð1r
   c                 óÐ   — t          j        ¦   «         }d|j        d         _        t          j        |j        ¬¦  «        }|                      d|j        d         j        ¦  «         d S )NrJ  Útest©Úmap_string_foreign_message)r   r‰  r  rô   r5   r  s      r   ÚtestMapMessageFieldConstructionz*Proto3Test.testMapMessageFieldConstructionÿ  sg   € ÝÔ#Ñ%Ô%€DØ02€DÔ# FÔ+Ô-ÝÔ#Ø#'Ô#BðDñ Dô D€Dà×Ò�R˜Ô8¸Ô@ÔBÑCÔCÐCÐCÐCr
   c                 ó–   — |                       t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrH   r  )r$   rK   r   r‰  r½  s    r   ÚtestMapFieldRaisesCorrectErrorz)Proto3Test.testMapFieldRaisesCorrectError	  sŽ   € à	×	Ò	�9Ñ	%Ô	%ð =ð =ÝÔ¸!Ð<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s   ›>¾AÁAc                 ó.  — t          j        ¦   «         }|j        }d|d<   d|d<   d|d<   |                     d¦  «         |                      d|                     ¦   «         ¦  «         ddddœ}|                      |                     ¦   «         |¦  «         d S )	NrI   r—   ræ   rÆ   rë  rŠ  r
   rì  )r   r‰  rŠ  rf  r5   r6   rg  rª  )r+   rO   Ú	int32_maprí  s       r   ÚtestMapValidAfterFieldClearedz(Proto3Test.testMapValidAfterFieldCleared	  sŸ   € õ Ô
"Ñ
$Ô
$€CØÔ#€Ià€Iˆa�LØ€Iˆa�LØ€Iˆa�Là‡N‚NÐ$Ñ%Ô%Ð%Ø×Ò�S˜#×/Ò/Ñ1Ô1Ñ2Ô2Ð2Ø˜a AÐ&Ð&€MØ×Ò˜YŸ_š_Ñ.Ô.°Ñ>Ô>Ð>Ð>Ð>r
   c                 ó   — t          j        ¦   «         }|j        }d|d         _        |                     d¦  «         |                      d|                     ¦   «         ¦  «         |                      d|                     ¦   «         v ¦  «         d S )NrÊ   r—   r˜  r
   )	r   r‰  r˜  rô   rf  r5   r6   rˆ   r³  )r+   rO   Úint32_foreign_messages      r   Ú$testMessageMapValidAfterFieldClearedz/Proto3Test.testMessageMapValidAfterFieldCleared	  sˆ   € õ Ô
"Ñ
$Ô
$€CØÔ9Ðà!"Ð˜!ÔÔà‡N‚NÐ.Ñ/Ô/Ð/Ø×Ò�S˜#×/Ò/Ñ1Ô1Ñ2Ô2Ð2Ø‡O‚O�AÐ.×3Ò3Ñ5Ô5Ð5Ñ6Ô6Ð6Ð6Ð6r
   c                 ó(  — t          j        ¦   «         }d|j        d         _        t	          j        ¦   «         dk    r|j        }|j        d         }|                     ¦   «          d|j        d         _        |                      |j        d¦  «         d S )NÚbarr—   rÂ  r^  rÆ   )r   r‰  r²  rF  r   r!   r  r5   )r+   rO   Ú
unused_mapÚ	msg_values       r   Ú-testMessageMapItemValidAfterTopMessageClearedz8Proto3Test.testMessageMapItemValidAfterTopMessageCleared(	  s‹   € õ Ô
"Ñ
$Ô
$€CØ16€CÔ˜AÔÔ.åÔÑ Ô  EÒ)Ð)ð Ô*€jØÔ'¨Ô*€IØ‡I‚I�K„K€Kð 27€CÔ˜AÔÔ.Ø×Ò�YÔ.°Ñ6Ô6Ð6Ð6Ð6r
   c                 ó²  — t          j        ¦   «         }t          |j        ¦  «        }|                     d¦  «         |                      t          ¦  «        5  |D ]}Œ	 d d d ¦  «         n# 1 swxY w Y   t          |j        ¦  «        }|                     d¦  «         |                      t          ¦  «        5  |D ]}Œ	 d d d ¦  «         d S # 1 swxY w Y   d S )NrŠ  r˜  )r   r‰  rÚ  rŠ  rf  r$   rÛ  r˜  )r+   rO   r  r‘  s       r   Ú"testMapIterInvalidatedByClearFieldz-Proto3Test.testMapIterInvalidatedByClearField:	  si  € õ
 Ô
"Ñ
$Ô
$€Cå	ˆcÔ!Ñ	"Ô	"€Bà‡N‚NÐ$Ñ%Ô%Ð%Ø	×	Ò	�<Ñ	(Ô	(ð ð Øð ð ˆ!Øððð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ˆcÔ+Ñ	,Ô	,€BØ‡N‚NÐ.Ñ/Ô/Ð/Ø	×	Ò	�<Ñ	(Ô	(ð ð Øð ð ˆ!Øððð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÁA*Á*A.Á1A.Â8CÃCÃCc                 ó*  — t          j        ¦   «         }|                      dt          |j        ¦  «        ¦  «         d|j        d<   |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5  |j        d= d d d ¦  «         n# 1 swxY w Y   |j        d= |                      dt          |j        ¦  «        ¦  «         |                      t          ¦  «        5  |j        d= d d d ¦  «         d S # 1 swxY w Y   d S )Nr   ræ   rI   rH   rÀ  é    )r   r‰  r5   rB   rŠ  r$   ÚKeyErrorr²  r  s     r   ÚtestMapDeletezProto3Test.testMapDeleteN	  s„  € Ý
Ô
"Ñ
$Ô
$€Cà×Ò�Q�˜CÔ/Ñ0Ô0Ñ1Ô1Ð1à€CÔ˜ÑØ×Ò�Q�˜CÔ/Ñ0Ô0Ñ1Ô1Ð1à	×	Ò	�8Ñ	$Ô	$ð "ð "Ø
Ô
˜bÐ
!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð 	Ô˜AÐØ×Ò�Q�˜CÔ/Ñ0Ô0Ñ1Ô1Ð1à	×	Ò	�8Ñ	$Ô	$ð &ð &Ø
Ô
! "Ð
%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s$   Â	BÂB!Â$B!Ã2	DÄDÄDc                 ó|  — t          j        ¦   «         }|                      |j        t          j        j        ¦  «         |                      |j        t          j        j        ¦  «         |                      |j        t          j        j        ¦  «         |                      |j        t          j        j        ¦  «         d S r   )	r   r‰  r.  rŠ  r/  r0  ÚMappingÚMutableMappingr˜  r  s     r   ÚtestMapsAreMappingzProto3Test.testMapsAreMapping_	  s    € Ý
Ô
"Ñ
$Ô
$€CØ×Ò˜#Ô-­{¬Ô/FÑGÔGÐGØ×Ò˜#Ô-­{¬Ô/MÑNÔNÐNØ×Ò˜#Ô7Ý%œ/Ô1ñ3ô 3ð 3à×Ò˜#Ô7Ý%œ/Ô8ñ:ô :ð :ð :ð :r
   c                 óö   — t          j        ¦   «         }d|j        d<   |                      |j        |j        ¦  «         |                      |j        |j        ¦  «         |                      |j        d¦  «         d S )Nrœ  r„  r   )r   r‰  rŠ  r5   r˜  rÉ  r  s     r   ÚtestMapsComparezProto3Test.testMapsCompareh	  s{   € Ý
Ô
"Ñ
$Ô
$€CØ $€CÔ˜ÑØ×Ò�SÔ(¨#Ô*=Ñ>Ô>Ð>Ø×Ò�SÔ2ØÔ2ñ4ô 4ð 4à×Ò˜Ô+¨QÑ/Ô/Ð/Ð/Ð/r
   c                 óâ   — t          j        ¦   «         }d|j        d<   d|j        d<   d|j        d         _        |                      dt          |                     ¦   «         ¦  «        ¦  «         d S )Nro  r0  é@   é#   rÊ   r^  r   )	r   r‰  r�  rŠ  r  rô   r5   rB   r¡  r  s     r   Ú(testMapFindInitializationErrorsSmokeTestz3Proto3Test.testMapFindInitializationErrorsSmokeTestp	  sj   € Ý
Ô
"Ñ
$Ô
$€CØ#(€CÔ˜%Ñ Ø €CÔ˜ÑØ./€CÔ" 5Ô)Ô+Ø×Ò�Q�˜C×8Ò8Ñ:Ô:Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r
   zSkip for ucs2c                 óÂ  — d}t          j        ¦   «         }|                      t          ¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         dk    r)|                      dt          |j	        ¦  «        ¦  «         n(|                      dt          |j	        ¦  «        ¦  «         t          j        d¬¦  «         
                    ¦   «         }t          j        ¦   «         }|                     |¦  «         |                      |j        d¦  «         t          j        d¬¦  «        }|                      |j        d¦  «         d S )Ns   rí �r   rF  úError parsing messageu   ðŸ˜�©rF  u   í€�)r   r&   r$   rL   r  r   r!   r(   r)   r*   r6   r5   rF  )r+   r‹   rO   r.   rA  s        r   ÚtestStrictUtf8CheckzProto3Test.testStrictUtf8Checkw	  s€  € ð '€JÝ
#Ô
0Ñ
2Ô
2€CØ	×	Ò	�9Ñ	%Ô	%ð &¨Ø	×Ò˜*Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &åÔÑ Ô  HÒ,Ð,Ø
‡m‚mÐ%¥s¨7Ô+<Ñ'=Ô'=Ñ>Ô>Ð>Ð>à
‡m‚mÐ+­S°Ô1BÑ-CÔ-CÑDÔDÐDõ +Ô7Øð!ñ !ô !ß!2Ò!2Ñ!4Ô!4ð å$Ô1Ñ3Ô3€DØ×Ò˜Ñ$Ô$Ð$Ø×Ò�TÔ)¨7Ñ3Ô3Ð3å
#Ô
0ÀÐ
KÑ
KÔ
K€CØ×Ò�SÔ(¨)Ñ4Ô4Ð4Ð4Ð4s   °AÁAÁAc                 ó@  — |                       t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                       t          ¦  «        5  t          j        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nu   í �í°�r.  s   í �u   í �u   í �í �)r$   rÜ   r   r&   r½  s    r   ÚtestSurrogatesInPython3z"Proto3Test.testSurrogatesInPython3�	  sL  € à	×	Ò	�:Ñ	&Ô	&ð Nð NÝÔ,¸_ÐMÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nà	×	Ò	�:Ñ	&Ô	&ð Nð NÝÔ,¸_ÐMÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nà	×	Ò	�:Ñ	&Ô	&ð Hð HÝÔ,¸YÐGÑGÔGÐGðHð Hð Hñ Hô Hð Hð Hð Hð Hð Hð Høøøð Hð Hð Hð Hà	×	Ò	�:Ñ	&Ô	&ð Nð NÝÔ,¸_ÐMÑMÔMÐMðNð Nð Nñ Nô Nð Nð Nð Nð Nð Nð Nð Nøøøð Nð Nð Nð Nð Nð NsE   ›=½AÁAÁ"BÂBÂBÂ)CÃCÃCÃ0DÄDÄDN)1rW   rX   rY   rg  r  rm  r€  r‚  r”  rš  r£  r¦  r­  r°  r´  r¸  rB  rÊ  rÍ  rÏ  rÑ  rÖ  rØ  rÞ  rç  ré  rî  r÷  r  r  r  r	  r  r  r  r  r  r  r!  r%  r'  r+  ÚunittestÚskipIfÚsysÚ
maxunicodeÚUCS2_MAXUNICODEr/  r1  r   r
   r   ra  ra    s¿  € € € € € ð%ð %ð %ð7<ð 7<ð 7<ðr	:ð 	:ð 	:ðG.ð G.ð G.ðR:ð :ð :ð0.#ð .#ð .#ð`,ð ,ð ,ð28@ð 8@ð 8@ðt.ð .ð .ð&ð &ð &ð '<ð '<ð '<ðR(ð (ð (ð"
/ð 
/ð 
/ð=-ð =-ð =-ð~:9ð :9ð :9ðxð ð ðð ð ð;ð ;ð ;ð  ð  ð  ð, ð  ð  ð8ð ð ð"Gð Gð Gð8Hð Hð Hð&Ið Ið Ið%ð %ð %ðMð Mð Mð:0ð 0ð 0ð<ð <ð <ð2ð 2ð 2ðDð Dð Dð=ð =ð =ð
?ð ?ð ?ð 7ð 7ð 7ð7ð 7ð 7ð$ð ð ð(&ð &ð &ð":ð :ð :ð0ð 0ð 0ð=ð =ð =ð €8„?�3”> _Ò4°oÑFÔFð5ð 5ñ GÔFð5ð*	Nð 	Nð 	Nð 	Nð 	Nr
   ra  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚValidTypeNamesTestc                 ó†  ‡— t          t          |¦  «        ¦  «                             d¦  «        d         Šd|z  d|z  f}|                      t	          ˆfd„|D ¦   «         ¦  «        ‰›d|›�¦  «         ‰                     d¦  «        }|d         }d                     |d d…         ¦  «        }t          ||g¬	¦  «         d S )
Nú'rH   zRepeated%sContainerzRepeated%sFieldContainerc              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S r   )Úendswith)r¼   rf  Útp_names     €r   r‹  z:ValidTypeNamesTest.assertImportFromName.<locals>.<genexpr>¤	  s1   øè è € Ð5Ð5 AˆG×Ò˜QÑÔÐ5Ð5Ð5Ð5Ð5Ð5r
   z does end with any of ú.rÄ   )Úfromlist)r)   r÷  Úsplitrˆ   ÚanyÚjoinÚ
__import__)r+   rO   Ú	base_nameÚvalid_namesÚpartsÚ
class_nameÚmodule_namer=  s          @r   ÚassertImportFromNamez'ValidTypeNamesTest.assertImportFromNamež	  sÒ   ø€ å•$�s‘)”)‰nŒn×"Ò" 3Ñ'Ô'¨Ô*€GØ(¨9Ñ4Ø-°	Ñ9ð;€Kà‡O‚OÝÐ5Ð5Ð5Ð5¨Ð5Ñ5Ô5Ñ5Ô5Ø(/¨¨°°Ð=ñ?ô ?ð ?ð �MŠM˜#ÑÔ€EØ�r”€JØ—(’(˜5  " œ:Ñ&Ô&€KÝˆ{ j \Ð2Ñ2Ô2Ð2Ð2Ð2r
   c                 ó˜   — t          j        ¦   «         }|                      |j        d¦  «         |                      |j        d¦  «         d S )NÚScalarÚ	Composite)r   r&   rI  rÔ   r¿   )r+   r  s     r   ÚtestTypeNamesCanBeImportedz-ValidTypeNamesTest.testTypeNamesCanBeImported¬	  sH   € å	Ô	"Ñ	$Ô	$€BØ×Ò˜bÔ/°Ñ:Ô:Ð:Ø×Ò˜bÔ8¸+ÑFÔFÐFÐFÐFr
   N)rW   rX   rY   rI  rM  r   r
   r   r8  r8  ›	  s7   € € € € € ð3ð 3ð 3ðGð Gð Gð Gð Gr
   r8  c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚPackedFieldTestc                 óÞ  — |j                              d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j	                             d¦  «         |j
                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         d S )NrH   r¤  T)rÔ   rÀ   Úrepeated_int64Úrepeated_uint32Úrepeated_uint64Úrepeated_sint32Úrepeated_sint64Úrepeated_fixed32Úrepeated_fixed64Úrepeated_sfixed32Úrepeated_sfixed64r�   r‚   rù  r�  r  s     r   Ú
setMessagezPackedFieldTest.setMessage¶	  sJ  € ØÔ×!Ò! !Ñ$Ô$Ð$ØÔ×!Ò! !Ñ$Ô$Ð$ØÔ×"Ò" 1Ñ%Ô%Ð%ØÔ×"Ò" 1Ñ%Ô%Ð%ØÔ×"Ò" 1Ñ%Ô%Ð%ØÔ×"Ò" 1Ñ%Ô%Ð%ØÔ×#Ò# AÑ&Ô&Ð&ØÔ×#Ò# AÑ&Ô&Ð&ØÔ×$Ò$ QÑ'Ô'Ð'ØÔ×$Ò$ QÑ'Ô'Ð'ØÔ×!Ò! #Ñ&Ô&Ð&ØÔ×"Ò" 3Ñ'Ô'Ð'ØÔ× Ò  Ñ&Ô&Ð&ØÔ ×'Ò'¨Ñ*Ô*Ð*Ð*Ð*r
   c                 ó    — t          j        ¦   «         }|                      |¦  «         d}|                      | |j        ¦   «         ¦  «         d S )NsH   
"*2:   B       J   R       Z  €?b      ð?jr)r   r@   rZ  r5   r6   ©r+   r   r9   s      r   ÚtestPackedFieldsz PackedFieldTest.testPackedFieldsÆ	  sS   € Ý#Ô3Ñ5Ô5€GØ‡O‚O�GÑÔÐð#€Kð 	×Ò�[Ð"; 'Ô";Ñ"=Ô"=Ñ>Ô>Ð>Ð>Ð>r
   c                 ó    — t          j        ¦   «         }|                      |¦  «         d}|                      | |j        ¦   «         ¦  «         d S )Ns:    (0=   A       M   Q       ]  €?a      ð?hp)r   ÚTestUnpackedTypesrZ  r5   r6   r\  s      r   ÚtestUnpackedFieldsz"PackedFieldTest.testUnpackedFieldsÙ	  sS   € Ý#Ô5Ñ7Ô7€GØ‡O‚O�GÑÔÐð€Kð 	×Ò�[Ð"; 'Ô";Ñ"=Ô"=Ñ>Ô>Ð>Ð>Ð>r
   N)rW   rX   rY   rZ  r]  r`  r   r
   r   rO  rO  ³	  sA   € € € € € ð+ð +ð +ð ?ð ?ð ?ð&?ð ?ð ?ð ?ð ?r
   rO  r   z(explicit tests of the C++ implementationc                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚOversizeProtosTestc                 ó”   — t          j        ¦   «         }|}t          |¦  «        D ]	}|j        }Œ
d|_        |                     ¦   «         S )Nr   )r   ÚTestRecursiveMessagerŽ  ró   rŠ  r6   )r+   r  rO   Úsubr‘  s        r   ÚGenerateNestedProtoz&OversizeProtosTest.GenerateNestedProtoò	  sL   € Ý
Ô
+Ñ
-Ô
-€CØ
€CÝ�1‰XŒXð ð ˆØŒE€c€cØ€C„EØ× Ò Ñ"Ô"Ð"r
   c                 ó|   — t          j        ¦   «         }|                     |                      d¦  «        ¦  «         d S )NrB  )r   rd  r3   rf  r  s     r   ÚtestSucceedOkSizedProtoz*OversizeProtosTest.testSucceedOkSizedProtoú	  s8   € Ý
Ô
+Ñ
-Ô
-€CØ×Ò˜×0Ò0°Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r
   c                 óx  — t           j                             d¦  «         t          j        ¦   «         }|                      t          j        ¦  «        5 }|                     |  	                    d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   |  
                    dt          |j        ¦  «        ¦  «         d S )NFée   r-  )r   Ú	_c_moduleÚSetAllowOversizeProtosr   rd  r$   r   rN   r3   rf  r(   r)   r*   )r+   rO   r.   s      r   ÚtestAssertOversizeProtoz*OversizeProtosTest.testAssertOversizeProtoþ	  sØ   € ÝÔ ×7Ò7¸Ñ>Ô>Ð>Ý
Ô
+Ñ
-Ô
-€CØ	×	Ò	�7Ô.Ñ	/Ô	/ð 9°7Ø	×Ò˜$×2Ò2°3Ñ7Ô7Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9à‡M‚MÐ)­3¨wÔ/@Ñ+AÔ+AÑBÔBÐBÐBÐBs   Á)BÂBÂBc                 óº   — t           j                             d¦  «         t          j        ¦   «         }|                     |                      d¦  «        ¦  «         d S )NTrj  )r   rk  rl  r   rd  r3   rf  r  s     r   ÚtestSucceedOversizeProtoz+OversizeProtosTest.testSucceedOversizeProto
  sO   € ÝÔ ×7Ò7¸Ñ=Ô=Ð=Ý
Ô
+Ñ
-Ô
-€CØ×Ò˜×0Ò0°Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r
   N)rW   rX   rY   rf  rh  rm  ro  r   r
   r   rb  rb  í	  sS   € € € € € ð
#ð #ð #ð7ð 7ð 7ðCð Cð Cð7ð 7ð 7ð 7ð 7r
   rb  Ú__main__)+rÁ  Ú
__author__r/  r7   r~   r  rj   rY  r4  r2  ÚwarningsÚcmpÚgoogle.protobufr   r   r   r   r   Úgoogle.protobuf.internalr   r   r   r   r   r   r   r   r   r6  ÚsimplefilterÚDeprecationWarningÚnamed_parametersÚTestCaser   rþ  ra  r8  rO  r3  r!   rb  rW   Úmainr   r
   r   ú<module>r{     s´  ðð@	ð 	ð 1€
à Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€à$Ð$€à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø (Ð (Ð (Ð (Ð (Ð (Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø &Ð &Ð &Ð &Ð &Ð &Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø :Ð :Ð :Ð :Ð :Ð :Ø .Ð .Ð .Ð .Ð .Ð .Ø =Ð =Ð =Ð =Ð =Ð =Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø #Ð #Ð #Ð #Ð #Ð #Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à€à €Ô �gÐ1Ñ 2Ô 2Ð 2ð !€Ô  )¨\Ð!:Ø!*Ð,EÐ FñHô HàÔðX/ð X/ð X/ð X/ð X/�(Ô#ñ X/ô X/ñ ÔñHô HðX/ðx$ ÔðULð ULð ULð ULð UL�Ô"ñ ULô ULñ ÔðULðr ÔðONð ONð ONð ONð ON�Ô"ñ ONô ONñ ÔðONðh ÔðGð Gð Gð Gð G˜Ô*ñ Gô Gñ ÔðGð. Ôð6?ð 6?ð 6?ð 6?ð 6?�hÔ'ñ 6?ô 6?ñ Ôð6?ðr €„Ð(Ð#Ô(Ñ*Ô*¨hÒ6Ø;ñ=ô =àÔð7ð 7ð 7ð 7ð 7˜Ô*ñ 7ô 7ñ Ôñ=ô =ð7ð6 ˆzÒÐØ€(„-�/„/€/€/€/ð Ðr
   