403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/jsonschema/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/jsonschema/tests/__pycache__/test_validators.cpython-314.pyc
+
P4iHS���^RIHt^RIHtHt^RIHt^RIHt^RI	H
t
^RIHt^RI
HtHt^RIHt^R	It^R	It^R	It^R	It^R	It^R
IHtHt^RIHt^R	It^RIHtH t H!t!H"t"H#t#R
t$!RR]4t%!RR]4t&!RR]4t'!RR4t(!RR](4t)!RR4t*!RR]*])]4t+!RR]*])]4t,!RR])]4t-!R R!])]4t.!R"R#])]4t/!R$R%])]4t0!R&R']4t1!R(R)]4t2!R*R+]4t3!R,R-]4t4!R.R/]4t5!R0R1]4t6R2t7]!R3R444t8]!R5R644t9R	#)7�)�annotations)�deque�
namedtuple)�contextmanager)�Decimal)�BytesIO)�Any)�TestCase�mock)�pathname2urlN)�define�field)�DRAFT202012)�
FormatChecker�TypeChecker�
exceptions�	protocols�
validatorsc#�t"�VF-pVPRR4\P!R/VBx�K/	R#5i)�messagezYou told me to fail!N�)�
setdefaultr�ValidationError)�	validator�errors�instance�schema�eachs&&&& �B/usr/lib/python3/dist-packages/jsonschema/tests/test_validators.py�failr s2��������	�#9�:��(�(�0�4�0�0��s�68c��]tRt^#tRtRtRtRtRtRt	Rt
RtR	tR
t
RtRtR
tRtRtRtRtRtRtRtRtR#)�TestCreateAndExtendc	���VPVP\P\	\P44VPVP\P
\	\P
44RR/VnR\/Vn\4Vn	\P!VPVPVPR7VnR#)�$idzsome://meta/schemar )�meta_schemar�type_checkerN)�
addCleanup�assertEqualr�
_META_SCHEMAS�dict�_VALIDATORSr%r rr&�create�	Validator��selfs&r�setUp�TestCreateAndExtend.setUp$s����������$�$���)�)�*�	
�
	
�������"�"���'�'�(�	
�"�#7�8���!�4�.���'�M���#�*�*��(�(�����*�*�
���c	���VPVPPVPPVPP3VP
VPVP34R#�N)r(r-�
VALIDATORS�META_SCHEMA�TYPE_CHECKERrr%r&r.s&r�
test_attrs�TestCreateAndExtend.test_attrs9s\��������)�)����*�*����+�+�
�
���� � ��!�!��
	
r2c	�d�R./pVPVPV4PV4R#)r N)r(r-r�r/rs& r�	test_init�TestCreateAndExtend.test_initFs*���"����������/�6�6��?r2c	��R./pVPV4p\VPR44pVPV.4R#)r �helloN)r-�list�iter_errorsr(�r/rrrs&   r�test_iter_errors_successful�/TestCreateAndExtend.test_iter_errors_successfulJs>���"����N�N�6�*�	��i�+�+�G�4�5�������$r2c
	�\�RRR/./pVPV4p\P!RRVRRR/.\R.4R7p\	VPR44pVP
\V4^4VP
V^,P4VP44R#)r rzWhoops!�goodbye)rrr�validator_value�schema_pathN)	r-rrrr@rAr(�len�	_contents)r/rr�expected_errorrs&    r�test_iter_errors_one_error�.TestCreateAndExtend.test_iter_errors_one_errorQs����I�y�1�2�3���N�N�6�*�	�#�3�3�����'��3�4��v�h��

���i�+�+�I�6�7������V��a�(�������,�,�.��0H�0H�0J�Kr2c	��RRR/RRRR/RR/./pVPV4p\VPR44pVP\	V4^4R#)	r r�FirstzSecond!r�asdf�ThirdrFN)r-r@rAr(rIrBs&   r� test_iter_errors_multiple_errors�4TestCreateAndExtend.test_iter_errors_multiple_errorsbsf����G�$��I�{�F�;��G�$��
���N�N�6�*�	��i�+�+�I�6�7������V��a�(r2c	�R�\P!RR/RR7pVP\PPR4VP\P
PR4VP
VPR4VP
VPR4R#)r$�	something�
my version�r%�version�MyVersionValidatorN)	rr,r'r)�popr+r(�__name__�__qualname__�r/r-s& r�.test_if_a_version_is_provided_it_is_registered�BTestCreateAndExtend.test_if_a_version_is_provided_it_is_registeredos����%�%���,� �
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�L�A�����+�+�-A�B�����/�/�1E�Fr2c	�$�\P!RR/RR7pVP\PPR4VP\P
PR4VP
\V!/44R4R#)r$rUrVrWz2MyVersionValidator(schema={}, format_checker=None)N)rr,r'r)rZr+r(�reprr]s& r�	test_repr�TestCreateAndExtend.test_reprysp���%�%���,� �
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�L�A������2���@�	
r2c	�L�\P!RR/RR7pVP\PPR4VP\P
PR4VP
\V!R\\R44/44R4R#)r$rUrVrW�ai�zNMyVersionValidator(schema={'a': [0, 1, 2, 3, 4, 5, ...]}, format_checker=None)N)
rr,r'r)rZr+r(rar@�ranger]s& r�test_long_repr�"TestCreateAndExtend.test_long_repr�s����%�%���,� �
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�L�A������C��e�D�k�!2�3�4�5�'�	
r2c	�v�\P!/R7pVP\V!/44R4R#)�r%z)Validator(schema={}, format_checker=None)N)rr,r(rar]s& r�test_repr_no_version�(TestCreateAndExtend.test_repr_no_version�s/���%�%�"�5�	������2���7�	
r2c	��\P!RR/RR7pVP\PPR4VP\P
PR4VP
VPR4R#)r$rUzfoo-barrW�FooBarValidatorN)rr,r'r)rZr+r(r\r]s& r�-test_dashes_are_stripped_from_validator_names�ATestCreateAndExtend.test_dashes_are_stripped_from_validator_names�sj���%�%���,��
�	�	
���
�0�0�4�4�k�B����
�.�.�2�2�I�>�����/�/�1B�Cr2c	��\\P4p\P!RR/R7VP	\PV4R#)�idrjN)r*rr)r,r()r/�originals& r�6test_if_a_version_is_not_provided_it_is_not_registered�JTestCreateAndExtend.test_if_a_version_is_not_provided_it_is_not_registered�s:���
�0�0�1�����t�T�l�3�����1�1�8�<r2c	�.�RpRV/p\P!VRRR7VP\PPV4VP\P
PR4VP
V\P4R#)�meta schema idrrrVc�&�VPRR4#�rr���get��ss&r�<lambda>�MTestCreateAndExtend.test_validates_registers_meta_schema_id.<locals>.<lambda>����A�E�E�$��Or2�r%rX�id_ofN�rr,r'r)rZr+�assertIn�r/�meta_schema_key�my_meta_schemas&  r�'test_validates_registers_meta_schema_id�;TestCreateAndExtend.test_validates_registers_meta_schema_id�sr��*����0�����&� �+�	
�
	
���
�0�0�4�4�o�F����
�.�.�2�2�L�A��
�
�o�z�'?�'?�@r2c	�*�RpRV/p\P!VRR7VP\PPV4VP\P
PR4VP
V\P4R#)�meta schema $idr$rVrWNr�r�s&  r�.test_validates_registers_meta_schema_draft6_id�BTestCreateAndExtend.test_validates_registers_meta_schema_draft6_id�so��+����1�����&� �	
�	
���
�0�0�4�4�o�F����
�.�.�2�2�L�A��
�
�o�z�'?�'?�@r2c	�a�\P!/RR7oTP\;QJd6V3RlR.3RR	R
RR/3R34F'dKR4R#	R4R#!V3RlR.3RR	R
RR/3R3444R#)
�r%rc3�X<"�TFwrS!/4PW!R7x�K!	R#5i))r�typeN)�is_type)�.0r�rr-s&  �r�	<genexpr>�@TestCreateAndExtend.test_create_default_types.<locals>.<genexpr>�s3�����'�N�D��"�
�%�%�x�%�C�C�'�s�'*�arrayTN�objectFr)�booleanT)�integer�)�nullN)�numberg(@)�string�foo)rr,�
assertTrue�allr]s&@r�test_create_default_types�-TestCreateAndExtend.test_create_default_types�s�����%�%�"��D�	�����C���b�M�%�#�"�$��r�N�%�'��C�C�
	
��
	
����b�M�%�#�"�$��r�N�%�'��
�
	
r2c
�~�\P!R\PPR,RR///R7pVP	RR/4VP\P4;_uu_4VP	/4RRR4V!RR/4PR4R# +'giL+;i)	zY
One can create a validator class whose metaschema uses a different
dialect than itself.
�$schemar$�not�constrjr��barN)	rr,�Draft202012Validatorr6�check_schema�assertRaisesr�SchemaError�validate�r/�NoEmptySchemasValidators& r�+test_check_schema_with_different_metaschema�?TestCreateAndExtend.test_check_schema_with_different_metaschema�s���#-�"3�"3��:�:�:�F�F�u�M����}��#
��	 �,�,�e�U�^�<�
�
�
�z�5�5�
6�
6�#�0�0��4�7�	 ����/�8�8��?�7�
6�s�7B,�,B<	c
��\P!RRR/./R\/R7pVP\P
4;_uu_4VP
/4RRR4R# +'giR#;i)z�
A validator whose metaschema doesn't declare $schema defaults to its
own validation behavior, not the latest "normal" specification.
r rzMeta schema whoops!r�N)rr,r r�rr�r�r�s& r�<test_check_schema_with_different_metaschema_defaults_to_self�PTestCreateAndExtend.test_check_schema_with_different_metaschema_defaults_to_self�sc��#-�"3�"3��9�.C�"D�!E�F���~�#
���
�
�z�5�5�
6�
6�#�0�0��4�7�
6�
6�
6�s�A'�'A8	c	��\VPP4p\4p\P
!VPRV/R7pVP
VPVPVPVPP3\WR7VPPVPPV34R#)�new)r)r�N)	r*r-r5r�r�extendr(r6r7)r/rsr��Extendeds&   r�test_extend�TestCreateAndExtend.test_extend�s�������1�1�2���h���$�$��N�N��s�|�
��	
����#�#��$�$��%�%����)�)�	
��X�'����*�*����+�+��	�
	
r2c
�Xa�V3RlpRpRRRV/p\P!VSPSPVR7pSPVP	VP
4V4\P!V4pSPVP	VP
4V4R#)z;
Extending a validator preserves its notion of schema IDs.
c�Z<�VPRSPPV44#)�__test__)r|r-�ID_OF)rr/s&�rr��3TestCreateAndExtend.test_extend_idof.<locals>.id_ofs#����:�:�j�$�.�.�*>�*>�v�*F�G�Gr2zthe://correct/id/r$zthe://wrong/id/r�)r%rr&r�N)rr,r&r(r�r6r�)r/r��
correct_idr%�Original�Derivedsf     r�test_extend_idof�$TestCreateAndExtend.test_extend_idof
s����	H�(�
��$��
�
���$�$�#�����*�*��	
��	
�������(<�(<�=�z�J��#�#�H�-��������w�':�':�;�Z�Hr2c
��RRRR//RRR^/p\P!V4pVPVP^%44\P!\P4pVPV!V4P^%44R#)	zF
Extending a validator preserves its notion of applicable validators.
�$defs�testr�r��$refz#/$defs/test�maximumN)r�Draft4Validatorr��is_validr�)r/r�draft4r�s&   r�!test_extend_applicable_validators�5TestCreateAndExtend.test_extend_applicable_validators s|��
�f�v�x�0�1��N��q�
���+�+�F�3���������+�,��#�#�J�$>�$>�?��������0�0��4�5r2)r-r%r&rN)r[�
__module__r\�__firstlineno__r0r8r<rCrLrRr^rbrgrkrortr�r�r�r�r�r�r�r��__static_attributes__rr2rr"r"#sn��
�*
�@�%�L�")�G�

�
�
�D�=�
A�A�
�"@�&5�
�,I�,6r2r"c�N�]tRtRtRtRtRtRtRtRt	Rt
R	tR
tRt
RtR
tRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRt Rt!R t"R!t#R"t$R#t%R$t&R%t'R&t(R't)R(t*R)t+R*t,R+t-R,t.R-t/R.t0R/t1R0t2R1t3R2t4R3t5R4t6R5t7R6t8R7#)8�TestValidationErrorMessagesi2c	�F�VPR\P4pVPV4V!V.VO5/VBp\	VPV44pVP
VRV:2R7VP\V4^RV:2R7V^,P#)�clszNo errors were raised for )�msgz"Expected exactly one error, found )
rZr�_LATEST_VERSIONr�r@rAr�r(rIr)r/rr�args�kwargsr�rrs&&&*,   r�message_for�'TestValidationErrorMessages.message_for3s����j�j��
� :� :�;������ ���0��0��0�	��i�+�+�H�5�6������&@���$M��N������K�
�4�V�J�?�	�	
�
�a�y� � � r2c	�T�VP^RR/R7pVPVR4R#��r�r��rr�1 is not of type 'string'N�r�r(�r/rs& r�test_single_type_failure�4TestValidationErrorMessages.test_single_type_failure@s-���"�"�A�v�x�6H�"�I������"=�>r2c	�V�VP^RR./R7pVPVR4R#r�r�r�s& r�test_single_type_list_failure�9TestValidationErrorMessages.test_single_type_list_failureDs/���"�"�A�v��z�6J�"�K������"=�>r2c	�j�RpVP^R\V4/R7pVPVR4R#)r�r�r�z#1 is not of type 'string', 'object'N)r�r�)r�r@r()r/�typesrs&  r�test_multiple_type_failure�6TestValidationErrorMessages.test_multiple_type_failureHs6��"���"�"�A�v�t�E�{�6K�"�L������"G�Hr2c	��RRRR^/./pVP^V\PR7pVPVR4R#)r��name�Foo�minimum�rrr�z1 is not of type 'Foo'N�r�r�Draft3Validatorr(�r/rrs&  r�#test_object_with_named_type_failure�?TestValidationErrorMessages.test_object_with_named_type_failureMsO���F�E�9�a�8�9�:���"�"����*�*�#�
��
	
����":�;r2c	�T�VP^R^/R7pVPVR4R#)r�r�r�z1 is less than the minimum of 2Nr�r�s& r�test_minimum�(TestValidationErrorMessages.test_minimumVs,���"�"�A�y�!�n�"�E������"C�Dr2c	�T�VP^R^/R7pVPVR4R#)r�r�r�z"1 is greater than the maximum of 0Nr�r�s& r�test_maximum�(TestValidationErrorMessages.test_maximumZs,���"�"�A�y�!�n�"�E������"F�Gr2c	��RRr!RW//pVPR^/V\PR7pVPVR4R#�r�r��dependenciesr�z'foo' is a dependency of 'bar'Nr��r/�depend�onrrs&    r� test_dependencies_single_element�<TestValidationErrorMessages.test_dependencies_single_element^sP���E�� �6�,�/���"�"��Q�Z���*�*�#�
��
	
����"B�Cr2c	��RR^/./pVP^RV./\PR7pVPVR4R#)r�r�r�z+1 is not of type {'type': [{'minimum': 3}]}Nr�)r/r�rs&  r�-test_object_without_title_type_failure_draft3�ITestValidationErrorMessages.test_object_without_title_type_failure_draft3hsT���)�Q��(�)���"�"���T�F�#��*�*�#�
��
	
����9�	
r2c	��RRr!RW.//pVPR^/V\PR7pVPVR4R#r�r�r�s&    r�test_dependencies_list_draft3�9TestValidationErrorMessages.test_dependencies_list_draft3t�R���E�� �6�4�.�1���"�"��Q�Z���*�*�#�
��
	
����"B�Cr2c	��RRr!RW.//pVPR^/V\PR7pVPVR4R#r��r�r�Draft7Validatorr(r�s&    r�test_dependencies_list_draft7�9TestValidationErrorMessages.test_dependencies_list_draft7~r
r2c	�x�VP^.R.RR/\PR7pVPRV4R#)��items�additionalItemsFr�z(2 was unexpected)N�r�rr�r�r�s& r�#test_additionalItems_single_failure�?TestValidationErrorMessages.test_additionalItems_single_failure�sC���"�"��S��R�!2�E�:��*�*�#�
��
	
�
�
�*�G�4r2c	�z�VP.ROR.RR/\PR7pVPRV4R#)r�rrFr�z(1, 2, 3 were unexpected)N�r�r�rr�s& r�&test_additionalItems_multiple_failures�BTestValidationErrorMessages.test_additionalItems_multiple_failures�sA���"�"���R�!2�E�:��*�*�#�
��
	
�
�
�1�7�;r2c	�`�RpRR/pVPV^/VR7pVPRV4R#)r��additionalPropertiesFr�z('foo' was unexpected)N�r�r�)r/�
additionalrrs&   r�(test_additionalProperties_single_failure�DTestValidationErrorMessages.test_additionalProperties_single_failure�s9���
�(�%�0���"�"�Z��O�F�"�K���
�
�.��8r2c	���RR/pVP\PRR.4VR7pVP\	R4V4VP\	R4V4VPRV4R#)rFr�r�r�zwere unexpected)N)r�r*�fromkeysr�rar�s&  r�+test_additionalProperties_multiple_failures�GTestValidationErrorMessages.test_additionalProperties_multiple_failures�si��(�%�0���"�"��]�]�E�5�>�2��#�
��
	
�
�
�d�5�k�7�+��
�
�d�5�k�7�+��
�
�(�'�2r2c	�\�R^/pVPRR/VR7pVPRV4R#)r�r�r�r�z12 was expectedNrr�s&  r�
test_const�&TestValidationErrorMessages.test_const�s;���2����"�"��U�^��#�
��	
�
�
�'��1r2c	��RR^//pVP^/..V\PR7pVPVR4R#)�containsr�r�z4None of [2, {}, []] are valid under the given schemaN)r�r�Draft6Validatorr(r�s&  r�test_contains_draft_6�1TestValidationErrorMessages.test_contains_draft_6�sP���w��m�,���"�"���R�[���*�*�#�
��
	
����B�	
r2c	��\RR7pVPR4!R4RR/pVPRVVR7pVP\	R4V4VP\	R4V4VPRV4R#)	)�formats�thingc��R#)Fr)�values&rr�QTestValidationErrorMessages.test_invalid_format_default_message.<locals>.<lambda>�s��er2�format�bla)rr�format_checkerzis not aNr)r�checksr�r�ra)r/�checkerrrs&   r�#test_invalid_format_default_message�?TestValidationErrorMessages.test_invalid_format_default_message�sz����+�����w�� 3�4��G�$���"�"���"�#�
��	
�
�
�d�5�k�7�+��
�
�d�7�m�W�-��
�
�j�'�*r2c	���RRRRRRRR/RRR///pVPR^{/V\PR	7pVPVR
P	\R4\R4\R444VPR^{RR/V\PR	7pVPVR
P	\R4\R4\R4\R444R#)r�r�rF�patternPropertiesz^abc$r�z^def$�zebrar�z,{} does not match any of the regexes: {}, {}�fishi�z.{}, {} do not match any of the regexes: {}, {}N)r�rr�r(r4rar�s&  r�1test_additionalProperties_false_patternProperties�MTestValidationErrorMessages.test_additionalProperties_false_patternProperties�s����(�(�%�%����1����1�(����"�"��s�^���*�*�#�
��
	
����:�A�A��W�
�t�G�}�d�7�m�
�	
��"�"��s�F�C�0���*�*�#�
��
	
����<�C�C��V��d�7�m�T�'�]�D��M�
�	
r2c	�P�VPRRR7pVPVR4R#)rUFr�z'False schema does not allow 'something'Nr�r�s& r�test_False_schema�-TestValidationErrorMessages.test_False_schema�s0���"�"� ��#�
��	
����"K�Lr2c	�T�VP^R^/R7pVPVR4R#)r�
multipleOfr�z3 is not a multiple of 2Nr�r�s& r�test_multipleOf�+TestValidationErrorMessages.test_multipleOf�s5���"�"�� �!�$�#�
��	
����"<�=r2c	�T�VP.R^/R7pVPVR4R#)�minItemsr�z[] is too shortNr�r�s& r�
test_minItems�)TestValidationErrorMessages.test_minItems�s,���"�"�B�
�A��"�G������"3�4r2c	�X�VP.ROR^/R7pVPVR4R#)r��maxItemsr�z[1, 2, 3] is too longNrr�r�s& r�
test_maxItems�)TestValidationErrorMessages.test_maxItems�s,���"�"�I�z�1�o�"�N������"9�:r2c	�`�VP.RORRR//./R7pVPVR4R#)r�rF�prefixItemsr�z1Expected at most 2 items but found 1 extra: 'foo'N)r�rr�r�r�s& r�test_prefixItems_with_items�7TestValidationErrorMessages.test_prefixItems_with_itemss@���"�"�"��U�M�B��8�<�#�
��	
����?�	
r2c	�`�VP.RORRR//./R7pVPVR4R#)r�rFrQr�z6Expected at most 2 items but found 2 extra: ['foo', 5]N�r�rr��r�r�s& r�*test_prefixItems_with_multiple_extra_items�FTestValidationErrorMessages.test_prefixItems_with_multiple_extra_items
s@���"�"�%��U�M�B��8�<�#�
��	
����D�	
r2c	�T�VPRR^/R7pVPVR4R#)rz�	minLengthr�z'' is too shortNr�r�s& r�test_minLength�*TestValidationErrorMessages.test_minLengths5���"�"����#�#�
��	
����"3�4r2c	�T�VPRR^/R7pVPVR4R#)�abc�	maxLengthr�z'abc' is too longNr�r�s& r�test_maxLength�*TestValidationErrorMessages.test_maxLengths5���"�"����#�#�
��	
����"5�6r2c	�T�VPRRR/R7pVPVR4R#)�bbb�patternz^a*$r�z'bbb' does not match '^a*$'Nr�r�s& r�test_pattern�(TestValidationErrorMessages.test_pattern"s5���"�"���v�&�#�
��	
����"?�@r2c	�X�VP.RRR//R7pVPVR4R#)r*r�r�r�z3[] does not contain items matching the given schemaNr�r�s& r�test_does_not_contain�1TestValidationErrorMessages.test_does_not_contain)s=���"�"����� 2�3�#�
��	
����A�	
r2c	�`�VPR^.RRR/R^/R7pVPVR4R#)r�r*r�r��minContainsr��MToo few items match the given schema (expected at least 2 but only 1 matched)Nr�r�s& r�test_contains_too_few�1TestValidationErrorMessages.test_contains_too_few3sG���"�"��Q�Z���� 2�M�1�E�#�
��	
����
7�	
r2c		�d�VPR^.RRR/R^R^/R7pVPVR4R#)	r�r*r�r�rk�maxContainsr�rlNr�r�s& r�&test_contains_too_few_both_constrained�BTestValidationErrorMessages.test_contains_too_few_both_constrained>sO���"�"��Q�Z��V�X�.��q��q��#�
��	
����
�	
r2c	�`�VP.RORRR/R^/R7pVPVR4R#)	r�r*r�r�rpr��:Too many items match the given schema (expected at most 2)N�r�r��bazr�r�s& r�test_contains_too_many�2TestValidationErrorMessages.test_contains_too_manyMsA���"�"�*���� 2�M�1�E�#�
��	
����H�	
r2c		�p�VPR.^,RRR/R^R^/R7pVPVR4R#)	r�r*r�r�rkrpr�z:Too many items match the given schema (expected at most 4)Nr�r�s& r�'test_contains_too_many_both_constrained�CTestValidationErrorMessages.test_contains_too_many_both_constrainedWsO���"�"��W�q�[��V�X�.��q��q��#�
��	
����H�	
r2c	�T�VP^R^/R7pVPVR4R#)r�exclusiveMinimumr�z+3 is less than or equal to the minimum of 5Nr�r�s& r�test_exclusiveMinimum�1TestValidationErrorMessages.test_exclusiveMinimumes8���"�"��&��*�#�
��	
����9�	
r2c	�T�VP^R^/R7pVPVR4R#)r�exclusiveMaximumr�z.3 is greater than or equal to the maximum of 2Nr�r�s& r�test_exclusiveMaximum�1TestValidationErrorMessages.test_exclusiveMaximumos1���"�"�A�7I�1�6M�"�N������<�	
r2c	�V�VP/RR./R7pVPVR4R#)�requiredr�r�z'foo' is a required propertyNr�r�s& r�
test_required�)TestValidationErrorMessages.test_requiredvs/���"�"�B�
�U�G�7L�"�M������"@�Ar2c	�^�VPR//RRR.//R7pVPVR4R#)r��dependentRequiredr�r�z'bar' is a dependency of 'foo'Nr�r�s& r�test_dependentRequired�2TestValidationErrorMessages.test_dependentRequiredzs@���"�"��R�[�'�%�%��)9�:�#�
��	
����"B�Cr2c	�T�VP/R^/R7pVPVR4R#)�
minPropertiesr�z"{} does not have enough propertiesNr�r�s& r�test_minProperties�.TestValidationErrorMessages.test_minProperties�s-���"�"�B���7K�"�L������"F�Gr2c	�`�VPR/R/R//R^/R7pVPVR4R#)re�b�c�
maxPropertiesr�z3{'a': {}, 'b': {}, 'c': {}} has too many propertiesNr�r�s& r�test_maxProperties�.TestValidationErrorMessages.test_maxProperties�sE���"�"��2�s�B��R�0�#�Q�'�#�
��	
����A�	
r2c	�V�VP/RR./R7pVPVR4R#)�oneOfFr�z.{} is not valid under any of the given schemasNr�r�s& r�test_oneOf_matches_none�3TestValidationErrorMessages.test_oneOf_matches_none�s2���"�"�B��%��7I�"�J������<�	
r2c	�X�VP/RRR./R7pVPVR4R#)r�Tr�z${} is valid under each of True, TrueNr�r�s& r�test_oneOf_matches_too_many�7TestValidationErrorMessages.test_oneOf_matches_too_many�s1���"�"�B��$���7N�"�O������"H�Ir2c	�`�RRRR/pVPRR.VR7pVPVR4R#)	r�r��unevaluatedItemsFr�r�r�z@Unevaluated items are not allowed ('foo', 'bar' were unexpected)Nrr�s&  r�test_unevaluated_items�2TestValidationErrorMessages.test_unevaluated_items�s<���'�#5�u�=���"�"�U�E�N�6�"�J���
�
��N�	
r2c	�\�RRRR/pVPRVR7pVPVR4R#)r�r�r�Fr�r�z'foo' is not of type 'array'Nr�r�s&  r�&test_unevaluated_items_on_invalid_type�BTestValidationErrorMessages.test_unevaluated_items_on_invalid_type�s7���'�#5�u�=���"�"�E�&�"�A������"@�Ar2c	�t�RRRR//RR^//pVPRRRRR^/VR7pVPVR	4R
#)�
propertiesr�r�r��unevaluatedPropertiesr�r�rvr�z_Unevaluated properties are not valid under the given schema ('bar' was unevaluated and invalid)Nr�r�s&  r�5test_unevaluated_properties_invalid_against_subschema�QTestValidationErrorMessages.test_unevaluated_properties_invalid_against_subschema�si���5�6�8�"4�5�#�g�r�]�
���"�"��u��u��r��
�
#�
��	
����
2�	
r2c	�d�RRRR/pVPRRRR/VR7pVPVR4R#)	r�r�r�Fr�r�r�zEUnevaluated properties are not allowed ('bar', 'foo' were unexpected)Nr�r�s&  r�&test_unevaluated_properties_disallowed�BTestValidationErrorMessages.test_unevaluated_properties_disallowed�sR���(�$;�U�C���"�"��u��u���#�
��	
����
-�	
r2c	�\�RRRR/pVPRVR7pVPVR4R#)r�r�r�Fr�r�z'foo' is not of type 'object'Nr�r�s&  r�+test_unevaluated_properties_on_invalid_type�GTestValidationErrorMessages.test_unevaluated_properties_on_invalid_type�s7���(�$;�U�C���"�"�E�&�"�A������"A�Br2c	�b�R/.RR/pVP.ROVR7pVPVR4R#)rQrFr�z9Expected at most 1 item but found 2 extra: ['bar', 'baz']Nrur�r�s&  r�test_single_item�,TestValidationErrorMessages.test_single_item�sC���"��w��6���"�"�*��#�
��	
����G�	
r2c	��R/.RR/pVP.ROV\PR7pVPVR4R#)rrFr�z<Additional items are not allowed ('bar', 37 were unexpected)N�r�r��%rr�s&  r�-test_heterogeneous_additionalItems_with_Items�ITestValidationErrorMessages.test_heterogeneous_additionalItems_with_Items�sM���B�4�!2�E�:���"�"�'���*�*�#�
��
	
����J�	
r2c	�b�R/.RR/pVP.ROVR7pVPVR4R#)rQrFr�z6Expected at most 1 item but found 2 extra: ['bar', 37]Nr�r�r�s&  r�$test_heterogeneous_items_prefixItems�@TestValidationErrorMessages.test_heterogeneous_items_prefixItems�sC���"��w��6���"�"�'��#�
��	
����D�	
r2c	�b�R/.RR/pVP.ROVR7pVPVR4R#)rQr�Fr�z=Unevaluated items are not allowed ('bar', 37 were unexpected)Nr�r�r�s&  r�/test_heterogeneous_unevaluatedItems_prefixItems�KTestValidationErrorMessages.test_heterogeneous_unevaluatedItems_prefixItems�sD���"��'9�5�A���"�"�'��#�
��	
����K�	
r2c
�l�RR//RR/pVPR/RR^%^/VR7pVPVR4R	#)
�;
Not valid deserialized JSON, but this should not blow up.
r�r�rFrervr�z?Additional properties are not allowed (37, 'a' were unexpected)Nr�r�s&  r�2test_heterogeneous_properties_additionalProperties�NTestValidationErrorMessages.test_heterogeneous_properties_additionalProperties�sU������-C�U�K���"�"��R��e�R��4��#�
��	
����M�	
r2c
�l�RR//RR/pVPR/RR^%^/VR7pVPVR4R	#)
r�r�r�r�Frervr�z@Unevaluated properties are not allowed (37, 'a' were unexpected)Nr�r�s&  r�3test_heterogeneous_properties_unevaluatedProperties�OTestValidationErrorMessages.test_heterogeneous_properties_unevaluatedProperties	sU������-D�e�L���"�"��R��e�R��4��#�
��	
����N�	
r2rN)9r[r�r\r�r�r�r�r�r�r�r�rrrrrrr r$r'r,r9r?rBrFrJrNrRrWr[r`rerhrmrqrwrzr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr2rr�r�2s��!�?�?�I�
<�E�H�D�

�D�D�5�<�9�	3�2�

�
+�
�<M�>�5�;�
�
�5�7�A�
�	
�

�
�
�
�
�B�D�H�
�
�J�
�B�

�&

�C�
	
�

�	
�	
�
�
r2r�c��]tRtRtRtRtRtRtRtRt	Rt
R	tR
tRt
RtR
tRtRtRtRtRtRtRtRtRtR#)�TestValidationErrorDetailsic	��^pRR^/RR/./p\P!V4p\VPV44pVP	\V4^4V^,pVP	VPR4VP	VPVR,4VP	VPV4VP	VPV4VPVP4VP	VP\.44VP	VP\.44VP	VP\.44VP	VP R4VP	VP"\R.44VP	VP$\R.44VP	VP&\R.44VP	\VP(4^4\+VP(4wrgVP	VPR4VP	VPVR,^,R,4VP	VPV4VP	VPVR,^,4VP-VPV4VP	VP\.44VP	VP\.44VP	VP\.44VP	VP R4VP	VP"\^R.44VP	VP$\^R.44VP	VP&\.RO44VP/VP(4VP	VPR4VP	VPVR,^,R,4VP	VPV4VP	VPVR,^,4VP-VPV4VP	VP\.44VP	VP\.44VP	VP\.44VP	VP R4VP	VP"\^R.44VP	VP$\^R.44VP	VP&\.RO44VP	\VP(4^4R#)	rV�anyOfr�r�r��$N)r�rr�)r�r�r�)rr�r@rAr(rIrrGrr�assertIsNone�parent�pathr�
relative_path�
absolute_path�	json_pathrH�relative_schema_path�absolute_schema_path�context�
sorted_errors�assertIs�assertFalse�r/rrrr�e�e1�e2s&       r�
test_anyOf�%TestValidationErrorDetails.test_anyOfs?������B����"��
���.�.�v�6�	��i�+�+�H�5�6������V��a�(��1�I��������g�.�����*�*�F�7�O�<�������X�.�������6�*����!�(�(�#��������r��+�������%��)�4�������%��)�4�������c�*��������w�i�(8�9�����/�/���y�1A�B�����/�/���y�1A�B�����Q�Y�Y���+��q�y�y�)���������y�1�����+�+�V�G�_�Q�-?�	�-J�K�������h�/�������F�7�O�A�$6�7��
�
�b�i�i��#�������%��)�,�����)�)�5��9�5�����)�)�5��9�5�������s�+���������9�~�)>�?�����0�0�%��I��2G�H�����#�#�U�+B�%C�	
�	
������$�������v�.�����+�+�V�G�_�Q�-?��-G�H�������h�/�������F�7�O�A�$6�7��
�
�b�i�i��#�������%��)�,�����)�)�5��9�5�����)�)�5��9�5�������s�+���������6�{�);�<�����0�0�%��F��2D�E�����0�0�%�8L�2M�N�����R�Z�Z��!�,r2c	�^�R^/pRRR/RRRRR^.///./p\P!V4p\VPV44pVP	\V4^4V^,pVP	VPR4VP	VPVR,4VP	VPV4VP	VPV4VPVP4VP	VP\.44VP	VP\.44VP	VP\.44VP	VP R4VP	VP"\R.44VP	VP$\R.44VP	VP&\R.44VP	\VP(4^4\+VP(4wrgVP	VPR4VP	VPVR,^,R,4VP	VPV4VP	VPVR,^,4VP-VPV4VP	VP\.44VP	VP\.44VP	VP\.44VP	VP R4VP	VP"\^R.44VP	VP$\^R.44VP	VP&\.R	O44VP/VP(4VP	VPR4VP	VP^.4VP	VP^4VP	VPR^./4VP-VPV4VP	VP\R.44VP	VP\R.44VP	VP\R.44VP	VP R4VP	VP"\.R
O44VP	VP$\.R
O44VP	VP&\.RO44VP/VP(4R#)r�r�r�r�r��enumr��$.fooN)r�rr�)r�r�r�r�)r�r�r�r�r�)rr�r@rAr(rIrrGrrr�r�r�rr�r�r�rHr�r�r�r�r�r�r�s&       r�	test_type�$TestValidationErrorDetails.test_type`sI���1�:�����#��H� �5�6�A�3�-�"8���
���.�.�v�6�	��i�+�+�H�5�6������V��a�(��1�I��������f�-�����*�*�F�6�N�;�������X�.�������6�*����!�(�(�#��������r��+�������%��)�4�������%��)�4�������c�*��������v�h��8�����/�/���x��A�����/�/���x��A�����Q�Y�Y���+��q�y�y�)���������v�.�����+�+�V�F�^�A�->�v�-F�G�������h�/�������F�6�N�1�$5�6��
�
�b�i�i��#�������%��)�,�����)�)�5��9�5�����)�)�5��9�5�������s�+���������6�{�);�<�����0�0�%��F��2D�E�����0�0�%�8K�2L�M�������$�������v�.�����+�+�a�S�1�������a�(�������V�a�S�M�2��
�
�b�i�i��#�������%���.�1�����)�)�5�%��>�:�����)�)�5�%��>�:�������w�/�����N�N�E�"B�C�	
�	
����#�#�U�+K�%L�	
�	
����#�#��:�;�	
�
	
������$r2c	��R^R^.R^RR/pRRRR/RR^/RR	^
R
.RO///p\P!V4pVPV4p\V4wrVrxVP	VP
\
R.44VP	VP
\
R.44VP	VP
\
R.44VP	VP
\
R.44VP	VP\
R.44VP	VP\
R.44VP	VP\
R.44VP	VP\
R.44VP	VP\
R.44VP	VP\
R.44VP	VP\
R.44VP	VP\
R.44VP	VPR4VP	VPR4VP	VPR4VP	VPR
4VP	VPR4VP	VPR
4VP	VPR	4VP	VPR4R#)r�r�rv�quux�spamr�r�r�rIr�r��$.barz$.bazr�N)r���)rr�rAr�r(r�rr�r�r�r)	r/rrrrr�r��e3�e4s	&        r�test_single_nesting�.TestValidationErrorDetails.test_single_nesting�sb���1�e�a�S�%��V�V�D������)��
�A���	�2�v�|�<��
���.�.�v�6�	��&�&�x�0��&�v�.����������%���.�1�������%���.�1�������%���.�1�������%���.�1�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�����)�)�5�%��>�:�������w�/�������w�/�������w�/�������w�/�������z�2�������v�.�������y�1�������v�.r2c	�
�^R^RR^.//R.pRRRRRR.R	RR
^^./RRRR	RRR
/RR^//////p\P!V4pVPV4p\V4wrVrxr�VP	VP
\
.44VP	VP
\
^.44VP	VP
\
^R.44VP	VP
\
.RO44VP	V	P
\
.RO44VP	V
P
\
^R.44VP	VPR4VP	VPR4VP	VPR4VP	VPR4VP	V	PR4VP	V
PR4VP	VP\
R.44VP	VP\
RR.44VP	\VP4.RO4VP	\VP4.RO4VP	\V	P4.RO4VP	\V
P4.RO4VP	VPR4VP	VPR4VP	VPR4VP	VPR4VP	V	PR4VP	V
PR
4R#)r�r�r�rvr�r�r�rr�r�r�r�r�TrIr��$[0]z$[1].barz$[1].bar.barz$[1].bar.bazz$[1].fooN)r�r�r�)r�r�rv)rr�r�r�)rr�r�r�r�r�)rr�r�r�rvrI)rr�r�r�)rr�rAr�r(r�rr�rHr@r)r/rrrrr�r�r�r��e5�e6s&          r�test_multiple_nesting�0TestValidationErrorDetails.test_multiple_nesting�s�����q�%�%�!���6��?���H����8�,���F�Q��F�+����$�!�J��#5�!�J��?�'��	��
��"�.�.�v�6�	��&�&�x�0��!.�v�!6�����������%��)�,�������%���*�-�������%��E�
�"3�4�������%�(9�":�;�������%�(9�":�;�������%��E�
�"3�4�������s�+�������v�.�������z�2�������~�6�������~�6�������z�2���������x��9����������/@�)A�B�������� �"H�	
�	
������� �K�	
�	
������� �K�	
�	
������� �"H�	
�	
������v�.�������v�.�������v�.�������z�2�������z�2�������v�.r2c	��RRRRRRRR.RRRR	/RRRR
RRR
/////.//RRRR.RRRR
///pRRRRRRRRRRR//////p\P!V4pVPV4wpVPVP\R.44VPVP\.RO44VPVPR4VPwpVPVP\.RO44VPVP\.RO44VPVPR4VPwpVPVP\.RO44VPVP\.RO44VPVPR4R#)�definitions�noder�r�r�r�r��childrenr�r�r<�^.*$r�z#/definitions/node�rootre�abz$.rootz$.root.children.az$.root.children.a.children.abN)r�r�r�)r�r�re)	r�r�r�rr�r�r<r�r�)r�r�rer�r�)r�r�r�rr�r�r<r�r�rr�r�r<r�r�)	rr�rAr(r�rr�r�r�)r/rrrr�r�r�s&      r�test_recursive�)TestValidationErrorDetails.test_recursives	�������"�V�Z�$8�$�"� &��%�'� &�� 3�$*�(.�0D�-&�6"�)�	'�����*
�H�����6�F�,@�#A�B�1
��8
�������"� � &��#�%��
�
�
�� �.�.�v�6�	�
�
"�
"�8�
,���������%���/�:����
�"�"�E�*I�$J�	
�	
������h�/��i�i�������)�)�5�1J�+K�L�����#�#�U�
�&�	
�	
������':�;��j�j���������e�;��	
�
	
����#�#�U��&�	
�*	
������'F�Gr2c	��RRR^/pRRRR^//p\P!V4pVPV4p\V4wrVVP	VP
\
R.44VP	VP
\
R.44VP	VPR4VP	VPR4VP	VPR4VP	VPR4R#)	r�r�rr�r�r�r�r�N�	rr�rAr�r(r�rr�r�r/rrrrr�r�s&      r�test_additionalProperties�4TestValidationErrorDetails.test_additionalPropertiesvs����5�%��+��(�6�9�i��*K�L���.�.�v�6�	��&�&�x�0���v�&���������%���.�1�������%���.�1�������w�/�������w�/�������v�.�������y�1r2c	�
�R^R^/pRRRR/RR^///p\P!V4pVPV4p\V4wrVVP	VP
\
R.44VP	VP
\
R.44VP	VPR4VP	VPR4VP	VPR4VP	VPR4R#)	r�r�r<r�r�r�r�r�Nr�r�s&      r�test_patternProperties�1TestValidationErrorDetails.test_patternProperties�s����1�e�Q�'������)��	�1�~�"�
���.�.�v�6�	��&�&�x�0���v�&���������%���.�1�������%���.�1�������w�/�������w�/�������v�.�������y�1r2c	��R^.pR.RRRR^//p\P!V4pVPV4p\V4wrVVP	VP
\
^.44VP	VP
\
^.44VP	VPR4VP	VPR4VP	VPR4VP	VPR4R#)	r�rrr�r�r�r��$[1]Nr�r�s&      r�test_additionalItems�/TestValidationErrorDetails.test_additionalItems�s����1�:���R���	�9�a�@�
��
�.�.�v�6�	��&�&�x�0���v�&���������%���*�-�������%���*�-�������v�.�������v�.�������v�.�������y�1r2c	��.R	OpR/.RRRR^//p\P!V4pVPV4p\V4wrVVP	VP
\
^.44VP	VP
\
^.44VP	VPR4VP	VPR4VP	VPR4VP	VPR4R#)
r�rrr�r�r�rz$[2]N)r�r�r�r�r�s&      r�test_additionalItems_with_items�:TestValidationErrorDetails.test_additionalItems_with_items�s���$���b�T���	�9�a�@�
��
�.�.�v�6�	��&�&�x�0���v�&���������%���*�-�������%���*�-�������v�.�������v�.�������v�.�������y�1r2c	��R^/pRRRR///p\P!V4pVPV4wpVPVPR4VPVP
R4VPVP\.44VPVPR4VPVP\RR.44R#)r��
propertyNamesr�r�z0'foo' should not be valid under {'const': 'foo'}r�N�
rr
rAr(rrr�rr�rH)r/rrr�errors&    r�test_propertyNames�-TestValidationErrorDetails.test_propertyNames�s����2�;��!�E�G�U�+;�#<�=���.�.�v�6�	��&�&�x�0���������%�0�����M�M�>�	
�	
������U�2�Y�/�������#�.�����*�*�E�?�E�2J�,K�Lr2c	��RR^/RR^
//p\P!V4pVP^4wpVPVPR4VPVP
R4VPVP\.44VPVPR4VPVP\RR.44R#)�ifr��then�13 was expectedr�Nr�r/rrrs&   r�test_if_then�'TestValidationErrorDetails.test_if_then�����7�B�-��W�b�M�
��
�.�.�v�6�	��&�&�r�*���������'�2�������(9�:�������U�2�Y�/�������#�.�����*�*�E�6�7�2C�,D�Er2c	��RR^/RR^
//p\P!V4pVP^4wpVPVPR4VPVP
R4VPVP\.44VPVPR4VPVP\RR.44R#)rr��elserr�Nrrs&   r�test_if_else�'TestValidationErrorDetails.test_if_else�rr2c	�6�\P!R4pVP^4wpVPVPVP
VPVPVPVPVP3RRR^R\.4R34R#)FzFalse schema does not allow 12Nr�)rr
rAr(rrrGrrrHr�r)r/rrs&  r�test_boolean_schema_False�4TestValidationErrorDetails.test_boolean_schema_False�s����.�.�u�5�	��&�&�r�*�������
�
�����%�%��������!�!����
�1������b�	��
�	
r2c
	��RRRR//r!\P!RV/\P!R/W/R7R7pVPRR	/4wpVP	VP
VPVPVPVPVPVPVP3R
RRR	\R.4RR/\RR.4R34R#)
�someRefrr�r�r�rz��store��resolverr��notAnIntegerz''notAnInteger' is not of type 'integer'r�N)rr
�_RefResolverrAr(rrrGrr�rrHr�r)r/�refrrrs&    r�test_ref�#TestValidationErrorDetails.test_refs����"8�6�9�:M�!N�V��.�.�
�S�M��,�,�R��C�=�I�
�	��&�&��~�'>�?�������
�
�����%�%�����#�#�����!�!����	
�:�����u�g����#��-�v�6�7��	
�	
r2c
	��RRR///R^/./p\P!V4pVP.R	O4wr4VPVPVP
VPVPVPVPVPVP3RRR^\^.4RR/\.R
O4R34VPVPVP
VPVPVPVPVPVP3RR^^\^.4R^/\.RO4R34R#)rQr�r�r�r�r�z"5 is greater than the maximum of 3�$[3]NrU)rQrr�)rQrr��
rr�rAr(rrrGrr�rrHr�r)r/rr�
type_error�	min_errors&    r�test_prefixItems�+TestValidationErrorDetails.test_prefixItems+sY���6�8�"4�b�"�y�!�n�!M�N���3�3�F�;�	� )� 5� 5�6F� G��
�����"�"��$�$��*�*��#�#��(�(��!�!��&�&��$�$�	
�,�����q�c�
���"��0�1��	
�	
�,	
����!�!��#�#��)�)��"�"��'�'�� � ��%�%��#�#�	
�5�����q�c�
��A���3�4��	
�	
r2c
	��RRR/R/./p\P!V4pVP.R	O4wr4VPVPVP
VPVPVPVPVPVP3RRR^\^.4RR/\RR.4R34VPVPVP
VPVPVPVPVPVP3RRR^\^.4RR/\RR.4R34R#)
rr�r�rQz2 is not of type 'string'rz4 is not of type 'string'r*N)r�rr�r�rvr+�r/rrr�r�s&    rrR�6TestValidationErrorDetails.test_prefixItems_with_items\sG���f�h�'��B�4�
���3�3�F�;�	��&�&�'B�C�������
�
�����"�"����� � ��	�	�������	
�,�����q�c�
���"��w��'�(��	
�	
�,	
����
�
�����"�"����� � ��	�	�������	
�,�����q�c�
���"��w��'�(��	
�	
r2c
��RRR/R^/p\P!V4pVP.RO4wpVPVPVP
VPVPVPVPVPVP3RR^.RO\.4RRR/R^/\R.4R34R#)	zp
`contains` + `maxContains` produces only one error, even if there are
many more incorrectly matching elements.
r*r�r�rprtr�N)r�rr�r�rvr�r+rs&   rrw�1TestValidationErrorDetails.test_contains_too_many�s���
�v�x�0�-��C���3�3�F�;�	��&�&�'J�K�������
�
�����%�%�����#�#�����!�!����	
�M���3��b�	��f�h�/���B��z�l�#��	
�	
r2c	��RRR/R^/p\P!V4pVP.RO4wpVPVPVP
VPVPVPVPVPVP3RR^.RO\.4RRR/R^/\R.4R34R#)r*r�r�rkrlr�N)r�rr�r+rs&   rrm�0TestValidationErrorDetails.test_contains_too_few�s����v�x�0�-��C���3�3�F�;�	��&�&�}�5�������
�
�����%�%�����#�#�����!�!����	
�?�����b�	��f�h�/���B��z�l�#��
�	
r2c	��RRR/R^/p\P!V4pVP^^.4wpVPVPVP
VPVPVPVPVPVP3RRRR/^^.\.4RRR/R^/\R.4R34R#)r*r�r�rkz7[2, 4] does not contain items matching the given schemar�Nr+rs&   r�test_contains_none�-TestValidationErrorDetails.test_contains_none�s����v�x�0�-��C���3�3�F�;�	��&�&��1�v�.�������
�
�����%�%�����#�#�����!�!����	
�J����"��A���b�	��f�h�/���B��z�l�#��	
�	
r2c	��RRRR.//RRRRRR.///p\P!V4pVPR//4wr4VPVPVP
VPVPVPVPVPVPVP3	R	RR./\R.4RR./\.R
O4\.R
O4R
3	4VPVPVP
VPVPVPVPVPVPVP3	RRR./\R.4RRRR./\.R
O4\.R
O4R
3	4R#)r�r�r�r�r��apropr�z#/$defs/foorvz'bar' is a required propertyz$.apropz'baz' is a required propertyN)r�r;r�)rr�rAr(rrrGrr�rrHr�r�rr1s&    r�test_ref_sibling�+TestValidationErrorDetails.test_ref_sibling�s����e�j�5�'�2�3����M������
���3�3�F�;�	��&�&���}�5�������
�
�����"�"����� � ��	�	�����'�'����

�/������w�i� ��e�W�%��9�:��9�:��

�	
�0	
����
�
�����"�"����� � ��	�	�����'�'����

�/������w�i� ���
�U�G�<��9�:��9�:��

�	
r2rN)r[r�r\r�r�r�r�r�r�r�rrrr
rrrr'r.rRrwrmr8r<r�rr2rr�r�st��C-�JK%�Z%/�N;/�zcH�J2�"2�,2�(2�(M� 
F�
F�
�2
�>/
�b2
�h
�>
�<
�6<
r2r�c�:�]tRtRtRtRtRtRtRtRt	Rt
R	#)
�MetaSchemaTestsMixini'c	���VP\P4;_uu_4VPP	R^/4RRR4R# +'giR#;i)r�N�r�rr�r-r�r.s&r�test_invalid_properties�,MetaSchemaTestsMixin.test_invalid_properties)s?��
�
�
�z�5�5�
6�
6��N�N�'�'��r�(:�;�7�
6�
6�
6���A�A!	c	���VP\P4;_uu_4VPP	RR/4RRR4R# +'giR#;i)rI�1NrAr.s&r�test_minItems_invalid_string�1MetaSchemaTestsMixin.test_minItems_invalid_string-s?��
�
�
�z�5�5�
6�
6��N�N�'�'��S�(9�:�7�
6�
6�
6�rDc
�d�VP\P\P09dPVP	\
P4;_uu_4VPPR./4RRR4R#VPPR./4R# +'giR#;i)z�
Technically, all the spec says is they SHOULD have elements, not MUST.

(As of Draft 6. Previous drafts do say MUST).

See #529.
r�N�r-rr�r�r�rr�r�r.s&r�test_enum_allows_empty_arrays�2MetaSchemaTestsMixin.test_enum_allows_empty_arrays2s����>�>��&�&��&�&�
�
��"�"�:�#9�#9�:�:����+�+�V�R�L�9�;�:�
�N�N�'�'����5�;�:�:�s�B�B/	c
�l�VP\P\P09dRVP	\
P4;_uu_4VPPR^^./4RRR4R#VPPR^^./4R# +'giR#;i)z~
Technically, all the spec says is they SHOULD be unique, not MUST.

(As of Draft 6. Previous drafts do say MUST).

See #529.
r�NrJr.s&r�!test_enum_allows_non_unique_items�6MetaSchemaTestsMixin.test_enum_allows_non_unique_itemsCs����>�>��&�&��&�&�
�
��"�"�:�#9�#9�:�:����+�+�V�b�"�X�,>�?�;�:�
�N�N�'�'��"�b��(:�;�;�:�:�s� B"�"B3	c	���VP\P4;_uu_4VPP	RR/4RRR4R# +'giR#;i)rd�
*notaregexNrAr.s&r�test_schema_with_invalid_regex�3MetaSchemaTestsMixin.test_schema_with_invalid_regexTs?��
�
�
�z�5�5�
6�
6��N�N�'�'��L�(A�B�7�
6�
6�
6�rDc	�D�VPPRR/RR7R#)rdrQN�r6)r-r�r.s&r�>test_schema_with_invalid_regex_with_disabled_format_validation�SMetaSchemaTestsMixin.test_schema_with_invalid_regex_with_disabled_format_validationXs$�����#�#�
��%��	$�	
r2rN)r[r�r\r�rBrGrKrNrRrVr�rr2rr?r?'s!��<�;�
6�"<�"C�
r2r?c��]tRtRtRtRtRtRtRtRt	Rt
R	tR
tRt
RtR
tRtRtRtRtRtRtRtRtR#)�ValidatorTestMixini_c	�d�VPVP/4\P4R#r4)�assertIsInstancer-rr.s&r�)test_it_implements_the_validator_protocol�<ValidatorTestMixin.test_it_implements_the_validator_protocol`s!�����d�n�n�R�0�)�2E�2E�Fr2c	��VPwrVPVPV4PV44R#r4)�validr�r-r��r/rrs&  r�test_valid_instances_are_valid�1ValidatorTestMixin.test_valid_instances_are_validcs.���:�:���������v�.�7�7��A�Br2c	��VPwrVPVPV4PV44R#r4)�invalidr�r-r�r`s&  r�$test_invalid_instances_are_not_valid�7ValidatorTestMixin.test_invalid_instances_are_not_validgs0���<�<����������/�8�8��B�Cr2c	�|�VP\4\4/4P\4R7R#))rN)r-r�r�r.s&r�(test_non_existent_properties_are_ignored�;ValidatorTestMixin.test_non_existent_properties_are_ignoredks'�������&�(�+�,�5�5�v�x�5�Hr2c	�D�RR/\4r!VPVVR7pVPRR/VPPR7pVPRR/VPPVPR7pVPWE4VP
WC4R#)r�r�rUr�)rr6)r6�	_resolverN)rr-�evolve�FORMAT_CHECKERrkr(�assertNotEqual)r/rr6rsr��expecteds&     r�test_evolve�ValidatorTestMixin.test_evolvens���"(�)�!4�m�o���>�>��)�"�
���o�o��H�%��>�>�8�8��
��
�>�>�
�X���>�>�8�8��m�m�"�
��	
����'����C�*r2c
��VP\4;_uu_4\!RRVP44pRRR4X!/^R7pVP	VP
.RO4VP
RR/R7pVP	VP
.RO4VP	VP^4R# +'giL�;i)	aB
Subclassing validators isn't supported public API, but some users have
done it, because we don't actually error entirely when it's done :/

We need to deprecate doing so first to help as many of these users
ensure they can move to supported APIs, but this test ensures that in
the interim, we haven't broken those users.
c�<�]tRtRt]!RR7t]!^%R7tRtR#)�:ValidatorTestMixin.test_evolve_with_subclass.<locals>.OhNoi�c	�
�.RO#)r�rrrr2rr�CValidatorTestMixin.test_evolve_with_subclass.<locals>.OhNo.<lambda>�s��Ir2)�factory��defaultrN)r[r�r\r�rr��_barr�rr2r�OhNort�s���$5�6���R�(�r2r{N)r�r�r��rr)�assertWarns�DeprecationWarningr
r-r(r�rlrz)r/r{rr�s&   r�test_evolve_with_subclass�,ValidatorTestMixin.test_evolve_with_subclass�s����
�
�0�
1�
1�
�
)�t�~�~�
)��
)�2����$�	�������	�2����v�y�&9��:��������)�,�������2�&�2�
1�s�B=�=C
	c	�f�VPVP/4PRR44R#)r�r�N)r�r-r�r.s&r�#test_is_type_is_true_for_valid_type�6ValidatorTestMixin.test_is_type_is_true_for_valid_type�s$��������r�*�2�2�5�(�C�Dr2c	�f�VPVP/4PRR44R#)r�r�N�r�r-r�r.s&r�&test_is_type_is_false_for_invalid_type�9ValidatorTestMixin.test_is_type_is_false_for_invalid_type�s&���������+�3�3�E�7�C�Dr2c	���VPVP/4PRR44VPVP/4PRR44R#)Tr�r�Nr�r.s&r�,test_is_type_evades_bool_inheriting_from_int�?ValidatorTestMixin.test_is_type_evades_bool_inheriting_from_int�sJ���������+�3�3�D�)�D�E��������+�3�3�D�(�C�Dr2c	��RRR//p\P!VPVPPP	RR4R7pV!V4pVP^R\
^4\
^4,.4R/.RR.pTPVPV4Uu.uFqUPNK	upV4R#uupi)	rr�r�c�r�\V\\\34;'d\V\4'*#r4)�
isinstance�int�floatr�bool�r8r0s&&rr�GValidatorTestMixin.test_it_can_validate_with_decimals.<locals>.<lambda>�s1��z��C���0�(�(2�(2�$�U�D�1�1�(2r2�r&g�������?r�TN)
rr�r-r7�redefiner�rr(rAr)r/rr-rrdrs&     r�"test_it_can_validate_with_decimals�5ValidatorTestMixin.test_it_can_validate_with_decimals�s����F�H�-�.���%�%��N�N����4�4�=�=��2��
�	��f�%�	����A�s�G�A�J����$;�<�=��"�b�$��-�����)2�)>�)>�w�)G�H�)G��^�^�)G�H��	
��Hs�(Cc	�b�VPRR/\4R7pVPR4R#)r4�carrotrU�bugsN)r-rr��r/rs& r�7test_it_returns_true_for_formats_it_does_not_know_about�JValidatorTestMixin.test_it_returns_true_for_formats_it_does_not_know_about�s1���N�N�
�x� ���#�
�	�	���6�"r2c	�^�VP/4pVPVP4R#r4)r-r�r6r�s& r�,test_it_does_not_validate_formats_by_default�?ValidatorTestMixin.test_it_does_not_validate_formats_by_default�s$���N�N�2�&�	����)�2�2�3r2c	�aa�\4p\R4oVPR\R7VV3Rl4pSPRR/VR7pVP	R4SP\P4;_uu_4pVP	R4RRR4SPXPPS4R# +'giL8;i)	zBad!r�)�raisesc�V<�VR8XdR#VR8XdShSPRVR24R#)�goodT�badzWhat is z? [Baby Don't Hurt Me]N)r )r2r�r/s&��r�check�TValidatorTestMixin.test_it_validates_formats_if_a_checker_is_provided.<locals>.check�s/��������%���	��	�	�H�U�G�+A�B�Cr2r4rUr�r�N)r�
ValueErrorr7r-r�r�rrr��	exception�cause)r/r8r�r�cmr�sf    @r�2test_it_validates_formats_if_a_checker_is_provided�EValidatorTestMixin.test_it_validates_formats_if_a_checker_is_provided�s�����/���� ��	����j��	1�	D�
2�	D��N�N�
�u��g�#�
�	�	���6�"�
�
�
�z�9�9�
:�
:�b����u�%�;�	
�
�
�b�l�l�(�(�#�.�	;�
:�s�C�C	c	���\4pRV./p\P!VPVPPPVR4R7pV!V4P
^4R#)r�c�"�\V\4#r4�r�r�r�s&&rr�@ValidatorTestMixin.test_non_string_custom_type.<locals>.<lambda>�s��z�%��'=r2r�N)r�rr�r-r7r�r�)r/�non_string_typer�Crazys&   r�test_non_string_custom_type�.ValidatorTestMixin.test_non_string_custom_type�s_�� �(���?�+�,���!�!��N�N����4�4�=�=��=��
��	�f�
���r�"r2c
��\P!VPVPPP	RR4R7pVP\P4;_uu_4pV!RR/4PR4RRR4VPR\XP44R# +'giL7;i)	zP
A tuple instance properly formats validation errors for uniqueItems.

See #224
r�c�"�\V\4#r4)r��tupler�s&&rr�NValidatorTestMixin.test_it_properly_formats_tuples_in_errors.<locals>.<lambda>�s��z�%��'?r2r��uniqueItemsTNz(1, 1) has non-unique elements)r�r�)rr�r-r7r�r�rrr�r��strr�)r/�TupleValidatorr�s&  r�)test_it_properly_formats_tuples_in_errors�<ValidatorTestMixin.test_it_properly_formats_tuples_in_errors�s���$�*�*��N�N����4�4�=�=��?��
���
�
�z�9�9�
:�
:�a��M�4�0�1�:�:�6�B�;��
�
�6��A�K�K�8H�I�;�
:�s�/B8�8C	c
�a�RRRR/p\RR4o\P!VPVPPPRRRV3R	l/4R
7pV!V4p\
.RO4\
R
.^..4\
R
.4\
^.4.\
R
.4.\
^.4..\
R
.4....\
^.4.....\
\
R
.4.4\
\
^.4.4.S!R^4S!RR
4.S!R\
^.4.4S!R\
R
.4.4.S!RS!R\
^.44.4S!RS!R\
R
.44.4.\
\
\
R
.444\
\
\
^.444..
pVFpVPV4K	\
.RO4\
R
.R
..4\
R
.4\
R
.4.\
R
.4.\
R
.4..\
R
.4....\
R
.4.....\
\
R
.4.4\
\
R
.4.4.S!RR
4S!RR
4.S!R\
R
.4.4S!R\
R
.4.4.S!RS!R\
R
.44.4S!RS!R\
R
.44.4.\
\
\
R
.444\
\
\
R
.444..
pVFDpVP\P4;_uu_4VPV4RRR4KF	R# +'giK[;i)z?
Allow array to validate against another defined sequence type
r�r�r�T�	MyMappingza, bc�.�\V\\34#r4)r�r@rr�s&&rr�BValidatorTestMixin.test_check_redefined_sequence.<locals>.<lambda>s��J���e�}�5r2r�c�(<�\V\S34#r4)r�r*)r8r0r�s&&�rrr�s���Z���i�0�6r2r�reNF)reNrFrzT)rer�re)rrr�r-r7�
redefine_manyrr�r�rr)r/rr-r�valid_instancesr�invalid_instancesr�s&      @r�test_check_redefined_sequence�0ValidatorTestMixin.test_check_redefined_sequence�sV����'�=�$�7���{�F�3�	��%�%��N�N����4�4�B�B�����	�	�
�	��f�%�	�
�,�-��E�7�Q�C�.�!�
�E�7�^�U�A�3�Z�(��U�G�n�
��q�c�
�|�,���w�� �!�"�
#���s���~�&6�%7�8�
�E�5�'�N�#�
$�e�U�A�3�Z�L�&9�:�
�s�A�
�	�#�u� 5�6��#��q�c�
�|�,��#��u�g��/�0�
�
�#�	�#�u�a�S�z� :�;�<��#�	�#�u�e�W�~� >�?�@�
��5���w��(�
)�5��u�a�S�z�1B�+C�D�!
��&(�H����x�(�(�
�/�"��E�7�U�G�$�%�
�E�7�^�U�E�7�^�,��U�G�n�
��u�g��/�0���w�� �!�"�
#���w��(8�'9�&:�%;�<�
�E�5�'�N�#�
$�e�U�E�7�^�,<�&=�>�
�s�E�
"�I�c�5�$9�:��#��u�g��/�0��#��u�g��/�0�
�
�#�	�#�u�e�W�~� >�?�@��#�	�#�u�e�W�~� >�?�@�
��5���w��(�
)�5��u�e�W�~�1F�+G�H�!
��&*�H��"�"�:�#=�#=�>�>��"�"�8�,�?�>�*�>�>�>�s�,M�Mc	���VP\4;_uu_4VP/4PpRRR4VP	X\
P4R# +'giL2;ir4)r}r~r-r#r[rr%)r/r#s& r�.test_it_creates_a_ref_resolver_if_not_provided�AValidatorTestMixin.test_it_creates_a_ref_resolver_if_not_provided9sL��
�
�
�0�
1�
1��~�~�b�)�2�2�H�2����h�
�(?�(?�@�2�
1�s�A$�$A4	c	��RRR/r!\P!R/W/R7pVPRV/VR7pVP\P
4;_uu_4VP
R4RRR4R# +'giR#;i)�someCoolRefr�r�rzr r�r"N)rr%r-r�rrr��r/r&rr#rs&    r�/test_it_upconverts_from_deprecated_RefResolvers�BValidatorTestMixin.test_it_upconverts_from_deprecated_RefResolvers>sn��#�f�i�%8�V��*�*�2�r�#��G���N�N�F�C�=�8�N�D�	�
�
�
�z�9�9�
:�
:����t�$�;�
:�
:�
:�s�A8�8B		c
�a�!V3RlR4pV!4pRR/pSP\P4;_uu_4SPW2R7P	R4RRR4R# +'giR#;i)zJ
Legacy RefResolvers support only the context manager form of
resolution.
c�.<�]tRtRt]V3Rl4tRtR#)�nValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers.<locals>.LegacyRefResolveriLc3	�@<"�SPVR4RR/x�R#5i)�the refr�r�N�r()�thisr&r/s&&�r�	resolving�xValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers.<locals>.LegacyRefResolver.resolvingMs!����� � ��i�0��y�)�)�s�rN)r[r�r\r�rr�r�r.s�r�LegacyRefResolverr�Ls���
�
*��
*r2r�r�r�r"N)r�rrr-r�)r/r�r#rsf   r�@test_it_upconverts_from_yet_older_deprecated_legacy_RefResolvers�SValidatorTestMixin.test_it_upconverts_from_yet_older_deprecated_legacy_RefResolversFs`���	*�	*�%�&���)�$��
�
�
�z�9�9�
:�
:��N�N�6�N�5�>�>�t�D�;�
:�
:�
:�s�"A-�-A>	rN)r[r�r\r�r\rarerhrprr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr2rrYrY_sm��G�C�D�I�+�('�.E�E�E�
�*#�4�/�0
#�J�"@-�DA�
%�Er2rYc�2�]tRtRtRtRtRtRtRtRt	R#)	�AntiDraft6LeakMixiniYzF
Make sure functionality from draft 6 doesn't leak backwards in time.
c	��VP\P4;_uu_4pVPP	R4RRR4VPR\
XP44R# +'giL7;i)TNzTrue is not of type�r�rr�r-r�r�r�r��r/r�s& r�test_True_is_not_a_schema�-AntiDraft6LeakMixin.test_True_is_not_a_schema^sS��
�
�
�z�5�5�
6�
6�!��N�N�'�'��-�7��
�
�+�S����-=�>�7�
6���A3�3B	c	��VP\P4;_uu_4pVPP	R4RRR4VPR\
XP44R# +'giL7;i)FNzFalse is not of typer�r�s& r�test_False_is_not_a_schema�.AntiDraft6LeakMixin.test_False_is_not_a_schemacsS��
�
�
�z�5�5�
6�
6�!��N�N�'�'��.�7��
�
�,�c�!�+�+�.>�?�7�
6�r�c	��VP\4;_uu_4pVPR4P^4RRR4VP	XP
\P4R# +'giL<;i�TN�r��	Exceptionr-r��assertNotIsInstancer�rrr�s& r�5test_True_is_not_a_schema_even_if_you_forget_to_check�IAntiDraft6LeakMixin.test_True_is_not_a_schema_even_if_you_forget_to_checkhsT��
�
�
�y�
)�
)�Q��N�N�4� �)�)�"�-�*�� � ����j�.H�.H�I�*�
)���!A3�3B	c	��VP\4;_uu_4pVPR4P^4RRR4VP	XP
\P4R# +'giL<;i�FNr�r�s& r�6test_False_is_not_a_schema_even_if_you_forget_to_check�JAntiDraft6LeakMixin.test_False_is_not_a_schema_even_if_you_forget_to_checkmsT��
�
�
�y�
)�
)�Q��N�N�5�!�*�*�2�.�*�� � ����j�.H�.H�I�*�
)�r�rN)
r[r�r\r��__doc__r�r�r�r�r�rr2rr�r�Ys���?�
@�
J�
Jr2r�c�f�]tRtRt$]P
t//3tR]R&RR/R3t	Rt
RtR	tR
t
RtR#)
�TestDraft3Validatoris�tuple[dict, dict]r_r�r�r�c	�^�VPRR/4pVP\44R#�r��anyN)r-r�r�r�s& r�#test_any_type_is_valid_for_type_any�7TestDraft3Validator.test_any_type_is_valid_for_type_anyxs$���N�N�F�E�?�3�	����6�8�$r2c
�t�\P!VPVPPP	RR4R7pV!RR/4pVP^4VP
\P4;_uu_4VPR4RRR4R# +'giR#;i)z
Sigh, because why not.
r�c�"�\V\4#r4r�r�s&&rr�BTestDraft3Validator.test_any_type_is_redefinable.<locals>.<lambda>�s��j���.Dr2r�r�r�N)	rr�r-r7r�r�r�rr)r/r�rs&  r�test_any_type_is_redefinable�0TestDraft3Validator.test_any_type_is_redefinable|s����!�!��N�N����4�4�=�=��D��
���6�5�/�*�	����2��
�
�
�z�9�9�
:�
:����u�%�;�
:�
:�
:�s�
B&�&B7	c	�x�VPVPRR/4P\444R#r�)r�r-r�r�r.s&r�!test_is_type_is_true_for_any_type�5TestDraft3Validator.test_is_type_is_true_for_any_type�s(�����������7�@�@���J�Kr2c	���VPVP/4PRR44VPVPRR/4PR44R#)Tr�r�r�N)r�r-r�r�r.s&r�6test_is_type_does_not_evade_bool_if_it_is_being_tested�JTestDraft3Validator.test_is_type_does_not_evade_bool_if_it_is_being_tested�sH��������r�*�2�2�4��C�D����������7�@�@��F�Gr2rN)r[r�r\r�rr�r-r_�__annotations__rdr�r�rrr�rr2rr�r�ssA���*�*�I� "�B�x�E��'��y�!�5�(�G�%�
&�L�Hr2r�c�N�]tRtRt$]P
t//3tR]R&RR/R3t	Rt
R#)	�TestDraft4Validatori�r�r_r�r�r�rN)r[r�r\r�rr�r-r_rrdr�rr2rr	r	��+���*�*�I� "�B�x�E��'��y�!�5�(�Gr2r	c�N�]tRtRt$]P
t//3tR]R&RR/R3t	Rt
R#)	�TestDraft6Validatori�r�r_r�r�r�rN)r[r�r\r�rr+r-r_rrdr�rr2rrr�r
r2rc�N�]tRtRt$]P
t//3tR]R&RR/R3t	Rt
R#)	�TestDraft7Validatori�r�r_r�r�r�rN)r[r�r\r�rr
r-r_rrdr�rr2rrr�r
r2rc�N�]tRtRt$]P
t//3tR]R&RR/R3t	Rt
R#)	�TestDraft201909Validatori�r�r_r�r�r�rN)r[r�r\r�r�Draft201909Validatorr-r_rrdr�rr2rrr��+���/�/�I� "�B�x�E��'��y�!�5�(�Gr2rc�N�]tRtRt$]P
t//3tR]R&RR/R3t	Rt
R#)	�TestDraft202012Validatori�r�r_r�r�r�rN)r[r�r\r�rr�r-r_rrdr�rr2rrr�rr2rc� �]tRtRtRtRtRtR#)�TestLatestValidatori�zI
These really apply to multiple versions but are easiest to test on one.
c	� �RpRV/p\P!R/VR/R7p\P!W#R7pVP\P
4;_uu_4VP
R4RRR4R# +'giR#;i)r�r�rzFr r"N)rr%r�r�rrr�r�s&    r�2test_ref_resolvers_may_have_boolean_schemas_stored�FTestLatestValidator.test_ref_resolvers_may_have_boolean_schemas_stored�sl�����#����*�*�2�r�#�u��F���.�.�v�I�	�
�
�
�z�9�9�
:�
:����t�$�;�
:�
:�
:�s� A<�<B
	rN)r[r�r\r�r�rr�rr2rrr�s���%r2rc�p�]tRtRtRtRtRtRtRtRt	Rt
R	tR
tRt
RtR
tRtRtRtRtR#)�TestValidatorFori�c	���RR/pVP\P!V4\P4RR/pVP\P!V4\P4R#)r��&http://json-schema.org/draft-03/schema�'http://json-schema.org/draft-03/schema#N)r�r�
validator_forr�r;s& r�test_draft_3�TestValidatorFor.test_draft_3��`���E�F���
�
��$�$�V�,��&�&�	
�
�F�G���
�
��$�$�V�,��&�&�	
r2c	���RR/pVP\P!V4\P4RR/pVP\P!V4\P4R#)r��&http://json-schema.org/draft-04/schema�'http://json-schema.org/draft-04/schema#N)r�rrr�r;s& r�test_draft_4�TestValidatorFor.test_draft_4�r"r2c	���RR/pVP\P!V4\P4RR/pVP\P!V4\P4R#)r��&http://json-schema.org/draft-06/schema�'http://json-schema.org/draft-06/schema#N)r�rrr+r;s& r�test_draft_6�TestValidatorFor.test_draft_6�r"r2c	���RR/pVP\P!V4\P4RR/pVP\P!V4\P4R#)r��&http://json-schema.org/draft-07/schema�'http://json-schema.org/draft-07/schema#N)r�rrr
r;s& r�test_draft_7�TestValidatorFor.test_draft_7�r"r2c	���RR/pVP\P!V4\P4RR/pVP\P!V4\P4R#)r�z,https://json-schema.org/draft/2019-09/schemaz-https://json-schema.org/draft/2019-09/schema#N)r�rrrr;s& r�test_draft_201909�"TestValidatorFor.test_draft_201909��`���K�L���
�
��$�$�V�,��+�+�	
�
�L�M���
�
��$�$�V�,��+�+�	
r2c	���RR/pVP\P!V4\P4RR/pVP\P!V4\P4R#)r��,https://json-schema.org/draft/2020-12/schema�-https://json-schema.org/draft/2020-12/schema#N)r�rrr�r;s& r�test_draft_202012�"TestValidatorFor.test_draft_202012r5r2c	�n�VP\P!R4\P4R#r��r�rrr�r.s&r�	test_True�TestValidatorFor.test_Trues%���
�
��$�$�T�*��&�&�	
r2c	�n�VP\P!R4\P4R#r�r<r.s&r�
test_False�TestValidatorFor.test_Falses%���
�
��$�$�U�+��&�&�	
r2c	��\P!RR/RRR7pRR/pVP\P!V4V4R#)rrrw�12c�&�VPRR4#ryr{r}s&rr�8TestValidatorFor.test_custom_validator.<locals>.<lambda>r�r2r�r�N�rr,r�r�r/r-rs&  r�test_custom_validator�&TestValidatorFor.test_custom_validatorsK���%�%��/�0��+�
�	�
�-�.���
�
��$�$�V�,��	
r2c	��\P!RR/RR7pRR/pVP\P!V4V4R#)r$r��13rWr�NrFrGs&  r�test_custom_validator_draft6�-TestValidatorFor.test_custom_validator_draft6'sH���%�%�� 1�2��
�	��.�/���
�
��$�$�V�,��	
r2c	�n�VP\P!/4\P4R#r4r<r.s&r�%test_validator_for_jsonschema_default�6TestValidatorFor.test_validator_for_jsonschema_default2s!���
�
�j�.�.�r�2�J�4N�4N�Or2c	�V�VP\P!/RR7R4R#)Nrx)r�rrr.s&r�!test_validator_for_custom_default�2TestValidatorFor.test_validator_for_custom_default5s���
�
�j�.�.�r�4�@�$�Gr2c	�4�VP\4;_uu_4p\P!RR/R7RRR4VP	XP
\4VP	\VP4R4R# +'giLW;i)r��
unknownSchemar|Nz�The metaschema specified by $schema was not found. Using the latest draft to validate, but this will raise an error in the future.)	r}r~rrr(�filename�__file__r��warning)r/r�s& r�1test_warns_if_meta_schema_specified_was_not_found�BTestValidatorFor.test_warns_if_meta_schema_specified_was_not_found8sk��
�
�
�0�
1�
1�R��$�$�Y��,H�I�2�	
������h�/������
�
�O�
&�	
�	2�
1�s�B�B	c	��\P!RR7;_uu_4p\P!R4\P!//R7RRR4VPX4R# +'giL#;i)T��record�always)rryN)�warnings�catch_warnings�simplefilterrrr�)r/�ws& r�0test_does_not_warn_if_meta_schema_is_unspecified�ATestValidatorFor.test_does_not_warn_if_meta_schema_is_unspecifiedDsQ��
�
$�
$�D�
1�
1�Q��!�!�(�+��$�$�B��;�2�	
�����2�
1�s�/A*�*A:	c	�l�RR/\4r!VP\P!W4V4R#)r�zmailto:foo@example.comN)r�r�rr)r/rrys&  r�-test_validator_for_custom_default_with_schema�>TestValidatorFor.test_validator_for_custom_default_with_schemaJs*��$�&>�?�����
�
�j�.�.�v�?��Ir2rN)r[r�r\r�r r&r+r0r3r9r=r@rHrLrOrRrYrcrfr�rr2rrr�sP��
�
�
�
�
�
�
�
�

�	
�P�H�

��Jr2rc�R�]tRtRtRtRtRtRtRtRt	Rt
R	tR
tRt
RtR
#)�TestValidateiOc	��.p\PPVRVP4;_uu_4\P
!/V4RRR4VP
W1.4R# +'giL$;i)r�N)r�patchr��appendrr�r()r/rr-�results&&& r�
assertUses�TestValidate.assertUsesPsT����
�Z�Z�
�
�y�.�&�-�-�
H�
H�����F�+�I������*�I�
H�s�A*�*A:	c	��VPRR/\PR7VPRR/\PR7R#)r�r�rr-rN)rnrr�r.s&r�test_draft3_validator_is_chosen�,TestValidate.test_draft3_validator_is_chosenV�J������H�I� �0�0�	�	
�
	
����G�H� �0�0�	�	
r2c	��VPRR/\PR7VPRR/\PR7R#)r�r%rqr$N)rnrr�r.s&r�test_draft4_validator_is_chosen�,TestValidate.test_draft4_validator_is_chosenartr2c	��VPRR/\PR7VPRR/\PR7R#)r�r*rqr)N)rnrr+r.s&r�test_draft6_validator_is_chosen�,TestValidate.test_draft6_validator_is_chosenlrtr2c	��VPRR/\PR7VPRR/\PR7R#)r�r/rqr.N)rnrr
r.s&r�test_draft7_validator_is_chosen�,TestValidate.test_draft7_validator_is_chosenwrtr2c	��VPRR/\PR7VPRR/\PR7R#)r�r8rqr7N�rnrr�r.s&r�$test_draft202012_validator_is_chosen�1TestValidate.test_draft202012_validator_is_chosen�sR������J��!�5�5�		�	
�	
����I��!�5�5�		�	
r2c	�H�VP/\PR7R#)rqNrr.s&r�)test_draft202012_validator_is_the_default�6TestValidate.test_draft202012_validator_is_the_default�s�����r�Z�-L�-L��Mr2c	��VP\P4;_uu_4p\P!^RR/4RRR4VP\
XP4R4R# +'giL7;i)r�r�r�Nz1(?s)Failed validating '.*' in schema.*On instance)r�rrrr��assertRegexr�r�r�s& r�test_validation_error_message�*TestValidate.test_validation_error_message�s[��
�
�
�z�9�9�
:�
:�a�����V�X�$6�7�;���������?�	
�;�
:���A1�1B	c	��VP\P4;_uu_4p\P!^R^/4RRR4VP\
XP4R4R# +'giL7;i)r�r�Nz3(?s)Failed validating '.*' in metaschema.*On schema)r�rr�rr�r�r�r�r�s& r�test_schema_error_message�&TestValidate.test_schema_error_message�sZ��
�
�
�z�5�5�
6�
6�!�����V�R�L�1�7���������A�	
�7�
6�r�c	��RRRR^/RR/./pVP\P4;_uu_4p\P!^V4RRR4VPR\
XP44R# +'giL7;i)r�r�r�r�r�Nz!12 is less than the minimum of 20)r�rrrr�r�r�r�)r/rr�s&  r�test_it_uses_best_match�$TestValidate.test_it_uses_best_match�sv�����9�b�1���!��
���
�
�z�9�9�
:�
:�a�����F�+�;��
�
�9�3�q�{�{�;K�L�;�
:�s�A;�;B	rN)r[r�r\r�rnrrrvryr|r�r�r�r�r�r�rr2rririOs6��+�	
�	
�	
�	
�

�N�
�
�	Mr2ric� �]tRtRtRtRtRtR#)�
TestThreadingi�a�
Threading-related functionality tests.

jsonschema doesn't promise thread safety, and its validation behavior
across multiple threads may change at any time, but that means it isn't
safe to share *validators* across threads, not that anytime one has
multiple threads that jsonschema won't work (it certainly is intended to).

These tests ensure that this minimal level of functionality continues to
work.
c	��a�.oV3RlpV!4^RIHpV!VR7pVP4VP4VP	VP4S3R.34R#)c�<�\P!^%RR7R# SP\P!44R#;i)r�Tr�N)rr�rl�sys�exc_info)�faileds�rr��FTestThreading.test_validation_across_a_second_thread.<locals>.validate�s1���
.��#�#�R��=��
.��
�
�c�l�l�n�-�s	��&A)�Thread)�targetFN)�	threadingr��start�joinr(�is_alive)r/r�r��threadr�s&   @r�&test_validation_across_a_second_thread�4TestThreading.test_validation_across_a_second_thread�sS�����	.�	�
�$��x�(���������
����&�/�/�+�V�4�u�b�k�Br2rN)r[r�r\r�r�r�r�rr2rr�r��s
��
�Cr2r�c�"�]tRtRtRtRtRtR#)�TestReferencingi�c	���Rp\P!VR7pRR/p\P!W2R7pVP	VP^4VPR43R4R#)c�2�\P!RR/4#)r�r�)r�create_resource)�uris&r�retrieve�=TestReferencing.test_registry_with_retrieve.<locals>.retrieve�s���.�.��	�/B�C�Cr2)r�r��https://example.com/��registryr�N)TF)�referencing�Registryrr�r(r�)r/r�r�rrs&    r�test_registry_with_retrieve�+TestReferencing.test_registry_with_retrieve�sd��	D��'�'��:���0�1���3�3�F�N�	����
�
�
��
#�Y�%7�%7��%>�?��	
r2c		���\P!4pRR/p\P!W!R7p\P
!RR7;_uu_4p\P!R4VP\PP4;_uu_4VP^4RRR4RRR4VPX4R# +'giL+;i +'giL6;i)r�r�r�Tr\r^N)r�r�rr�r_r`rar�r�Unresolvabler�r�)r/r�rrrbs&    r�;test_custom_registries_do_not_autoretrieve_remote_resources�KTestReferencing.test_custom_registries_do_not_autoretrieve_remote_resources�s����'�'�)���0�1���3�3�F�N�	�
�
$�
$�D�
1�
1�Q��!�!�(�+��"�"�;�#9�#9�#F�#F�G�G��"�"�2�&�H�2�	
�����H�G��2�
1�s%�AC �C
	�*C �
C
�C � C0	rN)r[r�r\r�r�r�r�rr2rr�r��s��
�	r2r�c��]tRtRtRtRtRR/tRtRtRt	R	t
R
tRtRt
R
tRtRtRtRtRtRtRtRtRtRtRtR#)�TestRefResolveri�rzzfoo://stored�storedrc	���/VnVPVP/Vn\P
!VPVPVP4VnR#r4)�referrer�
stored_uri�
stored_schemar!rr%�base_urir#r.s&rr0�TestRefResolver.setUp�sD����
��o�o�t�'9�'9�:��
�"�/�/��M�M�4�=�=�$�*�*�
��
r2c		���\PPR,p\PPVPR4;_uu_4pVPPV4;_uu_4pRRR4RRR4VPX\PP4VPXP4R# +'giL_;i +'giLj;i)rr�resolve_remoteN)rr�r6rrkr�r#r�r(r��called)r/r&�patched�resolveds&   r�6test_it_does_not_retrieve_schema_urls_from_the_network�FTestRefResolver.test_it_does_not_retrieve_schema_urls_from_the_network�s����(�(�4�4�T�:��
�Z�Z�
�
�t�}�}�.>�
?�
?�7����(�(��-�-���.�@�	
����:�#=�#=�#I�#I�J�������(�.�-��@�
?�s$�$C$�8C	�:C$�C!
�C$�$C4	c	��RpR\4/VPR&VPPV4;_uu_4pVP	W PR,R,4RRR4R# +'giR#;i)z#/properties/foor�r�N)r�r�r#r�r()r/r&r�s&  r�test_it_resolves_local_refs�+TestRefResolver.test_it_resolves_local_refs�s^�� ��',�f�h�&7��
�
�l�#�
�]�]�
$�
$�S�
)�
)�X����X�}�}�\�'B�5�'I�J�*�
)�
)�
)�s�*A3�3B	c	��RRRRR//p\PPVRR7pVPR4;_uu_4pVP	W1R,4RRR4VPR	4;_uu_4pVP	W1R,4RRR4R# +'giLL;i +'giR#;i)
rrzhttp://bar/schema#rer�r�c�&�VPRR4#ryr{r|s&rr�ETestRefResolver.test_it_resolves_local_refs_with_id.<locals>.<lambda>	������D�"�!5r2�r�z#/aNzhttp://bar/schema#/a)rr%�from_schemar�r(�r/rr#r�s&   r�#test_it_resolves_local_refs_with_id�3TestRefResolver.test_it_resolves_local_refs_with_id	s����,�c�E�5�>�B���*�*�6�6��5�7�
���
�
��
&�
&�(����X�c�{�3�'�
�
�
� 6�
7�
7�8����X�c�{�3�8�
7�'�
&��
7�
7�
7�s�B!�>B4�!B1	�4C	c	��VPPVP4;_uu_4pVPWP4RRR4R^/VPP
R&VPPR4;_uu_4pVP
V^4RRR4R# +'giLk;i +'giR#;i)Nr��
cached_refzcached_ref#/foo)r#r�r�r�r�r!r()r/r�s& r�test_it_retrieves_stored_refs�-TestRefResolver.test_it_retrieves_stored_refs	s���
�]�]�
$�
$�T�_�_�
5�
5���M�M�(�$6�$6�7�6�.3�B�K��
�
���L�)�
�]�]�
$�
$�%6�
7�
7�8����X�r�*�8�
7�	6�
5��8�
7�
7�s�B-�C�-B=	�C	c	��RpR^/pR\P9dAVP\PPR\PR,4\	RV/4\PR&VP
P
V4;_uu_4pVPV^4RRR4R# +'giR#;i)�http://bar#bazrv�requests�
http://barN)r��modulesr'�__setitem__�ReallyFakeRequestsr#r�r()r/r&rr�s&   r�,test_it_retrieves_unstored_refs_via_requests�<TestRefResolver.test_it_retrieves_unstored_refs_via_requests	s�������������$��O�O����'�'��S�[�[��5L�
�#5�l�F�5K�"L����J��
�]�]�
$�
$�S�
)�
)�X����X�r�*�*�
)�
)�
)�s�B:�:C	c	�aa�RpR^/oR\P9dASP\PPR\PR,4R\PR&\VV3Rl4pSP\
\R\P4V\nSPPV4;_uu_4pRRR4SPX^4R# +'giL$;i)r�rvr�Nc3�<"�SPVR4\\P!S4P	R44x�R#5i)r��utf8N)r(r�json�dumps�encode)�urlrr/s&��r�fake_urlopen�QTestRefResolver.test_it_retrieves_unstored_refs_via_urlopen.<locals>.fake_urlopen.	s5�������S�,�/��$�*�*�V�,�3�3�F�;�<�<�s�AA�urlopen)r�r�r'r�r�setattrrr�r#r�r()r/r&r�r�rsf   @r�+test_it_retrieves_unstored_refs_via_urlopen�;TestRefResolver.test_it_retrieves_unstored_refs_via_urlopen$	s��������������$��O�O����'�'��S�[�[��5L�
�#'����J��	�	=�
�	=�	
�����Y�
�8J�8J�K�)�
��
�]�]�
$�
$�S�
)�
)�X��*�����2�&�*�
)�s�C7�7D	c	���\P!RRR7;_uu_4pVP\PVP
4\P!RR/V4RRR4R\XP
4R2pVPPV4;_uu_4pVPVR4RRR4R# +'giLi;i +'giR#;i)F�wt)�delete�moder�r�Nzfile://z#foo)�tempfile�NamedTemporaryFiler'�os�remover�r��dumprr#r�r()r/�tempfr&r�s&   r�(test_it_retrieves_local_refs_via_urlopen�8TestRefResolver.test_it_retrieves_local_refs_via_urlopen:	s���
�
(�
(��D�
A�
A�U��O�O�B�I�I�u�z�z�2��I�I�u�e�n�e�,�B���U�Z�Z�0�1��6��
�]�]�
$�
$�S�
)�
)�X����X�u�-�*�
)�B�
A��
*�
)�
)�s�AC�)C�C	�C*	c	���RR/p\PPVRR7pVPVPR4VPVP
R4VP
R4;_uu_4pVPW14RRR4VP
R4;_uu_4pVPW14RRR4VP
R4;_uu_4pVPW14RRR4VP
R4;_uu_4pVPW14RRR4R# +'giL�;i +'giL�;i +'giLk;i +'giR#;i)rrr�c�&�VPRR4#ryr{r|s&rr�PTestRefResolver.test_it_can_construct_a_base_uri_from_a_schema.<locals>.<lambda>G	r�r2r�rzN�#zfoo#�rr%r�r(r��resolution_scoper�r�s&   r�.test_it_can_construct_a_base_uri_from_a_schema�>TestRefResolver.test_it_can_construct_a_base_uri_from_a_schemaC	s�������*�*�6�6��5�7�
��	
����*�*�E�2�����2�2�E�:�
�
�
��
#�
#�x����X�.�$�
�
�
��
$�
$�����X�.�%�
�
�
��
&�
&�(����X�.�'�
�
�
��
'�
'�8����X�.�(�
'�
$�
#��
$�
$��
&�
&��
'�
'�
'�s0�8D-�+E�E�E&�-D=	�E	�E#	�&E7	c	���/p\PPV4pVPVPR4VPVP
R4VP
R4;_uu_4pVPW14RRR4VP
R4;_uu_4pVPW14RRR4R# +'giLE;i +'giR#;i)rzNr�r�r�s&   r�9test_it_can_construct_a_base_uri_from_a_schema_without_id�ITestRefResolver.test_it_can_construct_a_base_uri_from_a_schema_without_idT	s������*�*�6�6�v�>������*�*�B�/�����2�2�B�7�
�
�
��
#�
#�x����X�.�$�
�
�
��
$�
$�����X�.�%�
$�$�
#��
$�
$�
$�s�3C�&C�C	�C&	c	��aaa�VVV3RlpRR/oRo\P!R/RV/R7pVPS4;_uu_4pSPVS4RRR4R# +'giR#;i)c�,<�SPVS4S#r4r�)r�r&rr/s&���r�handler�@TestRefResolver.test_custom_uri_scheme_handlers.<locals>.handler_	s������S�#�&��Mr2r�r��	foo://barrz��handlersN)rr%r�r()r/rr#r�r&rsf   @@r�test_custom_uri_scheme_handlers�/TestRefResolver.test_custom_uri_scheme_handlers^	sc���	��������*�*�2�r�U�G�<L�M��
�
�
��
$�
$�����X�v�.�%�
$�
$�
$�s�A#�#A4	c	�Daa�\4.oVV3RlpRp\P!R/RRV/R7pVPV4;_uu_4RRR4VPV4;_uu_4RRR4R# +'giL5;i +'giR#;i)c�l<�SP4# \dSPR4R#i;i)z#Response must not have been cached!N�rZ�
IndexErrorr �r��responser/s&��rr�5TestRefResolver.test_cache_remote_on.<locals>.handlerl	s3���
A��|�|�~�%���
A��	�	�?�@�
A����3�3rrzTr���cache_remoterN�r�rr%r��r/rr&r#rsf   @r�test_cache_remote_on�$TestRefResolver.test_cache_remote_oni	s�����H�:��	A����*�*������0@�
���
�
��
$�
$��%�
�
�
��
$�
$��%�
$�%�
$��
$�
$�
$�s�A;�/B�;B	�B	c	��aa�\4.oVV3RlpRp\P!R/RRV/R7pVPV4;_uu_4RRR4R# +'giR#;i)c�l<�SP4# \dSPR4R#i;i)zHandler called twice!Nrrs&��rr�6TestRefResolver.test_cache_remote_off.<locals>.handler~	s0���
3��|�|�~�%���
3��	�	�1�2�
3�rrrzFr�rNrrsf   @r�test_cache_remote_off�%TestRefResolver.test_cache_remote_off{	s[����H�:��	3����*�*����%��1A�
���
�
��
$�
$��%�
$�
$�
$�s�A�A)	c		��a�\R4oV3RlpRp\P!R/RV/R7pVP\P
4;_uu_4pVP
V4;_uu_4VPR4RRR4RRR4VPXP\P
!S44R# +'giLJ;i +'giLU;i)zOh no! What's this?c�<�Shr4r)r�rs&�rr�TTestRefResolver.test_if_you_give_it_junk_you_get_a_resolution_error.<locals>.handler�	s����Kr2rrzr�rzShouldn't get this far!N)
r�rr%r�r�_RefResolutionErrorr�r r(r�)r/rr&r#�errrs&    @r�3test_if_you_give_it_junk_you_get_a_resolution_error�CTestRefResolver.test_if_you_give_it_junk_you_get_a_resolution_error�	s�����0�1��	����*�*�2�r�U�G�<L�M��
�
�
�z�=�=�
>�
>�#��#�#�C�(�(��	�	�3�4�)�?�	
������
�(F�(F�u�(M�N�)�(��?�
>�s$�C�1C	�C�C
�C�C(	c	�D�\P!R/4pVP4VP\P
4;_uu_4pVP4RRR4VP
R\XP44R# +'giL7;i)rzNzFailed to pop the scope)	rr%�	pop_scoper�rr r�r�r�)r/r#�excs&  r�.test_helpful_error_message_on_failed_pop_scope�>TestRefResolver.test_helpful_error_message_on_failed_pop_scope�	sk���*�*�2�r�2������
�
�
�z�=�=�
>�
>�#���� �?��
�
�/��S�]�]�1C�D�?�
>�s�B�B	c
���\PPp\P!RV4p\P!WR7pVP	VPRR/44RR\PPR,/./p\P!RV4p\P!WER7pVP	VPRR/44R#)	z
See #1085.
rzr"r_r��allOfr�r$N)rr
r6r%r�r�)r/r�oner�another�twos&     r�,test_pointer_within_schema_with_different_id�<TestRefResolver.test_pointer_within_schema_with_different_id�	s����+�+�7�7���%�%�b�&�1���.�.�v�D�	�����+�+�[�%�,@�A�B�
�v�z�9�9�E�E�e�L�M�N�
���%�%�b�'�2���.�.�w�E�	�����+�+�[�%�,@�A�Br2c
�,a�V3Rlp\P!R/RV/R7p\P!/\PPR7pRRRR	/pV!WBR
7pSPVP
/4VP
^%43R4R#)
zZ
See https://github.com/python-jsonschema/jsonschema/issues/1061#issuecomment-1624266555.
c�0<�SPVR4RR/#)zhttp://example.com/foor�r�r�)r�r/s&�r�handle�NTestRefResolver.test_newly_created_validator_with_ref_resolver.<locals>.handle�	s������S�":�;��I�&�&r2rz�httprr�r$zhttp://example.com/barr�r�r"N�FT)rr%r,r�r5r(r�)r/r2r#r-rrsf     r�.test_newly_created_validator_with_ref_resolver�>TestRefResolver.test_newly_created_validator_with_ref_resolver�	s����
	'��*�*�2�r�V�V�<L�M���%�%��!�1�1�<�<�
�	��1�6�5�A���f�8�	����
�
�
��
#�Y�%7�%7��%;�<��	
r2c
���RRRR//RRRR///p\P!V\P!RV4R	7pVPVP	RR
/4VP	R^%/43R4R#)
zZ
See https://github.com/python-jsonschema/jsonschema/issues/1124#issuecomment-1632574249.
r��xr�z#/definitions/xr�r�r�rzr"�yNr5)rr�r%r(r�)r/rrs&  r�2test_refresolver_with_pointer_in_schema_with_no_id�BTestRefResolver.test_refresolver_with_pointer_in_schema_with_no_id�	s���
�3��):� ;�<��C�&�)�!4�5�
��
�3�3���,�,�R��8�
�	�	
���
�
�
��c�
�
+�Y�-?�-?��b�	�-J�K��	
r2)r�r#r!N)r[r�r\r�r�r�r�r0r�r�r�r�r�r�r�r�r�rrrr"r'r.r6r;r�rr2rr�r��st���H��J��x�(�M�
�)�K�	4�+�+�'�,.�/�"/�	/��$� O�E�C� 
�*
r2r�c� �Rp\WR7#)c��VPUu.uFp\V4NK	upVPUu.uFp\V4NK	up3#uupiuupir4)r�r�rH)rr�s& r�key�sorted_errors.<locals>.key�	sJ��"�Z�Z�(�Z��S��V�Z�(�"�.�.�/�.��S��V�.�/�
�	
��(��/s
�A�A)r?)�sorted)rr?s& rr�r��	s��
�
�&�"�"r2c�(�]tRtRt$R]R&RtRtR#)r�i�	zdict[str, Any]�
_responsesc	��VPPV4pVf\R\V4,4h\	\
P!V44#)Nz
Unknown URL: )rCr|r�ra�_ReallyFakeJSONResponser�r�)r/r�rs&& rr|�ReallyFakeRequests.get�	sC���?�?�&�&�s�+���;��_�t�C�y�8�9�9�&�t�z�z�(�';�<�<r2rN)r[r�r\r�rr|r�rr2rr�r��	s����=r2r�c�(�]tRtRt$R]R&RtRtR#)rEi�	r��	_responsec	�B�\P!VP4#r4)r��loadsrHr.s&rr��_ReallyFakeJSONResponse.json�	s���z�z�$�.�.�)�)r2rN)r[r�r\r�rr�r�rr2rrErE�	s���N�*r2rE):�
__future__r�collectionsrr�
contextlibr�decimalr�ior�typingr	�unittestr
r�urllib.requestrr�r�r�r�r_�attrsr
r�referencing.jsonschemar�referencing.exceptionsr��
jsonschemarrrrrr r"r�r�r?rYr�r�r	rrrrrrrir�r�r�r�r�rErr2r�<module>rXs���"�)�%����#�'��	�
����.����1�L6�(�L6�^c
�(�c
�LL
��L
�^5
�5
�pwE�-�wE�tJ�J�4H�-�/A�8�H�@)�-�/A�8�)�)�,�h�)�)�,�h�)�)�1�8�)�)�1�8�)�%�(�%�LJ�x�LJ�^^M�8�^M�BC�H�C�>�h��4l
�h�l
�`#��=�=��=��*�*��*r2

Youez - 2016 - github.com/yon3zu
LinuXploit