§
    L˜ºh×  ã                   ó<  — 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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dlmZ ddlmZ ddlmZ ddlmZ  ej        de¦  «          G d„ de¦  «        Z 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!         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,d.k    r ej-        ¦   «          dS dS )/ziUnittest for reflection.py, which also indirectly tests the output of the
pure-Python protocol compiler.
é    N)Úunittest_import_pb2)Úunittest_mset_pb2)Úunittest_pb2)Úunittest_proto3_arena_pb2)Údescriptor_pb2)Ú
descriptor)Úmessage)Ú
reflection)Útext_format)Úapi_implementation)Úmore_extensions_pb2)Úmore_messages_pb2)Úmessage_set_extensions_pb2)Úwire_format)Ú	test_util)Útesting_refleaks)Údecoder)Ú_parameterizedÚerrorc                   óP   — e Zd ZdZd„ Zd„ ZeZeZeZeZ	d„ Z
e
Zd„ Zd„ Zd„ Zd„ Zd	S )
Ú_MiniDecodera©  Decodes a stream of values from a string.

  Once upon a time we actually had a class called decoder.Decoder.  Then we
  got rid of it during a redesign that made decoding much, much faster overall.
  But a couple tests in this file used it to check that the serialized form of
  a message was correct.  So, this class implements just the methods that were
  used by said tests, so that we don't have to rewrite the tests.
  c                 ó"   — || _         d| _        d S ©Nr   )Ú_bytesÚ_pos)ÚselfÚbytess     úp/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/google/protobuf/internal/reflection_test.pyÚ__init__z_MiniDecoder.__init__M   s   € Ø€D„KØ€D„I€I€Ió    c                 óT   — t          j        | j        | j        ¦  «        \  }| _        |S ©N)r   Ú_DecodeVarintr   r   ©r   Úresults     r   Ú
ReadVarintz_MiniDecoder.ReadVarintQ   s$   € ÝÔ-¨d¬k¸4¼9ÑEÔEÑ€FˆDŒIØ€Mr    c                 óN   — t          j        |                      ¦   «         ¦  «        S r"   )r   ÚZigZagDecoder&   ©r   s    r   Ú
ReadSInt64z_MiniDecoder.ReadSInt64Z   s   € ÝÔ# D§O¢OÑ$5Ô$5Ñ6Ô6Ð6r    c                 óN   — t          j        |                      ¦   «         ¦  «        S r"   )r   Ú	UnpackTagr&   r)   s    r   ÚReadFieldNumberAndWireTypez'_MiniDecoder.ReadFieldNumberAndWireType_   s   € ÝÔ  §¢Ñ!2Ô!2Ñ3Ô3Ð3r    c                 ó�   — t          j        d| j        | j        | j        dz   …         ¦  «        d         }| xj        dz  c_        |S )Nz<fé   r   ©ÚstructÚunpackr   r   r$   s     r   Ú	ReadFloatz_MiniDecoder.ReadFloatb   ó@   € ÝŒ]˜4 ¤¨T¬Y°t´yÀ±{Ð-BÔ!CÑDÔDÀQÔG€FØ€I„I��N€I„IØ€Mr    c                 ó�   — t          j        d| j        | j        | j        dz   …         ¦  «        d         }| xj        dz  c_        |S )Nz<dé   r   r0   r$   s     r   Ú
ReadDoublez_MiniDecoder.ReadDoubleg   r4   r    c                 ó<   — | j         t          | j        ¦  «        k    S r"   )r   Úlenr   r)   s    r   ÚEndOfStreamz_MiniDecoder.EndOfStreaml   s   € ØŒ9�˜DœKÑ(Ô(Ò(Ð(r    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   Ú	ReadInt32Ú	ReadInt64Ú
ReadUInt32Ú
ReadUInt64r*   Ú
ReadSInt32r-   r3   r7   r:   © r    r   r   r   C   s¤   € € € € € ðð ðð ð ðð ð ð €)Ø€)Ø€*Ø€*ð7ð 7ð 7ð €*ð4ð 4ð 4ðð ð ð
ð ð ð
)ð )ð )ð )ð )r    r   Ú_proto2Ú_proto3c                   ó"  — 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/S )0ÚReflectionTestc                 óè   — |                       t          |¦  «        t          |¦  «        ¦  «         t          t          |¦  «        ¦  «        D ]$}|                       ||         ||         ¦  «         Œ%d S r"   ©ÚassertEqualr9   Úrange©r   ÚvaluesÚothersÚis       r   ÚassertListsEqualzReflectionTest.assertListsEqualv   ól   € Ø×Ò•S˜‘[”[¥# f¡+¤+Ñ.Ô.Ð.Ý•3�v‘;”;ÑÔð -ð -ˆØ
×Ò�v˜a”y &¨¤)Ñ,Ô,Ð,Ð,ð-ð -r    c                 ó@  — |                      dddd ¬¦  «        }|                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |t
          u r*|                      |                     d¦  «        ¦  «         d S d S )Né   ç+‡)K@Úoptional_string)Úoptional_int32Úoptional_doublerV   Úoptional_floatrY   )ÚTestAllTypesrK   rW   rX   rV   r   ÚassertFalseÚHasField©r   Úmessage_moduleÚprotos      r   ÚtestScalarConstructorz$ReflectionTest.testScalarConstructor{   s°   € à×'Ò'ØØØ)Øð	 (ñ ô €Eð 	×Ò�R˜Ô-Ñ.Ô.Ð.Ø×Ò�V˜UÔ2Ñ3Ô3Ð3Ø×ÒÐ&¨Ô(=Ñ>Ô>Ð>Ø�Ð%Ð%Ø
×Ò�u—~’~Ð&6Ñ7Ô7Ñ8Ô8Ð8Ð8Ð8ð &Ð%r    c                 óæ  — |                      g d¢ddgg d¢dgd ¬¦  «        }|                      g d¢t          |j        ¦  «        ¦  «         |                      ddgt          |j        ¦  «        ¦  «         |                      g d¢t          |j        ¦  «        ¦  «         |                      dgt          |j        ¦  «        ¦  «         |                      g t          |j        ¦  «        ¦  «         d S )N©é   é   é   r/   ç®Gáz®ó?rU   ©TFFrV   )Úrepeated_int32Úrepeated_doubleÚrepeated_boolÚrepeated_stringÚrepeated_float)rZ   rK   Úlistrh   ri   rj   rk   rl   r]   s      r   ÚtestRepeatedScalarConstructorz,ReflectionTest.testRepeatedScalarConstructor‰   sü   € à×'Ò'Ø#�|�|Ø˜v˜Ø*Ð*Ð*Ø*Ð+Øð (ñ ô €Eð 	×Ò�\�\�\¥4¨Ô(<Ñ#=Ô#=Ñ>Ô>Ð>Ø×Ò�d˜F�^¥T¨%Ô*?Ñ%@Ô%@ÑAÔAÐAØ×ÒÐ)Ð)Ð)­4°Ô0CÑ+DÔ+DÑEÔEÐEØ×ÒÐ'Ð(­$¨uÔ/DÑ*EÔ*EÑFÔFÐFØ×Ò�R�˜eÔ2Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4r    c                 óf  — |                      ddddgg d¢|j                              |j         j        ¬¦  «        |j                              |j         j        ¬¦  «        g|                     d¬¦  «        |                     d	¬¦  «        |                     d
¬¦  «        gd ¬¦  «        }|                      d|j        ¦  «         |                      d|j        ¦  «         |                      ddgt          |j	        ¦  «        ¦  «         |                      g d¢t          |j
        ¦  «        ¦  «         |                      |j                              |j         j        ¬¦  «        |j                              |j         j        ¬¦  «        gt          |j        ¦  «        ¦  «         |                      |                     d¬¦  «        |                     d	¬¦  «        |                     d
¬¦  «        gt          |j        ¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d S )NrT   rV   rf   rU   rg   ©ÚbbéÕÿÿÿ©Úcé±  é   )rW   rV   ri   rj   Úrepeated_nested_messageÚrepeated_foreign_messageÚoptional_nested_messagery   )rZ   ÚNestedMessageÚFOOÚBARÚForeignMessagerK   rW   rV   rm   ri   rj   rw   rx   r[   r\   r]   s      r   ÚtestMixedConstructorz#ReflectionTest.testMixedConstructor˜   sR  € à×'Ò'ØØ)Ø˜v˜Ø*Ð*Ð*àÔ'×5Ò5Ø!Ô.Ô2ð 6ñ 4ô 4àÔ'×5Ò5Ø!Ô.Ô2ð 6ñ 4ô 4ð!5ð ×)Ò)¨CÐ)Ñ0Ô0Ø×)Ò)¨EÐ)Ñ2Ô2Ø×)Ò)¨BÐ)Ñ/Ô/ð"1ð !%ð (ñ &ô &€Eð  	×Ò�R˜Ô-Ñ.Ô.Ð.Ø×ÒÐ&¨Ô(=Ñ>Ô>Ð>Ø×Ò�d˜F�^¥T¨%Ô*?Ñ%@Ô%@ÑAÔAÐAØ×ÒÐ)Ð)Ð)­4°Ô0CÑ+DÔ+DÑEÔEÐEØ×ÒØ	Ô	$×	2Ò	2ØÔ*Ô.ð 
3ñ 
0ô 
0à	Ô	$×	2Ò	2ØÔ+Ô/ð 
3ñ 
1ô 
1ð	2õ 	ˆUÔ*Ñ+Ô+ñ-ô -ð -ð 	×ÒØ	×	&Ò	&¨Ð	&Ñ	-Ô	-Ø	×	&Ò	&¨Ð	&Ñ	/Ô	/Ø	×	&Ò	&¨Ð	&Ñ	,Ô	,ð	.õ 	ˆUÔ+Ñ,Ô,ñ	.ô .ð .ð
 	×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r    c                 óp  — |                       t          |j        d¬¦  «         |                       t          |j        d¬¦  «         |                       t          |j        d¬¦  «         |                       t          |j        d¬¦  «         |                       t          |j        dg¬¦  «         |                       t          |j        d¬¦  «         |                       t          |j        dg¬¦  «         |                       t          |j        d¬¦  «         |                       t          |j        dg¬¦  «         d S )	NÚfoo©rW   éÒ  )rV   ©ry   ©rh   )rk   ©rw   )ÚassertRaisesÚ	TypeErrorrZ   ©r   r^   s     r   ÚtestConstructorTypeErrorz'ReflectionTest.testConstructorTypeError»   sŽ  € Ø×ÒÝ�>Ô.¸uð ñ Fô Fð Fà×ÒÝ�>Ô.Àð ñ Fô Fð Fà×ÒÝ�>Ô.Èð ñ Nô Nð Nà×ÒÝ�>Ô.¸tð ñ Eô Eð Eà×ÒÝ�>Ô.À¸wð ñ Hô Hð Hà×ÒÝ�>Ô.Àð ñ Fô Fð Fà×ÒÝ�>Ô.ÀÀð ñ Hô Hð Hà×ÒÝ�>Ô.Èð ñ Nô Nð Nà×ÒÝ�>Ô.ÈÈð ñ Pô Pð Pð Pð Pr    c                 ó@  — |                      d¬¦  «        }|                      d |j        ¦   «         ¦  «         |                      |j                              ¦   «         ¬¦  «        }|                      d |j        ¦   «         ¦  «         |                      dg¬¦  «        }|t          u r#|                      d |j        ¦   «         ¦  «         |                      |j                              ¦   «         g¬¦  «        }|                      d |j        ¦   «         ¦  «         d S )Nrv   r�   rd   rƒ   re   r„   r…   )rZ   rK   ÚByteSizerz   r   )r   r^   r	   s      r   Ú(testConstructorInvalidatesCachedByteSizez7ReflectionTest.testConstructorInvalidatesCachedByteSizeÏ   s(  € Ø×)Ò)¸Ð)Ñ<Ô<€GØ×Ò�QÐ(˜Ô(Ñ*Ô*Ñ+Ô+Ð+à×)Ò)Ø .Ô ;× IÒ IÑ KÔ Kð *ñ Mô M€Gà×Ò�QÐ(˜Ô(Ñ*Ô*Ñ+Ô+Ð+à×)Ò)¸"¸Ð)Ñ>Ô>€Gà�Ð%Ð%Ø
×Ò�qÐ*˜'Ô*Ñ,Ô,Ñ-Ô-Ð-à×)Ò)Ø!/Ô!<×!JÒ!JÑ!LÔ!LÐ Mð *ñ Oô O€Gà×Ò�QÐ(˜Ô(Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r    c                 óL   — |                      ¦   «         }|j        }~d|_        d S ©Né   )rZ   ry   rq   ©r   r^   r_   Únesteds       r   ÚtestReferencesToNestedMessagez,ReflectionTest.testReferencesToNestedMessageà   s+   € Ø×'Ò'Ñ)Ô)€EØÔ*€FØð €F„I€I€Ir    c                 ó¼  — |                      ¦   «         }d|_        d|j        _        |                      d|j        j        ¦  «         |                      |                     d¦  «        ¦  «         |j        }d|_        |                      d|j        ¦  «         |                      d|j        ¦  «         |                      |                     d¦  «        ¦  «         d S )Né
   é   Úoneof_uint32ÚabcÚoneof_nested_message)rZ   r–   r˜   rq   rK   r[   r\   Úoneof_stringr�   s       r   Ú	testOneOfzReflectionTest.testOneOfè   sÊ   € Ø×'Ò'Ñ)Ô)€EØ€EÔØ$&€EÔÔ!Ø×Ò�R˜Ô3Ô6Ñ7Ô7Ð7Ø×Ò�U—^’^ NÑ3Ô3Ñ4Ô4Ð4ØÔ'€FØ€EÔØ×Ò�U˜EÔ.Ñ/Ô/Ð/Ø×Ò�R˜œÑ#Ô#Ð#Ø×Ò�U—^’^Ð$:Ñ;Ô;Ñ<Ô<Ð<Ð<Ð<r    c                 óÆ   — |                      ¦   «         }|j        }|                     d¦  «         ~~t          j        ¦   «          |                      ¦   «         }|j        }d S ©Nry   )rZ   ry   Ú
ClearFieldÚgcÚcollectr�   s       r   Ú5testGetDefaultMessageAfterDisconnectingDefaultMessagezDReflectionTest.testGetDefaultMessageAfterDisconnectingDefaultMessageô   s`   € à×'Ò'Ñ)Ô)€EØÔ*€FØ	×ÒÐ.Ñ/Ô/Ð/ØØõ „J�L„L€LØ×'Ò'Ñ)Ô)€EØÔ*€F€F€Fr    c                 ó  — |                      ¦   «         }|j        }d|_        |                      |                     d¦  «        ¦  «         |                     d¦  «         |                      d|j        ¦  «         |                      d|j        j        ¦  «         |                      ||j        ¦  «         d|_        |                      |                     d¦  «        ¦  «         |                      d|j        j        ¦  «         d S )Né   ry   r   r�   )	rZ   ry   rq   Ú
assertTruer\   r�   rK   ÚassertIsNotr[   r�   s       r   Ú/testDisconnectingNestedMessageAfterSettingFieldz>ReflectionTest.testDisconnectingNestedMessageAfterSettingField  sí   € Ø×'Ò'Ñ)Ô)€EØÔ*€FØ€F„IØ‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>Ø	×ÒÐ.Ñ/Ô/Ð/Ø×Ò�Q˜œ	Ñ"Ô"Ð"Ø×Ò�Q˜Ô5Ô8Ñ9Ô9Ð9Ø×Ò�V˜UÔ:Ñ;Ô;Ð;Ø€F„IØ×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ø×Ò�Q˜Ô5Ô8Ñ9Ô9Ð9Ð9Ð9r    c                 óø   — |                      ¦   «         }|                      |                     d¦  «        ¦  «         |                     d¦  «         |                      |                     d¦  «        ¦  «         d S rœ   )rZ   r[   r\   r�   r]   s      r   Ú0testDisconnectingNestedMessageBeforeGettingFieldz?ReflectionTest.testDisconnectingNestedMessageBeforeGettingField  sp   € Ø×'Ò'Ñ)Ô)€EØ×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ø	×ÒÐ.Ñ/Ô/Ð/Ø×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r    c                 ób  — |                      ¦   «         }|                      ¦   «         }d|j        _        |                     |¦  «         |                      |                     d¦  «        ¦  «         |                     d¦  «         |                      |                     d¦  «        ¦  «         d S ©Nr¢   ry   )rZ   ry   rq   Ú	MergeFromr£   r\   r�   r[   ©r   r^   Úproto1Úproto2s       r   Ú(testDisconnectingNestedMessageAfterMergez7ReflectionTest.testDisconnectingNestedMessageAfterMerge  s    € ð
 ×(Ò(Ñ*Ô*€FØ×(Ò(Ñ*Ô*€FØ()€FÔ"Ô%Ø
×Ò�VÑÔÐØ‡O‚O�F—O’OÐ$=Ñ>Ô>Ñ?Ô?Ð?Ø
×ÒÐ/Ñ0Ô0Ð0Ø×Ò�V—_’_Ð%>Ñ?Ô?Ñ@Ô@Ð@Ð@Ð@r    c                 óÊ   — t          j        ¦   «         dk    rd S |                     ¦   «         }d|j        _        |                     d¦  «         ~t          j        ¦   «          d S )NÚpythonr¢   Úoptional_lazy_message)r   ÚTyperZ   r±   rq   r�   rž   rŸ   r]   s      r   Ú"testDisconnectingLazyNestedMessagez1ReflectionTest.testDisconnectingLazyNestedMessage"  s`   € õ
 ÔÑ Ô  HÒ,Ð,Ø€fØ×'Ò'Ñ)Ô)€EØ%&€EÔÔ"Ø	×ÒÐ,Ñ-Ô-Ð-ØÝ„J�L„L€L€L€Lr    c                 ó(  — |                      ¦   «         }d|_        d|_        d|_        |j        }|                      |j        j        d         df|j        j        d         df|j        j        d         dfg|                     ¦   «         ¦  «         d|j        _	        |                      |j        j        d         df|j        j        d         df|j        j        d         df|j        j        d         |fg|                     ¦   «         ¦  «         d S )	Nrc   r¢   r€   rW   Úoptional_fixed32rV   é{   ry   )
rZ   rµ   rW   rV   ry   rK   Ú
DESCRIPTORÚfields_by_nameÚ
ListFieldsrq   )r   r^   r_   Únested_messages       r   ÚtestSingularListFieldsz%ReflectionTest.testSingularListFields/  s6  € Ø×'Ò'Ñ)Ô)€EØ€EÔØ€EÔØ!€EÔàÔ2€NØ×ÒØ	Ô	Ô	(Ð)9Ô	<¸aÐ@Ø	Ô	Ô	(Ð);Ô	<¸aÐ@Ø	Ô	Ô	(Ð):Ô	<¸eÐDðGð ×ÒÑÔñ	ô ð ð (+€EÔ!Ô$Ø×ÒØ	Ô	Ô	(Ð)9Ô	<¸aÐ@Ø	Ô	Ô	(Ð);Ô	<¸aÐ@Ø	Ô	Ô	(Ð):Ô	<¸eÐDØ	Ô	Ô	(Ð)BÔ	DØð	ðð
 ×ÒÑÔñô ð ð ð r    c                 óÚ  — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             ddg¦  «         |j                             g ¦  «         |j                             d¦  «         |j                             d„ t          d¦  «        D ¦   «         ¦  «         d	|_        |j         |  	                    |j
        j        d
         d	f|j
        j        d         ddgf|j
        j        d         dgf|j
        j        d         g d¢fg|                     ¦   «         ¦  «         d S )Nrc   r¢   r•   r€   ÚbarÚbazc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r"   )Ústr)Ú.0Úxs     r   ú	<genexpr>z8ReflectionTest.testRepeatedListFields.<locals>.<genexpr>M  s(   è è € Ð :Ð :¨A¥ Q¡¤Ð :Ð :Ð :Ð :Ð :Ð :r    rd   é   rW   rh   Úrepeated_fixed32rk   )r€   r½   r¾   Ú0Ú1)rZ   rÅ   Úappendrh   rk   ÚextendrL   rW   rj   rK   r·   r¸   r¹   r]   s      r   ÚtestRepeatedListFieldsz%ReflectionTest.testRepeatedListFieldsE  su  € Ø×'Ò'Ñ)Ô)€EØ	Ô×!Ò! !Ñ$Ô$Ð$Ø	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ#Ô#Ð#Ø	Ô× Ò  %¨ Ñ0Ô0Ð0Ø	Ô× Ò  Ñ$Ô$Ð$Ø	Ô× Ò  Ñ'Ô'Ð'Ø	Ô× Ò Ð :Ð :µ°q±´Ð :Ñ :Ô :Ñ:Ô:Ð:Ø€EÔØ	ÔÐØ×ÒØ	Ô	Ô	(Ð)9Ô	<¸bÐAØ	Ô	Ô	(Ð)9Ô	<¸qÀ"¸gÐFØ	Ô	Ô	(Ð);Ô	<¸q¸cÐBØ	Ô	Ô	(Ð):Ô	<Ø
)Ð
)Ð
)ð	+ð-ð
 ×ÒÑÔñô ð ð ð r    c                 ó²   — |                      ¦   «         }|                      t          |j        d¦  «         |                      t          |j        d¦  «         d S )NÚnonexistent_fields   nonexistent_field)rZ   r†   Ú
ValueErrorr�   r]   s      r   Ú"testClearFieldWithUnknownFieldNamez1ReflectionTest.testClearFieldWithUnknownFieldNameX  sQ   € Ø×'Ò'Ñ)Ô)€EØ×Ò•j %Ô"2Ð4GÑHÔHÐHØ×Ò•j %Ô"2Ð4HÑIÔIÐIÐIÐIr    c                 óè  — |                      ¦   «         }|                      t          t          |dd¦  «         |                      t          t          |ddg¦  «         |                      t          t          |dd¦  «         |                      t          t          |j        dd¦  «         |                      t          t          |j        dd¦  «         |                      t          t          |dd¦  «         d S )	Nrh   r”   ry   r�   rq   é"   Úsome_attributerÌ   )rZ   r†   ÚAttributeErrorÚsetattrrw   rl   r]   s      r   ÚtestDisallowedAssignmentsz(ReflectionTest.testDisallowedAssignments]  sé   € ð ×'Ò'Ñ)Ô)€Eà×Ò•n¥g¨uÐ6FÈÑKÔKÐKà×Ò•n¥g¨uÐ6FÈÈÑMÔMÐMà×Ò•n¥g¨uØ/°ñ5ô 5ð 5ð 	×Ò•n¥g¨uÔ/LØ˜Bñ ô  ð  ð 	×Ò•n¥g¨uÔ/CØ&¨ñ,ô ,ð ,ð 	×Ò•n¥g¨uÐ6IÈ2ÑNÔNÐNÐNÐNr    c                 óê  — |                      ¦   «         }|                      t          t          |dd¦  «         |                      t          t          |dd¦  «         |                      t          t          |dd¦  «         |                      t          t          |dd¦  «         |                      t          t          |dd¦  «         |                      t          t          |dd¦  «         |                      t          t          |d	d¦  «         t	          j        ¦   «         d
k    s&t          j        j        t          j        j	        fdk    r%|                      t          t          |dd¦  «         d S d|_
        d S )NrW   çš™™™™™ñ?r€   rV   r”   Úoptional_bytesÚoptional_boolrY   rX   r°   )re   r”   )rZ   r†   r‡   rÓ   r   r²   ÚsysÚversion_infoÚmajorÚminorrØ   r]   s      r   ÚtestSingleScalarTypeSafetyz)ReflectionTest.testSingleScalarTypeSafetyr  s=  € Ø×'Ò'Ñ)Ô)€EØ×Ò•i¥¨%Ð1AÀ3ÑGÔGÐGØ×Ò•i¥¨%Ð1AÀ5ÑIÔIÐIØ×Ò•i¥¨%Ð1BÀBÑGÔGÐGØ×Ò•i¥¨%Ð1AÀ2ÑFÔFÐFØ×Ò•i¥¨%°À%ÑHÔHÐHØ×Ò•i¥¨%Ð1AÀ5ÑIÔIÐIØ×Ò•i¥¨%Ð1BÀEÑJÔJÐJåÔÑ!Ô! XÒ-Ð-Ý	Ô	Ô	¥Ô!1Ô!7Ð8¸GÒCÐCØ
×Ò�	¥7¨E°?ÀCÑHÔHÐHÐHÐHà€eÔÐÐr    c                 ól  ‡ ‡‡— ˆˆˆ fd„} |ddt           ¦  «          |ddt           ¦  «          |ddt           ¦  «         t           }t          j        d¦  «        dk    r |dd|¦  «         n |ddt           ¦  «          |d	d|¦  «          |d	d
|¦  «          |dd|¦  «          |dd
|¦  «         dS )z½Verifies setting of scalar integers.

    Args:
      integer_fn: A function to wrap the integers that will be assigned.
      message_module: unittest_pb2 or unittest_proto3_arena_pb2
    c                 ón  •— ‰                      ¦   «         } ‰|¦  «        }t          || |¦  «         ‰                     t          || ¦  «        |¦  «         ‰                      ¦   «         }|                     |                     ¦   «         ¦  «         ‰                     t          || ¦  «        |¦  «         d S r"   )rZ   rÓ   ÚassertIsInstanceÚgetattrÚParseFromStringÚSerializeToString)Ú
field_nameÚvalueÚexpected_typer_   r­   Ú
integer_fnr^   r   s        €€€r   ÚTestGetAndDeserializez@ReflectionTest.assertIntegerTypes.<locals>.TestGetAndDeserialize‰  s¬   ø€ Ø×)Ò)Ñ+Ô+€eØˆj˜ÑÔ€eÝˆe�Z Ñ'Ô'Ð'Ø
×Ò�G E¨:Ñ6Ô6¸ÑFÔFÐFØ×*Ò*Ñ,Ô,€fØ×Ò˜U×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø
×Ò�G F¨JÑ7Ô7¸ÑGÔGÐGÐGÐGr    rW   rc   i   @Úoptional_uint32ÚLr/   l        Úoptional_int64l            Úoptional_uint64N)Úintr1   Úcalcsize)r   rç   r^   rè   Ú
integer_64s   ```  r   ÚassertIntegerTypesz!ReflectionTest.assertIntegerTypes‚  s  øøø€ ðHð Hð Hð Hð Hð Hð Hð ÐÐ*¨A­sÑ3Ô3Ð3ØÐÐ*¨GµSÑ9Ô9Ð9ØÐÐ+¨WµcÑ:Ô:Ð:Ý€JÝ„�sÑÔ˜qÒ Ð ð ÐÐ-¨w¸
ÑCÔCÐCÐCð ÐÐ-¨w½Ñ<Ô<Ð<ØÐÐ*¨G°ZÑ@Ô@Ð@ØÐÐ*¨G°ZÑ@Ô@Ð@ØÐÐ+¨W°jÑAÔAÐAØÐÐ+¨W°jÑAÔAÐAÐAÐAr    c                 ó4   — |                       d„ |¦  «         d S )Nc                 ó   — | S r"   rD   ©rÂ   s    r   ú<lambda>z1ReflectionTest.testIntegerTypes.<locals>.<lambda>£  s   €  a€ r    )rð   rˆ   s     r   ÚtestIntegerTypeszReflectionTest.testIntegerTypes¢  s    € Ø×Ò˜K˜K¨Ñ8Ô8Ð8Ð8Ð8r    c                 óF   — |                       t          j        |¦  «         d S r"   )rð   r   ÚNonStandardIntegerrˆ   s     r   ÚtestNonStandardIntegerTypesz*ReflectionTest.testNonStandardIntegerTypes¥  s!   € Ø×Ò�IÔ8¸.ÑIÔIÐIÐIÐIr    c                 ó<  — |                      ¦   «         }|                      t          ¦  «        5  d|_        d d d ¦  «         n# 1 swxY w Y   |                      t
          d¦  «        5  t          j        dd¦  «        |_        d d d ¦  «         d S # 1 swxY w Y   d S )NÚ2Úmy_errorr¢   )rZ   r†   r‡   rì   ÚassertRaisesRegexÚRuntimeErrorr   r÷   )r   r^   Úpbs      r   ÚtestIllegalValuesForIntegersz+ReflectionTest.testIllegalValuesForIntegers¨  s+  € Ø	×	$Ò	$Ñ	&Ô	&€Bð 
×	Ò	�9Ñ	%Ô	%ð ð Ø€bÔðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
×	Ò	¥¨jÑ	9Ô	9ð Gð GÝ$Ô7¸¸:ÑFÔF€bÔðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs#   ¯AÁAÁ
AÁ)BÂBÂBc                 óº  ‡ ‡‡— ˆˆˆ fd„} |ddd¦  «          |ddd¦  «          |dd	d
¦  «          |ddd¦  «         ‰                      ¦   «         }‰                      t          t          f¦  «        5   ‰d	¦  «        |_        ddd¦  «         n# 1 swxY w Y   ‰                      ¦   «         } ‰d¦  «        |_        ‰                      d|j        ¦  «         dS )zÌVerifies bounds checking for scalar integer fields.

    Args:
      integer_fn: A function to wrap the integers that will be assigned.
      message_module: unittest_pb2 or unittest_proto3_arena_pb2
    c                 óä  •— ‰                      ¦   «         } ‰|¦  «        } ‰|¦  «        }t          || |¦  «         ‰                     |t          || ¦  «        ¦  «         t          || |¦  «         ‰                     |t          || ¦  «        ¦  «         ‰                     t
          t          ft          || |dz
  ¦  «         ‰                     t
          t          ft          || |dz   ¦  «         d S ©Nrc   )rZ   rÓ   rK   rá   r†   rÍ   r‡   )rä   Úexpected_minÚexpected_maxrþ   rç   r^   r   s       €€€r   ÚTestMinAndMaxIntegerszHReflectionTest.assetIntegerBoundsChecking.<locals>.TestMinAndMaxIntegersº  sú   ø€ Ø×&Ò&Ñ(Ô(€bØ�Z Ñ-Ô-€lØ�Z Ñ-Ô-€lÝˆb�*˜lÑ+Ô+Ð+Ø
×Ò�|¥W¨R°Ñ%<Ô%<Ñ=Ô=Ð=Ýˆb�*˜lÑ+Ô+Ð+Ø
×Ò�|¥W¨R°Ñ%<Ô%<Ñ=Ô=Ð=Ø
×Ò�¥YÐ/µ¸"¸jØ$ qÑ(ñ*ô *ð *à
×Ò�¥YÐ/µ¸"¸jØ$ qÑ(ñ*ô *ð *ð *ð *r    rW   i   €iÿÿÿré   r   l   ÿÿ rë   ìûÿÿÿ         l   ÿÿÿÿ rì   ì   ÿÿÿÿ Nrc   )rZ   r†   rÍ   r‡   rì   Úoptional_nested_enumrK   )r   rç   r^   r  rþ   s   ```  r   ÚassetIntegerBoundsCheckingz)ReflectionTest.assetIntegerBoundsChecking³  sX  øøø€ ð*ð *ð *ð *ð *ð *ð *ð ÐÐ*¨J¸ÑFÔFÐFØÐÐ+¨Q°
Ñ;Ô;Ð;ØÐÐ*¨J¸ÑFÔFÐFØÐÐ+¨QÐ0BÑCÔCÐCð 
×	$Ò	$Ñ	&Ô	&€BØ	×	Ò	�J­	Ð2Ñ	3Ô	3ð 2ð 2Ø%˜: jÑ1Ô1€bÔð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 
×	$Ò	$Ñ	&Ô	&€BØ(˜j¨™mœm€BÔØ×Ò�Q˜Ô/Ñ0Ô0Ð0Ð0Ð0s   Á4BÂBÂBc                 ó4   — |                       d„ |¦  «         d S )Nc                 ó   — | S r"   rD   ró   s    r   rô   z?ReflectionTest.testSingleScalarBoundsChecking.<locals>.<lambda>Ö  s   € ¨a€ r    )r	  rˆ   s     r   ÚtestSingleScalarBoundsCheckingz-ReflectionTest.testSingleScalarBoundsCheckingÕ  s    € Ø×#Ò# K K°Ñ@Ô@Ð@Ð@Ð@r    c                 óF   — |                       t          j        |¦  «         d S r"   )r	  r   r÷   rˆ   s     r   Ú)testNonStandardSingleScalarBoundsCheckingz8ReflectionTest.testNonStandardSingleScalarBoundsCheckingØ  s,   € Ø×#Ò#ÝÔ$ nñ6ô 6ð 6ð 6ð 6r    c                 óL  — |                      ¦   «         }|                      t          |j        j        d¦  «         |                      t          |j        j        d¦  «         |                      t          |j        d¦  «         |                      t          |j        d¦  «         |j                             d¦  «         d|j        d<   |                      t          |j        j        dd¦  «         |                      t          |j        j        dd¦  «         |                      t          |j        j        dg ¦  «         |                      t          |j        j        dd¦  «         |j                             d	¦  «         |                      t          |j        j        dd¦  «         d S )
NrÖ   r€   r”   r�   r   iô  r—   Úindexrú   )	rZ   r†   r‡   rh   rÈ   rk   Úrepeated_bytesÚ
IndexErrorÚ__setitem__r]   s      r   ÚtestRepeatedScalarTypeSafetyz+ReflectionTest.testRepeatedScalarTypeSafetyÜ  so  € Ø×'Ò'Ñ)Ô)€EØ×Ò•i Ô!5Ô!<¸cÑBÔBÐBØ×Ò•i Ô!5Ô!<¸eÑDÔDÐDØ×Ò•i Ô!6¸Ñ;Ô;Ð;Ø×Ò•i Ô!5°rÑ:Ô:Ð:à	Ô×Ò Ñ#Ô#Ð#Ø €EÔ˜ÑØ×Ò•j %Ô"6Ô"BÀCÈÑLÔLÐLØ×Ò•i Ô!5Ô!AÀ1ÀeÑLÔLÐLØ×Ò•i Ô!5Ô!AÀ1ÀbÑIÔIÐIØ×Ò•i Ô!5Ô!AØ˜rñ#ô #ð #ð 
Ô× Ò  Ñ%Ô%Ð%Ø×Ò•i Ô!6Ô!BÀAÀrÑJÔJÐJÐJÐJr    c                 ó0  — |                      ¦   «         }|                      d|j        ¦  «         d|_        |                      d|j        ¦  «         d|_        |                      d|j        ¦  «         d|_        |                      d|j        ¦  «         d S )Nr   rc   l   ÿÿÿ r  )rZ   rK   rW   rì   r]   s      r   Ú!testSingleScalarGettersAndSettersz0ReflectionTest.testSingleScalarGettersAndSettersñ  s–   € Ø×'Ò'Ñ)Ô)€EØ×Ò�Q˜Ô,Ñ-Ô-Ð-Ø€EÔØ×Ò�Q˜Ô,Ñ-Ô-Ð-à*€EÔØ×Ò�^ UÔ%:Ñ;Ô;Ð;Ø.€EÔØ×ÒÐ'¨Ô)>Ñ?Ô?Ð?Ð?Ð?r    c                 ó�  — |                      ¦   «         }|                      d|j        ¦  «         |                      d|j         j        ¦  «         |                      d|j        ¦  «         |                      d|j         j        ¦  «         |                      d|j        ¦  «         |                      d|j         j        ¦  «         d S )Nrc   rd   re   )rZ   rK   r{   r|   ÚBAZr]   s      r   Ú	testEnumszReflectionTest.testEnumsý  sµ   € Ø×'Ò'Ñ)Ô)€EØ×Ò�Q˜œ	Ñ"Ô"Ð"Ø×Ò�Q˜Ô3Ô7Ñ8Ô8Ð8Ø×Ò�Q˜œ	Ñ"Ô"Ð"Ø×Ò�Q˜Ô3Ô7Ñ8Ô8Ð8Ø×Ò�Q˜œ	Ñ"Ô"Ð"Ø×Ò�Q˜Ô3Ô7Ñ8Ô8Ð8Ð8Ð8r    c                 óâ  — |                       d|j                             |j        ¦  «        ¦  «         |                       d|j                             |j        ¦  «        ¦  «         |                       d|j                             |j        ¦  «        ¦  «         |                      t          |j        j        d¦  «         |                     ¦   «         }|                       d|j	                             |j
        ¦  «        ¦  «         |                       d|j        j	                             |j
        ¦  «        ¦  «         |                       d|j	                             |j        ¦  «        ¦  «         |                       d|j        j	                             |j        ¦  «        ¦  «         |                       d|j	                             |j        ¦  «        ¦  «         |                       d|j        j	                             |j        ¦  «        ¦  «         |                      t          |j	        j        d¦  «         |                      t          |j        j	        j        d¦  «         |                      t          |j        j	        j        d¦  «         |                      t          |j        j	        j        d ¦  «         |                       d|j        j	                             d	¦  «        ¦  «         d S )
NÚFOREIGN_FOOÚFOREIGN_BARÚFOREIGN_BAZi0,  r{   r|   r  g     Æ@T)rK   ÚForeignEnumÚNamer  r  r  r†   rÍ   rZ   Ú
NestedEnumr{   r|   r  r‡   r]   s      r   ÚtestEnum_NamezReflectionTest.testEnum_Name  sã  € Ø×ÒØØÔ"×'Ò'¨Ô(BÑCÔCñEô Eð Eð 	×ÒØØÔ"×'Ò'¨Ô(BÑCÔCñEô Eð Eð 	×ÒØØÔ"×'Ò'¨Ô(BÑCÔCñEô Eð Eð 	×Ò•jØ$Ô0Ô5°uñ>ô >ð >ð ×'Ò'Ñ)Ô)€EØ×Ò�UØÔ%×*Ò*¨5¬9Ñ5Ô5ñ7ô 7ð 7à×Ò�UØ#Ô0Ô;×@Ò@ÀÄÑKÔKñMô Mð Mà×Ò�UØÔ%×*Ò*¨5¬9Ñ5Ô5ñ7ô 7ð 7à×Ò�UØ#Ô0Ô;×@Ò@ÀÄÑKÔKñMô Mð Mà×Ò�UØÔ%×*Ò*¨5¬9Ñ5Ô5ñ7ô 7ð 7à×Ò�UØ#Ô0Ô;×@Ò@ÀÄÑKÔKñMô Mð Mà×Ò•jØÔ&Ô+¨Uñ4ô 4ð 4à×Ò•jØ$Ô1Ô<ÔAÀ5ñJô Jð Jð 	×Ò•i Ô!<Ô!GÔ!LØñô ð à×Ò•i Ô!<Ô!GÔ!LØñô ð à×Ò�U˜NÔ7ÔB×GÒGÈÑMÔMÑNÔNÐNÐNÐNr    c                 ó	  — |                       |j        |j                             d¦  «        ¦  «         |                       |j        |j        j        ¦  «         |                       |j        |j                             d¦  «        ¦  «         |                       |j        |j        j        ¦  «         |                       |j        |j                             d¦  «        ¦  «         |                       |j        |j        j        ¦  «         |                      t          |j        j        d¦  «         |                      t          ¦  «        5  |j        j	         d d d ¦  «         n# 1 swxY w Y   | 
                    ¦   «         }|                       |j        |j                             d¦  «        ¦  «         |                       |j        |j        j        ¦  «         |                       |j        |j
        j                             d¦  «        ¦  «         |                       |j        |j
        j        j        ¦  «         |                       |j        |j                             d¦  «        ¦  «         |                       |j        |j        j        ¦  «         |                       |j        |j
        j                             d¦  «        ¦  «         |                       |j        |j
        j        j        ¦  «         |                       |j        |j                             d¦  «        ¦  «         |                       |j        |j        j        ¦  «         |                       |j        |j
        j                             d¦  «        ¦  «         |                       |j        |j
        j        j        ¦  «         |                      t          |j        j        d¦  «         |                      t          ¦  «        5  |j        j        j         d d d ¦  «         n# 1 swxY w Y   |                      t          |j
        j        j        d¦  «         |                      t          ¦  «        5  |j
        j        j        j         d d d ¦  «         d S # 1 swxY w Y   d S )	Nr  r  r  ÚFOr{   r|   r  ÚFoo)rK   r  r  ÚValuer  r  r†   rÍ   rÒ   r#  rZ   r{   r   r|   r  r$  r]   s      r   ÚtestEnum_ValuezReflectionTest.testEnum_Value,  sE  € Ø×Ò�^Ô/Ø#Ô/×5Ò5°mÑDÔDñFô Fð Fà×Ò�^Ô/Ø#Ô/Ô;ñ=ô =ð =ð 	×Ò�^Ô/Ø#Ô/×5Ò5°mÑDÔDñFô Fð Fà×Ò�^Ô/Ø#Ô/Ô;ñ=ô =ð =ð 	×Ò�^Ô/Ø#Ô/×5Ò5°mÑDÔDñFô Fð Fà×Ò�^Ô/Ø#Ô/Ô;ñ=ô =ð =ð 	×Ò•jØ$Ô0Ô6¸ñ>ô >ð >à	×	Ò	�>Ñ	*Ô	*ð $ð $ØÔ Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð ×'Ò'Ñ)Ô)€EØ×Ò�U”YØÔ%×+Ò+¨EÑ2Ô2ñ4ô 4ð 4à×Ò�U”YØÔ%Ô)ñ+ô +ð +ð 	×Ò�U”YØ#Ô0Ô;×AÒAÀ%ÑHÔHñJô Jð Jà×Ò�U”YØ#Ô0Ô;Ô?ñAô Að Að 	×Ò�U”YØÔ%×+Ò+¨EÑ2Ô2ñ4ô 4ð 4à×Ò�U”YØÔ%Ô)ñ+ô +ð +ð 	×Ò�U”YØ#Ô0Ô;×AÒAÀ%ÑHÔHñJô Jð Jà×Ò�U”YØ#Ô0Ô;Ô?ñAô Að Að 	×Ò�U”YØÔ%×+Ò+¨EÑ2Ô2ñ4ô 4ð 4à×Ò�U”YØÔ%Ô)ñ+ô +ð +ð 	×Ò�U”YØ#Ô0Ô;×AÒAÀ%ÑHÔHñJô Jð Jà×Ò�U”YØ#Ô0Ô;Ô?ñAô Að Að 	×Ò•jØÔ&Ô,¨eñ5ô 5ð 5à	×	Ò	�>Ñ	*Ô	*ð !ð !ØÔÔÔ Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð 	×Ò•jØ$Ô1Ô<ÔBÀEñKô Kð Kà	×	Ò	�>Ñ	*Ô	*ð 7ð 7ØÔ!Ô,Ô2Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s6   Å	E"Å"E&Å)E&Ï/PÐPÐPÑRÒRÒRc                 óv  — |t           k    rg d¢}g d¢}g d¢}ng d¢}g d¢}g d¢}|                      |t          |j                             ¦   «         ¦  «        ¦  «         |                      |t          |j                             ¦   «         ¦  «        ¦  «         |                      |t          |j                             ¦   «         ¦  «        ¦  «         |                     ¦   «         }|t           k    rg d¢}g d¢}g d	¢}ng d
¢}g d¢}g d¢}|                      |t          |j                             ¦   «         ¦  «        ¦  «         |                      |t          |j                             ¦   «         ¦  «        ¦  «         |                      |t          |j                             ¦   «         ¦  «        ¦  «         d S )N)r  r  r  )r/   r¢   é   )©r  r/   ©r  r¢   ©r  r(  )ÚFOREIGN_ZEROr  r  r  )r   r/   r¢   r(  ))r,  r   r)  r*  r+  )r{   r|   r  ÚNEG)rc   rd   re   éÿÿÿÿ)©r{   rc   ©r|   rd   ©r  re   ©r-  r.  )ÚZEROr{   r|   r  r-  )r   rc   rd   re   r.  ))r3  r   r/  r0  r1  r2  )	r   rK   rm   r  ÚkeysrN   ÚitemsrZ   r   )r   r^   r4  rN   r5  r_   s         r   ÚtestEnum_KeysAndValuesz%ReflectionTest.testEnum_KeysAndValuesj  sê  € Ø�Ò%Ð%Ø:Ð:Ð:€dØˆyˆy€fØJÐJÐJ€e€eàJÐJÐJ€dØˆ|ˆ|€fð7ð 7ð 7€eà×Ò�TÝ˜.Ô4×9Ò9Ñ;Ô;Ñ<Ô<ñ>ô >ð >à×Ò�VÝ˜.Ô4×;Ò;Ñ=Ô=Ñ>Ô>ñ@ô @ð @à×Ò�UÝ˜.Ô4×:Ò:Ñ<Ô<Ñ=Ô=ñ?ô ?ð ?ð ×'Ò'Ñ)Ô)€EØ�Ò%Ð%Ø)Ð)Ð)€dØˆ}ˆ}€fØ?Ð?Ð?€e€eà1Ð1Ð1€dØÐÐ€fØLÐLÐL€eØ×Ò�T�4 Ô 0× 5Ò 5Ñ 7Ô 7Ñ8Ô8Ñ9Ô9Ð9Ø×Ò�V�T %Ô"2×"9Ò"9Ñ";Ô";Ñ<Ô<Ñ=Ô=Ð=Ø×Ò�UÝ˜%Ô*×0Ò0Ñ2Ô2Ñ3Ô3ñ5ô 5ð 5ð 5ð 5r    c                 óÞ   — |                      ¦   «         }t          j        |¦  «         |                     ¦   «         }|j                              |¦  «        }|                      ||¦  «         d S r"   )rZ   r   ÚSetAllFieldsrã   Ú
FromStringrK   )r   r^   r¬   Ústring1r­   s        r   ÚtestStaticParseFromz"ReflectionTest.testStaticParseFrom‰  si   € Ø×(Ò(Ñ*Ô*€FÝÔ˜6Ñ"Ô"Ð"à×&Ò&Ñ(Ô(€GØÔ(×3Ò3°GÑ<Ô<€Fð 	×Ò�V˜VÑ$Ô$Ð$Ð$Ð$r    c                 ó  — |                      ¦   «         }d|_        |                      ¦   «         }d|_        |                     |¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         d S )Nrc   rå   )rZ   rW   rV   rª   rK   r«   s       r   ÚtestMergeFromSingularFieldz)ReflectionTest.testMergeFromSingularField“  s€   € à×(Ò(Ñ*Ô*€FØ€FÔà×(Ò(Ñ*Ô*€Fà$€FÔà
×Ò�VÑÔÐØ×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×Ò�W˜fÔ4Ñ5Ô5Ð5Ð5Ð5r    c                 óâ  — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |                      ¦   «         }|j                             d¦  «         |                     |¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         d S ©Nrc   rd   r   )rZ   rh   rÈ   rª   rK   r«   s       r   ÚtestMergeFromRepeatedFieldz)ReflectionTest.testMergeFromRepeatedField   sÝ   € à×(Ò(Ñ*Ô*€FØ
Ô× Ò  Ñ#Ô#Ð#Ø
Ô× Ò  Ñ#Ô#Ð#à×(Ò(Ñ*Ô*€FØ
Ô× Ò  Ñ#Ô#Ð#Ø
×Ò�VÑÔÐà×Ò�Q˜Ô-¨aÔ0Ñ1Ô1Ð1Ø×Ò�Q˜Ô-¨aÔ0Ñ1Ô1Ð1Ø×Ò�Q˜Ô-¨aÔ0Ñ1Ô1Ð1Ð1Ð1r    c                 ón  — |                      ¦   «         }|j                             ¦   «         }d|_        |j                             ¦   «         }d|_        |                      ¦   «         }|j                             ¦   «         }d|_        |                     |¦  «         |                      d|j        d         j        ¦  «         |                      d|j        d         j        ¦  «         |                      d|j        d         j        ¦  «         |                      ¦   «         }|j                             |j        ¦  «         |                      d|j        d         j        ¦  «         |                      d|j        d         j        ¦  «         |                      d|j        d         j        ¦  «         d S )Nr¶   iA  éç  r   rc   rd   )rZ   rw   Úaddrq   rª   rK   )r   r^   r¬   Úmr­   Úproto3s         r   Ú"testMergeFromRepeatedNestedMessagez1ReflectionTest.testMergeFromRepeatedNestedMessage®  s€  € à×(Ò(Ñ*Ô*€FØÔ&×*Ò*Ñ,Ô,€AØ€A„DØÔ&×*Ò*Ñ,Ô,€AØ€A„Dà×(Ò(Ñ*Ô*€FØÔ&×*Ò*Ñ,Ô,€AØ€A„DØ
×Ò�VÑÔÐØ×Ò�S˜&Ô8¸Ô;Ô>Ñ?Ô?Ð?Ø×Ò�S˜&Ô8¸Ô;Ô>Ñ?Ô?Ð?Ø×Ò�S˜&Ô8¸Ô;Ô>Ñ?Ô?Ð?à×(Ò(Ñ*Ô*€FØ
Ô"×,Ò,¨VÔ-KÑLÔLÐLØ×Ò�S˜&Ô8¸Ô;Ô>Ñ?Ô?Ð?Ø×Ò�S˜&Ô8¸Ô;Ô>Ñ?Ô?Ð?Ø×Ò�S˜&Ô8¸Ô;Ô>Ñ?Ô?Ð?Ð?Ð?r    c                 óP  — |                      ¦   «         }t          j        |¦  «         |                      ¦   «         }|                     |¦  «         |                      ||¦  «         |                     ¦   «         }|                     ¦   «         }|                      ||¦  «         d S r"   )rZ   r   r8  rª   rK   rã   ©r   r^   r¬   r­   r:  Ústring2s         r   ÚtestMergeFromAllFieldsz%ReflectionTest.testMergeFromAllFieldsÄ  s¡   € à×(Ò(Ñ*Ô*€FÝÔ˜6Ñ"Ô"Ð"Ø×(Ò(Ñ*Ô*€FØ
×Ò�VÑÔÐð 	×Ò�V˜VÑ$Ô$Ð$ð ×&Ò&Ñ(Ô(€GØ×&Ò&Ñ(Ô(€GØ×Ò�W˜gÑ&Ô&Ð&Ð&Ð&r    c                 ó.  — |                      ¦   «         }|                      ¦   «         }|j         |                      |                     d¦  «        ¦  «         |                     |¦  «         |                      |                     d¦  «        ¦  «         d S rœ   )rZ   ry   r[   r\   rª   )r   r^   Úmessage1Úmessage2s       r   ÚtestMergeFromBugzReflectionTest.testMergeFromBugÓ  s‘   € Ø×*Ò*Ñ,Ô,€HØ×*Ò*Ñ,Ô,€Hð Ô$Ð$Ø×Ò�X×&Ò&Ð'@ÑAÔAÑBÔBÐBð ×Ò�xÑ Ô Ð Ø×Ò�X×&Ò&Ð'@ÑAÔAÑBÔBÐBÐBÐBr    c                 ó  — |                      ¦   «         }d|_        d|_        |                      ¦   «         }d|_        |                     |¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         d S )Nrc   úimportant-textrå   )rZ   rW   rV   ÚCopyFromrK   r«   s       r   ÚtestCopyFromSingularFieldz(ReflectionTest.testCopyFromSingularFieldà  s‡   € à×(Ò(Ñ*Ô*€FØ€FÔØ-€FÔà×(Ò(Ñ*Ô*€FØ$€FÔà
‡O‚O�FÑÔÐØ×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×ÒÐ% vÔ'=Ñ>Ô>Ð>Ð>Ð>r    c                 ó   — |                      ¦   «         }|j                             d¦  «         |j                             d¦  «         |                      ¦   «         }|j                             d¦  «         |                     |¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         d S r?  )rZ   rh   rÈ   rQ  rK   r«   s       r   ÚtestCopyFromRepeatedFieldz(ReflectionTest.testCopyFromRepeatedFieldí  s½   € à×(Ò(Ñ*Ô*€FØ
Ô× Ò  Ñ#Ô#Ð#Ø
Ô× Ò  Ñ#Ô#Ð#à×(Ò(Ñ*Ô*€FØ
Ô× Ò  Ñ#Ô#Ð#Ø
‡O‚O�FÑÔÐà×Ò�Q˜Ô-¨aÔ0Ñ1Ô1Ð1Ø×Ò�Q˜Ô-¨aÔ0Ñ1Ô1Ð1Ð1Ð1r    c                 óP  — |                      ¦   «         }t          j        |¦  «         |                      ¦   «         }|                     |¦  «         |                      ||¦  «         |                     ¦   «         }|                     ¦   «         }|                      ||¦  «         d S r"   )rZ   r   r8  rQ  rK   rã   rH  s         r   ÚtestCopyFromAllFieldsz$ReflectionTest.testCopyFromAllFieldsú  sŸ   € à×(Ò(Ñ*Ô*€FÝÔ˜6Ñ"Ô"Ð"Ø×(Ò(Ñ*Ô*€FØ
‡O‚O�FÑÔÐð 	×Ò�V˜VÑ$Ô$Ð$ð ×&Ò&Ñ(Ô(€GØ×&Ò&Ñ(Ô(€GØ×Ò�W˜gÑ&Ô&Ð&Ð&Ð&r    c                 óV  — |                      ¦   «         }|j                             d¦  «         d|_        d|_        |                     |¦  «         |                      d|j        d         ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         d S )Nrc   rd   rP  r   )rZ   rh   rÈ   rW   rV   rQ  rK   )r   r^   r¬   s      r   ÚtestCopyFromSelfzReflectionTest.testCopyFromSelf	  s£   € Ø×(Ò(Ñ*Ô*€FØ
Ô× Ò  Ñ#Ô#Ð#Ø€FÔØ-€FÔà
‡O‚O�FÑÔÐØ×Ò�Q˜Ô-¨aÔ0Ñ1Ô1Ð1Ø×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×ÒÐ% vÔ'=Ñ>Ô>Ð>Ð>Ð>r    c                 ó0  — |                      ¦   «         }d|_        t          j        |¦  «        }|                      d|j        ¦  «         |j                             d¦  «         |j                             d¦  «         t          j        |j        ¦  «        }|                      ddg|¦  «         |                     |d         ¦  «         |                      dg|¦  «         |j         	                    ¦   «         }d|_
        t          j        |j        ¦  «        }|                      |j        |¦  «         d|_
        |                      |j        |¦  «         |                     |d         ¦  «         |                      t          |¦  «        d¦  «         d S )Nrc   rd   re   r   )rZ   rW   ÚcopyÚdeepcopyrK   rh   rÈ   Úremoverw   rC  rq   ÚassertNotEqualr9   )r   r^   r¬   r­   Ú	containerrL  Úmessagess          r   ÚtestDeepCopyzReflectionTest.testDeepCopy  sk  € Ø×(Ò(Ñ*Ô*€FØ€FÔÝŒ]˜6Ñ"Ô"€FØ×Ò�Q˜Ô-Ñ.Ô.Ð.à
Ô× Ò  Ñ#Ô#Ð#Ø
Ô× Ò  Ñ#Ô#Ð#Ý”˜fÔ3Ñ4Ô4€IØ×Ò�a˜�V˜YÑ'Ô'Ð'Ø×Ò�Y˜q”\Ñ"Ô"Ð"Ø×Ò�a�S˜)Ñ$Ô$Ð$àÔ-×1Ò1Ñ3Ô3€HØ€H„KÝŒ}˜VÔ;Ñ<Ô<€HØ×Ò�VÔ3°XÑ>Ô>Ð>Ø€H„KØ×Ò˜Ô6¸ÑAÔAÐAØ‡O‚O�H˜Q”KÑ Ô Ð Ø×Ò•S˜‘]”] AÑ&Ô&Ð&Ð&Ð&r    c                 óÔ  — |                      ¦   «         }|j        }|                     ¦   «          |                      ||j        ¦  «         d|_        |                      |                     d¦  «        ¦  «         |                      d|j        j        ¦  «         |                      ¦   «         }|j        }d|_        |j        }d|_	        |                     ¦   «          |                      ||j        ¦  «         |                      ||j        ¦  «         |                      d|j        ¦  «         |                      d|j	        ¦  «         d|_        d|_	        |                      |                     d¦  «        ¦  «         |                      d|j        j        ¦  «         |                      |                     d¦  «        ¦  «         |                      d|j        j	        ¦  «         d S )	Nr�   ry   r   r¢   r(  é   é   Úoptional_foreign_message)
rZ   ry   ÚClearr¤   rq   r[   r\   rK   rd  rt   )r   r^   r_   r‘   Úforeigns        r   ÚtestDisconnectingBeforeClearz+ReflectionTest.testDisconnectingBeforeClear,  s±  € Ø×'Ò'Ñ)Ô)€EØÔ*€FØ	‡K‚K�M„M€MØ×Ò�V˜UÔ:Ñ;Ô;Ð;Ø€F„IØ×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ø×Ò�Q˜Ô5Ô8Ñ9Ô9Ð9à×'Ò'Ñ)Ô)€EØÔ*€FØ€F„IØÔ,€GØ€G„IØ	‡K‚K�M„M€MØ×Ò�V˜UÔ:Ñ;Ô;Ð;Ø×Ò�W˜eÔ<Ñ=Ô=Ð=Ø×Ò�Q˜œ	Ñ"Ô"Ð"Ø×Ò�Q˜œ	Ñ"Ô"Ð"Ø€F„IØ€G„IØ×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ø×Ò�Q˜Ô5Ô8Ñ9Ô9Ð9Ø×Ò�U—^’^Ð$>Ñ?Ô?Ñ@Ô@Ð@Ø×Ò�Q˜Ô6Ô8Ñ9Ô9Ð9Ð9Ð9r    c                 óX  — |                      ¦   «         }|                      t          t          |dd¦  «         |                      t          |j        ¦  «        t          ¦  «         t          d¦  «        |_        |                      |j        t          d¦  «        ¦  «         t          d¦  «        |_        |                      |j        t          d¦  «        ¦  «         |                      t          t          |dd¦  «         d 	                    d¦  «        }||_        d|_        d|_        d S )	Nr×   zunicode objectÚTestingrV   s   a€aõ   Ð¢ÐµÑ�Ñ‚úutf-8r—   )
rZ   r†   r‡   rÓ   rK   ÚtyperV   rÀ   rÍ   Úencode)r   r^   r_   Ú
utf8_bytess       r   ÚtestStringUTF8Encodingz%ReflectionTest.testStringUTF8EncodingF  s  € Ø×'Ò'Ñ)Ô)€Eð 	×Ò•iÝ˜uÐ&6Ð8IñKô Kð Kð 	×Ò•T˜%Ô/Ñ0Ô0µ#Ñ6Ô6Ð6å 	™NœN€EÔØ×Ò�UÔ*­C°	©N¬NÑ;Ô;Ð;õ   	™NœN€EÔØ×Ò�UÔ*­C°	©N¬NÑ;Ô;Ð;ð 	×Ò•jÝ˜uÐ&7¸ñDô Dð Dð ×#Ò# GÑ,Ô,€JØ&€EÔà'€EÔà!€EÔÐÐr    c                 óx   — |                      d¬¦  «        }|                      dt          |¦  «        ¦  «         d S )Ns    €ÿ)r×   z#optional_bytes: "\000\177\200\377"
)rZ   rK   rÀ   r]   s      r   ÚtestBytesInTextFormatz$ReflectionTest.testBytesInTextFormatb  s<   € Ø×'Ò'Ð7JÐ'ÑKÔK€EØ×ÒÐ@Å#ÀeÁ*Ä*ÑMÔMÐMÐMÐMr    c                 óJ  — |                      ¦   «         }|j                             |j                              ¦   «         ¦  «         |                      |                     d¦  «        ¦  «         |                      ¦   «         }|j                             |j                              ¦   «         ¦  «         |                      |                     d¦  «        ¦  «         |                      ¦   «         }|j                             d¦  «        }|                      d|¦  «         |                      |                     d¦  «        ¦  «         |                      ¦   «         }|j         	                    d¦  «         |                      |                     d¦  «        ¦  «         | 
                    ¦   «         }|                      ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         |                      |                     d¦  «        ¦  «         d S )Nry   r    r   )rZ   ry   rª   rz   r£   r\   rQ  ÚMergeFromStringrK   râ   rã   r9   )r   r^   r_   Ú
bytes_readÚ
serializedr­   s         r   ÚtestEmptyNestedMessagez%ReflectionTest.testEmptyNestedMessagef  sÚ  € Ø×'Ò'Ñ)Ô)€EØ	Ô!×+Ò+ØÔ#×1Ò1Ñ3Ô3ñ5ô 5ð 5à‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>à×'Ò'Ñ)Ô)€EØ	Ô!×*Ò*ØÔ#×1Ò1Ñ3Ô3ñ5ô 5ð 5à‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>à×'Ò'Ñ)Ô)€EØÔ.×>Ò>¸sÑCÔC€JØ×Ò�Q˜
Ñ#Ô#Ð#Ø‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>à×'Ò'Ñ)Ô)€EØ	Ô!×1Ò1°#Ñ6Ô6Ð6Ø‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>à×(Ò(Ñ*Ô*€JØ×(Ò(Ñ*Ô*€FØ×ÒÝˆJ‰ŒØ×Ò˜zÑ*Ô*ñ,ô ,ð ,ð 	‡O‚O�F—O’OÐ$=Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r    N)1r;   r<   r=   rQ   r`   rn   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!  r&  r6  r;  r=  r@  rF  rJ  rN  rR  rT  rV  rX  r`  rg  ro  rq  rv  rD   r    r   rH   rH   p   s   € € € € € ð-ð -ð -ð
9ð 9ð 9ð5ð 5ð 5ð!@ð !@ð !@ðFPð Pð Pð(,ð ,ð ,ð"ð ð ð
=ð 
=ð 
=ð+ð +ð +ð:ð :ð :ð@ð @ð @ðAð Að Aðð ð ðð ð ð,ð ð ð&Jð Jð Jð
Oð Oð Oð* ð  ð  ð Bð Bð Bð@9ð 9ð 9ðJð Jð Jð	Gð 	Gð 	Gð 1ð  1ð  1ðDAð Að Að6ð 6ð 6ðKð Kð Kð*	@ð 	@ð 	@ð9ð 9ð 9ð$Oð $Oð $OðL<7ð <7ð <7ð|5ð 5ð 5ð>%ð %ð %ð6ð 6ð 6ð2ð 2ð 2ð@ð @ð @ð,'ð 'ð 'ðCð Cð Cð?ð ?ð ?ð2ð 2ð 2ð'ð 'ð 'ð	?ð 	?ð 	?ð'ð 'ð 'ð0:ð :ð :ð4"ð "ð "ð8Nð Nð Nð@ð @ð @ð @ð @r    rH   c                   ó²  — 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 ej        d¦  «        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/d6d.„Z0d/„ Z1 e2j3         e4j5        ¦   «         d0k    d1¦  «        d2„ ¦   «         Z6d3„ Z7d4„ Z8d5„ Z9d-S )7ÚProto2ReflectionTestc           	      óð  — t          j        t           j                             t           j        j        ¬¦  «        t           j                             t           j        j        ¬¦  «        gt          j        d¬¦  «        t          j        d¬¦  «        t          j        d¬¦  «        gt           j                             ¦   «         t           j                             d¬¦  «        t           j                             d¬¦  «        g¬	¦  «        }|                      t           j                             t           j        j        ¬¦  «        t           j                             t           j        j        ¬¦  «        gt          |j	        ¦  «        ¦  «         |                      t          j        d¬¦  «        t          j        d¬¦  «        t          j        d¬¦  «        gt          |j
        ¦  «        ¦  «         |                      t           j                             ¦   «         t           j                             d¬¦  «        t           j                             d¬¦  «        gt          |j        ¦  «        ¦  «         d S )
Nrp   rr   rs   ru   rv   rc   )Úard   )rw   rx   Úrepeatedgroup)r   rZ   rz   r{   r|   r}   ÚRepeatedGrouprK   rm   rw   rx   r{  ©r   r_   s     r   Ú testRepeatedCompositeConstructorz5Proto2ReflectionTest.testRepeatedCompositeConstructor†  s9  € åÔ%åÔ%×3Ò3ÝÔ,Ô0ð 4ñ 2ô 2åÔ%×3Ò3ÝÔ,Ô0ð 4ñ 2ô 2ð!3õ Ô'¨#Ð.Ñ.Ô.ÝÔ'¨%Ð0Ñ0Ô0ÝÔ'¨"Ð-Ñ-Ô-ð"/õ
 Ô%×3Ò3Ñ5Ô5ÝÔ%×3Ò3°aÐ3Ñ8Ô8ÝÔ%×3Ò3°aÐ3Ñ8Ô8ð:ð;ñ ;ô ;€Eð 	×ÒÝ	Ô	"×	0Ò	0ÝÔ(Ô,ð 
1ñ 
.ô 
.å	Ô	"×	0Ò	0ÝÔ)Ô-ð 
1ñ 
/ô 
/ð	0õ 	ˆUÔ*Ñ+Ô+ñ-ô -ð -ð 	×ÒÝ	Ô	$ sÐ	+Ñ	+Ô	+Ý	Ô	$ uÐ	-Ñ	-Ô	-Ý	Ô	$ rÐ	*Ñ	*Ô	*ð	,õ 	ˆUÔ+Ñ,Ô,ñ	.ô .ð .ð
 	×ÒÝ	Ô	"×	0Ò	0Ñ	2Ô	2Ý	Ô	"×	0Ò	0°1Ð	0Ñ	5Ô	5Ý	Ô	"×	0Ò	0°1Ð	0Ñ	5Ô	5ð	7õ 	ˆUÔ Ñ!Ô!ñ	#ô #ð #ð #ð #r    c                 óè   — |                       t          |¦  «        t          |¦  «        ¦  «         t          t          |¦  «        ¦  «        D ]$}|                       ||         ||         ¦  «         Œ%d S r"   rJ   rM   s       r   rQ   z%Proto2ReflectionTest.assertListsEqual¨  rR   r    c                 óÚ  — t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      d|j        ¦  «         |                      |                     d¦  «        ¦  «         d|_        |                      |                     d¦  «        ¦  «         |                     d¦  «         |                      |                     d¦  «        ¦  «         d S )NrW   r   rc   )r   rZ   r[   r\   rK   rW   r£   r�   r}  s     r   ÚtestSimpleHasBitsz&Proto2ReflectionTest.testSimpleHasBits­  sÐ   € åÔ%Ñ'Ô'€EØ×Ò�U—^’^Ð$4Ñ5Ô5Ñ6Ô6Ð6Ø×Ò�Q˜Ô,Ñ-Ô-Ð-ð 	×Ò�U—^’^Ð$4Ñ5Ô5Ñ6Ô6Ð6Ø€EÔà‡O‚O�E—N’NÐ#3Ñ4Ô4Ñ5Ô5Ð5Ø	×ÒÐ%Ñ&Ô&Ð&à×Ò�U—^’^Ð$4Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r    c                 ór   ‡ — ˆ fd„} |dd¦  «          |dd¦  «          |dd¦  «          |dd	¦  «         d S )
Nc                 ó´  •— t          j        ¦   «         }t          || ¦  «        }t          ||¦  «        }‰                     d|¦  «         ‰                     |                     |¦  «        ¦  «         ‰                     |                     | ¦  «        ¦  «         d}t          |||¦  «         ‰                     |t          ||¦  «        ¦  «         |}‰                     |                     |¦  «        ¦  «         ‰                     |                     | ¦  «        ¦  «         |                     | ¦  «         t          || ¦  «        }‰                     |                     |¦  «        ¦  «         ‰                     |                     | ¦  «        ¦  «         ‰                     dt          ||¦  «        ¦  «         ‰ 	                    ||¦  «         t          |||¦  «         ‰                     |                     |¦  «        ¦  «         ‰                     |                     | ¦  «        ¦  «         ‰                     dt          ||¦  «        ¦  «         d S )Nr   é   )
r   rZ   rá   rK   r[   r\   rÓ   r£   r�   r¤   )Úcomposite_field_nameÚscalar_field_namer_   Úcomposite_fieldÚoriginal_scalar_valueÚnew_valÚold_composite_fieldr   s          €r   ÚTestCompositeHasBitszTProto2ReflectionTest.testHasBitsWithSinglyNestedScalar.<locals>.TestCompositeHasBitsÞ  s4  ø€ ÝÔ'Ñ)Ô)€eõ   Ð';Ñ<Ô<€oÝ% oÐ7HÑIÔIÐØ
×Ò�qÐ/Ñ0Ô0Ð0à
×Ò�×/Ò/Ð0AÑBÔBÑCÔCÐCà
×Ò�u—~’~Ð&:Ñ;Ô;Ñ<Ô<Ð<ð
 €gÝˆoÐ0°'Ñ:Ô:Ð:Ø
×Ò�w¥¨Ð9JÑ KÔ KÑLÔLÐLà+Ðà
‡o‚o�o×.Ò.Ð/@ÑAÔAÑBÔBÐBØ
‡o‚o�e—n’nÐ%9Ñ:Ô:Ñ;Ô;Ð;ð ×ÒÐ+Ñ,Ô,Ð,õ   Ð';Ñ<Ô<€oØ
×Ò�×/Ò/Ð0AÑBÔBÑCÔCÐCØ
×Ò�u—~’~Ð&:Ñ;Ô;Ñ<Ô<Ð<à
×Ò�q�' /Ð3DÑEÔEÑFÔFÐFà
×ÒÐ*¨OÑ<Ô<Ð<ÝÐ!Ð#4°gÑ>Ô>Ð>Ø
×Ò�×/Ò/Ð0AÑBÔBÑCÔCÐCØ
×Ò�u—~’~Ð&:Ñ;Ô;Ñ<Ô<Ð<Ø
×Ò�q�' /Ð3DÑEÔEÑFÔFÐFÐFÐFr    Úoptionalgrouprz  ry   rq   rd  rt   Úoptional_import_messageÚdrD   )r   r‹  s   ` r   Ú!testHasBitsWithSinglyNestedScalarz6Proto2ReflectionTest.testHasBitsWithSinglyNestedScalar¼  sz   ø€ ðD'Gð 'Gð 'Gð 'Gð 'GðT Ð˜¨#Ñ.Ô.Ð.ØÐÐ2°DÑ9Ô9Ð9ØÐÐ3°SÑ9Ô9Ð9ØÐÐ2°CÑ8Ô8Ð8Ð8Ð8r    c                 ó  — t          j        ¦   «         }|j        j                             d¦  «         |                      dg|j        j        ¦  «         |                      |                     d¦  «        ¦  «         |                     d¦  «         |  	                    |                     d¦  «        ¦  «         |j        j
                             ¦   «          |                      |                     d¦  «        ¦  «         d S r©   )r   ÚTestNestedMessageHasBitsry   Únestedmessage_repeated_int32rÈ   rK   r£   r\   r�   r[   Ú%nestedmessage_repeated_foreignmessagerC  r}  s     r   Ú&testHasBitsWhenModifyingRepeatedFieldsz;Proto2ReflectionTest.testHasBitsWhenModifyingRepeatedFields  sæ   € åÔ1Ñ3Ô3€EØ	Ô!Ô>×EÒEÀaÑHÔHÐHØ×ÒØ	
ˆˆUÔ*ÔGñIô Ið Ià‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>ð 
×ÒÐ.Ñ/Ô/Ð/Ø×Ò�U—^’^Ð$=Ñ>Ô>Ñ?Ô?Ð?Ø	Ô!ÔG×KÒKÑMÔMÐMØ‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>Ð>Ð>r    c                 óÔ  — t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      d|j        j        j        j        j        j        ¦  «         |                      |                     d¦  «        ¦  «         d|j        j        j        j        j        _        |                      d|j        j        j        j        j        j        ¦  «         |                      |                     d¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         |                      |j        j                             d¦  «        ¦  «         |                      |j        j        j                             d¦  «        ¦  «         |                      |j        j        j        j                             d¦  «        ¦  «         |                      |j        j        j        j        j                             d¦  «        ¦  «         |                      |j        j        j        j        j                             d¦  «        ¦  «         d S )Nrq   r   r¢   rz  rW   )	r   ÚTestMutualRecursionAr[   r\   rK   rq   rz  rW   r£   )r   Úrecursive_protos     r   Ú!testHasBitsForManyLevelsOfNestingz6Proto2ReflectionTest.testHasBitsForManyLevelsOfNesting  sà  € å"Ô7Ñ9Ô9€OØ×Ò�_×-Ò-¨dÑ3Ô3Ñ4Ô4Ð4Ø×Ò�Q˜Ô*Ô,Ô/Ô1Ô4ÔCÑDÔDÐDØ×Ò�_×-Ò-¨dÑ3Ô3Ñ4Ô4Ð4Ø23€OÔÔÔÔÔ Ô/Ø×Ò�Q˜Ô*Ô,Ô/Ô1Ô4ÔCÑDÔDÐDØ‡O‚O�O×,Ò,¨TÑ2Ô2Ñ3Ô3Ð3Ø‡O‚O�OÔ&×/Ò/°Ñ4Ô4Ñ5Ô5Ð5Ø‡O‚O�OÔ&Ô(×1Ò1°$Ñ7Ô7Ñ8Ô8Ð8Ø‡O‚O�OÔ&Ô(Ô+×4Ò4°SÑ9Ô9Ñ:Ô:Ð:Ø‡O‚O�OÔ&Ô(Ô+Ô-×6Ò6°tÑ<Ô<Ñ=Ô=Ð=Ø×Ò�_Ô'Ô)Ô,Ô.Ô1×:Ò:¸3Ñ?Ô?Ñ@Ô@Ð@Ø‡O‚O�OÔ&Ô(Ô+Ô-Ô0×9Ò9Ð:JÑKÔKÑLÔLÐLÐLÐLr    c                 óê  — t          j        ¦   «         }d|j        t           j        <   d|j        t           j        <   d|j        t           j        <   |                      t           j        dft           j        dft           j        dfg|                     ¦   «         ¦  «         |j        t           j        = |                      t           j        dft           j        dfg|                     ¦   «         ¦  «         d S )Nrc   r¢   r€   )r   ÚTestAllExtensionsÚ
ExtensionsÚoptional_fixed32_extensionÚoptional_int32_extensionÚoptional_string_extensionrK   r¹   r}  s     r   ÚtestSingularListExtensionsz/Proto2ReflectionTest.testSingularListExtensions,  së   € ÝÔ*Ñ,Ô,€EØ@A€EÔ•\Ô<Ñ=Ø@A€EÔ•\Ô:Ñ=Ø@E€EÔ•\Ô;Ñ=Ø×ÒÝ	Ô	.°!Ð4Ý	Ô	0°!Ð4Ý	Ô	/°%Ð8ð;ð ×ÒÑÔñ	ô ð ð
 	Ô�Ô@ÐAØ×ÒÝ
Ô
/°Ð	3Ý
Ô
0°%Ð	8ð	:à×ÒÑÔñô ð ð ð r    c                 óÜ  — t          j        ¦   «         }|j        t           j                                      d¦  «         |j        t           j                                      d¦  «         |j        t           j                                      d¦  «         |j        t           j                                      d¦  «         |j        t           j                                      d¦  «         |j        t           j                                      d¦  «         d|j        t           j        <   |                      t           j        dft           j        ddgft           j        dgft           j        g d¢fg| 	                    ¦   «         ¦  «         |j        t           j        = |j        t           j        = |                      t           j        dft           j        dgfg| 	                    ¦   «         ¦  «         d S )	Nrc   r¢   r•   r€   r½   r¾   rÄ   )r€   r½   r¾   )
r   rš  r›  Úrepeated_fixed32_extensionrÈ   Úrepeated_int32_extensionÚrepeated_string_extensionr�  rK   r¹   r}  s     r   ÚtestRepeatedListExtensionsz/Proto2ReflectionTest.testRepeatedListExtensions<  s®  € ÝÔ*Ñ,Ô,€EØ	Ô•\Ô<Ô=×DÒDÀQÑGÔGÐGØ	Ô•\Ô:Ô=×DÒDÀQÑGÔGÐGØ	Ô•\Ô:Ô=×DÒDÀRÑHÔHÐHØ	Ô•\Ô;Ô=×DÒDÀUÑKÔKÐKØ	Ô•\Ô;Ô=×DÒDÀUÑKÔKÐKØ	Ô•\Ô;Ô=×DÒDÀUÑKÔKÐKØ@B€EÔ•\Ô:Ñ=Ø×ÒÝ	Ô	.°"Ð5Ý	Ô	.°1°b°'Ð:Ý	Ô	0°1°#Ð6Ý	Ô	/Ð2GÐ2GÐ2GÐHðKð ×ÒÑÔñô ð ð 	Ô�Ô>Ð?ØÔ�Ô?Ð@Ø×ÒÝ
Ô
/°Ð	4Ý
Ô
1°A°3Ð	7ð	9à×ÒÑÔñô ð ð ð r    c                 ób  — t          j        ¦   «         }t          j        |¦  «         t           j         |                      |j        j        d         dft           j        df|j        j        d         dft           j        df|j        j        d         dfg| 	                    ¦   «         ¦  «         d S )	NÚmy_intrc   r�   Ú	my_stringr€   r½   Úmy_floatç      ð?)
r   ÚTestFieldOrderingsr   ÚSetAllFieldsAndExtensionsÚmy_extension_intrK   r·   r¸   Úmy_extension_stringr¹   r}  s     r   ÚtestListFieldsAndExtensionsz0Proto2ReflectionTest.testListFieldsAndExtensionsR  s±   € ÝÔ+Ñ-Ô-€EÝÔ'¨Ñ.Ô.Ð.ÝÔ!Ð!Ø×ÒØ	Ô	Ô	(¨Ô	5°qÐ9Ý	Ô	&°rÐ:Ø	Ô	Ô	(¨Ô	5°uÐ=Ý	Ô	)°uÐ=Ø	Ô	Ô	(¨Ô	5°sÐ;ð	>ð
 ×ÒÑÔñô ð ð ð r    c                 óÄ  — 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|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|j        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j         ¦  «         |                      t           j        j!        |j"        ¦  «         |                      t           j#        |j$        ¦  «         |                      tJ          j&        |j'        ¦  «         t          j(        ¦   «         }|                      d|j)        ¦  «         d S )Nr   g        FÚ r    é)   é*   é+   é,   iÓÿÿÿé.   é/   é0   é1   iÎÿÿÿg     ÀI@g     dé@TÚhellos   worldu   áˆ´)*r   rZ   rK   rW   rë   ré   rì   Úoptional_sint32Úoptional_sint64rµ   Úoptional_fixed64Úoptional_sfixed32Úoptional_sfixed64rY   rX   rØ   rV   r×   Údefault_int32Údefault_int64Údefault_uint32Údefault_uint64Údefault_sint32Údefault_sint64Údefault_fixed32Údefault_fixed64Údefault_sfixed32Údefault_sfixed64Údefault_floatÚdefault_doubleÚdefault_boolÚdefault_stringÚdefault_bytesr|   Údefault_nested_enumr  Údefault_foreign_enumr   Ú
IMPORT_BARÚdefault_import_enumÚTestExtremeDefaultValuesÚutf8_stringr}  s     r   ÚtestDefaultValuesz&Proto2ReflectionTest.testDefaultValues^  sŒ  € ÝÔ%Ñ'Ô'€EØ×Ò�Q˜Ô,Ñ-Ô-Ð-Ø×Ò�Q˜Ô,Ñ-Ô-Ð-Ø×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×Ò�Q˜Ô-Ñ.Ô.Ð.Ø×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�Q˜Ô.Ñ/Ô/Ð/Ø×Ò�Q˜Ô/Ñ0Ô0Ð0Ø×Ò�Q˜Ô/Ñ0Ô0Ð0Ø×Ò�S˜%Ô.Ñ/Ô/Ð/Ø×Ò�S˜%Ô/Ñ0Ô0Ð0Ø×Ò�U˜EÔ/Ñ0Ô0Ð0Ø×Ò�R˜Ô.Ñ/Ô/Ð/Ø×Ò�S˜%Ô.Ñ/Ô/Ð/à×Ò�R˜Ô,Ñ-Ô-Ð-Ø×Ò�R˜Ô,Ñ-Ô-Ð-Ø×Ò�R˜Ô-Ñ.Ô.Ð.Ø×Ò�R˜Ô-Ñ.Ô.Ð.Ø×Ò�S˜%Ô.Ñ/Ô/Ð/Ø×Ò�R˜Ô-Ñ.Ô.Ð.Ø×Ò�R˜Ô.Ñ/Ô/Ð/Ø×Ò�R˜Ô.Ñ/Ô/Ð/Ø×Ò�R˜Ô/Ñ0Ô0Ð0Ø×Ò�S˜%Ô0Ñ1Ô1Ð1Ø×Ò�T˜5Ô.Ñ/Ô/Ð/Ø×Ò�T˜5Ô/Ñ0Ô0Ð0Ø×Ò�T˜5Ô-Ñ.Ô.Ð.Ø×Ò�W˜eÔ2Ñ3Ô3Ð3Ø×Ò�X˜uÔ2Ñ3Ô3Ð3Ø×Ò•\Ô.Ô2°EÔ4MÑNÔNÐNØ×Ò•\Ô-¨uÔ/IÑJÔJÐJØ×ÒÕ(Ô3ØÔ.ñ0ô 0ð 0õ Ô1Ñ3Ô3€EØ×Ò�Y Ô 1Ñ2Ô2Ð2Ð2Ð2r    c                 ón   — t          j        ¦   «         }|                      t          |j        d¦  «         d S )NrÌ   )r   rZ   r†   rÍ   r\   r}  s     r   Ú testHasFieldWithUnknownFieldNamez5Proto2ReflectionTest.testHasFieldWithUnknownFieldName‡  s1   € ÝÔ%Ñ'Ô'€EØ×Ò•j %¤.Ð2EÑFÔFÐFÐFÐFr    c                 ó  ‡— t          j        ¦   «         Št          d¦  «        D ]}‰j                             ¦   «          Œt          j        ¦   «         }‰                     |¦  «         |                      t          ˆfd„¦  «         d S )Nr”   c                  ó   •— ‰ j         d         S )Nr¢   )Úrepeated_message)r_   s   €r   rô   z?Proto2ReflectionTest.testClearRemovesChildren.<locals>.<lambda>”  s   ø€ ¨%Ô*@ÀÔ*C€ r    )r   ÚTestRequiredForeignrL   rÙ  rC  rQ  r†   r  )r   rP   r­   r_   s      @r   ÚtestClearRemovesChildrenz-Proto2ReflectionTest.testClearRemovesChildren‹  s†   ø€ õ Ô,Ñ.Ô.€EÝ�2‰YŒYð #ð #ˆØÔ× Ò Ñ"Ô"Ð"Ð"ÝÔ-Ñ/Ô/€FØ	‡N‚N�6ÑÔÐØ×Ò•jÐ"CÐ"CÐ"CÐ"CÑDÔDÐDÐDÐDr    c                 ód  — t          j        ¦   «         }|                     d¦  «         d|_        |                      |                     d¦  «        ¦  «         |                     d¦  «         |                      d|j        ¦  «         |                      |                     d¦  «        ¦  «         d S )NrW   rc   r   )r   rZ   r�   rW   r£   r\   rK   r[   r}  s     r   ÚtestSingleScalarClearFieldz/Proto2ReflectionTest.testSingleScalarClearField–  s¡   € ÝÔ%Ñ'Ô'€Eà	×ÒÐ%Ñ&Ô&Ð&Ø€EÔØ‡O‚O�E—N’NÐ#3Ñ4Ô4Ñ5Ô5Ð5Ø	×ÒÐ%Ñ&Ô&Ð&Ø×Ò�Q˜Ô,Ñ-Ô-Ð-Ø×Ò�U—^’^Ð$4Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r    c                 óð
  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      g d¢|j        ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      t          |j        j
        d¦  «         |                      t          |j        j
        d	¦  «         |                      t          |j        j
        d
¦  «         |                      t          |j        j
        d ¦  «         d|j        d<   |                      g d¢|j        ¦  «         |j                             dd¦  «         |                      g d¢|j        ¦  «         |j                             d¦  «         |                      g d¢|j        dd…         ¦  «         |                      g d¢|j        d d …         ¦  «         d„ t          d¦  «        D ¦   «         |j        dd…<   |                      g d¢|j        ¦  «         g d¢|j        dd…<   |                      g d¢|j        ¦  «         g }|j        D ]}|                     |¦  «         Œ|                      g d¢|¦  «         |j        d= |                      g d¢|j        ¦  «         |j        dd …= |                      ddg|j        ¦  «         |j                             ddg¦  «         |                      g d¢|j        ¦  «         |                     d¦  «         |                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             d¦  «         |                      d|j        d         ¦  «         d|j        d<   |                      d|j        d         ¦  «         g d¢|j        d d …<   |j        d= |                      g d¢|j        ¦  «         |j        d = |                      ddg|j        ¦  «         |                      t          |j        j        d!¦  «         |                      t          |j        j        d"¦  «         |j        d d…= |                      dg|j        ¦  «         |j        d#d$…= |                      dg|j        ¦  «         d S )%Nr   r¢   r”   rb  re   )r¢   r”   rb  r.  r‚   é.ûÿÿr€   r„  rc   )r¢   r„  rb  é   )r¢   rà  r„  rb  é   )rà  r„  rb  r/   )r¢   rà  r„  rb  rá  c              3   ó   K  — | ]}|V — Œd S r"   rD   )rÁ   rP   s     r   rÃ   z;Proto2ReflectionTest.testRepeatedScalars.<locals>.<genexpr>Æ  s"   è è € Ð 5Ð 5 q Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5r    )r¢   r   rc   rd   rá  )é#   é(   é-   )r¢   rã  rä  rå  rá  rd   )r¢   rã  rå  rá  rã  é   )r¢   rã  re   ræ  rh   )r   rc   rd   re   ©r   rc   rd   éþÿÿÿéýÿÿÿi,  éd   é'  )r   rZ   r[   rh   rK   r9   rÈ   r£   r†   r  Ú__getitem__r‡   ÚinsertrL   rÉ   r�   Ú__delitem__)r   r_   r%   rP   s       r   ÚtestRepeatedScalarsz(Proto2ReflectionTest.testRepeatedScalars¡  si  € ÝÔ%Ñ'Ô'€Eà×Ò�UÔ)Ñ*Ô*Ð*Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ#Ô#Ð#Ø	Ô×Ò Ñ#Ô#Ð#Ø‡O‚O�EÔ(Ñ)Ô)Ð)Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2à×Ò�[�[�[ %Ô"6Ñ7Ô7Ð7ð 	×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�R˜Ô-¨bÔ1Ñ2Ô2Ð2à×Ò•j %Ô"6Ô"BÀDÑIÔIÐIØ×Ò•j %Ô"6Ô"BÀEÑJÔJÐJà×Ò•i Ô!5Ô!AÀ5ÑIÔIÐIØ×Ò•i Ô!5Ô!AÀ4ÑHÔHÐHð !€EÔ˜ÑØ×Ò�[�[�[ %Ô"6Ñ7Ô7Ð7ð 
Ô×Ò  2Ñ&Ô&Ð&Ø×Ò�_�_�_ eÔ&:Ñ;Ô;Ð;ð 
Ô×Ò Ñ#Ô#Ð#Ø×Ò�\�\�\ 5Ô#7¸¸!¸Ô#<Ñ=Ô=Ð=Ø×ÒÐ(Ð(Ð(¨%Ô*>¸q¸q¸qÔ*AÑBÔBÐBð !6Ð 5­E°!©H¬HÐ 5Ñ 5Ô 5€EÔ˜˜1˜ÑØ×ÒÐ%Ð%Ð% uÔ';Ñ<Ô<Ð<ð !-  €EÔ˜˜1˜ÑØ×ÒÐ(Ð(Ð(¨%Ô*>Ñ?Ô?Ð?ð €FØÔ!ð ð ˆØ‡m‚m�AÑÔÐÐØ×ÒÐ(Ð(Ð(¨&Ñ1Ô1Ð1ð 	Ô˜QÐØ×Ò�_�_�_ eÔ&:Ñ;Ô;Ð;ð 	Ô˜Q˜R˜RÐ Ø×Ò�a˜�W˜eÔ2Ñ3Ô3Ð3ð 
Ô×Ò  B Ñ(Ô(Ð(Ø×Ò�^�^�^ UÔ%9Ñ:Ô:Ð:ð 
×ÒÐ%Ñ&Ô&Ð&Ø×Ò�UÔ)Ñ*Ô*Ð*Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2à	Ô×Ò Ñ"Ô"Ð"Ø×Ò�Q˜Ô,¨RÔ0Ñ1Ô1Ð1à €EÔ˜ÑØ×Ò�Q˜Ô,¨RÔ0Ñ1Ô1Ð1ð +˜l˜l€EÔ˜˜˜ÑØÔ˜RÐ Ø×Ò�Y�Y�Y Ô 4Ñ5Ô5Ð5àÔ˜RÐ Ø×Ò�a˜�V˜UÔ1Ñ2Ô2Ð2à×Ò•j %Ô"6Ô"BÀBÑGÔGÐGØ×Ò•j %Ô"6Ô"BÀCÑHÔHÐHàÔ˜R ˜UÐ#Ø×Ò�a�S˜%Ô.Ñ/Ô/Ð/àÔ˜S ˜YÐ'Ø×Ò�a�S˜%Ô.Ñ/Ô/Ð/Ð/Ð/r    c                 ó4  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             d¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |j                             d¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |j                             d¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        d         ¦  «         |                      t          |j        j        d¦  «         d S )	Nr   r¢   r”   r/   re   rc   rd   r¶   )
r   rZ   r[   rh   rK   r9   rÈ   r\  r†   rÍ   r}  s     r   ÚtestRepeatedScalarsRemovez.Proto2ReflectionTest.testRepeatedScalarsRemoveû  sG  € ÝÔ%Ñ'Ô'€Eà×Ò�UÔ)Ñ*Ô*Ð*Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ#Ô#Ð#Ø	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ"Ô"Ð"à×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø	Ô×Ò Ñ"Ô"Ð"Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨aÔ0Ñ1Ô1Ð1Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0à	Ô×Ò Ñ"Ô"Ð"Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø×Ò�R˜Ô-¨aÔ0Ñ1Ô1Ð1Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0à	Ô×Ò Ñ#Ô#Ð#Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0ð 	×Ò•j %Ô"6Ô"=¸sÑCÔCÐCÐCÐCr    c                 óŒ  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      |j                             ¦   «         ¦  «         |                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         d S r   )r   rZ   r[   rh   rK   r9   ÚassertIsNoneÚreverser}  s     r   Ú testRepeatedScalarsReverse_Emptyz5Proto2ReflectionTest.testRepeatedScalarsReverse_Empty  s©   € ÝÔ%Ñ'Ô'€Eà×Ò�UÔ)Ñ*Ô*Ð*Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2à×Ò�eÔ*×2Ò2Ñ4Ô4Ñ5Ô5Ð5à×Ò�UÔ)Ñ*Ô*Ð*Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ð2Ð2r    c                 ó€  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |j                             d¦  «         |                      dt          |j        ¦  «        ¦  «         |                      |j                             ¦   «         ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         d S )Nr   rc   rd   re   r/   )	r   rZ   r[   rh   rK   r9   rÈ   ró  rô  r}  s     r   Ú#testRepeatedScalarsReverse_NonEmptyz8Proto2ReflectionTest.testRepeatedScalarsReverse_NonEmpty#  s‡  € ÝÔ%Ñ'Ô'€Eà×Ò�UÔ)Ñ*Ô*Ð*Ø×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2à	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ"Ô"Ð"Ø	Ô×Ò Ñ"Ô"Ð"à×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2à×Ò�eÔ*×2Ò2Ñ4Ô4Ñ5Ô5Ð5à×Ò�Q�˜EÔ0Ñ1Ô1Ñ2Ô2Ð2Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ð0Ð0r    c                 ó’  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             ¦   «         }|j                             ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      ||g|j        ¦  «         |  	                    |t           j        j
        ¦  «         |                      t          |j        j        d¦  «         |                      t          |j        j        d¦  «         |                      t          |j        j        d¦  «         |                      t          |j        j        d ¦  «         |j                             ¦   «         }|j                             ¦   «         }|j                             ¦   «         }|                      |||g|j        dd…         ¦  «         |                      |||||g|j        d d …         ¦  «         |                      ||g|j        d d…         ¦  «         |                      |||g|j        dd …         ¦  «         |                      ||j        d         ¦  «         |                      |g|j        d d…         ¦  «         g }|j        D ]}|                     |¦  «         Œ|                      |||||g|¦  «         |j        d= |                      ||||g|j        ¦  «         |j        dd …= |                      ||g|j        ¦  «         t           j         
                    d¬¦  «        }	t           j         
                    d¬¦  «        }
|j                             |	|
g¦  «         |                      dt          |j        ¦  «        ¦  «         |                      |	|j        d         ¦  «         |                      |
|j        d	         ¦  «         |                      t          |j        j        |	¦  «         |                      t          |j        j        dg¦  «         t          j        ¦   «         }|                      t          |j        j        |g¦  «         |                     d
¦  «         |                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             d¬¦  «         |                      dt          |j        ¦  «        ¦  «         |                      d|j        d         j        ¦  «         |                      t          |j        j        d¦  «         |                      t&          ¦  «        5  d|j        d<   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   rd   r‚   rß  r€   rc   r/   rp   re   rw   r�   )r   rZ   r[   rw   rK   r9   rC  r£   rQ   rà   rz   r†   r  rì  r‡   rÈ   rÉ   r�   rq   Ú	Exception)r   r_   Úm0Úm1Úm2Úm3Úm4r%   rP   Ún1Ún2Úwrong_message_types               r   ÚtestRepeatedCompositesz+Proto2ReflectionTest.testRepeatedComposites8  sù  € ÝÔ%Ñ'Ô'€EØ×Ò�UÔ2Ñ3Ô3Ð3Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø	Ô	&×	*Ò	*Ñ	,Ô	,€BØ	Ô	&×	*Ò	*Ñ	,Ô	,€BØ‡O‚O�EÔ1Ñ2Ô2Ð2Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø×Ò˜2˜r˜( EÔ$AÑBÔBÐBØ×Ò˜"�lÔ7ÔEÑFÔFÐFð 	×Ò•j %Ô"?Ô"KØñô ð à×Ò•j %Ô"?Ô"KØñô ð ð 	×Ò•i Ô!>Ô!JØñô ð à×Ò•i Ô!>Ô!JØñô ð ð 
Ô	&×	*Ò	*Ñ	,Ô	,€BØ	Ô	&×	*Ò	*Ñ	,Ô	,€BØ	Ô	&×	*Ò	*Ñ	,Ô	,€BØ×ÒØ	ˆR�ˆ�eÔ3°A°a°CÔ8ñ:ô :ð :à×ÒØ	ˆR��R˜Ð˜eÔ;¸A¸A¸AÔ>ñ@ô @ð @à×ÒØ	ˆRˆ�%Ô/°°°Ô3ñ5ô 5ð 5à×ÒØ	ˆR�ˆ�eÔ3°A°B°BÔ7ñ9ô 9ð 9à×ÒØ
ˆEÔ)¨!Ô,ñ.ô .ð .à×ÒØ	ˆˆeÔ+¨B¨Q¨BÔ/ñ1ô 1ð 1ð €FØÔ*ð ð ˆØ‡m‚m�AÑÔÐÐØ×Ò˜2˜r 2 r¨2Ð.°Ñ7Ô7Ð7ð 	Ô% aÐ(Ø×Ò˜2˜r 2 rÐ*¨EÔ,IÑJÔJÐJð 	Ô% a b bÐ)Ø×Ò˜2˜r˜( EÔ$AÑBÔBÐBõ 
Ô	"×	0Ò	0°AÐ	0Ñ	6Ô	6€BÝ	Ô	"×	0Ò	0°AÐ	0Ñ	6Ô	6€BØ	Ô!×(Ò(¨"¨R¨Ñ1Ô1Ð1Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø×Ò�R˜Ô6°qÔ9Ñ:Ô:Ð:Ø×Ò�R˜Ô6°qÔ9Ñ:Ô:Ð:Ø×Ò•iØÔ3Ô:¸Bñ@ô @ð @à×Ò•iØÔ3Ô:¸Q¸CñAô Að Aå%Ô2Ñ4Ô4ÐØ×Ò•iØÔ3Ô:Ø)Ð*ñ,ô ,ð ,ð
 
×ÒÐ.Ñ/Ô/Ð/Ø×Ò�UÔ2Ñ3Ô3Ð3Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;ð 
Ô!×%Ò%¨Ð%Ñ,Ô,Ð,Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø×Ò�R˜Ô6°qÔ9Ô<Ñ=Ô=Ð=Ø×Ò•i Ô!>Ô!BÀBÑGÔGÐGØ	×	Ò	�9Ñ	%Ô	%ð ,ð ,Ø)+€eÔ# AÑ&ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   Ö$V<Ö<W ×W c                 ó  — t          j        ¦   «         }|                      dt          |j        ¦  «        ¦  «         |j                             ¦   «         }t          |j        ¦  «        |_        |j                             ¦   «         }t          |j        ¦  «        |_        |                      ||k    ¦  «         |j                             ¦   «         }t          |j        ¦  «        |_        |                      |||g|j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j         	                    |¦  «         |                      dt          |j        ¦  «        ¦  «         |                      ||j        d         ¦  «         |                      ||j        d         ¦  «         |  
                    t          |j        j	        |¦  «         |  
                    t          |j        j	        d ¦  «         |                      dt          |j        ¦  «        ¦  «         |j         	                    |¦  «         |                      dt          |j        ¦  «        ¦  «         |                      ||j        d         ¦  «         d S )Nr   re   rd   rc   )r   rZ   rK   r9   rw   rC  rq   r£   rQ   r\  r†   rÍ   ©r   r_   rú  rû  rü  s        r   ÚtestRepeatedCompositeRemovez0Proto2ReflectionTest.testRepeatedCompositeRemove‹  s(  € ÝÔ%Ñ'Ô'€Eà×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø	Ô	&×	*Ò	*Ñ	,Ô	,€Bå�Ô-Ñ.Ô.€B„EØ	Ô	&×	*Ò	*Ñ	,Ô	,€BÝ�Ô-Ñ.Ô.€B„EØ‡O‚O�B˜"’HÑÔÐØ	Ô	&×	*Ò	*Ñ	,Ô	,€BÝ�Ô-Ñ.Ô.€B„EØ×Ò˜2˜r 2˜,¨Ô(EÑFÔFÐFà×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø	Ô!×(Ò(¨Ñ,Ô,Ð,Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø×Ò�R˜Ô6°qÔ9Ñ:Ô:Ð:Ø×Ò�R˜Ô6°qÔ9Ñ:Ô:Ð:ð 	×Ò•j %Ô"?Ô"FÈÑKÔKÐKØ×Ò•j %Ô"?Ô"FÈÑMÔMÐMØ×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;à	Ô!×(Ò(¨Ñ,Ô,Ð,Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ø×Ò�R˜Ô6°qÔ9Ñ:Ô:Ð:Ð:Ð:r    c                 óŒ  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |                      |j                             ¦   «         ¦  «         |                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         d S r   )r   rZ   r[   rw   rK   r9   ró  rô  r}  s     r   Ú"testRepeatedCompositeReverse_Emptyz7Proto2ReflectionTest.testRepeatedCompositeReverse_Empty¨  s©   € ÝÔ%Ñ'Ô'€Eà×Ò�UÔ2Ñ3Ô3Ð3Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;à×Ò�eÔ3×;Ò;Ñ=Ô=Ñ>Ô>Ð>à×Ò�UÔ2Ñ3Ô3Ð3Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;Ð;Ð;r    c                 ó¬  — t          j        ¦   «         }|                      |j        ¦  «         |                      dt          |j        ¦  «        ¦  «         |j                             ¦   «         }t          |j        ¦  «        |_        |j                             ¦   «         }t          |j        ¦  «        |_        |j                             ¦   «         }t          |j        ¦  «        |_        |                      |||g|j        ¦  «         |  	                    |j         
                    ¦   «         ¦  «         |                      |||g|j        ¦  «         d S r   )r   rZ   r[   rw   rK   r9   rC  rq   rQ   ró  rô  r  s        r   Ú%testRepeatedCompositeReverse_NonEmptyz:Proto2ReflectionTest.testRepeatedCompositeReverse_NonEmpty³  s!  € ÝÔ%Ñ'Ô'€Eà×Ò�UÔ2Ñ3Ô3Ð3Ø×Ò�Q�˜EÔ9Ñ:Ô:Ñ;Ô;Ð;à	Ô	&×	*Ò	*Ñ	,Ô	,€BÝ�Ô-Ñ.Ô.€B„EØ	Ô	&×	*Ò	*Ñ	,Ô	,€BÝ�Ô-Ñ.Ô.€B„EØ	Ô	&×	*Ò	*Ñ	,Ô	,€BÝ�Ô-Ñ.Ô.€B„EØ×Ò˜2˜r 2˜,¨Ô(EÑFÔFÐFà×Ò�eÔ3×;Ò;Ñ=Ô=Ñ>Ô>Ð>à×Ò˜2˜r 2˜,¨Ô(EÑFÔFÐFÐFÐFr    c                 óÈ  ‡— t          j        ¦   «         dk    rd S t          j        } |dddd|j        |j        |j        dd d d dd t          j        ¦   «         t          j	        ¬¦  «        }t          j
        ddd	d g g |gg t          j        ¦   «         t          j	        ¬
¦
  «
        Š G ˆfd„dt          j        t          j        ¬¦  «        } |¦   «         }|                      d|j        ¦  «         |                      |                     d¦  «        ¦  «         d|_        |                      d|j        ¦  «         |                      |                     d¦  «        ¦  «         d S )Nr°   Ú	foo_fieldzMyProto.foo_fieldr   rc   F)ÚnameÚ	full_namer  Únumberrl  Úcpp_typeÚlabelÚdefault_valueÚcontaining_typeÚmessage_typeÚ	enum_typeÚis_extensionÚextension_scopeÚoptionsÚ
create_keyÚMyProtoÚignored)
r  r  Úfilenamer  Únested_typesÚ
enum_typesÚfieldsÚ
extensionsr  r  c                   ó   •— e Zd Z” ZdS )úDProto2ReflectionTest.testHandWrittenReflection.<locals>.MyProtoClassN©r;   r<   r=   r·   )Úmydescriptors   €r   ÚMyProtoClassr!  Þ  s   ø€ € € € € à€j€j€jr    r$  ©Ú	metaclassr�   )r   r²   r   ÚFieldDescriptorÚ
TYPE_INT64ÚCPPTYPE_INT64ÚLABEL_OPTIONALr   ÚFieldOptionsÚ_internal_create_keyÚ
DescriptorÚMessageOptionsr	   ÚMessager
   ÚGeneratedProtocolMessageTyperK   r  r[   r\   r£   )r   r'  Úfoo_field_descriptorr$  Úmyproto_instancer#  s        @r   ÚtestHandWrittenReflectionz.Proto2ReflectionTest.testHandWrittenReflectionÅ  s�  ø€ õ ÔÑ Ô  HÒ,Ð,Ø€få Ô0€OØ*˜?ØÐ$7Ø˜ Ô :Ø Ô.ØÔ,¸AØ¨4¸4Ø¨DÝÔ+Ñ-Ô-åÔ2ð	4ñ 	4ô 	4Ðõ Ô(Ø )°iØ¨2¸"Ø$Ð%°"ÝÔ-Ñ/Ô/åÔ2ð4ñ 4ô 4€Lð ð  ð  ð  ð  ð  ð  ÝŒ¥:Ô#Jð ñ  ô  ð  ð $�|‘~”~ÐØ×Ò�QÐ(Ô2Ñ3Ô3Ð3Ø×ÒÐ%×.Ò.¨{Ñ;Ô;Ñ<Ô<Ð<Ø!#ÐÔØ×Ò�RÐ)Ô3Ñ4Ô4Ð4Ø‡O‚OÐ$×-Ò-¨kÑ:Ô:Ñ;Ô;Ð;Ð;Ð;r    ú MakeDescriptor is not repeatablec                 óæ  ‡‡	— t          j        ¦   «         dk    rd S ˆfd„Šd‰_        t          j        ¦   «         }d|_        t          j        } ‰|d|j        ¦  «          ‰|d|j        ¦  «          ‰|d|j	        ¦  «          ‰|d|j
        ¦  «         ‰xj        d	z  c_        |j                             ¦   «         }d
|_        |j        |_        ‰j        |_        t          j        j        |_        t#          j        |¦  «        Š	|                      d‰	j        v ¦  «         |                      d‰	j        v ¦  «         |                      d‰	j        v ¦  «         |                      d‰	j        v ¦  «         |                      d
‰	j        v ¦  «          G ˆ	fd„dt*          j        t.          j        ¬¦  «        } |¦   «         }d|_        d|_        d|_        d|_        |j                             ddg¦  «         |                     ¦   «         }t/          j        ‰	|¦  «        }|                       ||¦  «         |  !                    ||¦  «         |  !                    |j        |j        ¦  «         |  !                    |j        |j        ¦  «         |  !                    |j        |j        ¦  «         |  !                    |j        |j        ¦  «         |  !                    |j        |j        ¦  «         d S )Nr°   c                 óº   •— ‰xj         dz  c_         | j                             ¦   «         }||_        ||_        ‰j         |_        t          j        j        |_	        d S r  )
Úfield_indexÚfieldrC  r  rl  r  r   ÚFieldDescriptorProtor*  r  )r_   rä   Ú
field_typeÚ	new_fieldÚAddDescriptorFields       €r   r<  zKProto2ReflectionTest.testDescriptorProtoSupport.<locals>.AddDescriptorFieldï  sR   ø€ ØÐ$Ô$¨Ñ)Ð$Ô$Ø”+—/’/Ñ#Ô#€iØ!€i„nØ!€i„nØ+Ô7€iÔÝ&Ô;ÔJ€i„o€o€or    r   ÚCarr  ÚyearÚ	automaticÚpricerc   Úownersc                   ó   •— e Zd Z” ZdS )úCProto2ReflectionTest.testDescriptorProtoSupport.<locals>.CarMessageNr"  )Údescs   €r   Ú
CarMessagerC    s   ø€ € € € € à€j€j€jr    rE  r%  ÚpriusiÚ  Tg    °‹Ø@ÚbobÚsusan)"r   r²   r7  r   ÚDescriptorProtor  r9  ÚTYPE_STRINGr(  Ú	TYPE_BOOLÚTYPE_DOUBLEr8  rC  rl  r  ÚLABEL_REPEATEDr  r   ÚMakeDescriptorr£   r¸   r	   r/  r
   r0  r>  r?  r@  rA  rÉ   rã   ÚParseMessager¤   rK   )
r   Ú
desc_protoÚfdpr;  rE  rF  Úserialized_priusÚ	new_priusr<  rD  s
           @@r   ÚtestDescriptorProtoSupportz/Proto2ReflectionTest.testDescriptorProtoSupportè  s  øø€ õ ÔÑ Ô  HÒ,Ð,Ø€fðKð Kð Kð Kð Kð &'ÐÔ"åÔ/Ñ1Ô1€JØ€J„OÝ
Ô
-€CØÐ�z 6¨3¬?Ñ;Ô;Ð;ØÐ�z 6¨3¬>Ñ:Ô:Ð:ØÐ�z ;°´Ñ>Ô>Ð>ØÐ�z 7¨C¬OÑ<Ô<Ð<àÐ"Ô" aÑ'Ð"Ô"ØÔ ×$Ò$Ñ&Ô&€IØ€I„NØ”_€I„NØ)Ô5€IÔÝ$Ô9ÔH€I„OåÔ$ ZÑ0Ô0€DØ‡O‚O�F˜dÔ1Ð1Ñ2Ô2Ð2Ø‡O‚O�F˜dÔ1Ð1Ñ2Ô2Ð2Ø‡O‚O�K 4Ô#6Ð6Ñ7Ô7Ð7Ø‡O‚O�G˜tÔ2Ð2Ñ3Ô3Ð3Ø‡O‚O�H Ô 3Ð3Ñ4Ô4Ð4ðð ð ð ð ð ð ÝŒ¥:Ô#Jðñ ô ð ð ˆJ‰LŒL€EØ€E„JØ€E„JØ€E„OØ€E„KØ	„L×Ò˜ Ð(Ñ)Ô)Ð)à×.Ò.Ñ0Ô0ÐÝÔ'¨Ð.>Ñ?Ô?€IØ×Ò�Y Ñ&Ô&Ð&Ø×Ò�U˜IÑ&Ô&Ð&ð 	×Ò�U”Z ¤Ñ0Ô0Ð0Ø×Ò�U”Z ¤Ñ0Ô0Ð0Ø×Ò�U”_ iÔ&9Ñ:Ô:Ð:Ø×Ò�U”[ )¤/Ñ2Ô2Ð2Ø×Ò�U”\ 9Ô#3Ñ4Ô4Ð4Ð4Ð4r    c                 ó¼  — t          j        ¦   «         }t           j        }d|j        |<   t           j        }|j        |                              d¦  «         t           j        }d|j        |         _        |                      t          |j        ¦  «        d¦  «         |j        |= |                      t          |j        ¦  «        d¦  «         |j        |= |                      t          |j        ¦  «        d¦  «         |j        |= |                      t          |j        ¦  «        d¦  «         |j        |= |                      t          |j        ¦  «        d¦  «         d S )Nr�   r•   é8   re   rd   rc   r   )
r   ÚExtendedMessageÚoptional_int_extensionr›  Úrepeated_int_extensionrÈ   Úoptional_message_extensionÚforeign_message_intrK   r9   )r   Úextendee_protoÚextension_int32Úextension_repeatedÚextension_msgs        r   ÚtestExtensionDeletez(Proto2ReflectionTest.testExtensionDelete'  s>  € Ý(Ô8Ñ:Ô:€Nå)Ô@€OØ13€NÔ˜oÑ.å,ÔCÐØÔÐ0Ô1×8Ò8¸Ñ<Ô<Ð<å'ÔB€MØCE€NÔ˜mÔ,Ô@à×Ò•S˜Ô2Ñ3Ô3°QÑ7Ô7Ð7ØÔ! -Ð0Ø×Ò•S˜Ô2Ñ3Ô3°QÑ7Ô7Ð7ØÔ!Ð"4Ð5Ø×Ò•S˜Ô2Ñ3Ô3°QÑ7Ô7Ð7ð
 	Ô!Ð"4Ð5Ø×Ò•S˜Ô2Ñ3Ô3°QÑ7Ô7Ð7ØÔ! /Ð2Ø×Ò•S˜Ô2Ñ3Ô3°QÑ7Ô7Ð7Ð7Ð7r    c                 ó  — t          j        ¦   «         }t           j        }d|j        |<   t           j        }|j        |                              d¦  «         t           j        }d|j        |         _        d|_        |j	                             d¦  «         |||f}d}|j        D ]H}|  
                    |j        ||         j        ¦  «         |                      ||j        ¦  «         |dz  }ŒI|  
                    |d¦  «         d S )Nr�   r•   rV  rc   Úhir   re   )r   rW  rX  r›  rY  rÈ   rZ  r[  rW   rk   rK   r  ÚassertIn)r   r\  r]  r^  r_  ÚexpectedÚcountÚitems           r   ÚtestExtensionIterz&Proto2ReflectionTest.testExtensionIterA  s  € Ý(Ô8Ñ:Ô:€Nå)Ô@€OØ13€NÔ˜oÑ.å,ÔCÐØÔÐ0Ô1×8Ò8¸Ñ<Ô<Ð<å'ÔB€MØCE€NÔ˜mÔ,Ô@ð %&€NÔ!ØÔ"×)Ò)¨$Ñ/Ô/Ð/à Ð0BÐC€HØ€EØÔ)ð ð ˆØ
×Ò�t”y (¨5¤/Ô"6Ñ7Ô7Ð7Ø
‡m‚m�D˜.Ô3Ñ4Ô4Ð4Øˆq�j€e€eØ×Ò�U˜AÑÔÐÐÐr    c                 óü   — t          j        ¦   «         }|                      t          |j        j        d¦  «         t           j        j        j        d         }|                      t          |j        j        |¦  «         d S )Nr   rW   )r   rW  r†   ÚKeyErrorr›  Ú__contains__r·   r¸   )r   r\  r8  s      r   ÚtestExtensionContainsErrorz/Proto2ReflectionTest.testExtensionContainsErrorY  sh   € Ý(Ô8Ñ:Ô:€NØ×Ò•h Ô 9Ô FÈÑJÔJÐJåÔ/Ô:ÔIØô€Eà×Ò•h Ô 9Ô FÈÑNÔNÐNÐNÐNr    c                 ó`  — t          j        ¦   «         }t           j        }|                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         |                      d|j        |         ¦  «         |                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         d|j        |<   |                      d|j        |         ¦  «         |                      |                     |¦  «        ¦  «         |  	                    ||j        ¦  «         | 
                    |¦  «         |                      d|j        |         ¦  «         |                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         d S ©Nr   r�   )r   rš  r�  r[   ÚHasExtensionÚassertNotInr›  rK   r£   rc  ÚClearExtension)r   r\  Ú	extensions      r   Ú'testTopLevelExtensionsForOptionalScalarz<Proto2ReflectionTest.testTopLevelExtensionsForOptionalScalara  sƒ  € Ý!Ô3Ñ5Ô5€NÝÔ5€IØ×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:Ø×Ò�Q˜Ô1°)Ô<Ñ=Ô=Ð=ð 	×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:à+-€NÔ˜iÑ(Ø×Ò�R˜Ô2°9Ô=Ñ>Ô>Ð>Ø‡O‚O�N×/Ò/°	Ñ:Ô:Ñ;Ô;Ð;Ø‡M‚M�)˜^Ô6Ñ7Ô7Ð7à×!Ò! )Ñ,Ô,Ð,Ø×Ò�Q˜Ô1°)Ô<Ñ=Ô=Ð=Ø×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:Ð:Ð:r    c                 ó  — t          j        ¦   «         }t           j        }|                      dt	          |j        |         ¦  «        ¦  «         |                      ||j        ¦  «         |j        |                              d¦  «         |                      dg|j        |         ¦  «         |                      ||j        ¦  «         |j        |         }| 	                    |¦  «         |                      dt	          |j        |         ¦  «        ¦  «         |                      ||j        ¦  «         |  
                    ||j        |         ¦  «         |                      t          t          j        |j        |d¦  «         d S )Nr   r€   rz  )r   rš  r£  rK   r9   r›  ro  rÈ   rc  rp  r¤   r†   r‡   ÚoperatorÚsetitem)r   r\  rq  Ústring_lists       r   Ú'testTopLevelExtensionsForRepeatedScalarz<Proto2ReflectionTest.testTopLevelExtensionsForRepeatedScalarv  s[  € Ý!Ô3Ñ5Ô5€NÝÔ6€IØ×Ò�Q�˜NÔ5°iÔ@ÑAÔAÑBÔBÐBØ×Ò�Y Ô 9Ñ:Ô:Ð:ØÔ˜iÔ(×/Ò/°Ñ6Ô6Ð6Ø×Ò�e�W˜nÔ7¸	ÔBÑCÔCÐCØ‡M‚M�)˜^Ô6Ñ7Ô7Ð7Ø Ô+¨IÔ6€KØ×!Ò! )Ñ,Ô,Ð,Ø×Ò�Q�˜NÔ5°iÔ@ÑAÔAÑBÔBÐBØ×Ò�Y Ô 9Ñ:Ô:Ð:Ø×Ò�[ .Ô";¸IÔ"FÑGÔGÐGà×Ò•i¥Ô!1°>Ô3LØ ñ&ô &ð &ð &ð &r    c                 óŒ  — t          j        ¦   «         }t           j        }|                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         |                      d|j        |         j        ¦  «         |                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         d|j        |         _        |                      d|j        |         j        ¦  «         |  	                    |                     |¦  «        ¦  «         |  
                    ||j        ¦  «         |j        |         }|                     |¦  «         |                      ||j        |         ¦  «         d|_        |                      d|j        ¦  «         |  	                    |                     d¦  «        ¦  «         |                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         |                      t          t           j        |j        |d¦  «         d S )Nr   r�   r²  rt   rz  )r   rš  Ú"optional_foreign_message_extensionr[   rn  ro  r›  rK   rt   r£   rc  rp  r¤   r\   r†   r‡   rt  ru  )r   r\  rq  Úforeign_messages       r   Ú(testTopLevelExtensionsForOptionalMessagez=Proto2ReflectionTest.testTopLevelExtensionsForOptionalMessage‡  s	  € Ý!Ô3Ñ5Ô5€NÝÔ?€IØ×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:Ø×Ò�Q˜Ô1°)Ô<Ô>Ñ?Ô?Ð?ð 	×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:Ø-/€NÔ˜iÔ(Ô*Ø×Ò�R˜Ô2°9Ô=Ô?Ñ@Ô@Ð@Ø‡O‚O�N×/Ò/°	Ñ:Ô:Ñ;Ô;Ð;Ø‡M‚M�)˜^Ô6Ñ7Ô7Ð7à$Ô/°	Ô:€OØ×!Ò! )Ñ,Ô,Ð,Ø×Ò�_ nÔ&?À	Ô&JÑKÔKÐKð €OÔØ×Ò�R˜Ô*Ñ+Ô+Ð+Ø‡O‚O�O×,Ò,¨SÑ1Ô1Ñ2Ô2Ð2Ø×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:à×Ò•i¥Ô!1°>Ô3LØ ñ&ô &ð &ð &ð &r    c                 óæ  — t          j        ¦   «         }t           j        }|                      dt	          |j        |         ¦  «        ¦  «         |j        |                              ¦   «         }d|_        |                      d|j        |         d         j        ¦  «         d|_        |                      d|j        |         d         j        ¦  «         |j        |         }|                     |¦  «         |                      dt	          |j        |         ¦  «        ¦  «         |  	                    ||j        |         ¦  «         |  
                    t          t          j        |j        |d¦  «         d S )Nr   r�   r²  rz  )r   rš  Úrepeatedgroup_extensionrK   r9   r›  rC  rz  rp  r¤   r†   r‡   rt  ru  )r   r\  rq  ÚgroupÚ
group_lists        r   Ú(testTopLevelExtensionsForRepeatedMessagez=Proto2ReflectionTest.testTopLevelExtensionsForRepeatedMessage¤  sI  € Ý!Ô3Ñ5Ô5€NÝÔ4€IØ×Ò�Q�˜NÔ5°iÔ@ÑAÔAÑBÔBÐBØÔ% iÔ0×4Ò4Ñ6Ô6€EØ€E„GØ×Ò�R˜Ô2°9Ô=¸aÔ@ÔBÑCÔCÐCØ€E„GØ×Ò�R˜Ô2°9Ô=¸aÔ@ÔBÑCÔCÐCØÔ*¨9Ô5€JØ×!Ò! )Ñ,Ô,Ð,Ø×Ò�Q�˜NÔ5°iÔ@ÑAÔAÑBÔBÐBØ×Ò�Z Ô!:¸9Ô!EÑFÔFÐFà×Ò•i¥Ô!1°>Ô3LØ ñ&ô &ð &ð &ð &r    c                 ó|  — t          j        ¦   «         }t           j        j        }|                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         |j        |         }|                      d|j	        ¦  «         |                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         d|_	        |                      d|j        |         j	        ¦  «         |  
                    |                     |¦  «        ¦  «         |                      ||j        ¦  «         |                     |¦  «         |                      ||j        |         ¦  «         |                      |                     |¦  «        ¦  «         |                      ||j        ¦  «         d S rm  )r   rš  ÚTestRequiredÚsingler[   rn  ro  r›  rK   rz  r£   rc  rp  r¤   )r   r\  rq  Úrequireds       r   ÚtestNestedExtensionsz)Proto2ReflectionTest.testNestedExtensionsµ  sŠ  € Ý!Ô3Ñ5Ô5€NÝÔ)Ô0€Ið 	×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:ØÔ(¨Ô3€HØ×Ò�Q˜œ
Ñ#Ô#Ð#Ø×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:Ø€H„JØ×Ò�R˜Ô2°9Ô=Ô?Ñ@Ô@Ð@Ø‡O‚O�N×/Ò/°	Ñ:Ô:Ñ;Ô;Ð;Ø‡M‚M�)˜^Ô6Ñ7Ô7Ð7Ø×!Ò! )Ñ,Ô,Ð,Ø×Ò�X˜~Ô8¸ÔCÑDÔDÐDØ×Ò�^×0Ò0°Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Y Ô 9Ñ:Ô:Ð:Ð:Ð:r    c                 óœ  — t           j        j        }|                      |                     t           j        j        d¦  «        ¦  «         |                      |                     d¦  «        j        t           j        j        ¦  «         |  	                    dt          |                     t           j        j        ¦  «        ¦  «        ¦  «         d S )Nrc   z*protobuf_unittest.optional_int32_extensionr   )r   r·   Úpoolr£   ÚFindExtensionByNumberrš  ÚassertIsÚFindExtensionByNamer  rK   r9   ÚFindAllExtensionsrZ   )r   r‡  s     r   ÚtestRegisteredExtensionsz-Proto2ReflectionTest.testRegisteredExtensionsÉ  sË   € ÝÔ"Ô'€DØ‡O‚OØ×"Ò"ÝÔ*Ô5°qñ	:ô 	:ñ;ô ;ð ;ð 	‡M‚MØ× Ò Ø8ñ	:ô 	:Ü:IÝÔ&Ô1ñ3ô 3ð 3ð 	×Ò�Q�Ø×Ò�|Ô8ÔCÑDÔDñFô Fñ Gô Gð Gð Gð Gr    c                 óÈ  — t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      d|j        j        t           j                 ¦  «         |                      |                     d¦  «        ¦  «         d|j        j        t           j        <   |                      d|j        j        t           j                 ¦  «         |                      |                     d¦  «        ¦  «         t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      g |j        j        t           j	                 ¦  «         |                      |                     d¦  «        ¦  «         |j        j        t           j	                  
                    d¦  «         |                      dg|j        j        t           j	                 ¦  «         |                      |                     d¦  «        ¦  «         t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      d|j        j        t           j                 j        ¦  «         |                      |                     d¦  «        ¦  «         d|j        j        t           j                 _        |                      d|j        j        t           j                 j        ¦  «         |                      |                     d¦  «        ¦  «         t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |                      dt          |j        j        t           j                 ¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |j        j        t           j                                      ¦   «         }|                      ||j        j        t           j                 d         ¦  «         |                      |                     d¦  «        ¦  «         d S )NÚ
submessager   r�   )r   ÚTopLevelMessager[   r\   rK   rŽ  r›  rX  r£   rY  rÈ   rZ  r[  r9   Úrepeated_message_extensionrC  )r   Útoplevelrf  s      r   Ú(testHasBitsForAncestorsOfExtendedMessagez=Proto2ReflectionTest.testHasBitsForAncestorsOfExtendedMessageÛ  sØ  € å"Ô2Ñ4Ô4€HØ×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5Ø×Ò�Q˜Ô+Ô6ÝÔ2ô4ñ 5ô 5ð 5à×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5à68ð ÔÔ"ÝÔ2ñ4à×Ò�R˜Ô,Ô7ÝÔ2ô4ñ 5ô 5ð 5à‡O‚O�H×%Ò% lÑ3Ô3Ñ4Ô4Ð4õ #Ô2Ñ4Ô4€HØ×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5Ø×Ò�R˜Ô,Ô7ÝÔ2ô4ñ 5ô 5ð 5à×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5ØÔÔ"ÝÔ2ô4ß4:²F¸2±J´J°JØ×Ò�b�T˜8Ô.Ô9ÝÔ2ô4ñ 5ô 5ð 5à‡O‚O�H×%Ò% lÑ3Ô3Ñ4Ô4Ð4õ #Ô2Ñ4Ô4€HØ×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5Ø×Ò�Q˜Ô+Ô6ÝÔ6ô8Ü8KñMô Mð Mà×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5àNPð ÔÔ"ÝÔ6ô8Ü8KØ×Ò�R˜Ô,Ô7ÝÔ6ô8Ü8KñMô Mð Mà‡O‚O�H×%Ò% lÑ3Ô3Ñ4Ô4Ð4õ #Ô2Ñ4Ô4€HØ×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5Ø×Ò�Q�˜HÔ/Ô:ÝÔ6ô8ñ 9ô 9ñ :ô :ð :à×Ò�X×&Ò& |Ñ4Ô4Ñ5Ô5Ð5ØÔ!Ô,ÝÔ6ô8ß8;º¹¼ð à×Ò�W˜hÔ1Ô<ÝÔ6ô8Ø89ô;ñ <ô <ð <à‡O‚O�H×%Ò% lÑ3Ô3Ñ4Ô4Ð4Ð4Ð4r    c                 óæ   — t          j        ¦   «         }|j        }t           j        }|j        |         }|                     |¦  «         d|_        |                      ||j        |         ¦  «         d S rŽ   )r   r�  rŽ  rZ  r›  rp  r[  r¤   )r   r‘  r\  rq  Úextension_protos        r   Ú*testDisconnectionAfterClearingEmptyMessagez?Proto2ReflectionTest.testDisconnectionAfterClearingEmptyMessage  sm   € Ý"Ô2Ñ4Ô4€HØÔ(€NÝ#Ô>€IØ$Ô/°	Ô:€OØ×!Ò! )Ñ,Ô,Ð,Ø*,€OÔ'à×Ò�_ nÔ&?À	Ô&JÑKÔKÐKÐKÐKr    c                 ó   — t          j        ¦   «         }|                      t          |j        d¦  «         |                      t          |j        d¦  «         |                      t          |j        j        d¦  «         |                      t          |j        j        dd¦  «         t          j
        t          j        t          j        t          j        fD ]‘}|                      t          |j        |¦  «         |                      t          |j        |¦  «         |                      t          |j        j        |¦  «         |                      t          |j        j        |d¦  «         Œ’|                      t          |j        t           j        ¦  «         d S )Nr‚   r¢   )r   rš  r†   ri  rn  rp  r›  rì  r  r   rX  rZ  rY  r�  r£  )r   r\  Úunknown_handles      r   ÚtestExtensionFailureModesz.Proto2ReflectionTest.testExtensionFailureModes  sz  € Ý!Ô3Ñ5Ô5€Nð 	×Ò•h Ô ;¸TÑBÔBÐBØ×Ò•h Ô =¸tÑDÔDÐDØ×Ò•h Ô 9Ô EÀtÑLÔLÐLØ×Ò•h Ô 9Ô EÀtÈQÑOÔOÐOõ /ÔEÝ.ÔIÝ.ÔEÝ.ÔIðKð +ð +ˆð ×Ò� .Ô"=Ø&ñ(ô (ð (à
×Ò� .Ô"?Ø&ñ(ô (ð (à
×Ò� .Ô";Ô"GØ&ñ(ô (ð (à
×Ò� .Ô";Ô"GØ&¨ñ+ô +ð +ð +ð 	×Ò•h Ô ;Ý"Ô<ñ>ô >ð >ð >ð >r    c                 óÔ   — t          j        ¦   «         }d|j        _        t          j        ¦   «         }|                     |¦  «         |                      d|j        j        ¦  «         d S )Nrv   )r   rZ   rŒ  rz  rª   rK   ©r   r¬   r­   s      r   ÚtestMergeFromOptionalGroupz/Proto2ReflectionTest.testMergeFromOptionalGroup5  s_   € åÔ&Ñ(Ô(€FØ€FÔÔÝÔ&Ñ(Ô(€FØ
×Ò�VÑÔÐØ×Ò�R˜Ô-Ô/Ñ0Ô0Ð0Ð0Ð0r    c                 óú   — t          j        ¦   «         }d|j        t           j        <   t          j        ¦   «         }|                     |¦  «         |                      d|j        t           j                 ¦  «         d S r  )r   rš  r›  r�  rª   rK   rš  s      r   ÚtestMergeFromExtensionsSingularz4Proto2ReflectionTest.testMergeFromExtensionsSingular=  sy   € ÝÔ+Ñ-Ô-€FØ?@€FÔ•lÔ;Ñ<åÔ+Ñ-Ô-€FØ
×Ò�VÑÔÐØ×ÒØ	ˆ6Ô�\ÔBÔCñEô Eð Eð Eð Er    c                 ó  — t          j        ¦   «         }|j        t           j                                      d¦  «         |j        t           j                                      d¦  «         t          j        ¦   «         }|j        t           j                                      d¦  «         |                     |¦  «         |                      dt          |j        t           j                 ¦  «        ¦  «         |                      d|j        t           j                 d         ¦  «         |                      d|j        t           j                 d         ¦  «         |                      d|j        t           j                 d         ¦  «         d S )Nrc   rd   r   re   )r   rš  r›  r¢  rÈ   rª   rK   r9   rš  s      r   ÚtestMergeFromExtensionsRepeatedz4Proto2ReflectionTest.testMergeFromExtensionsRepeatedF  s^  € ÝÔ+Ñ-Ô-€FØ
Ô•lÔ;Ô<×CÒCÀAÑFÔFÐFØ
Ô•lÔ;Ô<×CÒCÀAÑFÔFÐFåÔ+Ñ-Ô-€FØ
Ô•lÔ;Ô<×CÒCÀAÑFÔFÐFØ
×Ò�VÑÔÐØ×ÒØ	�3ˆvÔ ¥Ô!FÔGÑHÔHñJô Jð Jà×ÒØ	ˆ6Ô�\ÔBÔCÀAÔFñHô Hð Hà×ÒØ	ˆ6Ô�\ÔBÔCÀAÔFñHô Hð Hà×ÒØ	ˆ6Ô�\ÔBÔCÀAÔFñHô Hð Hð Hð Hr    c                 ó´  — t          j        ¦   «         }|j        t           j                 }|                     ¦   «         }d|_        |                     ¦   «         }d|_        t          j        ¦   «         }|j        t           j                 }|                     ¦   «         }d|_        |                     |¦  «         |j        t           j                 }|                      dt          |¦  «        ¦  «         |                      d|d         j        ¦  «         |                      d|d         j        ¦  «         |                      d|d         j        ¦  «         d S )NéÞ   iM  éo   re   r   rc   rd   )	r   rš  r›  Ú!repeated_nested_message_extensionrC  rq   rª   rK   r9   )r   r¬   Úext1rD  r­   Úext2s         r   Ú$testMergeFromExtensionsNestedMessagez9Proto2ReflectionTest.testMergeFromExtensionsNestedMessageW  s  € ÝÔ+Ñ-Ô-€FØÔÝÔ6ô8€Dà�Š‰
Œ
€AØ€A„DØ�Š‰
Œ
€AØ€A„DåÔ+Ñ-Ô-€FØÔÝÔ6ô8€Dà�Š‰
Œ
€AØ€A„Dà
×Ò�VÑÔÐØÔÝÔ6ô8€Dà×Ò�Q�˜D™	œ	Ñ"Ô"Ð"Ø×Ò�S˜$˜qœ'œ*Ñ%Ô%Ð%Ø×Ò�S˜$˜qœ'œ*Ñ%Ô%Ð%Ø×Ò�S˜$˜qœ'œ*Ñ%Ô%Ð%Ð%Ð%r    c                 óÆ   — t          j        ¦   «         dk    rd S t          j        ¦   «         }t          j        ¦   «         }|                      t          |j        |¦  «         d S )Nr°   )r   r²   r   rZ   rš  r†   r‡   rQ  rš  s      r   ÚtestCopyFromBadTypez(Proto2ReflectionTest.testCopyFromBadTypen  sY   € õ ÔÑ Ô  HÒ,Ð,Ø€fÝÔ&Ñ(Ô(€FÝÔ+Ñ-Ô-€FØ×Ò•i ¤°&Ñ9Ô9Ð9Ð9Ð9r    c                 óŽ  — t          j        ¦   «         }t          j        ¦   «         dk    rt	          j        |¦  «         nt	          j        |¦  «         |                     ¦   «          |                      | 	                    ¦   «         d¦  «         t          j        ¦   «         }|                      ||¦  «         t          j
        ¦   «         }t	          j        |¦  «         |                     ¦   «          |                      | 	                    ¦   «         d¦  «         t          j
        ¦   «         }|                      ||¦  «         d S )Nr°   r   )r   rZ   r   r²   r   r8  ÚSetAllNonLazyFieldsre  rK   r‹   rš  ÚSetAllExtensions)r   r_   Úempty_protos      r   Ú	testClearzProto2ReflectionTest.testClearw  s  € ÝÔ%Ñ'Ô'€Eõ ÔÑ Ô  HÒ,Ð,ÝÔ˜UÑ#Ô#Ð#Ð#åÔ# EÑ*Ô*Ð*à	‡K‚K�M„M€MØ×Ò�U—^’^Ñ%Ô% qÑ)Ô)Ð)ÝÔ+Ñ-Ô-€KØ×Ò�U˜KÑ(Ô(Ð(õ Ô*Ñ,Ô,€EÝÔ˜uÑ%Ô%Ð%à	‡K‚K�M„M€MØ×Ò�U—^’^Ñ%Ô% qÑ)Ô)Ð)ÝÔ0Ñ2Ô2€KØ×Ò�U˜KÑ(Ô(Ð(Ð(Ð(r    c                 ón  — t          j        ¦   «         }d|j        _        |j        }|                      |j        j        d¦  «         |                      |j        j        d¦  «         d|j        _        |                      |j        j        d¦  «         |                      |j        d¦  «         d|_        d S )Nr¢   r   r(  é   )r   Ú
TestOneof2Úfoo_messageÚmoo_intrK   Úfoo_lazy_message)r   rD  Úsub_messages      r   ÚtestDisconnectingInOneofz-Proto2ReflectionTest.testDisconnectingInOneofŽ  s¥   € ÝÔÑ!Ô!€AØ€A„MÔØ”-€Kà×Ò�QÔ'Ô/°Ñ3Ô3Ð3Ø×Ò�Q”]Ô*¨AÑ.Ô.Ð.à!"€AÔÔØ×Ò�Q”]Ô*¨AÑ.Ô.Ð.à×Ò�[Ô(¨!Ñ,Ô,Ð,Ø€KÔÐÐr    c                 ó¤   — |                       |                     ¦   «         ¦  «         |                     ¦   «          |                     ¦   «          d S r"   )r£   ÚIsInitializedrã   ÚSerializePartialToStringr}  s     r   ÚassertInitializedz&Proto2ReflectionTest.assertInitializedœ  sJ   € Ø‡O‚O�E×'Ò'Ñ)Ô)Ñ*Ô*Ð*à	×ÒÑÔÐØ	×"Ò"Ñ$Ô$Ð$Ð$Ð$r    Nc                 ó`  — g }|                       |                     ¦   «         ¦  «         |                       |                     |¦  «        ¦  «         |                      |t          |¦  «        ¦  «         |                      t
          j        |j        ¦  «         |                     ¦   «          d S r"   )	r[   r·  rK   r9   r†   r	   ÚEncodeErrorrã   r¸  )r   r_   Ú
error_sizeÚerrorss       r   ÚassertNotInitializedz)Proto2ReflectionTest.assertNotInitialized¢  s™   € Ø€FØ×Ò�U×(Ò(Ñ*Ô*Ñ+Ô+Ð+Ø×Ò�U×(Ò(¨Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�Z¥ V¡¤Ñ-Ô-Ð-Ø×Ò•gÔ)¨5Ô+BÑCÔCÐCà	×"Ò"Ñ$Ô$Ð$Ð$Ð$r    c                 ó€  — t          j        ¦   «         }|                      |¦  «         t          j        ¦   «         }|                      |¦  «         t          j        ¦   «         }|                      |d¦  «         dx|_        x|_        |_        |                      |¦  «         t          j	        ¦   «         }|                      |¦  «         d|j
        _        |                      |d¦  «         d|j
        _        d|j
        _        |                      |¦  «         |j                             ¦   «         }|                      |d¦  «         dx|_        x|_        |_        |                      |¦  «         t          j        ¦   «         }t           j        j        }|j        |                              ¦   «         }|j        |                              ¦   «         }|                      |d¦  «         d|_        d|_        d|_        |                      |d¦  «         d|_        d|_        d|_        |                      |¦  «         t          j        ¦   «         }t           j        j        }d|j        |         _        |                      |d¦  «         d|j        |         _        d|j        |         _        |                      |¦  «         g }t          j        ¦   «         }|                      |                     |¦  «        ¦  «         |                      |g d¢¦  «         |                      t(          |j        ddd¦  «         d S )Nre   rd   rc   r   r(  ©rz  Úbrt   )r   rZ   r¹  rš  r‚  r¾  rz  rÁ  rt   rÚ  Úoptional_messagerÙ  rC  Úmultir›  rƒ  r[   r·  rK   r†   r‡   )r   r_   rL  rq  rM  r½  s         r   ÚtestIsInitializedz&Proto2ReflectionTest.testIsInitialized«  sû  € åÔ%Ñ'Ô'€EØ×Ò˜5Ñ!Ô!Ð!ÝÔ*Ñ,Ô,€EØ×Ò˜5Ñ!Ô!Ð!õ Ô%Ñ'Ô'€EØ×Ò˜e QÑ'Ô'Ð'Ø"#Ð#€E„GÐ#ˆeŒg˜œØ×Ò˜5Ñ!Ô!Ð!õ Ô,Ñ.Ô.€EØ×Ò˜5Ñ!Ô!Ð!Ø €EÔÔØ×Ò˜e QÑ'Ô'Ð'Ø €EÔÔØ €EÔÔØ×Ò˜5Ñ!Ô!Ð!ð Ô%×)Ò)Ñ+Ô+€HØ×Ò˜e QÑ'Ô'Ð'Ø+,Ð,€H„JÐ,�”˜hœjØ×Ò˜5Ñ!Ô!Ð!õ Ô*Ñ,Ô,€EÝÔ)Ô/€IØÔ 	Ô*×.Ò.Ñ0Ô0€HØÔ 	Ô*×.Ò.Ñ0Ô0€HØ×Ò˜e QÑ'Ô'Ð'Ø€H„JØ€H„JØ€H„JØ×Ò˜e QÑ'Ô'Ð'Ø€H„JØ€H„JØ€H„JØ×Ò˜5Ñ!Ô!Ð!õ Ô*Ñ,Ô,€EÝÔ)Ô0€IØ$%€EÔ�YÔÔ!Ø×Ò˜e QÑ'Ô'Ð'Ø$%€EÔ�YÔÔ!Ø$%€EÔ�YÔÔ!Ø×Ò˜5Ñ!Ô!Ð!ð €FÝÔ%Ñ'Ô'€EØ×Ò�U×(Ò(¨Ñ0Ô0Ñ1Ô1Ð1Ø×Ò�V˜_˜_˜_Ñ-Ô-Ð-Ø×Ò•i Ô!4°a¸¸AÑ>Ô>Ð>Ð>Ð>r    r°   zBErrors are only available from the most recent C++ implementation.c           
      ó  — d}d}t          j        ¦   «         }||_        ||_        |j                             ¦   «         }d|_        t          j        |||                     ¦   «         ¬¦  «         d}||_        |j                             ¦   «         }d|_        |  	                    t          ¦  «        5 }t          j        |||                     ¦   «         ¬¦  «         |                      t          |d¦  «        dt          |j        d|j        ¦  «        z  ¦  «         |                      dt!          |j        ¦  «        ¦  «         |                      d	t!          |j        ¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nz!test_file_descriptor_errors.protoÚmsg1)Úserialized_pbz)another_test_file_descriptor_errors.protoÚmsg2Ú	exceptionú%s not raisedr;   z test_file_descriptor_errors.msg1)r   ÚFileDescriptorProtor  Úpackager  rC  r   ÚFileDescriptorrã   r†   r‡   r£   Úhasattrrá   rd  rc  rÀ   rÉ  )r   Ú	file_nameÚpackage_nameÚfile_descriptor_protorû  Úanother_file_namerü  Úcms           r   ÚtestFileDescriptorErrorsz-Proto2ReflectionTest.testFileDescriptorErrorsæ  sç  € ð 4€IØ6€LÝ*Ô>Ñ@Ô@ÐØ!*ÐÔØ$0ÐÔ!Ø	Ô	+×	/Ò	/Ñ	1Ô	1€BØ€B„GåÔØØØ+×=Ò=Ñ?Ô?ðAñ Aô Að Að
 DÐØ!2ÐÔØ	Ô	+×	/Ò	/Ñ	1Ô	1€BØ€B„GØ	×	Ò	�9Ñ	%Ô	%ð K¨ÝÔØ
Ø
Ø-×?Ò?ÑAÔAðCñ Cô Cð Cð ‡o‚o•g˜b +Ñ.Ô.°Ý˜bœk¨:°r´{ÑCÔCñ1Dñ Eô Eð Eà
‡m‚mÐ7½¸R¼\Ñ9JÔ9JÑKÔKÐKð ‡m‚mÐ6½¸B¼LÑ8IÔ8IÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks   Â2B:E9Å9E=Æ E=c                 ód  — t          j        ¦   «         }t           j        }|j        }d}|                     d¦  «        }||j        |         _        |                     ¦   «         }|                      | 	                    ¦   «         t          |¦  «        ¦  «         t          j        ¦   «         }|                     |¦  «        }|                      t          |¦  «        |¦  «         t          j        ¦   «         }	|                      dt          |j        ¦  «        ¦  «         |                      |j        d         j        d¦  «         |                      |j        d         j                             |¦  «        ¦  «         |	                     |j        d         j        ¦  «        }|                      t          |j        d         j        ¦  «        |¦  «         |                      t'          |	j        ¦  «        t          ¦  «         |                      |	j        |¦  «         |j        d         j                             |t          |¦  «        dz  ¦  «        }
d}	 |	                     |
¦  «         n# t*          $ r d}Y nw xY w|	j        }|                      |pt'          |¦  «        t,          u ¦  «         d S )	Nrj  rk  rc   r   iÊ¿Ýó   ÿFT)r   ÚTestMessageSetÚTestMessageSetExtension2Úmessage_set_extensionrm  r›  rÀ   rã   rK   r‹   r9   r   ÚRawMessageSetrs  rf  Útype_idr£   r	   Úendswithrl  ÚreplaceÚUnicodeDecodeErrorr   )r   r_   Úextension_messagerq  Ú	test_utf8Útest_utf8_bytesru  Úrawrt  rM  ÚbadbytesÚunicode_decode_failedÚstring_fields                r   ÚtestStringUTF8Serializationz0Proto2ReflectionTest.testStringUTF8Serialization  sc  € Ý&Ô5Ñ7Ô7€EÝ2ÔKÐØ!Ô7€Ià€IØ×&Ò& wÑ/Ô/€Oð '0€EÔ�YÔÔ#ð ×(Ò(Ñ*Ô*€Jð 	×Ò�U—^’^Ñ%Ô%¥s¨:¡¤Ñ7Ô7Ð7å
Ô
)Ñ
+Ô
+€CØ×$Ò$ ZÑ0Ô0€JØ×Ò•S˜‘_”_ jÑ1Ô1Ð1å)ÔBÑDÔD€Hà×Ò�Q�˜CœH™œÑ&Ô&Ð&à×Ò�S”X˜a”[Ô(¨(Ñ3Ô3Ð3ð 	‡O‚O�C”H˜Q”KÔ'×0Ò0°ÑAÔAÑBÔBÐBØ×)Ò)¨#¬(°1¬+Ô*=Ñ>Ô>€JØ×Ò•S˜œ !œÔ,Ñ-Ô-¨zÑ:Ô:Ð:à×Ò•T˜(œ,Ñ'Ô'­Ñ-Ô-Ð-Ø×Ò�X”\ 9Ñ-Ô-Ð-ð Œx˜Œ{Ô"×*Ò*Ø�˜_Ñ-Ô-°Ñ7ñ9ô 9€Hð "Ðð#Ø×Ò˜xÑ(Ô(Ð(Ð(øÝð #ð #ð #Ø"ÐÐÐð#øøøà”<€LØ‡O‚OÐ)ÐH­T°,Ñ-?Ô-?Å5Ð-HÑIÔIÐIÐIÐIs   ÉI, É,I;É:I;c                 óþ   — t          j        ¦   «         }|                      |                     d¦  «        ¦  «         |j                             ¦   «          |                      |                     d¦  «        ¦  «         d S )NrŒ  )r   rZ   r[   r\   rŒ  ÚSetInParentr£   r}  s     r   ÚtestSetInParentz$Proto2ReflectionTest.testSetInParent>  si   € ÝÔ%Ñ'Ô'€EØ×Ò�U—^’^ OÑ4Ô4Ñ5Ô5Ð5Ø	Ô×#Ò#Ñ%Ô%Ð%Ø‡O‚O�E—N’N ?Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4r    c                 ó„   — ddl m} |j                             ¦   «         }|                      d|j        j        ¦  «         dS )a•  Test that we can import nested messages from their __init__.py.

    Such setup is not trivial since at the time of processing of __init__.py one
    can't refer to its submodules by name in code, so expressions like
    google.protobuf.internal.import_test_package.inner_pb2
    don't work. They do work in imports, so we have assign an alias at import
    and then use that alias in generated code.
    r   )Úimport_test_packageé9   N)Úgoogle.protobuf.internalrë  ÚmyprotoÚOuterrK   Úinnerrå   )r   rë  Úmsgs      r   ÚtestPackageInitializationImportz4Proto2ReflectionTest.testPackageInitializationImportD  sJ   € ð =Ð<Ð<Ð<Ð<Ð<à
Ô
%×
+Ò
+Ñ
-Ô
-€Cà×Ò�R˜œœÑ)Ô)Ð)Ð)Ð)r    r"   ):r;   r<   r=   r~  rQ   r�  r�  r”  r˜  rŸ  r¤  r®  rÔ  rÖ  rÛ  rÝ  rï  rñ  rõ  r÷  r  r  r  r	  r3  r   ÚSkipReferenceLeakCheckerrT  r`  rg  rk  rr  rw  r{  r€  r…  rŒ  r’  r•  r˜  r›  r�  rŸ  r¦  r¨  r­  rµ  r¹  r¾  rÄ  ÚunittestÚskipIfr   r²   rÔ  ræ  ré  rò  rD   r    r   rx  rx  ƒ  s„  € € € € € ð #ð  #ð  #ðD-ð -ð -ð
7ð 7ð 7ðO9ð O9ð O9ðb?ð ?ð ?ðMð Mð Mð ð ð ð ð ð ð,
ð 
ð 
ð'3ð '3ð '3ðRGð Gð Gð	Eð 	Eð 	Eð7ð 7ð 7ðX0ð X0ð X0ðtDð Dð Dð:	3ð 	3ð 	3ð1ð 1ð 1ð*Q,ð Q,ð Q,ðf;ð ;ð ;ð:	<ð 	<ð 	<ðGð Gð Gð$!<ð !<ð !<ðF -ÐÔ,Ð-OÑPÔPð<5ð <5ñ QÔPð<5ð|8ð 8ð 8ð4ð ð ð0Oð Oð Oð;ð ;ð ;ð*&ð &ð &ð"&ð &ð &ð:&ð &ð &ð";ð ;ð ;ð(Gð Gð Gð$/5ð /5ð /5ðbLð Lð Lð>ð >ð >ð>1ð 1ð 1ðEð Eð EðHð Hð Hð"&ð &ð &ð.:ð :ð :ð)ð )ð )ð.ð ð ð%ð %ð %ð%ð %ð %ð %ð9?ð 9?ð 9?ðv €8„?ØÐÔÑÔ 8Ò+ØJñLô LðKð KñLô LðKð>4Jð 4Jð 4Jðl5ð 5ð 5ð*ð *ð *ð *ð *r    rx  c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestAllTypesEqualityTestc                 óf   — t          j        ¦   «         | _        t          j        ¦   «         | _        d S r"   )r   rZ   Úfirst_protoÚsecond_protor)   s    r   ÚsetUpzTestAllTypesEqualityTest.setUp]  s*   € Ý#Ô0Ñ2Ô2€DÔÝ$Ô1Ñ3Ô3€DÔÐÐr    c                 óR   — |                       t          t          | j        ¦  «         d S r"   ©r†   r‡   Úhashrù  r)   s    r   ÚtestNotHashablez(TestAllTypesEqualityTest.testNotHashablea  ó#   € Ø×Ò•i¥ tÔ'7Ñ8Ô8Ð8Ð8Ð8r    c                 óF   — |                       | j        | j        ¦  «         d S r"   )rK   rù  r)   s    r   ÚtestSelfEqualityz)TestAllTypesEqualityTest.testSelfEqualityd  s$   € Ø×Ò�TÔ% tÔ'7Ñ8Ô8Ð8Ð8Ð8r    c                 óF   — |                       | j        | j        ¦  «         d S r"   ©rK   rù  rú  r)   s    r   ÚtestEmptyProtosEqualz-TestAllTypesEqualityTest.testEmptyProtosEqualg  ó$   € Ø×Ò�TÔ% tÔ'8Ñ9Ô9Ð9Ð9Ð9r    N)r;   r<   r=   rû  rÿ  r  r  rD   r    r   r÷  r÷  Z  sP   € € € € € ð4ð 4ð 4ð9ð 9ð 9ð9ð 9ð 9ð:ð :ð :ð :ð :r    r÷  c                   óT   — 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 )ÚFullProtosEqualityTestz@Equality tests using completely-full protos as a starting point.c                 óÊ   — t          j        ¦   «         | _        t          j        ¦   «         | _        t	          j        | j        ¦  «         t	          j        | j        ¦  «         d S r"   )r   rZ   rù  rú  r   r8  r)   s    r   rû  zFullProtosEqualityTest.setUpp  sR   € Ý#Ô0Ñ2Ô2€DÔÝ$Ô1Ñ3Ô3€DÔÝÔ˜4Ô+Ñ,Ô,Ð,ÝÔ˜4Ô,Ñ-Ô-Ð-Ð-Ð-r    c                 óR   — |                       t          t          | j        ¦  «         d S r"   rý  r)   s    r   rÿ  z&FullProtosEqualityTest.testNotHashablev  r   r    c                 ór   — |                       | j        d ¦  «         |                       d | j        ¦  «         d S r"   )r]  rù  rú  r)   s    r   ÚtestNoneNotEqualz'FullProtosEqualityTest.testNoneNotEqualy  s:   € Ø×Ò˜Ô(¨$Ñ/Ô/Ð/Ø×Ò˜˜dÔ/Ñ0Ô0Ð0Ð0Ð0r    c                 ó˜   — t          j        ¦   «         }|                      | j        |¦  «         |                      || j        ¦  «         d S r"   )r   r‚  r]  rù  rú  )r   Úthird_protos     r   ÚtestNotEqualToOtherMessagez1FullProtosEqualityTest.testNotEqualToOtherMessage}  sH   € ÝÔ+Ñ-Ô-€KØ×Ò˜Ô(¨+Ñ6Ô6Ð6Ø×Ò˜ TÔ%6Ñ7Ô7Ð7Ð7Ð7r    c                 óF   — |                       | j        | j        ¦  «         d S r"   r  r)   s    r   ÚtestAllFieldsFilledEqualityz2FullProtosEqualityTest.testAllFieldsFilledEquality‚  r  r    c                 óä   — | j         xj        dz  c_        |                      | j         | j        ¦  «         | j                              d¦  «         |                      | j         | j        ¦  «         d S )Nrc   rW   )rù  rW   r]  rú  r�   r)   s    r   ÚtestNonRepeatedScalarz,FullProtosEqualityTest.testNonRepeatedScalar…  so   € àÔÐ#Ô# qÑ(Ð#Ô#Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<àÔ×ÒÐ 0Ñ1Ô1Ð1Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<Ð<Ð<r    c                 ó`  — | j         j        xj        dz  c_        |                      | j         | j        ¦  «         | j         j        xj        dz  c_        |                      | j         | j        ¦  «         | j         j                             d¦  «         |                      | j         | j        ¦  «         | j        j        j        | j         j        _        |                      | j         | j        ¦  «         | j                              d¦  «         |                      | j         | j        ¦  «         d S )Nrc   rq   ry   )rù  ry   rq   r]  rú  rK   r�   r)   s    r   ÚtestNonRepeatedCompositez/FullProtosEqualityTest.testNonRepeatedComposite�  s  € àÔÔ,Ð/Ô/°1Ñ4Ð/Ô/Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<ØÔÔ,Ð/Ô/°1Ñ4Ð/Ô/Ø×Ò�TÔ% tÔ'8Ñ9Ô9Ð9àÔÔ,×7Ò7¸Ñ=Ô=Ð=Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<àÔÔ1Ô4ð 	ÔÔ,Ô/à×Ò�TÔ% tÔ'8Ñ9Ô9Ð9àÔ×ÒÐ 9Ñ:Ô:Ð:Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<Ð<Ð<r    c                 óø   — | j         j                             d¦  «         |                      | j         | j        ¦  «         | j                              d¦  «         |                      | j         | j        ¦  «         d S )Nr¢   rh   )rù  rh   rÈ   r]  rú  r�   r)   s    r   ÚtestRepeatedScalarz)FullProtosEqualityTest.testRepeatedScalar�  sr   € àÔÔ#×*Ò*¨1Ñ-Ô-Ð-Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<ØÔ×ÒÐ 0Ñ1Ô1Ð1Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<Ð<Ð<r    c                 óþ  — | j         j        d         xj        dz  c_        |                      | j         | j        ¦  «         | j         j        d         xj        dz  c_        |                      | j         | j        ¦  «         | j         j                             ¦   «          |                      | j         | j        ¦  «         | j        j                             ¦   «          |                      | j         | j        ¦  «         d S )Nr   rc   )rù  rw   rq   r]  rú  rK   rC  r)   s    r   ÚtestRepeatedCompositez,FullProtosEqualityTest.testRepeatedComposite¤  sæ   € àÔÔ,¨QÔ/Ð2Ô2°aÑ7Ð2Ô2Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<ØÔÔ,¨QÔ/Ð2Ô2°aÑ7Ð2Ô2Ø×Ò�TÔ% tÔ'8Ñ9Ô9Ð9àÔÔ,×0Ò0Ñ2Ô2Ð2Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<ØÔÔ-×1Ò1Ñ3Ô3Ð3Ø×Ò�TÔ% tÔ'8Ñ9Ô9Ð9Ð9Ð9r    c                 ó’   — | j                              d¦  «         d| j        _        |                      | j         | j        ¦  «         d S )NrW   r   )rù  r�   rú  rW   r]  r)   s    r   ÚtestNonRepeatedScalarHasBitsz3FullProtosEqualityTest.testNonRepeatedScalarHasBits°  sI   € ð 	Ô×ÒÐ 0Ñ1Ô1Ð1Ø'(€DÔÔ$Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<Ð<Ð<r    c                 óX  — | j                              d¦  «         | j        j                             d¦  «         |                      | j         | j        ¦  «         d| j         j        _        | j         j                             d¦  «         |                      | j         | j        ¦  «         d S )Nry   rq   r   )rù  r�   rú  ry   r]  rq   rK   r)   s    r   ÚtestNonRepeatedCompositeHasBitsz6FullProtosEqualityTest.testNonRepeatedCompositeHasBits·  sœ   € ð 	Ô×ÒÐ 9Ñ:Ô:Ð:ØÔÔ-×8Ò8¸Ñ>Ô>Ð>Ø×Ò˜Ô(¨$Ô*;Ñ<Ô<Ð<Ø23€DÔÔ,Ô/ØÔÔ,×7Ò7¸Ñ=Ô=Ð=Ø×Ò�TÔ% tÔ'8Ñ9Ô9Ð9Ð9Ð9r    N)r;   r<   r=   r>   rû  rÿ  r  r  r  r  r  r  r  r  r  rD   r    r   r  r  k  sÂ   € € € € € ð IÐHð.ð .ð .ð9ð 9ð 9ð1ð 1ð 1ð8ð 8ð 8ð
:ð :ð :ð=ð =ð =ð=ð =ð =ð =ð =ð =ð
:ð 
:ð 
:ð=ð =ð =ð:ð :ð :ð :ð :r    r  c                   ó   — e Zd Zd„ ZdS )ÚExtensionEqualityTestc                 ó®  — t          j        ¦   «         }t          j        ¦   «         }|                      ||¦  «         t          j        |¦  «         |                      ||¦  «         t          j        |¦  «         |                      ||¦  «         |j        t           j        xx         dz  cc<   |                      ||¦  «         |j        t           j        xx         dz  cc<   |                      ||¦  «         |                     t           j        ¦  «         d|j        t           j        <   |                      ||¦  «         d|j        t           j        <   |                      ||¦  «         t          j        ¦   «         }t          j        ¦   «         }|                      d|j        t           j                 ¦  «         |                      ||¦  «         d S )Nrc   r   )	r   rš  rK   r   r«  r]  r›  r�  rp  ©r   rù  rú  s      r   ÚtestExtensionEqualityz+ExtensionEqualityTest.testExtensionEqualityÅ  s¾  € ÝÔ0Ñ2Ô2€KÝÔ1Ñ3Ô3€LØ×Ò�[ ,Ñ/Ô/Ð/ÝÔ˜{Ñ+Ô+Ð+Ø×Ò˜ \Ñ2Ô2Ð2ÝÔ˜|Ñ,Ô,Ð,Ø×Ò�[ ,Ñ/Ô/Ð/ð Ô�<Ô@ÐAÐAÔAÀQÑFÐAÐAÑAØ×Ò˜ \Ñ2Ô2Ð2ØÔ�<Ô@ÐAÐAÔAÀQÑFÐAÐAÑAØ×Ò�[ ,Ñ/Ô/Ð/ð ×Ò�|ÔDÑEÔEÐEØEF€LÔ�LÔAÑBØ×Ò˜ \Ñ2Ô2Ð2ØDE€KÔ�<Ô@ÑAØ×Ò�[ ,Ñ/Ô/Ð/õ Ô0Ñ2Ô2€KÝÔ1Ñ3Ô3€LØ×ÒØ	ˆ;Ô!¥,Ô"GÔHñJô Jð Jà×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    N)r;   r<   r=   r"  rD   r    r   r  r  Â  s#   € € € € € ð0ð 0ð 0ð 0ð 0r    r  c                   ó   — e Zd Zd„ ZdS )ÚMutualRecursionEqualityTestc                 ó.  — t          j        ¦   «         }t          j        ¦   «         }|                      ||¦  «         d|j        j        j        _        |                      ||¦  «         d|j        j        j        _        |                      ||¦  «         d S rŽ   )r   r–  rK   rq   rz  rW   r]  r!  s      r   ÚtestEqualityWithMutualRecursionz;MutualRecursionEqualityTest.testEqualityWithMutualRecursionç  s†   € ÝÔ3Ñ5Ô5€KÝÔ4Ñ6Ô6€LØ×Ò�[ ,Ñ/Ô/Ð/Ø)+€K„NÔÔÔ&Ø×Ò˜ \Ñ2Ô2Ð2Ø*,€L„OÔÔÔ'Ø×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    N)r;   r<   r=   r&  rD   r    r   r$  r$  ä  s#   € € € € € ð0ð 0ð 0ð 0ð 0r    r$  c                   ó’   — 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S )ÚByteSizeTestc                 óÆ   — t          j        ¦   «         | _        t          j        ¦   «         | _        t          j        ¦   «         | _        t          j        ¦   «         | _	        d S r"   )
r   rZ   r_   r   rW  Úextended_protoÚTestPackedTypesÚpacked_protoÚTestPackedExtensionsÚpacked_extended_protor)   s    r   rû  zByteSizeTest.setUpô  sK   € ÝÔ*Ñ,Ô,€D„JÝ-Ô=Ñ?Ô?€DÔÝ$Ô4Ñ6Ô6€DÔÝ!-Ô!BÑ!DÔ!D€DÔÐÐr    c                 ó4   — | j                              ¦   «         S r"   )r_   r‹   r)   s    r   ÚSizezByteSizeTest.Sizeú  s   € ØŒ:×ÒÑ Ô Ð r    c                 ó`   — |                       d| j                             ¦   «         ¦  «         d S r   )rK   r_   r‹   r)   s    r   ÚtestEmptyMessagezByteSizeTest.testEmptyMessageý  s,   € Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.r    c                 óö   — t          j        ¦   «         }|                      d|                     ¦   «         ¦  «         t          j        d¬¦  «        }|                      d|                     ¦   «         ¦  «         d S )Nr   rc   )rë   rd   )r   rZ   rK   r‹   )r   r_   Úproto_kwargss      r   ÚtestSizedOnKwargszByteSizeTest.testSizedOnKwargs 	  sk   € åÔ%Ñ'Ô'€EØ×Ò�Q˜ŸšÑ(Ô(Ñ)Ô)Ð)ÝÔ,¸aÐ@Ñ@Ô@€Là×Ò�Q˜×-Ò-Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r    c                 ó  ‡ — ˆ fd„} |dd¦  «          |dd¦  «         t          t          ddd¦  «        t          dd¦  «        ¦  «        D ]\  }} |d|z  dz
  |¦  «         Œ |dd¦  «          |d	d¦  «          |d
d¦  «         d S )Nc                 ó¨   •— ‰j                              ¦   «          | ‰j         _        ‰                     |dz   ‰                     ¦   «         ¦  «         d S r  )r_   re  rë   rK   r0  )rP   Úexpected_varint_sizer   s     €r   ÚTestz&ByteSizeTest.testVarints.<locals>.Test		  sM   ø€ Ø
„j×ÒÑÔÐØ"#€d„jÔð ×ÒÐ+¨aÑ/°·²±´Ñ=Ô=Ð=Ð=Ð=r    r   rc   r¯  é?   rë  r.  r”   rè  r  )ÚziprL   )r   r9  rP   Ú	num_bytess   `   r   ÚtestVarintszByteSizeTest.testVarints	  s¾   ø€ ð>ð >ð >ð >ð >ð 	€DˆˆA�J„J€JØ€DˆˆA�J„J€JÝ�E ! R¨™OœO­U°1°e©_¬_Ñ=Ô=ð $ð $‰ˆˆ9Ø
€dˆA�‰F�a‰<˜Ñ#Ô#Ð#Ð#Ø€DˆˆR�L„L€LØ€DˆˆR�L„L€LØ€Dˆ�RÑÔÐÐÐr    c                 ó¦  — d| j         _        |                      d|                      ¦   «         ¦  «         d| j         _        |                      dt	          | j         j        ¦  «        z   |                      ¦   «         ¦  «         d| j         _        |                      dt	          | j         j        ¦  «        z   |                      ¦   «         ¦  «         d S )Nr°  rd   r—   Ú€xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxre   )r_   rV   rK   r0  r9   r)   s    r   ÚtestStringszByteSizeTest.testStrings	  s¤   € Ø!#€D„JÔà×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$à!&€D„JÔà×Ò�Q�˜TœZÔ7Ñ8Ô8Ñ8¸$¿)º)¹+¼+ÑFÔFÐFà!*€D„JÔà×Ò�Q�˜TœZÔ7Ñ8Ô8Ñ8¸$¿)º)¹+¼+ÑFÔFÐFÐFÐFr    c                 óþ  — d| j         _        |                      d|                      ¦   «         ¦  «         t	          j        ¦   «         | _         d| j         _        |                      d|                      ¦   «         ¦  «         t	          j        ¦   «         | _         d| j         _        |                      d|                      ¦   «         ¦  «         t	          j        ¦   «         | _         d| j         _        |                      d|                      ¦   «         ¦  «         t	          j        ¦   «         | _         d| j         _	        |                      d|                      ¦   «         ¦  «         t	          j        ¦   «         | _         d S )Nr‚   r¢   é	   gX9´Èv¾ó?é@   re   )
r_   rµ   rK   r0  r   rZ   r¼  rY   rX   rº  r)   s    r   ÚtestOtherNumericszByteSizeTest.testOtherNumerics$	  s  € Ø"&€D„JÔà×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$ÝÔ*Ñ,Ô,€D„Jà"&€D„JÔà×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$ÝÔ*Ñ,Ô,€D„Jà %€D„JÔà×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$ÝÔ*Ñ,Ô,€D„Jà!&€D„JÔà×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$ÝÔ*Ñ,Ô,€D„Jà!#€D„JÔà×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$ÝÔ*Ñ,Ô,€D„J€J€Jr    c                 óx   — d| j         j        _        |                      d|                      ¦   «         ¦  «         d S )Ni @  r¯  )r_   ry   rq   rK   r0  r)   s    r   ÚtestCompositeszByteSizeTest.testComposites>	  s5   € à-4€D„JÔ&Ô)ð 	×Ò�] D§I¢I¡K¤KÑ0Ô0Ð0Ð0Ð0r    c                 óx   — d| j         j        _        |                      d|                      ¦   «         ¦  «         d S )Ni    r”   )r_   rŒ  rz  rK   r0  r)   s    r   Ú
testGroupszByteSizeTest.testGroupsF	  s5   € à")€D„JÔÔð 	×Ò�[ $§)¢)¡+¤+Ñ.Ô.Ð.Ð.Ð.r    c                 óÒ   — | j         j                             d¦  «         | j         j                             d¦  «         |                      d|                      ¦   «         ¦  «         d S ©Nr”   é€   r¯  )r_   rh   rÈ   rK   r0  r)   s    r   rï  z ByteSizeTest.testRepeatedScalarsM	  sX   € Ø„JÔ×$Ò$ RÑ(Ô(Ð(Ø„JÔ×$Ò$ SÑ)Ô)Ð)à×Ò�[ $§)¢)¡+¤+Ñ.Ô.Ð.Ð.Ð.r    c                 ó˜   — | j         j                             ddg¦  «         |                      d|                      ¦   «         ¦  «         d S rJ  )r_   rh   rÉ   rK   r0  r)   s    r   ÚtestRepeatedScalarsExtendz&ByteSizeTest.testRepeatedScalarsExtendS	  sC   € Ø„JÔ×$Ò$ b¨# YÑ/Ô/Ð/à×Ò�[ $§)¢)¡+¤+Ñ.Ô.Ð.Ð.Ð.r    c                 ó`  — | j         j                             d¦  «         | j         j                             d¦  «         |                      d|                      ¦   «         ¦  «         | j         j                             d¦  «         |                      d|                      ¦   «         ¦  «         d S )Nr”   rK  r¯  re   )r_   rh   rÈ   rK   r0  r\  r)   s    r   rñ  z&ByteSizeTest.testRepeatedScalarsRemoveX	  s�   € Ø„JÔ×$Ò$ RÑ(Ô(Ð(Ø„JÔ×$Ò$ SÑ)Ô)Ð)à×Ò�[ $§)¢)¡+¤+Ñ.Ô.Ð.Ø„JÔ×$Ò$ SÑ)Ô)Ð)Ø×Ò�U˜DŸIšI™KœKÑ(Ô(Ð(Ð(Ð(r    c                 óÜ   — | j         j                             ¦   «         }| j         j                             ¦   «         }d|_        |                      d|                      ¦   «         ¦  «         d S )Nr¯  r6   )r_   rw   rC  rq   rK   r0  )r   Úforeign_message_0Úforeign_message_1s      r   r  z#ByteSizeTest.testRepeatedComposites`	  s^   € àœ
Ô:×>Ò>Ñ@Ô@Ðàœ
Ô:×>Ò>Ñ@Ô@ÐØÐÔØ×ÒÐ*¨D¯IªI©K¬KÑ8Ô8Ð8Ð8Ð8r    c                 ó2  — | j         j                             ¦   «         }| j         j                             ¦   «         }d|_        |                      d|                      ¦   «         ¦  «         t          j        | j         j        ¦  «        }| j         j        d= |                      d|                      ¦   «         ¦  «         | j         j                             ¦   «         }d|_        |                      d|                      ¦   «         ¦  «         | j         j        d= |                      d|                      ¦   «         ¦  «         | j         j        d= |                      d|                      ¦   «         ¦  «         |                      dt          |¦  «        ¦  «         |dd…= t          j
        ¦   «         d	k    r#|                      dt          |¦  «        ¦  «         |d
= t          j
        ¦   «         d	k    r%|                      dt          |¦  «        ¦  «         d S d S )NrB  r6   r   r¢   rv   r”   rc   rd   r°   r.  )r_   rw   rC  rq   rK   r0  rZ  r[  r9   r   r²   )r   rP  rQ  rw   Úforeign_message_2s        r   ÚtestRepeatedCompositesDeletez)ByteSizeTest.testRepeatedCompositesDeleteh	  sá  € àœ
Ô:×>Ò>Ñ@Ô@Ðàœ
Ô:×>Ò>Ñ@Ô@ÐØÐÔØ×ÒÐ*¨D¯IªI©K¬KÑ8Ô8Ð8Ý"œmØŒ
Ô*ñ,ô ,Ðð 	Œ
Ô*¨1Ð-Ø×Ò�] D§I¢I¡K¤KÑ0Ô0Ð0ð œ
Ô:×>Ò>Ñ@Ô@ÐØÐÔð 	×ÒÐ2°D·I²I±K´KÑ@Ô@Ð@ð 	Œ
Ô*¨1Ð-Ø×Ò�] D§I¢I¡K¤KÑ0Ô0Ð0àŒ
Ô*¨1Ð-Ø×Ò�Q˜Ÿ	š	™œÑ$Ô$Ð$à×Ò�Q�Ð3Ñ4Ô4Ñ5Ô5Ð5Ø  ! Ð$åÔÑ Ô  HÒ,Ð,Ø
×Ò�q�#Ð5Ñ6Ô6Ñ7Ô7Ð7Ø Ð#åÔÑ Ô  HÒ,Ð,Ø
×Ò�q�#Ð5Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7ð -Ð,r    c                 óÜ   — | j         j                             ¦   «         }| j         j                             ¦   «         }d|_        |                      d|                      ¦   «         ¦  «         d S )Nr¯  r•   )r_   r{  rC  rz  rK   r0  )r   Úgroup_0Úgroup_1s      r   ÚtestRepeatedGroupszByteSizeTest.testRepeatedGroups�	  s\   € àŒjÔ&×*Ò*Ñ,Ô,€Gð ŒjÔ&×*Ò*Ñ,Ô,€GØ€G„IØ×ÒÐ*¨D¯IªI©K¬KÑ8Ô8Ð8Ð8Ð8r    c                 óª  — t          j        ¦   «         }|                      d|                     ¦   «         ¦  «         t           j        }d|j        |<   |                      d|                     ¦   «         ¦  «         t           j        j        j        d         }|  	                    t          ¦  «        5  d|j        |<   d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r�   rd   rW   )r   rš  rK   r‹   r�  r›  rZ   r·   r¸   r†   ri  )r   r_   rq  r8  s       r   ÚtestExtensionszByteSizeTest.testExtensions˜	  s   € ÝÔ*Ñ,Ô,€EØ×Ò�Q˜ŸšÑ(Ô(Ñ)Ô)Ð)ÝÔ5€IØ"$€EÔ�YÑà×Ò�Q˜ŸšÑ(Ô(Ñ)Ô)Ð)ÝÔ%Ô0Ô?Øô€Eà	×	Ò	�8Ñ	$Ô	$ð #ð #Ø "€eÔ�uÑð#ð #ð #ñ #ô #ð #ð #ð #ð #ð #ð #ð #øøøð #ð #ð #ð #ð #ð #s   Â0CÃCÃCc                 ó  — d| j         _        |                      d| j                              ¦   «         ¦  «         d| j         _        |                      d| j                              ¦   «         ¦  «         | j                              d¦  «         |                      d| j                              ¦   «         ¦  «         t
          j        }d| j        j        |<   |                      d| j                             ¦   «         ¦  «         d| j        j        |<   |                      d| j                             ¦   «         ¦  «         | j         	                    |¦  «         |                      d| j                             ¦   «         ¦  «         d S )Nrc   rd   rK  re   rW   r   )
r_   rW   rK   r‹   r�   r   rX  r*  r›  rp  ©r   rq  s     r   Ú)testCacheInvalidationForNonrepeatedScalarz6ByteSizeTest.testCacheInvalidationForNonrepeatedScalar¤	  sO  € à !€D„JÔØ×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø #€D„JÔØ×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„J×ÒÐ*Ñ+Ô+Ð+Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.õ $Ô:€IØ01€DÔÔ" 9Ñ-Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø03€DÔÔ" 9Ñ-Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7ØÔ×&Ò& yÑ1Ô1Ð1Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r    c                 ór  — | j         j                             d¦  «         |                      d| j                              ¦   «         ¦  «         | j         j                             d¦  «         |                      d| j                              ¦   «         ¦  «         d| j         j        d<   |                      d| j                              ¦   «         ¦  «         | j                              d¦  «         |                      d| j                              ¦   «         ¦  «         t          j        }| j        j	        |         }|                     d¦  «         |                      d| j                             ¦   «         ¦  «         |                     d¦  «         |                      d	| j                             ¦   «         ¦  «         d|d<   |                      d
| j                             ¦   «         ¦  «         | j         
                    |¦  «         |                      d| j                             ¦   «         ¦  «         d S )Nrc   re   r(  rK  r¯  rh   r   rd   r/   r¢   )r_   rh   rÈ   rK   r‹   r�   r   rY  r*  r›  rp  )r   rq  Úrepeateds      r   Ú&testCacheInvalidationForRepeatedScalarz3ByteSizeTest.testCacheInvalidationForRepeatedScalar¶	  sâ  € à„JÔ×$Ò$ QÑ'Ô'Ð'Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„JÔ×$Ò$ QÑ'Ô'Ð'Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø#&€D„JÔ˜aÑ Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„J×ÒÐ*Ñ+Ô+Ð+Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.õ $Ô:€IØÔ"Ô-¨iÔ8€HØ‡O‚O�AÑÔÐØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø‡O‚O�AÑÔÐØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø€HˆQ�KØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7ØÔ×&Ò& yÑ1Ô1Ð1Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r    c                 óú  — d| j         j        _        |                      d| j                              ¦   «         ¦  «         d| j         j        _        |                      d| j                              ¦   «         ¦  «         | j         j                             d¦  «         |                      d| j                              ¦   «         ¦  «         | j                              d¦  «         |                      d| j                              ¦   «         ¦  «         t          j        ¦   «         d	k    rZ| j         j        }| j                              d¦  «         d|_        |                      d| j                              ¦   «         ¦  «         t          j	        }| j
        j        |         }|                      d| j
                             ¦   «         ¦  «         d|_        |                      d
| j
                             ¦   «         ¦  «         d|_        |                      d| j
                             ¦   «         ¦  «         | j
                             |¦  «         |                      d| j
                             ¦   «         ¦  «         d S )Nrc   r¢   rK  r(  rt   re   rd  r   r°   r/   )r_   rd  rt   rK   r‹   r�   r   r²   r   rZ  r*  r›  r[  rp  )r   Úchildrq  s      r   Ú*testCacheInvalidationForNonrepeatedMessagez7ByteSizeTest.testCacheInvalidationForNonrepeatedMessageÍ	  s  € à,-€D„JÔ'Ô)Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø,/€D„JÔ'Ô)Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„JÔ'×2Ò2°3Ñ7Ô7Ð7Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„J×ÒÐ4Ñ5Ô5Ð5Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.åÔÑ Ô  HÒ,Ð,àŒjÔ1€eØ
„j×ÒÐ6Ñ7Ô7Ð7Ø€e„gØ
×Ò�q˜$œ*×-Ò-Ñ/Ô/Ñ0Ô0Ð0õ $Ô>€IØÔÔ*¨9Ô5€EØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø !€EÔØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø #€EÔØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7ØÔ×&Ò& yÑ1Ô1Ð1Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r    c                 óâ  — | j         j                             ¦   «         }|                      d| j                              ¦   «         ¦  «         | j         j                             ¦   «          |                      d| j                              ¦   «         ¦  «         d|_        |                      d| j                              ¦   «         ¦  «         | j                              d¦  «         |                      d| j                              ¦   «         ¦  «         t          j        }| j	        j
        |         }|                     ¦   «         }|                      d| j	                             ¦   «         ¦  «         |                     ¦   «          |                      d| j	                             ¦   «         ¦  «         d|_        |                      d| j	                             ¦   «         ¦  «         |                     d	¦  «         |                      d| j	                             ¦   «         ¦  «         | j	                             |¦  «         |                      d| j	                             ¦   «         ¦  «         d S )
Nre   r(  rc   r6   rx   r   rd   r/   r[  )r_   rx   rC  rK   r‹   rt   r�   r   r�  r*  r›  r[  rp  )r   Úchild0rq  Ú
child_lists       r   Ú'testCacheInvalidationForRepeatedMessagez4ByteSizeTest.testCacheInvalidationForRepeatedMessageê	  s	  € àŒZÔ0×4Ò4Ñ6Ô6€FØ×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„JÔ'×+Ò+Ñ-Ô-Ð-Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø€F„HØ×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø„J×ÒÐ4Ñ5Ô5Ð5Ø×Ò�Q˜œ
×+Ò+Ñ-Ô-Ñ.Ô.Ð.õ $Ô>€IØÔ$Ô/°	Ô:€JØ�^Š^ÑÔ€FØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø‡N‚NÑÔÐØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø!"€FÔØ×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ø
×ÒÐ+Ñ,Ô,Ð,Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7ØÔ×&Ò& yÑ1Ô1Ð1Ø×Ò�Q˜Ô+×4Ò4Ñ6Ô6Ñ7Ô7Ð7Ð7Ð7r    c                 ó¨  — |                       d| j                             ¦   «         ¦  «         | j        j                             d¦  «         | j        j                             d¦  «         d}|                       || j                             ¦   «         ¦  «         | j        j                             d¦  «         | j        j                             d¦  «         d}|                       ||z   | j                             ¦   «         ¦  «         | j                             d¦  «         |                       || j                             ¦   «         ¦  «         d S )	Nr   r”   rK  r(  gÍÌÌÌÌÌ@g      
@é   Úpacked_int32)rK   r,  r‹   rj  rÈ   Úpacked_doubler�   )r   Úint_sizeÚdouble_sizes      r   ÚtestPackedRepeatedScalarsz&ByteSizeTest.testPackedRepeatedScalars
  s,  € Ø×Ò�Q˜Ô)×2Ò2Ñ4Ô4Ñ5Ô5Ð5àÔÔ"×)Ò)¨"Ñ-Ô-Ð-ØÔÔ"×)Ò)¨#Ñ.Ô.Ð.ð €HØ×Ò�X˜tÔ0×9Ò9Ñ;Ô;Ñ<Ô<Ð<àÔÔ#×*Ò*¨3Ñ/Ô/Ð/ØÔÔ#×*Ò*¨4Ñ0Ô0Ð0à€KØ×Ò�X˜kÑ)¨4Ô+<×+EÒ+EÑ+GÔ+GÑHÔHÐHàÔ× Ò  Ñ0Ô0Ð0Ø×Ò�[ $Ô"3×"<Ò"<Ñ">Ô">Ñ?Ô?Ð?Ð?Ð?r    c                 ó   — |                       d| j                             ¦   «         ¦  «         | j        j        t          j                 }|                     g d¢¦  «         |                       d| j                             ¦   «         ¦  «         d S )Nr   rb   ri  )rK   r.  r‹   r›  r   Úpacked_fixed32_extensionrÉ   r\  s     r   ÚtestPackedExtensionsz!ByteSizeTest.testPackedExtensions
  s€   € Ø×Ò�Q˜Ô2×;Ò;Ñ=Ô=Ñ>Ô>Ð>ØÔ*Ô5ÝÔ-ô/€Ià×Ò�\�\�\Ñ"Ô"Ð"à×Ò�R˜Ô3×<Ò<Ñ>Ô>Ñ?Ô?Ð?Ð?Ð?r    N)r;   r<   r=   rû  r0  r2  r5  r=  r@  rD  rF  rH  rï  rM  rñ  r  rT  rX  rZ  r]  r`  rc  rg  rn  rq  rD   r    r   r(  r(  ñ  sm  € € € € € ðEð Eð Eð!ð !ð !ð/ð /ð /ð1ð 1ð 1ðð ð ðGð Gð Gð-ð -ð -ð41ð 1ð 1ð/ð /ð /ð/ð /ð /ð/ð /ð /ð
)ð )ð )ð9ð 9ð 9ð%8ð %8ð %8ðN9ð 9ð 9ð
#ð 
#ð 
#ð8ð 8ð 8ð$8ð 8ð 8ð.8ð 8ð 8ð:8ð 8ð 8ð2@ð @ð @ð&@ð @ð @ð @ð @r    r(  c                   óÂ   — 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S ) ÚSerializationTestc                 ó|  — t          j        ¦   «         }t          j        ¦   «         }|                     ¦   «         }|                      |                     ¦   «         t          |¦  «        ¦  «         |                      t          |¦  «        |                     |¦  «        ¦  «         |                      ||¦  «         d S r"   )r   rZ   rã   rK   r‹   r9   rs  ©r   rù  rú  ru  s       r   ÚtestSerializeEmtpyMessagez+SerializationTest.testSerializeEmtpyMessage-
  s§   € ÝÔ+Ñ-Ô-€KÝÔ,Ñ.Ô.€LØ×.Ò.Ñ0Ô0€JØ×Ò�[×)Ò)Ñ+Ô+­S°©_¬_Ñ=Ô=Ð=Ø×ÒÝˆJ‰ŒØ×$Ò$ ZÑ0Ô0ñ2ô 2ð 2ð 	×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c                 ó¤  — t          j        ¦   «         }t          j        ¦   «         }t          j        |¦  «         |                     ¦   «         }|                      |                     ¦   «         t          |¦  «        ¦  «         |                      t          |¦  «        |                     |¦  «        ¦  «         |                      ||¦  «         d S r"   )	r   rZ   r   r8  rã   rK   r‹   r9   rs  ru  s       r   ÚtestSerializeAllFieldsz(SerializationTest.testSerializeAllFields7
  s¸   € ÝÔ+Ñ-Ô-€KÝÔ,Ñ.Ô.€LÝÔ˜;Ñ'Ô'Ð'Ø×.Ò.Ñ0Ô0€JØ×Ò�[×)Ò)Ñ+Ô+­S°©_¬_Ñ=Ô=Ð=Ø×ÒÝˆJ‰ŒØ×$Ò$ ZÑ0Ô0ñ2ô 2ð 2ð 	×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c                 ó:  — t          j        ¦   «         }t          j        ¦   «         }t          j        |¦  «         |                     ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         |                      ||¦  «         d S r"   )r   rš  r   r«  rã   rK   r9   rs  ru  s       r   ÚtestSerializeAllExtensionsz,SerializationTest.testSerializeAllExtensionsB
  s�   € ÝÔ0Ñ2Ô2€KÝÔ1Ñ3Ô3€LÝÔ˜{Ñ+Ô+Ð+Ø×.Ò.Ñ0Ô0€JØ×ÒÝˆJ‰ŒØ×$Ò$ ZÑ0Ô0ñ2ô 2ð 2ð 	×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c                 ó*  — t          j        ¦   «         }t          j        ¦   «         }d|j        _        |                     ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         |                      ||¦  «         d S )Néò   )r   rZ   rŒ  rz  rã   rK   r9   rs  ru  s       r   ÚtestSerializeWithOptionalGroupz0SerializationTest.testSerializeWithOptionalGroupL
  sŠ   € ÝÔ+Ñ-Ô-€KÝÔ,Ñ.Ô.€LØ"%€KÔÔØ×.Ò.Ñ0Ô0€JØ×ÒÝˆJ‰ŒØ×$Ò$ ZÑ0Ô0ñ2ô 2ð 2ð 	×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c                 ó  — t          j        ¦   «         }d|_        d|_        d|_        d|_        d|_        d|_        t           j                             | 	                    ¦   «         ¦  «        }|  
                    ||¦  «         d S )Nr.  lýÿÿÿ     ré  lýÿÿÿ     éûÿÿÿlýÿÿÿ     )r   rZ   rW   rë   rº  r»  r½  r¾  r9  rã   rK   r!  s      r   ÚtestSerializeNegativeValuesz-SerializationTest.testSerializeNegativeValuesV
  s…   € ÝÔ+Ñ-Ô-€Kà!#€KÔØ!+€KÔØ"$€KÔØ",€KÔØ$&€KÔ!Ø$.€KÔ!åÔ,×7Ò7Ø×%Ò%Ñ'Ô'ñ)ô )€Lð 	×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c           	      óà  — t          j        ¦   «         dk    rd S t          j        ¦   «         }t	          j        |¦  «         t          |                     ¦   «         ¦  «        }t          t          |¦  «        dz   ¦  «        D ]ì}	 t          j        ¦   «         }t          j
        ¦   «         }|                     |d|¦  «        }|                      ||¦  «         	 |                     |d|¦  «        }|                      ||¦  «         n*# t          j        $ r |                      d¦  «         Y nw xY wŒ°# t          j        $ r+ |                      t          j        |j        |d|¦  «         Y Œéw xY wd S )Nr°   rc   r   z@Parsing unknown fields failed when parsing known fields did not.)r   r²   r   rZ   r   r8  Ú
memoryviewrã   rL   r9   ÚTestEmptyMessageÚ_InternalParserK   r	   ÚDecodeErrorÚfailr†   )r   rù  ru  Útruncation_pointrú  Úunknown_fieldsÚposÚpos2s           r   ÚtestParseTruncatedz$SerializationTest.testParseTruncatede
  sŸ  € åÔÑ Ô  HÒ,Ð,Ø€fåÔ+Ñ-Ô-€KÝÔ˜;Ñ'Ô'Ð'Ý˜K×9Ò9Ñ;Ô;Ñ<Ô<€Jå!¥# j¡/¤/°AÑ"5Ñ6Ô6ð ;ð ;Ðð;Ý#Ô0Ñ2Ô2ˆÝ%Ô6Ñ8Ô8ˆØ×)Ò)¨*°aÐ9IÑJÔJˆà×ÒÐ)¨3Ñ/Ô/Ð/ð	 Ø×.Ò.¨z¸1Ð>NÑOÔOˆ$Ø
×
Ò
Ð+¨TÑ
2Ô
2Ð
2Ð
2øÝÔ"ð 	 ð 	 ð 	 Ø
�)Š)ð ñ  ô  ð  ð  ð  ð	 øøøøøõ Ô ð ;ð ;ð ;à×Ò�'Ô-¨~Ô/LØ$ aÐ)9ñ	;ô 	;ð 	;ð 	;ð 	;ð;øøøð!;ð ;s7   ÂAD1Ã-DÄD1Ä$D-Ä*D1Ä,D-Ä-D1Ä17E+Å*E+c                 ó˜  — t          j        ¦   «         }d|_        d|j        t           j        <   d|_        d|j        t           j        <   d|_        |                     ¦   «         }|  	                    | 
                    ¦   «         t          |¦  «        ¦  «         t          |¦  «        }|j        }|  	                    dt          j        f |¦   «         ¦  «         |  	                    d|                     ¦   «         ¦  «         |  	                    dt          j        f |¦   «         ¦  «         |  	                    d|                     ¦   «         ¦  «         |  	                    dt          j        f |¦   «         ¦  «         |  	                    d|                     ¦   «         ¦  «         |  	                    dt          j        f |¦   «         ¦  «         |  	                    d|                     ¦   «         ¦  «         |  	                    dt          j        f |¦   «         ¦  «         |  	                    d|                     ¦   «         ¦  «         d S )Nr¢   r/   re   rd   rc   )r   ÚOutOfOrderFieldsrº  r›  rì   ré   rë   rW   rã   rK   r‹   r9   r   r-   r   ÚWIRETYPE_VARINTr?   r@   rA   rB   rC   ©r   r_   ru  rŽ  ÚReadTags        r   ÚtestCanonicalSerializationOrderz1SerializationTest.testCanonicalSerializationOrderƒ
  sè  € ÝÔ.Ñ0Ô0€Eð €EÔØ:;€EÔÕ&Ô6Ñ7Ø€EÔØ9:€EÔÕ&Ô5Ñ6Ø€EÔØ×(Ò(Ñ*Ô*€JØ×Ò�U—^’^Ñ%Ô%¥s¨:¡¤Ñ7Ô7Ð7Ý�ZÑ Ô €AØÔ*€GØ×Ò�a�Ô4Ð5°w°w±y´yÑAÔAÐAØ×Ò�Q˜Ÿš™œÑ&Ô&Ð&Ø×Ò�a�Ô4Ð5°w°w±y´yÑAÔAÐAØ×Ò�Q˜Ÿš™œÑ&Ô&Ð&Ø×Ò�a�Ô4Ð5°w°w±y´yÑAÔAÐAØ×Ò�Q˜Ÿš™œÑ'Ô'Ð'Ø×Ò�a�Ô4Ð5°w°w±y´yÑAÔAÐAØ×Ò�Q˜Ÿš™œÑ'Ô'Ð'Ø×Ò�a�Ô4Ð5°w°w±y´yÑAÔAÐAØ×Ò�Q˜Ÿš™œÑ'Ô'Ð'Ð'Ð'r    c                 ó¤   — t          j        ¦   «         }t          j        |¦  «         |                     ¦   «         }t          j        |¦  «         d S r"   )r   rª  r   r«  rã   Ú#ExpectAllFieldsAndExtensionsInOrder)r   r_   ru  s      r   Ú(testCanonicalSerializationOrderSameAsCppz:SerializationTest.testCanonicalSerializationOrderSameAsCppœ
  sI   € åÔ+Ñ-Ô-€EÝÔ'¨Ñ.Ô.Ð.Ø×(Ò(Ñ*Ô*€JÝÔ1°*Ñ=Ô=Ð=Ð=Ð=r    c                 óh  — t          j        ¦   «         }|j                             d¦  «         d|_        d|j        _        |                     ¦   «         }t          j        ¦   «         }|j                             d¦  «         d|_        d|j        _        |                     |¦  «        }|  	                    t          |¦  «        |¦  «         |  	                    ddgt          |j        ¦  «        ¦  «         |  	                    d|j        ¦  «         |  	                    d|j        j        ¦  «         d S )NÚfoobarr�   r²  r¾   rê  rB  )r   rZ   rk   rÈ   rW   ry   rq   rã   rs  rK   r9   rm   )r   rù  ru  rú  Úbytes_parseds        r   Ú'testMergeFromStringWhenFieldsAlreadySetz9SerializationTest.testMergeFromStringWhenFieldsAlreadySet£
  s  € ÝÔ+Ñ-Ô-€KØÔ×&Ò& xÑ0Ô0Ð0Ø!#€KÔØ-/€KÔ'Ô*Ø×.Ò.Ñ0Ô0€JåÔ,Ñ.Ô.€LØÔ ×'Ò'¨Ñ.Ô.Ð.Ø"%€LÔØ.1€LÔ(Ô+à×/Ò/°
Ñ;Ô;€LØ×Ò•S˜‘_”_ lÑ3Ô3Ð3ð 	×Ò�e˜XÐ&­¨\Ô-IÑ(JÔ(JÑKÔKÐKà×Ò�R˜Ô4Ñ5Ô5Ð5ð 	×Ò�R˜Ô=Ô@ÑAÔAÐAÐAÐAr    c                 óÌ  — t          j        ¦   «         }t           j        }t           j        }|j        }|j        }t           j        }d|j        |         _        d|j        |         _        d|j        |         _	        | 
                    ¦   «         }t          j        ¦   «         }|                      d|j                             ¦   «         j        ¦  «         |                      t#          |¦  «        |                     |¦  «        ¦  «         |                      dt#          |j        ¦  «        ¦  «         t          j        ¦   «         }	|                      t#          |j        d         j        ¦  «        |	                     |j        d         j        ¦  «        ¦  «         |                      d|	j        ¦  «         t          j        ¦   «         }
|                      t#          |j        d         j        ¦  «        |
                     |j        d         j        ¦  «        ¦  «         |                      d|
j        ¦  «         t          j        ¦   «         }|                      t#          |j        d         j        ¦  «        |                     |j        d         j        ¦  «        ¦  «         |                      d|j	        ¦  «         t          j        ¦   «         }|                      t#          |¦  «        |                     |¦  «        ¦  «         |                      d|j        |         j        ¦  «         |                      d|j        |         j        ¦  «         |                      d|j        |         j	        ¦  «         |                      |                     ¦   «         t#          |¦  «        ¦  «         |                      |                     ¦   «         t#          |¦  «        ¦  «         d S )	Nr¶   r€   r½   Fre   r   rc   rd   )r   r×  ÚTestMessageSetExtension1rØ  rÙ  Úmessage_set_extension3r›  rP   rÀ   Útextrã   r   rÚ  rK   r·   Ú
GetOptionsÚmessage_set_wire_formatr9   rs  rf  r	   ÚTestMessageSetExtension3r‹   )r   r_   Úextension_message1Úextension_message2Ú
extension1Ú
extension2Ú
extension3ru  râ  rL  rM  Úmessage3r­   s                r   ÚtestMessageSetWireFormatz*SerializationTest.testMessageSetWireFormatº
  sS  € Ý&Ô5Ñ7Ô7€EÝ3ÔLÐÝ3ÔLÐØ#Ô9€JØ#Ô9€JÝ+ÔB€JØ%(€EÔ�ZÔ Ô"Ø',€EÔ�ZÔ Ô$Ø(-€EÔ�ZÔ Ô%ð ×(Ò(Ñ*Ô*€Jå
Ô
)Ñ
+Ô
+€CØ×Ò�UØ”^×.Ò.Ñ0Ô0ÔHñJô Jð Jà×ÒÝˆJ‰ŒØ×Ò˜JÑ'Ô'ñ)ô )ð )ð 	×Ò�Q�˜CœH™œÑ&Ô&Ð&å)ÔBÑDÔD€HØ×ÒÝˆCŒH�QŒKÔÑ Ô Ø× Ò  ¤¨!¤Ô!4Ñ5Ô5ñ7ô 7ð 7ð 	×Ò�S˜(œ*Ñ%Ô%Ð%å)ÔBÑDÔD€HØ×ÒÝˆCŒH�QŒKÔÑ Ô Ø× Ò  ¤¨!¤Ô!4Ñ5Ô5ñ7ô 7ð 7ð 	×Ò�U˜HœLÑ)Ô)Ð)å)ÔBÑDÔD€HØ×ÒÝˆCŒH�QŒKÔÑ Ô Ø× Ò  ¤¨!¤Ô!4Ñ5Ô5ñ7ô 7ð 7ð 	×Ò�U˜HœMÑ*Ô*Ð*õ (Ô6Ñ8Ô8€FØ×ÒÝˆJ‰ŒØ×Ò˜zÑ*Ô*ñ,ô ,ð ,ð 	×Ò�S˜&Ô+¨JÔ7Ô9Ñ:Ô:Ð:Ø×Ò�U˜FÔ-¨jÔ9Ô=Ñ>Ô>Ð>Ø×Ò�U˜FÔ-¨jÔ9Ô>Ñ?Ô?Ð?ð 	×Ò�V—_’_Ñ&Ô&­¨J©¬Ñ8Ô8Ð8Ø×Ò�U—^’^Ñ%Ô%¥s¨:¡¤Ñ7Ô7Ð7Ð7Ð7r    c                 óz  — t          j        ¦   «         }|j                             ¦   «         }d|_        t
          j        }t          j        ¦   «         }d|_        |                     ¦   «         |_	        |j                             ¦   «         }d|_        t
          j        }t          j        ¦   «         }d|_        |                     ¦   «         |_	        |j                             ¦   «         }d|_        t          j
        ¦   «         }d|_        |                     ¦   «         |_	        |                     ¦   «         }t          j        ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         t
          j        }|j        }|                      d|j        |         j        ¦  «         d S )Ni«¿Ýi90  i¬¿Ýi:0  i­¿Ýr€   )r   rÚ  rf  rC  rÛ  r   rš  rP   rã   r	   rØ  rÀ   r×  rK   r9   rs  rÙ  r›  )r   râ  rf  r   rL  ru  r_   r¢  s           r   Ú(testMessageSetWireFormatUnknownExtensionz:SerializationTest.testMessageSetWireFormatUnknownExtensionð
  sq  € õ Ô
)Ñ
+Ô
+€Cð Œ8�<Š<‰>Œ>€DØ€D„LÝ3ÔLÐÝ)ÔBÑDÔD€HØ€H„JØ×-Ò-Ñ/Ô/€D„Lð Œ8�<Š<‰>Œ>€DØ€D„LÝ3ÔLÐÝ)ÔBÑDÔD€HØ€H„JØ×-Ò-Ñ/Ô/€D„Lð Œ8�<Š<‰>Œ>€DØ€D„LÝ)ÔBÑDÔD€HØ€H„LØ×-Ò-Ñ/Ô/€D„Là×&Ò&Ñ(Ô(€Jõ 'Ô5Ñ7Ô7€EØ×ÒÝˆJ‰ŒØ×Ò˜jÑ)Ô)ñ+ô +ð +õ
 4ÔLÐØ#Ô9€JØ×Ò�U˜EÔ,¨ZÔ8Ô:Ñ;Ô;Ð;Ð;Ð;r    c                 óü  — t          j        ¦   «         }t          j        |¦  «         |                     ¦   «         }t          j        ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         t          j        ¦   «         }d|_	        |                     ¦   «         }t          j        ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         d S )Nl   ÿÿÿÿ)
r   rZ   r   r8  rã   rƒ  rK   r9   rs  rë   )r   r_   ru  r­   s       r   ÚtestUnknownFieldsz#SerializationTest.testUnknownFields  së   € ÝÔ%Ñ'Ô'€EÝÔ˜5Ñ!Ô!Ð!à×(Ò(Ñ*Ô*€Jõ Ô*Ñ,Ô,€Fð 	×ÒÝˆJ‰ŒØ×Ò˜zÑ*Ô*ñ,ô ,ð ,õ
 Ô%Ñ'Ô'€EØ-€EÔØ×(Ò(Ñ*Ô*€Jõ Ô*Ñ,Ô,€Fà×ÒÝˆJ‰ŒØ×Ò˜zÑ*Ô*ñ,ô ,ð ,ð ,ð ,r    c                 óÎ   — 	  |¦   «          |                       dt          |¦  «        z  ¦  «        ‚# |$ r.}|                      |t          |¦  «        ¦  «         Y d}~dS d}~ww xY w)zEThis method checks if the exception type and message are as expected.rÊ  N)ÚfailureExceptionrÀ   rK   )r   Ú	exc_classÚcallable_objrÉ  Úexs        r   Ú_CheckRaiseszSerializationTest._CheckRaises4  s~   € ðDØ€l�n„n€nð ×!Ò! /µC¸	±N´NÑ"BÑCÔCÐCøð ð ð ð à
×Ò�y¥# b¡'¤'Ñ*Ô*Ð*Ø€f€f€f€f€føøøøðøøøs   ‚
1 ±A$¶#AÁA$c                 ó4  — t          j        ¦   «         }|                      t          j        |j        d¦  «         |                     ¦   «         }t          j        ¦   «         }|                      |                     d¦  «        ¦  «         | 	                    |¦  «         |                      |                     d¦  «        ¦  «         d|_
        |                      t          j        |j        d¦  «         |                     ¦   «         }d|_        |                      t          j        |j        d¦  «         |                     ¦   «         }d|_        |                     ¦   «         }|                     ¦   «         }t          j        ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         |                      d|j
        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      t          |¦  «        |                     |¦  «        ¦  «         |                      d|j
        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         d S )NzHMessage protobuf_unittest.TestRequired is missing required fields: a,b,crz  rc   zFMessage protobuf_unittest.TestRequired is missing required fields: b,crd   zDMessage protobuf_unittest.TestRequired is missing required fields: cre   )r   r‚  r°  r	   r»  rã   r¸  r[   r\   râ   rz  rÁ  rt   rK   r9   rs  )r   r_   Úpartialr­   ru  s        r   ÚtestSerializeUninitializedz,SerializationTest.testSerializeUninitialized?  sk  € ÝÔ%Ñ'Ô'€EØ×ÒÝÔØÔð	ñô ð ð ×,Ò,Ñ.Ô.€GåÔ&Ñ(Ô(€FØ×Ò�V—_’_ SÑ)Ô)Ñ*Ô*Ð*à
×Ò˜7Ñ#Ô#Ð#Ø×Ò�V—_’_ SÑ)Ô)Ñ*Ô*Ð*à€E„GØ×ÒÝÔØÔØPñRô Rð Rð
 ×,Ò,Ñ.Ô.€Gà€E„GØ×ÒÝÔØÔØNñPô Pð Pð
 ×,Ò,Ñ.Ô.€Gà€E„GØ×(Ò(Ñ*Ô*€Jà×,Ò,Ñ.Ô.€GåÔ&Ñ(Ô(€FØ×ÒÝˆJ‰ŒØ×Ò˜zÑ*Ô*ñ,ô ,ð ,ð 	×Ò�Q˜œÑ!Ô!Ð!Ø×Ò�Q˜œÑ!Ô!Ð!Ø×Ò�Q˜œÑ!Ô!Ð!Ø×ÒÝˆG‰ŒØ×Ò˜wÑ'Ô'ñ)ô )ð )ð 	×Ò�Q˜œÑ!Ô!Ð!Ø×Ò�Q˜œÑ!Ô!Ð!Ø×Ò�Q˜œÑ!Ô!Ð!Ð!Ð!r    c                 óŒ  — t          j        ¦   «         }|                     ¦   «          d|j        _        |                      t          j        |j        d¦  «         d|j        _        d|j        _	        |                     ¦   «          d|j
                             ¦   «         _        d|j
                             ¦   «         _        |                      t          j        |j        d¦  «         d|j
        d         _        d|j
        d         _	        d|j
        d         _        d|j
        d         _	        |                     ¦   «          d S )Nrc   zoMessage protobuf_unittest.TestRequiredForeign is missing required fields: optional_message.b,optional_message.crd   re   z¡Message protobuf_unittest.TestRequiredForeign is missing required fields: repeated_message[0].b,repeated_message[0].c,repeated_message[1].a,repeated_message[1].cr   )r   rÚ  rã   rÂ  rz  r°  r	   r»  rÁ  rt   rÙ  rC  r}  s     r   Ú$testSerializeUninitializedSubMessagez6SerializationTest.testSerializeUninitializedSubMessager  s3  € ÝÔ,Ñ.Ô.€Eð 
×ÒÑÔÐà €EÔÔØ×ÒÝÔØÔð	0ñ1ô 1ð 1ð  !€EÔÔØ €EÔÔØ	×ÒÑÔÐà%&€EÔ×ÒÑ Ô Ô"Ø%&€EÔ×ÒÑ Ô Ô"Ø×ÒÝÔØÔð	6ñ7ô 7ð 7ð #$€EÔ˜1ÔÔØ"#€EÔ˜1ÔÔØ"#€EÔ˜1ÔÔØ"#€EÔ˜1ÔÔØ	×ÒÑÔÐÐÐr    c                 ó²  — t          j        ¦   «         }t          j        ¦   «         }t          j        |¦  «         |                     ¦   «         }|                      |                     ¦   «         t          |¦  «        ¦  «         |                     |¦  «        }|                      |                     ¦   «         |¦  «         |                      ||¦  «         d S r"   )	r   r+  r   ÚSetAllPackedFieldsrã   rK   r‹   r9   rs  ©r   rù  rú  ru  rt  s        r   ÚtestSerializeAllPackedFieldsz.SerializationTest.testSerializeAllPackedFields“  s¹   € ÝÔ.Ñ0Ô0€KÝÔ/Ñ1Ô1€LÝÔ  Ñ-Ô-Ð-Ø×.Ò.Ñ0Ô0€JØ×Ò�[×)Ò)Ñ+Ô+­S°©_¬_Ñ=Ô=Ð=Ø×-Ò-¨jÑ9Ô9€JØ×Ò�\×*Ò*Ñ,Ô,¨jÑ9Ô9Ð9Ø×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c                 óH  — t          j        ¦   «         }t          j        ¦   «         }t          j        |¦  «         |                     ¦   «         }|                     |¦  «        }|                      |                     ¦   «         |¦  «         |                      ||¦  «         d S r"   )r   r-  r   ÚSetAllPackedExtensionsrã   rs  rK   r‹   r¸  s        r   Ú testSerializeAllPackedExtensionsz2SerializationTest.testSerializeAllPackedExtensions�  s‘   € ÝÔ3Ñ5Ô5€KÝÔ4Ñ6Ô6€LÝÔ$ [Ñ1Ô1Ð1Ø×.Ò.Ñ0Ô0€JØ×-Ò-¨jÑ9Ô9€JØ×Ò�\×*Ò*Ñ,Ô,¨jÑ9Ô9Ð9Ø×Ò�[ ,Ñ/Ô/Ð/Ð/Ð/r    c                 óž  — t          j        ¦   «         }|j                             ddg¦  «         |j                             d¦  «         |                     ¦   «         }t          j        ¦   «         }|j                             d¦  «         |j                             ddg¦  «         |j                             d¦  «         |                      t          |¦  «        | 
                    |¦  «        ¦  «         |                      g d¢|j        ¦  «         |                      g d	¢|j        ¦  «         |                      dg|j        ¦  «         d S )
Nrc   rd   ç      @re   r©  ç       @r/   )re   rc   rd   )r©  r¿  r¾  )r   r+  rj  rÉ   rk  rÈ   rã   Úpacked_sint32rK   r9   rs  )r   rù  ru  rú  s       r   Ú1testMergePackedFromStringWhenSomeFieldsAlreadySetzCSerializationTest.testMergePackedFromStringWhenSomeFieldsAlreadySet¦  s9  € ÝÔ.Ñ0Ô0€KØÔ×#Ò# Q¨ FÑ+Ô+Ð+ØÔ×$Ò$ SÑ)Ô)Ð)Ø×.Ò.Ñ0Ô0€JåÔ/Ñ1Ô1€LØÔ×$Ò$ QÑ'Ô'Ð'ØÔ×%Ò% s¨C jÑ1Ô1Ð1ØÔ×%Ò% aÑ(Ô(Ð(à×ÒÝˆJ‰ŒØ×$Ò$ ZÑ0Ô0ñ2ô 2ð 2ð 	×Ò�Y�Y�Y Ô 9Ñ:Ô:Ð:Ø×Ò�_�_�_ lÔ&@ÑAÔAÐAØ×Ò�a�S˜,Ô4Ñ5Ô5Ð5Ð5Ð5r    c                 óø  — t          j        ¦   «         }|j                             g d¢¦  «         |j                             ddg¦  «         |j                             d¦  «         |                     ¦   «         }|                      | 	                    ¦   «         t          |¦  «        ¦  «         t          |¦  «        }|j        }|                      dt          j        f |¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      d	|                     ¦   «         ¦  «         |                      d
|                     ¦   «         ¦  «         |                      dt          j        f |¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      dt          j        f |¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      d|                     ¦   «         ¦  «         |                      |                     ¦   «         ¦  «         d S )N)rc   rd   é–   re   r©  g     @�@r¿  éZ   r¢   rc   rd   rÃ  re   rê  r/   ée   rc  )r   r+  rj  rÉ   rk  Úpacked_floatrÈ   rã   rK   r‹   r9   r   r-   r   ÚWIRETYPE_LENGTH_DELIMITEDr?   r3   r7   r£   r:   r�  s        r   ÚtestPackedFieldsWireFormatz,SerializationTest.testPackedFieldsWireFormat¸  sa  € ÝÔ(Ñ*Ô*€EØ	Ô×Ò˜n˜n˜nÑ-Ô-Ð-Ø	Ô×Ò  V˜}Ñ-Ô-Ð-Ø	Ô×Ò˜cÑ"Ô"Ð"Ø×(Ò(Ñ*Ô*€JØ×Ò�U—^’^Ñ%Ô%¥s¨:¡¤Ñ7Ô7Ð7Ý�ZÑ Ô €AØÔ*€GØ×Ò�b�+Ô?Ð@À'À'Á)Ä)ÑLÔLÐLØ×Ò�W˜aŸkšk™mœmÑ,Ô,Ð,Ø×Ò�Q˜Ÿš™œÑ&Ô&Ð&Ø×Ò�Q˜Ÿš™œÑ&Ô&Ð&Ø×Ò�S˜!Ÿ+š+™-œ-Ñ(Ô(Ð(Ø×Ò�Q˜Ÿš™œÑ&Ô&Ð&Ø×Ò�c�;Ô@ÐAÀ7À7Á9Ä9ÑMÔMÐMØ×Ò�Q˜Ÿš™œÑ&Ô&Ð&Ø×Ò�S˜!Ÿ+š+™-œ-Ñ(Ô(Ð(Ø×Ò�c�;Ô@ÐAÀ7À7Á9Ä9ÑMÔMÐMØ×Ò�S˜!Ÿ+š+™-œ-Ñ(Ô(Ð(Ø×Ò�S˜!Ÿ,š,™.œ.Ñ)Ô)Ð)Ø×Ò�V˜QŸ\š\™^œ^Ñ,Ô,Ð,Ø‡O‚O�A—M’M‘O”OÑ$Ô$Ð$Ð$Ð$r    c                 óˆ  — t          j        ¦   «         }t          j        |¦  «         t          j        ¦   «         }|                     ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         t          j        ¦   «         }t          j	        |¦  «         |                      ||¦  «         d S r"   )
r   ÚTestUnpackedTypesr   ÚSetAllUnpackedFieldsr+  rã   rK   r9   rs  r·  )r   ÚunpackedÚpackedru  rd  s        r   ÚtestParsePackedFromUnpackedz-SerializationTest.testParsePackedFromUnpackedÐ  s¯   € ÝÔ-Ñ/Ô/€HÝÔ" 8Ñ,Ô,Ð,ÝÔ)Ñ+Ô+€FØ×+Ò+Ñ-Ô-€JØ×ÒÝˆJ‰ŒØ×Ò˜zÑ*Ô*ñ,ô ,ð ,õ Ô+Ñ-Ô-€HÝÔ  Ñ*Ô*Ð*Ø×Ò�X˜vÑ&Ô&Ð&Ð&Ð&r    c                 óˆ  — t          j        ¦   «         }t          j        |¦  «         t          j        ¦   «         }|                     ¦   «         }|                      t          |¦  «        |                     |¦  «        ¦  «         t          j        ¦   «         }t          j	        |¦  «         |                      ||¦  «         d S r"   )
r   r+  r   r·  rÊ  rã   rK   r9   rs  rË  )r   rÍ  rÌ  ru  rd  s        r   ÚtestParseUnpackedFromPackedz-SerializationTest.testParseUnpackedFromPackedÜ  s¯   € ÝÔ)Ñ+Ô+€FÝÔ  Ñ(Ô(Ð(ÝÔ-Ñ/Ô/€HØ×)Ò)Ñ+Ô+€JØ×ÒÝˆJ‰ŒØ× Ò  Ñ,Ô,ñ.ô .ð .õ Ô-Ñ/Ô/€HÝÔ" 8Ñ,Ô,Ð,Ø×Ò�X˜xÑ(Ô(Ð(Ð(Ð(r    c                 óÐ  — t          j        ¦   «         }|                      t           j        j        j        d¦  «         |                      t           j        j        d¦  «         |                      t           j        j        d¦  «         |                      t           j        j        d¦  «         |                      t           j        j        d¦  «         |                      t           j        j	        d¦  «         |                      t           j        j
        d¦  «         |                      t           j        j        d¦  «         |                      t           j        j        d¦  «         d S )	Nrc   rc  é   rÄ   é   rµ  r·  é3   )r   rZ   rK   rz   ÚBB_FIELD_NUMBERÚOPTIONAL_INT32_FIELD_NUMBERÚOPTIONALGROUP_FIELD_NUMBERÚ$OPTIONAL_NESTED_MESSAGE_FIELD_NUMBERÚ!OPTIONAL_NESTED_ENUM_FIELD_NUMBERÚREPEATED_INT32_FIELD_NUMBERÚREPEATEDGROUP_FIELD_NUMBERÚ$REPEATED_NESTED_MESSAGE_FIELD_NUMBERÚ!REPEATED_NESTED_ENUM_FIELD_NUMBERr}  s     r   ÚtestFieldNumbersz"SerializationTest.testFieldNumbersè  sC  € ÝÔ%Ñ'Ô'€EØ×Ò•\Ô.Ô<ÔLÈaÑPÔPÐPØ×Ò•\Ô.ÔJÈAÑNÔNÐNØ×Ò•\Ô.ÔIÈ2ÑNÔNÐNØ×ÒÝÔÔDÀbñJô Jð Jà×ÒÝÔÔAÀ2ñGô Gð Gà×Ò•\Ô.ÔJÈBÑOÔOÐOØ×Ò•\Ô.ÔIÈ2ÑNÔNÐNØ×ÒÝÔÔDÀbñJô Jð Jà×ÒÝÔÔAÀ2ñGô Gð Gð Gð Gr    c                 ó’  — |                       t          j        j        j        d¦  «         |                       t          j        j        d¦  «         |                       t          j        j        j        d¦  «         |                       t          j        j        d¦  «         |                       t          j        j        d¦  «         |                       t          j	        d¦  «         |                       t          j
        j        d¦  «         |                       t          j        d¦  «         |                       t          j        j        d¦  «         |                       t          j        d¦  «         |                       t          j        j        d¦  «         |                       t          j        d¦  «         |                       t          j        j        d¦  «         |                       t          j        d¦  «         |                       t          j        j        d¦  «         |                       t          j        d¦  «         |                       t          j        j        d	¦  «         |                       t          j        d	¦  «         |                       t          j        j        d
¦  «         |                       t          j        d
¦  «         d S )Niè  ié  rc   rc  rÒ  rÄ   rÓ  rµ  r·  rÔ  )rK   r   r‚  rƒ  r  ÚSINGLE_FIELD_NUMBERrÃ  ÚMULTI_FIELD_NUMBERr�  Ú%OPTIONAL_INT32_EXTENSION_FIELD_NUMBERÚoptionalgroup_extensionÚ$OPTIONALGROUP_EXTENSION_FIELD_NUMBERÚ!optional_nested_message_extensionÚ.OPTIONAL_NESTED_MESSAGE_EXTENSION_FIELD_NUMBERÚoptional_nested_enum_extensionÚ+OPTIONAL_NESTED_ENUM_EXTENSION_FIELD_NUMBERr¢  Ú%REPEATED_INT32_EXTENSION_FIELD_NUMBERr}  Ú$REPEATEDGROUP_EXTENSION_FIELD_NUMBERr£  Ú.REPEATED_NESTED_MESSAGE_EXTENSION_FIELD_NUMBERÚrepeated_nested_enum_extensionÚ+REPEATED_NESTED_ENUM_EXTENSION_FIELD_NUMBERr)   s    r   ÚtestExtensionFieldNumbersz+SerializationTest.testExtensionFieldNumbersø  sL  € Ø×Ò•\Ô.Ô5Ô<¸dÑCÔCÐCØ×Ò•\Ô.ÔBÀDÑIÔIÐIØ×Ò•\Ô.Ô4Ô;¸TÑBÔBÐBØ×Ò•\Ô.ÔAÀ4ÑHÔHÐHØ×Ò•\Ô:ÔAÀ1ÑEÔEÐEØ×Ò•\ÔGÈÑKÔKÐKØ×Ò•\Ô9Ô@À"ÑEÔEÐEØ×Ò•\ÔFÈÑKÔKÐKØ×Ò•\ÔCÔJÈBÑOÔOÐOØ×ÒÝÔAÀ2ñGô Gð Gà×Ò•\Ô@ÔGÈÑLÔLÐLØ×Ò•\ÔMØñ
ô 
ð 
à×Ò•\Ô:ÔAÀ2ÑFÔFÐFØ×Ò•\ÔGÈÑLÔLÐLØ×Ò•\Ô9Ô@À"ÑEÔEÐEØ×Ò•\ÔFÈÑKÔKÐKØ×Ò•\ÔCÔJÈBÑOÔOÐOØ×ÒÝÔAÀ2ñGô Gð Gà×Ò•\Ô@ÔGÈÑLÔLÐLØ×Ò•\ÔMØñ
ô 
ð 
ð 
ð 
r    c                 ó:  — t           j        }|                      |j        j        |j        j        d         ¦  «         |                      |j        |j        j        j        ¦  «         |                      |j	        j        |j        j        d         ¦  «         |                      |j
        |j	        j        j        ¦  «         |                      |j        j        |j        j        d         ¦  «         |                      |j        |j        j        j        ¦  «         d S )NrW   ry   rh   )r   rZ   r‰  rW   r·   r¸   rK   rÖ  r  ry   rØ  rh   rÚ  )r   Úclss     r   ÚtestFieldPropertiesz%SerializationTest.testFieldProperties  s  € Ý
Ô
#€CØ‡M‚M�#Ô$Ô/Ø”.Ô/Ð0@ÔAñCô Cð Cà×Ò�SÔ4ØÔ'Ô2Ô9ñ;ô ;ð ;à‡M‚M�#Ô-Ô8Ø”.Ô/Ð0IÔJñLô Lð Là×Ò�SÔ=ØÔ0Ô;ÔBñDô Dð Dà‡M‚M�#Ô$Ô/Ø”.Ô/Ð0@ÔAñCô Cð Cà×Ò�SÔ4ØÔ'Ô2Ô9ñ;ô ;ð ;ð ;ð ;r    c                 óþ  — t          j        ¦   «         }d|_        |                      t           j        j                             |¦  «        d¦  «         t           j        j                             |d¦  «         |                      |j        d¦  «         |                      t          ¦  «        5  |`d d d ¦  «         n# 1 swxY w Y   	 t           j        j	                             |¦  «         d S # t          $ r Y d S w xY w)Nr²  rà  )r   rZ   rW   rK   Ú__get__Ú__set__r†   rÒ   r}   rt   r‡   )r   rñ  s     r   ÚtestFieldDataDescriptorz)SerializationTest.testFieldDataDescriptor!  s0  € Ý
Ô
#Ñ
%Ô
%€CØ€CÔØ×Ò•\Ô.Ô=×EÒEÀcÑJÔJÈBÑOÔOÐOÝÔÔ,×4Ò4°S¸"Ñ=Ô=Ð=Ø×Ò�SÔ'¨Ñ,Ô,Ð,Ø	×	Ò	�>Ñ	*Ô	*ð ð Ø
Ð
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðÝÔ!Ô#×+Ò+¨CÑ0Ô0Ð0ð
 €døõ	 ð ð ð Ø
€d€dðøøøs$   Â-B<Â<C ÃC Ã$C. Ã.
C<Ã;C<c                 óÖ  — t          j        ddddt           j                             d¬¦  «        t          j        d¬¦  «        t           j        j        t           j        g d¢¬¦	  «	        }|                      |                     ¦   «         ¦  «         |                      |                     d	¦  «        ¦  «         |                      |                     d
¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |  	                    d|j
        ¦  «         |  	                    d|j        ¦  «         |  	                    d|j        ¦  «         |  	                    d|j        ¦  «         |  	                    d|j        j        ¦  «         |  	                    d|j        j        ¦  «         |  	                    t           j        j        |j        ¦  «         |  	                    t           j        |j        ¦  «         |  	                    g d¢|j        ¦  «         d S )Nrc   r€   Ts   barrp   rs   ©rc   rd   re   )	rW   rV   rØ   r×   ry   rd  r  Úoptional_foreign_enumrh   rW   rV   rØ   r×   ry   rd  r  rø  )r   rZ   rz   r}   r{   r  r£   r·  r\   rK   rW   rV   rØ   r×   ry   rq   rd  rt   r  rø  rh   r}  s     r   ÚtestInitKwargsz SerializationTest.testInitKwargs2  s{  € ÝÔ%ØØØØÝ ,Ô 9× GÒ GÈ1Ð GÑ MÔ MÝ!-Ô!<¸qÐ!AÑ!AÔ!AÝ)Ô6Ô:Ý*Ô6Ø �y�yð	"ñ 	"ô 	"€Eð 	‡O‚O�E×'Ò'Ñ)Ô)Ñ*Ô*Ð*Ø‡O‚O�E—N’NÐ#3Ñ4Ô4Ñ5Ô5Ð5Ø‡O‚O�E—N’NÐ#4Ñ5Ô5Ñ6Ô6Ð6Ø‡O‚O�E—N’N ?Ñ3Ô3Ñ4Ô4Ð4Ø‡O‚O�E—N’NÐ#3Ñ4Ô4Ñ5Ô5Ð5Ø‡O‚O�E—N’NÐ#<Ñ=Ô=Ñ>Ô>Ð>Ø‡O‚O�E—N’NÐ#=Ñ>Ô>Ñ?Ô?Ð?Ø‡O‚O�E—N’NÐ#9Ñ:Ô:Ñ;Ô;Ð;Ø‡O‚O�E—N’NÐ#:Ñ;Ô;Ñ<Ô<Ð<Ø×Ò�Q˜Ô,Ñ-Ô-Ð-Ø×Ò�U˜EÔ1Ñ2Ô2Ð2Ø×Ò�T˜5Ô.Ñ/Ô/Ð/Ø×Ò�V˜UÔ1Ñ2Ô2Ð2Ø×Ò�Q˜Ô5Ô8Ñ9Ô9Ð9Ø×Ò�Q˜Ô6Ô8Ñ9Ô9Ð9Ø×Ò•\Ô.Ô2ØÔ/ñ1ô 1ð 1à×Ò•\Ô-¨uÔ/JÑKÔKÐKØ×Ò�Y�Y�Y Ô 4Ñ5Ô5Ð5Ð5Ð5r    c                 óD   — d„ }|                       t          |d¦  «         d S )Nc                  ó0   — t          j        d¬¦  «        } d S )NÚunknown)rü  )r   rƒ  )Úunused_protos    r   Ú(InitalizeEmptyMessageWithExtraKeywordArgz`SerializationTest.testInitArgsUnknownFieldName.<locals>.InitalizeEmptyMessageWithExtraKeywordArgR  s   € Ý!Ô2¸9ÐEÑEÔE€l€l€lr    z9Protocol message TestEmptyMessage has no "unknown" field.)r°  rÍ   )r   rþ  s     r   ÚtestInitArgsUnknownFieldNamez.SerializationTest.testInitArgsUnknownFieldNameQ  sD   € ðFð Fð Fà×ÒÝØ0ØCñEô Eð Eð Eð Er    c                 ód  — t          j        ddd¬¦  «        }|                      |                     ¦   «         ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      |                     d¦  «        ¦  «         |                      d|j        ¦  «         |                      d|j        ¦  «         |                      d|j	        ¦  «         d S )Nrc   rÀ  rz  rÁ  rt   Údummy2)
r   r‚  r£   r·  r\   r[   rK   rz  rÁ  rt   r}  s     r   ÚtestInitRequiredKwargsz(SerializationTest.testInitRequiredKwargsY  sÿ   € ÝÔ%¨¨Q°!Ð4Ñ4Ô4€EØ‡O‚O�E×'Ò'Ñ)Ô)Ñ*Ô*Ð*Ø‡O‚O�E—N’N 3Ñ'Ô'Ñ(Ô(Ð(Ø‡O‚O�E—N’N 3Ñ'Ô'Ñ(Ô(Ð(Ø‡O‚O�E—N’N 3Ñ'Ô'Ñ(Ô(Ð(Ø×Ò�U—^’^ HÑ-Ô-Ñ.Ô.Ð.Ø×Ò�Q˜œÑ Ô Ð Ø×Ò�Q˜œÑ Ô Ð Ø×Ò�Q˜œÑ Ô Ð Ð Ð r    c                 óØ  — t          j        t          j        ddd¬¦  «        ¬¦  «        }|                      |                     ¦   «         ¦  «         |                      |                     d¦  «        ¦  «         |                      |j                             ¦   «         ¦  «         |                      |j                             d¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         |                      |j                             d¦  «        ¦  «         |                      t          j        ddd¬¦  «        |j        ¦  «         |                      d|j        j	        ¦  «         |                      d|j        j
        ¦  «         |                      d|j        j        ¦  «         d S )	Nrc   rÀ  )rÂ  rÂ  rz  rÁ  rt   r  )r   rÚ  r‚  r£   r·  r\   rÂ  r[   rK   rz  rÁ  rt   r}  s     r   ÚtestInitRequiredForeignKwargsz/SerializationTest.testInitRequiredForeignKwargsd  s©  € ÝÔ,Ý%Ô2°Q¸!¸qÐAÑAÔAðCñ Cô C€Eà‡O‚O�E×'Ò'Ñ)Ô)Ñ*Ô*Ð*Ø‡O‚O�E—N’NÐ#5Ñ6Ô6Ñ7Ô7Ð7Ø‡O‚O�EÔ*×8Ò8Ñ:Ô:Ñ;Ô;Ð;Ø‡O‚O�EÔ*×3Ò3°CÑ8Ô8Ñ9Ô9Ð9Ø‡O‚O�EÔ*×3Ò3°CÑ8Ô8Ñ9Ô9Ð9Ø‡O‚O�EÔ*×3Ò3°CÑ8Ô8Ñ9Ô9Ð9Ø×Ò�UÔ+×4Ò4°XÑ>Ô>Ñ?Ô?Ð?Ø×Ò•\Ô.°°a¸1Ð=Ñ=Ô=ØÔ+ñ-ô -ð -à×Ò�Q˜Ô.Ô0Ñ1Ô1Ð1Ø×Ò�Q˜Ô.Ô0Ñ1Ô1Ð1Ø×Ò�Q˜Ô.Ô0Ñ1Ô1Ð1Ð1Ð1r    c                 óH  — t          j        g d¢¬¦  «        }|                      |                     ¦   «         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         |                      d|j        d         ¦  «         d S )Nr÷  r„   rc   r   rd   re   )r   rZ   r£   r·  rK   rh   r}  s     r   ÚtestInitRepeatedKwargsz(SerializationTest.testInitRepeatedKwargst  s—   € ÝÔ%°Y°Y°YÐ?Ñ?Ô?€EØ‡O‚O�E×'Ò'Ñ)Ô)Ñ*Ô*Ð*Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ø×Ò�Q˜Ô,¨QÔ/Ñ0Ô0Ð0Ð0Ð0r    N)!r;   r<   r=   rv  rx  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  r  rD   r    r   rs  rs  *
  sæ  € € € € € ð0ð 0ð 0ð	0ð 	0ð 	0ð0ð 0ð 0ð0ð 0ð 0ð0ð 0ð 0ð;ð ;ð ;ð<(ð (ð (ð2>ð >ð >ðBð Bð Bð.48ð 48ð 48ðl'<ð '<ð '<ðR,ð ,ð ,ð6	Dð 	Dð 	Dð1"ð 1"ð 1"ðfð ð ðB0ð 0ð 0ð0ð 0ð 0ð6ð 6ð 6ð$%ð %ð %ð0
'ð 
'ð 
'ð
)ð 
)ð 
)ðGð Gð Gð 
ð 
ð 
ð4;ð ;ð ;ðð ð ð"6ð 6ð 6ð>Eð Eð Eð	!ð 	!ð 	!ð2ð 2ð 2ð 1ð 1ð 1ð 1ð 1r    rs  c                   ó   — e Zd Zd„ Zd„ ZdS )ÚOptionsTestc                 ó  — t          j        ¦   «         }|                      d|j                             ¦   «         j        ¦  «         t          j        ¦   «         }|                      d|j                             ¦   «         j        ¦  «         d S )NTF)r   r×  rK   r·   r�  rž  r   rZ   r}  s     r   ÚtestMessageOptionszOptionsTest.testMessageOptions  sŽ   € Ý&Ô5Ñ7Ô7€EØ×Ò�TØÔ%×0Ò0Ñ2Ô2ÔJñLô Lð LåÔ%Ñ'Ô'€EØ×Ò�UØÔ%×0Ò0Ñ2Ô2ÔJñLô Lð Lð Lð Lr    c                 óF  — t          j        ¦   «         }d|_        d|_        |                     ¦   «         D ]2\  }}|                      d|                     ¦   «         j        ¦  «         Œ3t          j        ¦   «         }|j	         
                    d¦  «         |j         
                    d¦  «         |                     ¦   «         D ]\\  }}|                      d|                     ¦   «         j        ¦  «         |                      t          j        j        |j        ¦  «         Œ]d S )Nrc   r¾  FT)r   rZ   rW   rX   r¹   rK   r�  rÍ  r+  rj  rÈ   rk  r   r'  rM  r  )r   r_   Úfield_descriptorÚ_s       r   ÚtestPackedOptionszOptionsTest.testPackedOptions‡  s$  € ÝÔ%Ñ'Ô'€EØ€EÔØ€EÔØ$×/Ò/Ñ1Ô1ð Dð DÑÐ˜!Ø
×Ò�uÐ.×9Ò9Ñ;Ô;ÔBÑCÔCÐCÐCåÔ(Ñ*Ô*€EØ	Ô×Ò˜aÑ Ô Ð Ø	Ô×Ò˜sÑ#Ô#Ð#Ø$×/Ò/Ñ1Ô1ð /ð /ÑÐ˜!Ø
×Ò�tÐ-×8Ò8Ñ:Ô:ÔAÑBÔBÐBØ
×Ò•zÔ1Ô@Ø'Ô-ñ/ô /ð /ð /ð/ð /r    N)r;   r<   r=   r
  r  rD   r    r   r  r  |  s5   € € € € € ðLð Lð Lð/ð /ð /ð /ð /r    r  c                   ó,  — e Zd Z ej         ej        ¦   «         dk    d¦  «         ej        d¦  «        d„ ¦   «         ¦   «         Z	d„ Z
 ej        d¦  «        d„ ¦   «         Z ej        d¦  «        d„ ¦   «         Z ej        d¦  «        d	„ ¦   «         Zd
S )ÚClassAPITestr°   z6C++ implementation requires a call to MakeDescriptor()zMakeClass is not repeatablec                 ól  — t          j        dddd g g g g t           j        ¬¦	  «	        }t          j        dddd g |gg g t           j        ¬¦	  «	        }t          j        dddd g g g g t           j        ¬¦	  «	        }t          j        d	d
dd g ||gg g t           j        ¬¦	  «	        }t          j        |¦  «         d S )NÚleafzpackage.parent.child.leafr°  )r  r  r  r  r  r  rb  zpackage.parent.childÚsiblingzpackage.parent.siblingÚparentzpackage.parent)r   r-  r,  r
   Ú	MakeClass)r   Ú	leaf_descÚ
child_descÚsibling_descÚparent_descs        r   Ú!testMakeClassWithNestedDescriptorz.ClassAPITest.testMakeClassWithNestedDescriptor›  sò   € õ
 Ô%ØÐ+¨RØ RØ BØåÔ2ð4ñ 4ô 4€Iõ Ô&ØÐ'¨Ø RØ�[¨RØåÔ2ð4ñ 4ô 4€Jõ Ô(ØÐ+Ø
˜D¨Ø BØåÔ2ð4ñ 4ô 4€Lõ Ô'ØÐ" BØ RØ  ,Ð/Ø "åÔ2ð4ñ 4ô 4€Kõ Ô˜Ñ%Ô%Ð%Ð%Ð%r    c                 óŠ   — d|z   dz   }t          j        ¦   «         }t          j        ||¦  «         |                     ¦   «         S )a   Get a serialized representation of a test FileDescriptorProto.

    Args:
      name: All calls to this must use a unique message name, to avoid
          collisions in the cpp descriptor pool.
    Returns:
      A string containing the serialized form of a test FileDescriptorProto.
    zmessage_type {  name: "ai  "  field {    name: "flat"    number: 1    label: LABEL_REPEATED    type: TYPE_UINT32  }  field {    name: "bar"    number: 2    label: LABEL_OPTIONAL    type: TYPE_MESSAGE    type_name: "Bar"  }  nested_type {    name: "Bar"    field {      name: "baz"      number: 3      label: LABEL_OPTIONAL      type: TYPE_MESSAGE      type_name: "Baz"    }    nested_type {      name: "Baz"      enum_type {        name: "deep_enum"        value {          name: "VALUE_A"          number: 0        }      }      field {        name: "deep"        number: 4        label: LABEL_OPTIONAL        type: TYPE_UINT32      }    }  }})r   rË  r   ÚMergerã   )r   r  Úfile_descriptor_strÚfile_descriptors       r   Ú_GetSerializedFileDescriptorz)ClassAPITest._GetSerializedFileDescriptor¾  sU   € ð	Øñ	ð(ñ)	ð õV %Ô8Ñ:Ô:€OÝÔÐ)¨?Ñ;Ô;Ð;Ø×,Ò,Ñ.Ô.Ð.r    r4  c                 ó¶  ‡— t          j        ¦   «         dk    rdS t          j        ¦   «         }|                     |                      d¦  «        ¦  «         t          j        |j        d         ¦  «        Š G ˆfd„dt          j
        t          j        ¬¦  «        } |¦   «         }d}t          j        ||¦  «         |                      |j        g d	¢¦  «         dS )
ú7Test that the generated class can parse a flat message.r°   NÚAr   c                   ó   •— e Zd Z” ZdS )úSClassAPITest.testParsingFlatClassWithExplicitClassDeclaration.<locals>.MessageClassNr"  )Úmsg_descriptors   €r   ÚMessageClassr$    s   ø€ € € € € à!€j€j€jr    r&  r%  úflat: 0 flat: 1 flat: 2 rç  )r   r²   r   rË  râ   r  r   rN  r  r	   r/  r
   r0  r   r  rK   Úflat)r   r  r&  rñ  Úmsg_strr%  s        @r   Ú0testParsingFlatClassWithExplicitClassDeclarationz=ClassAPITest.testParsingFlatClassWithExplicitClassDeclarationö  sú   ø€ õ ÔÑ Ô  HÒ,Ð,Ø€fÝ$Ô8Ñ:Ô:€OØ×#Ò# D×$EÒ$EÀcÑ$JÔ$JÑKÔKÐKÝÔ.ØÔ$ QÔ'ñ)ô )€Nð"ð "ð "ð "ð "ð "ð "ÝŒ¥:Ô#Jð"ñ "ô "ð "ð ˆ,‰.Œ.€Cð	ð õ Ô�g˜sÑ#Ô#Ð#Ø×Ò�S”X˜y˜y˜yÑ)Ô)Ð)Ð)Ð)r    c                 ó^  — t          j        ¦   «         }|                     |                      d¦  «        ¦  «         t	          j        |j        d         ¦  «        }t          j        |¦  «        } |¦   «         }d}t          j
        ||¦  «         |                      |j        g d¢¦  «         dS )r!  ÚBr   r'  rç  N)r   rË  râ   r  r   rN  r  r
   r  r   r  rK   r(  ©r   r  r%  Ú	msg_classrñ  r)  s         r   ÚtestParsingFlatClassz!ClassAPITest.testParsingFlatClass  s­   € õ %Ô8Ñ:Ô:€OØ×#Ò# D×$EÒ$EÀcÑ$JÔ$JÑKÔKÐKÝÔ.ØÔ$ QÔ'ñ)ô )€NåÔ$ ^Ñ4Ô4€IØ
ˆ)‰+Œ+€Cð	ð õ Ô�g˜sÑ#Ô#Ð#Ø×Ò�S”X˜y˜y˜yÑ)Ô)Ð)Ð)Ð)r    c                 ón  — t          j        ¦   «         }|                     |                      d¦  «        ¦  «         t	          j        |j        d         ¦  «        }t          j        |¦  «        } |¦   «         }d}t          j
        ||¦  «         |                      |j        j        j        d¦  «         dS )z9Test that the generated class can parse a nested message.ÚCr   zbar {  baz {    deep: 4  }}r/   N)r   rË  râ   r  r   rN  r  r
   r  r   r  rK   r½   r¾   Údeepr-  s         r   ÚtestParsingNestedClassz#ClassAPITest.testParsingNestedClass"  s®   € õ %Ô8Ñ:Ô:€OØ×#Ò# D×$EÒ$EÀcÑ$JÔ$JÑKÔKÐKÝÔ.ØÔ$ QÔ'ñ)ô )€NåÔ$ ^Ñ4Ô4€IØ
ˆ)‰+Œ+€Cð	ð õ Ô�g˜sÑ#Ô#Ð#Ø×Ò�S”W”[Ô% qÑ)Ô)Ð)Ð)Ð)r    N)r;   r<   r=   rô  rõ  r   r²   r   ró  r  r  r*  r/  r3  rD   r    r   r  r  ˜  s  € € € € € ð €8„?ØÐÔÑÔ 8Ò+Ø>ñ@ô @ð -ÐÔ,Ð-JÑKÔKð&ð &ñ LÔKñ@ô @ð&ð>6/ð 6/ð 6/ðp -ÐÔ,Ð-OÑPÔPð*ð *ñ QÔPð*ð2 -ÐÔ,Ð-OÑPÔPð*ð *ñ QÔPð*ð -ÐÔ,Ð-OÑPÔPð*ð *ñ QÔPð*ð *ð *r    r  Ú__main__).r>   rZ  rž   rt  r1   rÙ   Úwarningsrô  Úgoogle.protobufr   r   r   r   r   r   r	   r
   r   rí  r   r   r   r   r   r   r   r   r   ÚsimplefilterÚDeprecationWarningÚobjectr   Únamed_parametersÚTestCaserH   rx  r÷  r  r  r$  r(  rs  r  r  r;   ÚmainrD   r    r   ú<module>r=     sÖ  ðð@ð ð €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€Ø €€€à /Ð /Ð /Ð /Ð /Ð /Ø -Ð -Ð -Ð -Ð -Ð -Ø (Ð (Ð (Ð (Ð (Ð (Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #Ø &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø .Ð .Ð .Ð .Ð .Ð .Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ð €Ô �gÐ1Ñ 2Ô 2Ð 2ð*)ð *)ð *)ð *)ð *)�6ñ *)ô *)ð *)ðZ !€Ô Ø�ÐØÐ)Ð*ñ,ô ,ð ÔðK@ð K@ð K@ð K@ð K@�XÔ&ñ K@ô K@ñ Ôñ,ô ,ðK@ð^ ÔðP*ð P*ð P*ð P*ð P*˜8Ô,ñ P*ô P*ñ ÔðP*ðl& Ôð:ð :ð :ð :ð :˜xÔ0ñ :ô :ñ Ôð:ð  ÔðS:ð S:ð S:ð S:ð S:˜XÔ.ñ S:ô S:ñ ÔðS:ðl Ôð0ð 0ð 0ð 0ð 0˜HÔ-ñ 0ô 0ñ Ôð0ðB Ôð	0ð 	0ð 	0ð 	0ð 	0 (Ô"3ñ 	0ô 	0ñ Ôð	0ð Ôðj@ð j@ð j@ð j@ð j@�8Ô$ñ j@ô j@ñ Ôðj@ðp	 ÔðN	1ð N	1ð N	1ð N	1ð N	1˜Ô)ñ N	1ô N	1ñ ÔðN	1ðb Ôð/ð /ð /ð /ð /�(Ô#ñ /ô /ñ Ôð/ð6 ÔðY*ð Y*ð Y*ð Y*ð Y*�8Ô$ñ Y*ô Y*ñ ÔðY*ðv ˆzÒÐØ€(„-�/„/€/€/€/ð Ðr    