§
    D¿j�)  ã                  ó(  — d Z ddlmZ ddlZddlmc m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 e	j                             e	j                             e	j                             e¦  «        dd¦  «        ¦  «        Zd„ Zd„ Zd	„ Zd
„ ZdS )a  
Empirical Challenger Test Suite for Milestone 1: Game Design Matrix & Core Contracts.
Author: Challenger 2 (Empirical Challenger)
Validates Protobuf schemas (party, social, portal), SQLite foreign key integrity,
and database re-seeding idempotency under adversarial conditions.
é    )ÚannotationsN)ÚFileDescriptorSet)ÚGameDesignMatrixServicez..c                 ó(  — t           j                             t          d¦  «        } t           j                             | d¦  «        t           j                             | d¦  «        t           j                             | d¦  «        g}|D �]'}t           j        }|j        } ||¦  «        }|sþt          j        d|› �¦  «        dz   dt          j        ¦   «         v st          j	        t           ¦  «        rt          j
        t           ¦  «        ndt          j
        |¦  «        t          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |¦  «        d	œz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}}�Œ)t          j        dd¬¦  «        5 }|j        }d
d
d
¦  «         n# 1 swxY w Y   	 t           j        ddd| › �d|› �g|z   }	t%          j        |	dd¬¦  «        }
|
j        }d}||k    }|sÇt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        ndt          j
        |¦  «        t          j
        |¦  «        dœz  }t          j        d|
j        › �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}}t/          |d¦  «        5 }t1          j        |                     ¦   «         ¦  «        }d
d
d
¦  «         n# 1 swxY w Y   |j        }t9          |¦  «        }d}||k    }|�s/t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j	        t8          ¦  «        rt          j
        t8          ¦  «        ndd t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        d!œz  }t          j        d"t9          |j        ¦  «        › �¦  «        d#z   d$|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}x}}|j        D �	]}|j        }d%}||k    }|sÇt          j        d|fd&||f¦  «        d't          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd't          j
        |¦  «        t          j
        |¦  «        dœz  }t          j        |j        › d(�¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}}|j        D �]�}|j        }t9          |¦  «        }d}||k    }|�s#t          j        d)|fd*||f¦  «        dt          j        ¦   «         v st          j	        t8          ¦  «        rt          j
        t8          ¦  «        ndd+t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd+t          j
        |¦  «        t          j
        |¦  «        t          j
        |¦  «        d!œz  }t          j        d,|j        › d-�¦  «        d#z   d$|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}x}}|j        d         }|j         }d}||k    }|sØt          j        d|fd.||f¦  «        d/t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd/t          j
        |¦  «        t          j
        |¦  «        dœz  }t          j        d,|j        › d0|j        › d1|j         › d2�¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}}d3„ |j        D ¦   «         }t9          |¦  «        }tC          |¦  «        }t9          |¦  «        }||k    }|�sót          j        d|fd4||f¦  «        dt          j        ¦   «         v st          j	        t8          ¦  «        rt          j
        t8          ¦  «        ndd5t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd5t          j
        |¦  «        dt          j        ¦   «         v st          j	        t8          ¦  «        rt          j
        t8          ¦  «        ndd6t          j        ¦   «         v st          j	        tB          ¦  «        rt          j
        tB          ¦  «        nd6d5t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd5t          j
        |¦  «        t          j
        |¦  «        d7œz  }t          j        d,|j        › d8|› �¦  «        d9z   d:|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}x}}�Œ�|j"        D �]ÿ}d;„ |j#        D ¦   «         }t9          |¦  «        }tC          |¦  «        }t9          |¦  «        }||k    }|�sót          j        d|fd4||f¦  «        dt          j        ¦   «         v st          j	        t8          ¦  «        rt          j
        t8          ¦  «        ndd<t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd<t          j
        |¦  «        dt          j        ¦   «         v st          j	        t8          ¦  «        rt          j
        t8          ¦  «        ndd6t          j        ¦   «         v st          j	        tB          ¦  «        rt          j
        tB          ¦  «        nd6d<t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd<t          j
        |¦  «        t          j
        |¦  «        d7œz  }t          j        d=|j        › d>|› �¦  «        d9z   d:|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}x}x}}|D �]¶}d?}||k    }|s¸t          j        d@|fdA||f¦  «        dBt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndBt          j
        |¦  «        dCœz  }t          j        d=|j        › dD|› dE�¦  «        dFz   dG|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}}dH}||k    }dI}||k    }|o| } | sÌt          j        dJ||fdK|||f¦  «        t          j
        |¦  «        dBt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndBt          j
        |¦  «        dLœz  }!t          j        d=|j        › dM|› �¦  «        dNz   dO|!iz  }"t          t          j        |"¦  «        ¦  «        ‚d
x}x}x}x}} �Œ¸�Œ�	Œ�	 t           j                             |¦  «        rt          j$        |¦  «         d
S d
S # t           j                             |¦  «        rt          j$        |¦  «         w w xY w)PzRCompiles proto/party.proto, proto/social.proto, and proto/portal.proto via protoc.Úprotoúparty.protoúsocial.protoúportal.protozProto file not found: zd
>assert %(py7)s
{%(py7)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.path
}.exists
}(%(py5)s)
}ÚosÚp)Úpy0Úpy2Úpy4Úpy5Úpy7Nz.descF)ÚsuffixÚdeleteú-múgrpc_tools.protocú-Iz--descriptor_set_out=T©Úcapture_outputÚtextr   ©ú==©z2%(py2)s
{%(py2)s = %(py0)s.returncode
} == %(py5)sÚres©r   r   r   zprotoc failed: ú
>assert %(py7)sr   Úrbé   )zJ%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.file
})
} == %(py8)sÚlenÚfds©r   Úpy1Úpy3r   Úpy8z!Expected 3 file descriptors, got z
>assert %(py10)sÚpy10Úproto3)z.%(py2)s
{%(py2)s = %(py0)s.syntax
} == %(py5)sÚf_descz is not proto3)ú>)zJ%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.value
})
} > %(py8)sÚ	enum_typezEnum z has no values)z.%(py2)s
{%(py2)s = %(py0)s.number
} == %(py5)sÚ	first_valz first value 'z' has number z != 0c                ó   — g | ]	}|j         ‘Œ
S © ©Únumber)Ú.0Úvs     ú@C:\Projects\FreeExile\tests\unit\test_challenger_m1_contracts.pyú
<listcomp>z@test_protobuf_schemas_syntax_and_compilation.<locals>.<listcomp><   s   € Ð>Ð>Ð>¨˜AœHÐ>Ð>Ð>ó    )zn%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py11)s
{%(py11)s = %(py5)s(%(py9)s
{%(py9)s = %(py6)s(%(py7)s)
})
}Úval_numsÚset)r   r%   r&   r   Úpy6r   Úpy9Úpy11z# contains duplicate value numbers: z
>assert %(py13)sÚpy13c                ó   — g | ]	}|j         ‘Œ
S r/   r0   )r2   Úflds     r4   r5   z@test_protobuf_schemas_syntax_and_compilation.<locals>.<listcomp>C   s   € ÐAÐAÐA¨3˜CœJÐAÐAÐAr6   Útag_numszMessage z  contains duplicate field tags: é   )ú>=)z%(py0)s >= %(py3)sÚtag)r   r&   z has invalid tag z < 1z
>assert %(py5)sr   i8J  iN  )ú<=rC   )z%(py1)s <= %(py4)sz%(py4)s <= %(py6)s)r%   r   r9   z% uses reserved protobuf internal tag z
>assert not %(py8)sr'   )%r   ÚpathÚjoinÚPROJECT_ROOTÚexistsÚ
@pytest_arÚ_format_assertmsgÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚtempfileÚNamedTemporaryFileÚnameÚsysÚ
executableÚ
subprocessÚrunÚ
returncodeÚ_call_reprcompareÚstderrÚopenr   Ú
FromStringÚreadÚfiler"   Úsyntaxr,   Úvaluer1   r8   Úmessage_typeÚfieldÚremove)#Ú	proto_dirÚproto_filesr   Ú@py_assert1Ú@py_assert3Ú@py_assert6Ú@py_format8ÚfÚ	desc_pathÚcmdr   Ú@py_assert4Ú@py_format6r#   Ú@py_assert2Ú@py_assert7Ú@py_format9Ú@py_format11r*   r,   r-   r7   Ú@py_assert8Ú@py_assert10Ú@py_format12Ú@py_format14Úmsg_typer?   rB   Ú@py_format4Ú@py_assert0Ú@py_assert5Ú@py_assert9Ú@py_format7Ú@py_format10s#                                      r4   Ú,test_protobuf_schemas_syntax_and_compilationr}      s&  € å”—’�\¨7Ñ3Ô3€Iå
Œ�Š�Y Ñ.Ô.Ý
Œ�Š�Y Ñ/Ô/Ý
Œ�Š�Y Ñ/Ô/ð€Kð
 ð ?ñ ?ˆÝŒwÐ>ˆwŒ~Ð>ˆ~ˆ~˜aÑ Ô Ð>Ð Ð>Õ>Ô>Ð">¸1Ð">Ð">Ñ>Ô>Ð>Ñ>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>�rÑ>Ô>Ð>Õ>Ô>�rÑ>Ô>Ð>Ð>Õ>Ô>ˆwÑ>Ô>Õ>Ô>ˆ~Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>˜aÑ>Ô>Ð>Õ>Ô>˜aÑ>Ô>Ð>Ð>Õ>Ô>Ð Ñ>Ô>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ñ>å	Ô	$¨G¸EÐ	BÑ	BÔ	Bð ÀaØ”Fˆ	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð*!åŒN˜DÐ"5Ø�ÐÐØ/ IÐ/Ð/ð
ð ñ	ˆõ
 Œn˜S°¸DÐAÑAÔAˆØŒ~ÐB ÐBˆ~ Ò"ÐBÐBÐBÕBÔBÐBÐBÐBÐBˆ~ ÐBÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔBˆsÑBÔBÐBÕBÔBˆsÑBÔBÐBÐBÕBÔBˆ~ÑBÔBÕBÔB ÑBÔBÐBÐBÑBÐBÕBÔBÐ$B°c´jÐ$BÐ$BÑBÔBÐBÑBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBå�)˜TÑ"Ô"ð 	9 aÝ#Ô.¨q¯vªv©x¬xÑ8Ô8ˆCð	9ð 	9ð 	9ñ 	9ô 	9ð 	9ð 	9ð 	9ð 	9ð 	9ð 	9øøøð 	9ð 	9ð 	9ð 	9ð ”8ÐV�s�8‰}Œ}ÐV ÐVˆ} Ò!ÐVÐVÑVÕVÔVÐVÐVÐVÐVˆ} ÐVÑVÔVÐVÕVÔVÑVÔVÐVÐVÕVÔV�sÑVÔVÐVÕVÔV�sÑVÔVÐVÐVÐVÕVÔVÑVÔVÐVÐVÕVÔV�3ÑVÔVÐVÕVÔV�3ÑVÔVÐVÐVÕVÔV�8ÑVÔVÕVÔVˆ}ÑVÔVÕVÔV ÑVÔVÐVÐVÑVÐVÕVÔVÐ#VÅsÈ3Ì8Á}Ä}Ð#VÐ#VÑVÔVÐVÑVÐVÐVÐVÑVÐVÕVÕVÔVÐVÑVÔVÑVÔVÐVÐVÐVÐVÐVÐVÐVÐVÐVà”hð 	ñ 	ˆFØ”=ÐL HÐL�= HÒ,ÐLÐLÐLÕLÔLÐLÐLÐLÐL�= HÐLÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL�6ÑLÔLÐLÕLÔL�6ÑLÔLÐLÐLÕLÔL�=ÑLÔLÕLÔL HÑLÔLÐLÐLÑLÐLÕLÔL°´Ð.LÐ.LÐ.LÑLÔLÐLÑLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLð $Ô-ð 	ñ 	�	Ø$œ?ÐW•s˜?Ñ+Ô+ÐW¨aÐWÐ+¨aÒ/ÐWÐWÑWÕWÔWÐWÐWÐWÐWÐ+¨aÐWÑWÔWÐWÕWÔWÑWÔWÐWÐWÕWÔW•sÑWÔWÐWÕWÔW•sÑWÔWÐWÐWÐWÕWÔWÑWÔWÐWÐWÕWÔW˜9ÑWÔWÐWÕWÔW˜9ÑWÔWÐWÐWÕWÔW˜?ÑWÔWÕWÔWÐ+ÑWÔWÕWÔW¨aÑWÔWÐWÐWÑWÐWÕWÔWÐ1W¸¼Ð1WÐ1WÐ1WÑWÔWÐWÑWÐWÐWÐWÑWÐWÕWÕWÔWÐWÑWÔWÑWÔWÐWÐWÐWÐWÐWÐWÐWÐWÐWØ%œO¨AÔ.�	Ø Ô'ð ¨1ð Ð'¨1Ò,ð ð ð õ ä ðð ð ð Ð'¨1ð ñ ô ð õ äñô ð ð õ ìð !ñ ô ð õ äð !ñ ô ð ð õ äð (ñ ô õ äð ,-ñ ô ð ð ñ ð õ ä ð o˜IœNÐnÐn¸)¼.ÐnÐnÐW`ÔWgÐnÐnÐnñô ð ñ ð ð ð ñ ð õ õ ìðñ ô ñ ô ð ð ð ð ð ð ð ð ?Ð>¨i¬oÐ>Ñ>Ô>�Ý˜8‘}”}ð ­C°©M¬Mð ­¨MÑ(:Ô(:ð �}Ð(:Ò:ð ð ñ õ ä ðð ð ð �}Ð(:ð ñ ô ð õ äñô ð ð õ ìõ ñ ô ð õ äõ ñ ô ð ð ð õ äñô ð ð õ ìð $ñ ô ð õ äð $ñ ô ð ð õ äð %ñ ô ð õ äñô ð ð õ ìõ ),ñ ô ð õ äõ ),ñ ô ð ð ð õ äñô ð ð õ ìõ -0ñ ô ð õ äõ -0ñ ô ð ð ð õ äñô ð ð õ ìð 19ñ ô ð õ äð 19ñ ô ð ð õ äð -:ñ ô õ äð );ñ ô ð ð ñ ð õ ä ð Z˜IœNÐYÐYÈxÐYÐYñô ð ñ ð ð ð ñ ð õ õ ìðñ ô ñ ô ð ð ð ð ð ð ð ð ð ñ ð
 #Ô/ð 	ñ 	�ØAÐA°(´.ÐAÑAÔA�Ý˜8‘}”}ð ­C°©M¬Mð ­¨MÑ(:Ô(:ð �}Ð(:Ò:ð ð ñ õ ä ðð ð ð �}Ð(:ð ñ ô ð õ äñô ð ð õ ìõ ñ ô ð õ äõ ñ ô ð ð ð õ äñô ð ð õ ìð $ñ ô ð õ äð $ñ ô ð ð õ äð %ñ ô ð õ äñô ð ð õ ìõ ),ñ ô ð õ äõ ),ñ ô ð ð ð õ äñô ð ð õ ìõ -0ñ ô ð õ äõ -0ñ ô ð ð ð õ äñô ð ð õ ìð 19ñ ô ð õ äð 19ñ ô ð ð õ äð -:ñ ô õ äð );ñ ô ð ð ñ ð õ ä ð Y˜xœ}ÐXÐXÈhÐXÐXñô ð ñ ð ð ð ñ ð õ õ ìðñ ô ñ ô ð ð ð ð ð ð ð ð ð ð $ð ñ �CØ"#ÐY˜3 !š8ÐYÐYÐYÕYÔYÐYÐYÐYÐY˜3 !ÐYÑYÔYÐYÕYÔYÑYÔYÐYÐYÕYÔY˜3ÑYÔYÐYÕYÔY˜3ÑYÔYÐYÐYÕYÔY !ÑYÔYÐYÐYÑYÐYÕYÔYÐ%Y°´Ð%YÐ%YÐPSÐ%YÐ%YÐ%YÑYÔYÐYÑYÐYÐYÐYÑYÐYÕYÕYÔYÐYÑYÔYÑYÔYÐYÐYÐYÐYÐYØ %ð  ¨Ò 5ð °ð ¨°Ò 5ð ð ð ð Ð6ð Ð6ð õ äðð ð ð ð  ¨°ð ñ ô õ äð !&ñ ô ð õ äñô ð ð õ ìð *-ñ ô ð õ äð *-ñ ô ð ð õ äð 16ñ ô ð ð ñ ð õ äð ] 8¤=Ð\Ð\ÐWZÐ\Ð\ñô ð ñ ð ð ð ñ ð õ õ äðñ ô ñ ô ð ð ð ð ð ð ð ð ð ð ð ñ ññ	ð!	õ6 Œ7�>Š>˜)Ñ$Ô$ð 	!ÝŒI�iÑ Ô Ð Ð Ð ð	!ð 	!ø�2Œ7�>Š>˜)Ñ$Ô$ð 	!ÝŒI�iÑ Ô Ð Ð ð	!øøøsD   ÇGÇGÇ!GÇ&Dy Ì'L8Ì,y Ì8L<Ì<y Ì?L<Í k#y ù6zc                 ó  — t           j                             t          d¦  «        } t	          j        ¦   «         5 }t          j        ddd| › �d|› �t           j                             | d¦  «        t           j                             | d¦  «        t           j                             | d¦  «        g}t          j	        |d	d	¬
¦  «        }|j
        }d}||k    }|sÇt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }t          j        d|j        › �¦  «        dz   d|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}t          j                             d|¦  «         	 ddl}	ddl}
ddl}|	                     dd|	j        j        d|	                     ddddd¬¦  «        ¬¦  «        }|	                     ¦   «         }|                     |                     ¦   «         ¦  «         |j        }d}||k    }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}|j         }|	j        }|j        }||k    }|sût          j        d|fd ||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        d!t          j        ¦   «         v st          j        |	¦  «        rt          j        |	¦  «        nd!t          j        |¦  «        t          j        |¦  «        d"œz  }d#d$|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}x}}|j!        }|j"        }d}||k    }|s½t          j        d|fd%||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d&œz  }d'd(|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}x}}|
 #                    d)d*d+d,d-|
j$        j%        |
j&        j'        d.¬/¦  «        }|
 #                    ¦   «         }|                     |                     ¦   «         ¦  «         |j(        }d+}||k    }|sªt          j        d|fd0||f¦  «        d1t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd1t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}|j)        }d-}||k    }|sªt          j        d|fd2||f¦  «        d1t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd1t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}|j*        }|
j$        }|j%        }||k    }|sût          j        d|fd3||f¦  «        d1t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd1t          j        |¦  «        d4t          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        nd4t          j        |¦  «        t          j        |¦  «        d"œz  }d#d$|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}x}}| +                    d5d)d6d7d8d9d:d:d;d	¬<¦
  «
        }| +                    ¦   «         }|                     |                     ¦   «         ¦  «         |j,        }d;}||k    }|sªt          j        d|fd=||f¦  «        d>t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd>t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}|j-        }d7}||k    }|sªt          j        d|fd?||f¦  «        d>t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd>t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}|j.        }d	}||u }|sªt          j        d@|fdA||f¦  «        d>t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd>t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t'          t          j        |¦  «        ¦  «        ‚dx}x}}t          j         /                    |¦  «         n$# t          j         /                    |¦  «         w xY w	 ddd¦  «         dS # 1 swxY w Y   dS )BzJGenerates Python stubs and validates binary serialization/deserialization.r   r   r   r   z--python_out=r   r	   r
   Tr   r   r   r   r   r   zPython stub generation failed: r   r   NÚpty_test_123Úusr_leader_01g      @r!   g       @g      N@g      Y@)Ú
party_sizeÚnearby_members_countÚmonster_hp_multiplierÚexp_bonus_pctÚitem_quantity_bonus_pct)Úparty_idÚ	leader_idÚallocation_modeÚshort_allocation_timeout_secÚscaling_stats)z0%(py2)s
{%(py2)s = %(py0)s.party_id
} == %(py5)sÚ	p_decodedúassert %(py7)s)zz%(py2)s
{%(py2)s = %(py0)s.allocation_mode
} == %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.LootAllocationMode
}.SHORT
}Ú	party_pb2)r   r   r   r9   r'   úassert %(py10)sr(   )z`%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.scaling_stats
}.monster_hp_multiplier
} == %(py7)s)r   r   r   r   zassert %(py9)sr:   Ú	acc_alphaÚacc_betau   Chiáº¿n LangÚchar_feral_berserkeré-   u   Ä�á»“ng Ä‘á»™i farm map)Ú
account_idÚfriend_account_idÚfriend_nameÚfriend_classÚfriend_levelÚpresence_statusÚstatusÚfriend_note)z3%(py2)s
{%(py2)s = %(py0)s.friend_name
} == %(py5)sÚ	f_decoded)z4%(py2)s
{%(py2)s = %(py0)s.friend_level
} == %(py5)s)z„%(py2)s
{%(py2)s = %(py0)s.presence_status
} == %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py4)s.OnlinePresenceStatus
}.STATUS_ONLINE
}Ú
social_pb2Úportal_link_789Úzone_tang_kiem_nhaig      ^@g     Du@Úzone_player_hideoutg        é   )
Ú	portal_idÚowner_idÚwilderness_zone_idÚwilderness_xÚwilderness_yÚsanctuary_zone_idÚsanctuary_xÚsanctuary_yÚremaining_chargesÚis_open)z9%(py2)s
{%(py2)s = %(py0)s.remaining_charges
} == %(py5)sÚportal_decoded)z4%(py2)s
{%(py2)s = %(py0)s.wilderness_x
} == %(py5)s©Úis)z/%(py2)s
{%(py2)s = %(py0)s.is_open
} is %(py5)s)0r   rD   rE   rF   rP   ÚTemporaryDirectoryrS   rT   rU   rV   rW   rH   rX   rJ   rK   rL   rM   rI   rY   rN   rO   Úinsertr�   rœ   Ú
portal_pb2Ú	PartyInfoÚLootAllocationModeÚSHORTÚPartyScalingStatsÚParseFromStringÚSerializeToStringr†   rˆ   rŠ   rƒ   ÚFriendEntryÚOnlinePresenceStatusÚSTATUS_ONLINEÚFriendRelationStatusÚACCEPTEDr•   r—   r˜   ÚTownPortalLinkr©   r¤   rª   rb   )rc   Útmpdirrk   r   re   rl   rf   rm   rh   r�   rœ   r°   Úp_origr‹   ry   ro   rp   rq   rg   r|   Úf_origr›   Úportal_origr«   s                           r4   Ú%test_protobuf_serialization_roundtriprÁ   Q   sª  € å”—’�\¨7Ñ3Ô3€IÝ	Ô	$Ñ	&Ô	&ð J$¨&åŒN˜DÐ"5Ø�ÐÐØ$˜FÐ$Ð$ÝŒG�LŠL˜ MÑ2Ô2ÝŒG�LŠL˜ NÑ3Ô3ÝŒG�LŠL˜ NÑ3Ô3ð
ˆõ Œn˜S°¸DÐAÑAÔAˆØŒ~ÐR ÐRˆ~ Ò"ÐRÐRÐRÕRÔRÐRÐRÐRÐRˆ~ ÐRÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔRˆsÑRÔRÐRÕRÔRˆsÑRÔRÐRÐRÕRÔRˆ~ÑRÔRÕRÔR ÑRÔRÐRÐRÑRÐRÕRÔRÐ$RÀcÄjÐ$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åŒ�Š˜˜6Ñ"Ô"Ð"ð=	$ØÐÐÐØÐÐÐØÐÐÐð ×(Ò(Ø'Ø)Ø )Ô <Ô BØ-0Ø'×9Ò9Ø Ø)*Ø*-Ø"&Ø,1ð :ñ ô ð )ñ ô ˆFð "×+Ò+Ñ-Ô-ˆIØ×%Ò% f×&>Ò&>Ñ&@Ô&@ÑAÔAÐAØÔ%Ð7¨Ð7Ð%¨Ò7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð%¨Ð7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�9Ñ7Ô7Ð7Õ7Ô7�9Ñ7Ô7Ð7Ð7Õ7Ô7Ð%Ñ7Ô7Õ7Ô7¨Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7ØÔ,ÐR°	Ô0LÐRÐ0LÔ0RÐRÐ,Ð0RÒRÐRÐRÐRÕRÔRÐRÐRÐRÐRÐ,Ð0RÐRÑRÔRÐRÕRÔRÑRÔRÐRÐRÕRÔR�9ÑRÔRÐRÕRÔR�9Ñ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ÔRÐ0LÑRÔRÕRÔRÐ0RÑ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ÐRÐRØÔ*ÐGÐ*Ô@ÐGÀCÐGÐ@ÀCÒGÐGÐGÐGÕGÔGÐGÐGÐGÐGÐ@ÀCÐGÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔG�9ÑGÔGÐGÕGÔG�9ÑGÔGÐGÐGÕGÔGÐ*ÑGÔGÕGÔGÐ@ÑGÔGÕGÔGÀCÑGÔGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGÐGÐGð  ×+Ò+Ø&Ø",Ø*Ø3ØØ *Ô ?Ô MØ!Ô6Ô?Ø5ð ,ñ 	ô 	ˆFð #×.Ò.Ñ0Ô0ˆIØ×%Ò% f×&>Ò&>Ñ&@Ô&@ÑAÔAÐAØÔ(Ð:¨NÐ:Ð(¨NÒ:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð(¨NÐ:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�9Ñ:Ô:Ð:Õ:Ô:�9Ñ:Ô:Ð:Ð:Õ:Ô:Ð(Ñ:Ô:Õ:Ô:¨NÑ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:ØÔ)Ð/¨RÐ/Ð)¨RÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð)¨RÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/�9Ñ/Ô/Ð/Õ/Ô/�9Ñ/Ô/Ð/Ð/Õ/Ô/Ð)Ñ/Ô/Õ/Ô/¨RÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ØÔ,Ð]°
Ô0OÐ]Ð0OÔ0]Ð]Ð,Ð0]Ò]Ð]Ð]Ð]Õ]Ô]Ð]Ð]Ð]Ð]Ð,Ð0]Ð]Ñ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]�9Ñ]Ô]Ð]Õ]Ô]�9Ñ]Ô]Ð]Ð]Õ]Ô]Ð,Ñ]Ô]Ð]Õ]Ô]Ñ]Ô]Ð]Ð]Õ]Ô]°
Ñ]Ô]Ð]Õ]Ô]°
Ñ]Ô]Ð]Ð]Õ]Ô]Ð0OÑ]Ô]Õ]Ô]Ð0]Ñ]Ô]Ð]Ð]Ñ]Ð]Ð]Ð]Ð]Ð]Ñ]Ð]Õ]Õ]Ô]Ð]Ñ]Ô]Ñ]Ô]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]Ð]ð %×3Ò3Ø+Ø$Ø#8Ø"Ø#Ø"7ØØØ"#Øð 4ñ ô ˆKð (×6Ò6Ñ8Ô8ˆNØ×*Ò*¨;×+HÒ+HÑ+JÔ+JÑKÔKÐKØ!Ô3Ð8°qÐ8Ð3°qÒ8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð3°qÐ8Ñ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8�>Ñ8Ô8Ð8Õ8Ô8�>Ñ8Ô8Ð8Ð8Õ8Ô8Ð3Ñ8Ô8Õ8Ô8°qÑ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø!Ô.Ð7°%Ð7Ð.°%Ò7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð.°%Ð7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7�>Ñ7Ô7Ð7Õ7Ô7�>Ñ7Ô7Ð7Ð7Õ7Ô7Ð.Ñ7Ô7Õ7Ô7°%Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ø!Ô)Ð1¨TÐ1Ð)¨TÐ1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð)¨TÐ1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1�>Ñ1Ô1Ð1Õ1Ô1�>Ñ1Ô1Ð1Ð1Õ1Ô1Ð)Ñ1Ô1Õ1Ô1¨TÑ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1åŒH�OŠO˜FÑ#Ô#Ð#Ð#ø�CŒH�OŠO˜FÑ#Ô#Ð#Ð#øøøÐ#ðUJ$ð J$ð J$ñ J$ô J$ð J$ð J$ð J$ð J$ð J$ð J$ð J$øøøð J$ð J$ð J$ð J$ð J$ð J$s+   ¹F
l Çc*kê. l ë!k/ë/l ì lìlc            	     ó  — t          ¦   «         } 	 t          d¦  «        D �]»}|                      d¬¦  «        }|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|d         }d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }d	d
|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|                      ¦   «         5 }| 	                    ¦   «          
                    d¦  «                             ¦   «         }	t          |	¦  «        }d}
||
k    }|�st          j        d|fd||
f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |	¦  «        rt          j        |	¦  «        ndt          j        |¦  «        t          j        |
¦  «        dœz  }t          j        d|› d|	› �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}
ddd¦  «         n# 1 swxY w Y   �Œ½|                      ¦   «         }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd |iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }t          |¦  «        }d}||k    }|�st          j        d|fd!||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d"œz  }d#d$|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}}|                      ¦   «          dS # |                      ¦   «          w xY w)%zIValidates PRAGMA foreign_key_check and successive re-seeding idempotency.é   T©ÚforceÚparty_scaling_matrixr    r   )z%(py1)s == %(py4)s)r%   r   zassert %(py6)sr9   NÚloot_allocation_modesr!   Úteleport_configsé   Úportal_quarantine_ruleszPRAGMA foreign_key_checkr   )z0%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py6)sr"   Úfk_violations)r   r%   r&   r9   z
Iteration z failed FK check: z
>assert %(py8)sr'   r¬   )z0%(py2)s
{%(py2)s = %(py0)s.is_valid
} is %(py5)sÚreportr   rŒ   r   )zP%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.violations
})
} == %(py8)sr$   rŽ   r(   )r   ÚrangeÚseed_canonical_datarH   rX   rM   rN   rO   Ú_get_connectionÚcursorÚexecuteÚfetchallr"   rJ   rK   rL   rI   Úvalidate_game_design_integrityÚis_validÚ
violationsÚclose)ÚserviceÚiÚstatsrx   rf   rn   Ú@py_format5r{   ÚconnrË   ry   rl   rp   rÌ   re   rm   rh   ro   rg   rq   s                       r4   Ú9test_sqlite_foreign_key_integrity_and_rebuild_idempotencyrÜ   ¡   s  € å%Ñ'Ô'€Gðå�q‘”ð 		bñ 		bˆAØ×/Ò/°dÐ/Ñ;Ô;ˆEØÐ/Ô0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ØÐ0Ô1Ð6°QÐ6Ð1°QÒ6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð1°QÐ6Ñ6Ô6Õ6Ô6Ð1Ñ6Ô6Õ6Ô6°QÑ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6ØÐ+Ô,Ð1°Ð1Ð,°Ò1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð,°Ð1Ñ1Ô1Õ1Ô1Ð,Ñ1Ô1Õ1Ô1°Ñ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1ØÐ2Ô3Ð8°qÐ8Ð3°qÒ8Ð8Ð8Ð8Õ8Ô8Ð8Ð8Ð8Ð8Ð3°qÐ8Ñ8Ô8Õ8Ô8Ð3Ñ8Ô8Õ8Ô8°qÑ8Ô8Ð8Ð8Ñ8Ð8Ð8Ð8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8à×(Ò(Ñ*Ô*ð b¨dØ $§¢¡¤× 5Ò 5Ð6PÑ QÔ Q× ZÒ ZÑ \Ô \�Ý˜=Ñ)Ô)Ða¨QÐaÐ)¨QÒ.ÐaÐaÑaÕaÔaÐaÐaÐaÐaÐ)¨QÐaÑaÔaÐaÕaÔaÑaÔaÐaÐaÕaÔa•sÑaÔaÐaÕaÔa•sÑaÔaÐaÐaÐaÕaÔaÑaÔaÐaÐaÕaÔa˜=ÑaÔaÐaÕaÔa˜=ÑaÔaÐaÐaÕaÔaÐ)ÑaÔaÕaÔa¨QÑaÔaÐaÐaÑaÐaÕaÔaÐ0a¸QÐ0aÐ0aÐR_Ð0aÐ0aÑaÔaÐaÑaÐaÐaÐaÑaÐaÕaÕaÔaÐaÑaÔaÑaÔaÐaÐaÐaÐaÐaÐaÐaðbð bð bñ bô bð bð bð bð bð bð bøøøð bð bð bð bùð
 ×7Ò7Ñ9Ô9ˆØŒÐ& $Ð&ˆ $Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ $Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆvÑ&Ô&Ð&Õ&Ô&ˆvÑ&Ô&Ð&Ð&Õ&Ô&ˆÑ&Ô&Õ&Ô& $Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØÔ$Ð*�sÐ$Ñ%Ô%Ð*¨Ð*Ð%¨Ò*Ð*Ð*Ñ*Õ*Ô*Ð*Ð*Ð*Ð*Ð%¨Ð*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*�sÑ*Ô*Ð*Õ*Ô*�sÑ*Ô*Ð*Ð*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*�6Ñ*Ô*Ð*Õ*Ô*�6Ñ*Ô*Ð*Ð*Õ*Ô*Ð$Ñ*Ô*Õ*Ô*Ð%Ñ*Ô*Õ*Ô*¨Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*à�Š‰Œˆˆˆøˆ�Š‰Œˆˆøøøs2   �IW3 ÉE'OÏW3 ÏO	ÏW3 ÏO	ÏHW3 ×3X	c                 ó¦  — t          d¬¦  «        } |                      d¬¦  «         |                      ¦   «         5 }|                     ¦   «         }dD ]O}t	          j        t          j        ¦  «        5  |                     d|f¦  «         ddd¦  «         n# 1 swxY w Y   ŒPt	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d	¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d
¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   t	          j        t          j        ¦  «        5  |                     d¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   |  	                    ¦   «          dS )zNAdversarially attempts invalid insertions to test CHECK constraint boundaries.z:memory:)Údb_pathTrÄ   )r   é   éûÿÿÿzIINSERT INTO party_scaling_matrix VALUES (?, 1.0, 0, 0, 0, 0, 15.0, 'bad')NzLINSERT INTO party_scaling_matrix VALUES (1, 0.9, 0, 0, 0, 0, 15.0, 'bad hp')zOINSERT INTO party_scaling_matrix VALUES (1, 1.0, -10, 0, 0, 0, 15.0, 'bad exp')zOINSERT INTO party_scaling_matrix VALUES (1, 1.0, 0, 0, 0, 0, 0.0, 'bad radius')zDINSERT INTO loot_allocation_modes VALUES ('X', 'X', -1.0, 0, 'desc')zCINSERT INTO loot_allocation_modes VALUES ('X', 'X', 0.0, 2, 'desc')zCINSERT INTO teleport_configs VALUES ('X', -0.5, 10.0, 1, 1, 'desc')zBINSERT INTO teleport_configs VALUES ('X', 3.5, -1.0, 1, 1, 'desc')zBINSERT INTO teleport_configs VALUES ('X', 3.5, 10.0, 5, 1, 'desc')zIINSERT INTO portal_quarantine_rules VALUES ('X', 'WILD', 2, 1, 6, 'desc')zJINSERT INTO portal_quarantine_rules VALUES ('X', 'WILD', 1, 1, -1, 'desc')z°INSERT INTO zones (zone_id, act_id, name, zone_type, environment, min_level, max_level) VALUES ('z_phantom', 'ACT_NON_EXISTENT', 'Phantom Zone', 'WILDERNESS', 'OUTDOOR', 1, 10)z¡INSERT INTO npcs (npc_id, name, title, role, zone_id, x, y, dialogue_tree_id) VALUES ('npc_ghost', 'Ghost', 'Phantom', 'ROLE', 'ZONE_NON_EXISTENT', 0, 0, 'tree'))
r   rÎ   rÏ   rÐ   ÚpytestÚraisesÚsqlite3ÚIntegrityErrorrÑ   rÖ   )r×   rÛ   ÚcurÚbad_sizes       r4   Ú/test_sqlite_table_check_constraints_adversarialrç   ¹   sÓ  € å%¨jÐ9Ñ9Ô9€GØ×Ò dÐÑ+Ô+Ð+à	×	 Ò	 Ñ	"Ô	"ð / dØ�kŠk‰mŒmˆð #ð 	ð 	ˆHÝ”�wÔ5Ñ6Ô6ð ð Ø—’Ø_Ø�Kñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð øõ
 Œ]�7Ô1Ñ2Ô2ð 	hð 	hØ�KŠKÐfÑgÔgÐgð	hð 	hð 	hñ 	hô 	hð 	hð 	hð 	hð 	hð 	hð 	høøøð 	hð 	hð 	hð 	håŒ]�7Ô1Ñ2Ô2ð 	kð 	kØ�KŠKÐiÑjÔjÐjð	kð 	kð 	kñ 	kô 	kð 	kð 	kð 	kð 	kð 	kð 	køøøð 	kð 	kð 	kð 	kåŒ]�7Ô1Ñ2Ô2ð 	kð 	kØ�KŠKÐiÑjÔjÐjð	kð 	kð 	kñ 	kô 	kð 	kð 	kð 	kð 	kð 	kð 	køøøð 	kð 	kð 	kð 	kõ Œ]�7Ô1Ñ2Ô2ð 	`ð 	`Ø�KŠKÐ^Ñ_Ô_Ð_ð	`ð 	`ð 	`ñ 	`ô 	`ð 	`ð 	`ð 	`ð 	`ð 	`ð 	`øøøð 	`ð 	`ð 	`ð 	`åŒ]�7Ô1Ñ2Ô2ð 	_ð 	_Ø�KŠKÐ]Ñ^Ô^Ð^ð	_ð 	_ð 	_ñ 	_ô 	_ð 	_ð 	_ð 	_ð 	_ð 	_ð 	_øøøð 	_ð 	_ð 	_ð 	_õ Œ]�7Ô1Ñ2Ô2ð 	_ð 	_Ø�KŠKÐ]Ñ^Ô^Ð^ð	_ð 	_ð 	_ñ 	_ô 	_ð 	_ð 	_ð 	_ð 	_ð 	_ð 	_øøøð 	_ð 	_ð 	_ð 	_åŒ]�7Ô1Ñ2Ô2ð 	^ð 	^Ø�KŠKÐ\Ñ]Ô]Ð]ð	^ð 	^ð 	^ñ 	^ô 	^ð 	^ð 	^ð 	^ð 	^ð 	^ð 	^øøøð 	^ð 	^ð 	^ð 	^åŒ]�7Ô1Ñ2Ô2ð 	^ð 	^Ø�KŠKÐ\Ñ]Ô]Ð]ð	^ð 	^ð 	^ñ 	^ô 	^ð 	^ð 	^ð 	^ð 	^ð 	^ð 	^øøøð 	^ð 	^ð 	^ð 	^õ Œ]�7Ô1Ñ2Ô2ð 	eð 	eØ�KŠKÐcÑdÔdÐdð	eð 	eð 	eñ 	eô 	eð 	eð 	eð 	eð 	eð 	eð 	eøøøð 	eð 	eð 	eð 	eåŒ]�7Ô1Ñ2Ô2ð 	fð 	fØ�KŠKÐdÑeÔeÐeð	fð 	fð 	fñ 	fô 	fð 	fð 	fð 	fð 	fð 	fð 	føøøð 	fð 	fð 	fð 	fõ Œ]�7Ô1Ñ2Ô2ð 	ð 	Ø�KŠKðkñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 Œ]�7Ô1Ñ2Ô2ð 	ð 	Ø�KŠKðfñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðW/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ðb ‡M‚M�O„O€O€O€Oså  »7P2Á2BÂ
P2ÂBÂP2ÂBÂ"P2Ã C"ÃP2Ã"C&	Ã&P2Ã)C&	Ã*!P2ÄD-Ä!P2Ä-D1	Ä1P2Ä4D1	Ä5!P2ÅE8Å,P2Å8E<	Å<P2Å?E<	Æ !P2Æ!GÆ7P2ÇG	ÇP2Ç
G	Ç!P2Ç,HÈP2ÈH	ÈP2ÈH	È!P2È7IÉP2ÉI	ÉP2É I	É!!P2ÊJ$ÊP2Ê$J(	Ê(P2Ê+J(	Ê,!P2ËK/Ë#P2Ë/K3	Ë3P2Ë6K3	Ë7!P2ÌL:Ì.P2Ì:L>	Ì>P2ÍL>	Í!P2Í#NÍ9P2ÎN		Î	P2ÎN		Î!P2Î.OÏP2ÏO	ÏP2ÏO	Ï!P2Ï9PÐP2ÐP	ÐP2Ð"P	Ð#P2Ð2P6Ð9P6)Ú__doc__Ú
__future__r   ÚbuiltinsrJ   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterH   r   rU   rS   rP   rã   rá   Úgoogle.protobuf.descriptor_pb2r   Ú'server.world.game_design_matrix_servicer   rD   ÚabspathrE   ÚdirnameÚ__file__rF   r}   rÁ   rÜ   rç   r/   r6   r4   ú<module>ró      s  ððð ð #Ð "Ð "Ð "Ð "Ð "Ø  € € € € € € € € € € € € €	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø €€€Ø €€€à <Ð <Ð <Ð <Ð <Ð <Ø KÐ KÐ KÐ KÐ KÐ KàŒw�Š˜rœwŸ|š|¨B¬G¯OªO¸HÑ,EÔ,EÀtÈTÑRÔRÑSÔS€ð8!ð 8!ð 8!ðvM$ð M$ð M$ð`ð ð ð06ð 6ð 6ð 6ð 6r6   