ó
    ð›‘h“* ã                   óÜ  • S SK r S SKrS SKrS SKrS SKrS SKrS SKJr  S SKJr  S SK	J
r
JrJrJrJrJrJr  S SKJr  S SKJr  S SKrS SKJr  S SKJr  S S	KJr  S S
KJr  S SK J!r!   " S S\"5      r# " S S\"5      r$ " S S\"5      r%S r&S r'S&S jr(S&S jr) " S S\"5      r* " S S\"5      r+ " S S\"5      r, " S S\"5      r- " S S\"5      r. " S  S!\"5      r/S"\\   4S# jr0 " S$ S%\"5      r1g)'é    N)ÚPath)Úpformat)ÚUnionÚDictÚListÚOptionalÚIOÚAnyÚTuple)ÚSequence)Ú
FormatCode)ÚInvalidPayload)Úhlval)ÚSchema)ÚBaseType)ÚFieldc                   óœ  • \ rS rSrSrS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                  \R                  \R                  \R                  \R                  \R                  \R                  \R                   \R"                  \R$                  \R&                  /r\R*                  r\R,                  r\R.                  r\R*                  \R,                  \R.                  /r0 \R                  S_\R                  S_\R                  S_\R                  S_\R                  S_\R                  S_\R                  S_\R                  S_\R                  S_\R                   S_\R"                  S_\R$                  S_\R&                  S_\R*                  S	_\R,                  S
_\R.                  S_r\R                  \\R                  \\R                  \\R                  \\R                  \\R                  \\R                  \\R                  \\R                  \\R                   \\R"                  \\R$                  \\R&                  \\R*                  \\R,                  \0r \R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                   S\R"                  S\R$                  S0r!\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                  S\R                   S\R"                  S \R$                  S!0r"0 \R                  S"_\R                  S#_\R                  S$_\R                  S%_\R                  S&_\R                  S'_\R                  S(_\R                  S)_\R                  S*_\R                   S+_\R"                  S,_\R$                  S-_\R&                  S._\R*                  S/_\R,                  S0_\R.                  S_r#0 S"\R                  _S#\R                  _S$\R                  _S%\R                  _S&\R                  _S'\R                  _S(\R                  _S)\R                  _S*\R                  _S+\R                   _S,\R"                  _S-\R$                  _S.\R&                  _S/\R*                  _S0\R,                  _S\R.                  _r$  SLS2S3S4S5S6\S7\S8\S9\%\   S:\%\   4S; jjr&\'SMS= j5       r(\'SNS> j5       r)\'S<\4S? j5       r*\'S<\4S@ j5       r+\'S<\4SA j5       r,\'S<\%\   4SB j5       r-\'S<\%\   4SC j5       r.  SOSD\SE\%\/   SF\%\   SG\S<\4
SH jjr0S<\4SI jr1S<\/\\24   4SJ jr3SKr4g1)PÚFbsTypeé2   z‹
Flatbuffers type.

See: https://github.com/google/flatbuffers/blob/11a19887053534c43f73e74786b46a615ecbf28e/reflection/reflection.fbs#L33
)Ú_repositoryÚ_schemaÚ	_basetypeÚ_elementÚ_indexÚ_objtypeÚ_elementtypeÚintÚboolÚbytesÚfloatÚstrr   Úobjectr   Ú	BoolFlagsÚ	Int8FlagsÚ
Uint8FlagsÚ
Int16FlagsÚUint16FlagsÚ
Int32FlagsÚUint32FlagsÚ
Int64FlagsÚUint64FlagsÚFloat32FlagsÚFloat64FlagsÚPrependBoolSlotÚPrependInt8SlotÚPrependUint8SlotÚPrependInt16SlotÚPrependUint16SlotÚPrependInt32SlotÚPrependUint32SlotÚPrependInt64SlotÚPrependUint64SlotÚPrependFloat32SlotÚPrependFloat64SlotÚUTypeÚBoolÚByteÚUByteÚShortÚUShortÚIntÚUIntÚLongÚULongÚFloatÚDoubleÚStringÚVectorÚObjNÚ
repositoryÚFbsRepositoryÚschemaÚ	FbsSchemaÚbasetypeÚelementÚindexÚobjtypeÚelementtypec                 óX   • Xl         X l        X0l        X@l        Xpl        XPl        X`l        g ©N)r   r   r   r   r   r   r   )ÚselfrH   rJ   rL   rM   rN   rO   rP   s           ÚXC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\autobahn/xbr/_schema.pyÚ__init__ÚFbsType.__init__É   s)   € ð &ÔØŒØ!ŒØŒØ'ÔØŒØ�ó    Úreturnc                 ó   • U R                   $ rR   ©r   ©rS   s    rT   rH   ÚFbsType.repositoryÙ   ó   € à×ÑÐrW   c                 ó   • U R                   $ rR   ©r   r[   s    rT   rJ   ÚFbsType.schemaÝ   ó   € à�|‰|ÐrW   c                 ó   • U R                   $ )z"
Flatbuffers base type.

:return:
)r   r[   s    rT   rL   ÚFbsType.basetypeá   s   € ð �~‰~ÐrW   c                 ó   • U R                   $ )z&
Only if basetype == Vector

:return:
)r   r[   s    rT   rM   ÚFbsType.elementê   s   € ð �}‰}ÐrW   c                 ó   • U R                   $ )zÉ
If basetype == Object, index into "objects".
If base_type == Union, UnionType, or integral derived from an enum, index into "enums".
If base_type == Vector && element == Union or UnionType.

:return:
)r   r[   s    rT   rN   ÚFbsType.indexó   s   € ð �{‰{ÐrW   c                 ó6  • U R                   [        R                  :X  ap  U R                  cc  U R                  [        R
                  :X  a>  U R                  R                  U R                     R                  U l        U R                  $  S5       eU R                  $ )zE
If basetype == Vector, fully qualified element type name.

:return:
ÚFIXME)
r   r   rF   r   r   rG   r   Ú
objs_by_idr   Únamer[   s    rT   rP   ÚFbsType.elementtypeþ   sv   € ð �>‰>œWŸ^™^Ó+°×0AÑ0AÑ0IØ�}‰}¤§¡Ó+Ø$(§L¡L×$;Ñ$;¸D¿K¹KÑ$H×$MÑ$M�Ô!ð × Ñ Ð ð &˜gÓ%�uØ× Ñ Ð rW   c                 óÔ   • U R                   [        R                  :X  a?  U R                  c2  U R                  R
                  U R                     R                  U l        U R                  $ )zD
If basetype == Object, fully qualified object type name.

:return:
)r   r   rG   r   r   rj   r   rk   r[   s    rT   rO   ÚFbsType.objtype  sG   € ð �>‰>œWŸ[™[Ó(¨T¯]©]Ñ-BØ ŸL™L×3Ñ3°D·K±KÑ@×EÑEˆDŒMà�}‰}ÐrW   ÚlanguageÚattrsÚrequiredÚobjtype_as_stringc                 ó2  • US:X  Gam  SnU R                   [        R                  :X  a¡  U R                  [        R                  :X  a  U(       a
  SU;   a  SnGO§SnGO£U R
                  (       a/  SR                  U R
                  R                  S5      S   5      nGOcSR                  [        R                  U R                     5      nGO5U R                   [        R                  :X  a]  U R
                  (       a  U R
                  R                  S5      S   nOçSR                  [        R                  U R                     5      nOºU R                   [        R                  [        R                  [        R                  /-   ;   aL  U R                   [        R                  :X  a  U(       a	  S	U;   a  S
nOM[        R                  U R                      nO/[        SR                  U R                   U R                  5      5      eU(       aG  U R                   [        R                  :X  a)  U(       a  SR                  U5      $ SR                  U5      $ U(       a  SR                  U5      $ SR                  U5      $ [!        SR                  XR                  5      5      e)zU

:param language:
:param attrs:
:param required:
:param objtype_as_string:
:return:
ÚpythonNÚuuidz	uuid.UUIDr   zList[{}]Ú.éÿÿÿÿÚ	timestampznp.datetime64zAFIXME: implement mapping of FlatBuffers type "{}" to Python in {}ú'{}'úOptional['{}']ú{}úOptional[{}]z9cannot map FlatBuffers type to target language "{}" in {})rL   r   rF   rM   r<   rO   ÚformatÚsplitÚFBS2PYrG   ÚSCALAR_TYPESr9   r   rB   ÚNotImplementedErrorÚmapÚRuntimeError)rS   ro   rp   rq   rr   Ú_mapped_types         rT   r‚   ÚFbsType.map  sÝ  € ð �xÔØˆLà�}‰}¤§¡Ó.à—<‘<¤7§=¡=Ó0Þ ¨5£Ø'2šà'.šð —|—|à'1×'8Ñ'8¸¿¹×9KÑ9KÈCÓ9PÐQSÑ9TÓ'Ušð (2×'8Ñ'8¼¿¹ÈÏÉÑ9UÓ'Všà—‘¤'§+¡+Ó-Ø—<—<à#'§<¡<×#5Ñ#5°cÓ#:¸2Ñ#>‘Lð $.×#4Ñ#4´W·^±^ÀDÇLÁLÑ5QÓ#R‘Là—‘¤'×"6Ñ"6¼'¿-¹-ÌÏÉÐ9WÑ"WÓWà—=‘=¤G§M¡MÓ1¶eÀÈuÓ@TØ#2‘Lä#*§>¡>°$·-±-Ñ#@‘Lô *ØW×^Ñ^Ð_c×_lÑ_lÐnr×nvÑnvÓwóyð yö ! T§]¡]´g·k±kÓ%Aö Ø!Ÿ=™=¨Ó6Ð6à+×2Ñ2°<Ó@Ð@æØŸ;™; |Ó4Ð4à)×0Ñ0°Ó>Ð>äÐZ×aÑaÐbj×ltÑltÓuÓvÐvrW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ ©Nú
{}
©r}   Úpprintr   Úmarshalr[   s    rT   Ú__str__ÚFbsType.__str__]  ó    € Ø�‰œvŸ~š~¨d¯l©l«nÓ=Ó>Ð>rW   c                 óÌ   • U R                   R                  U R                  S 5      U R                   R                  U R                  S 5      U R                  U R
                  S.nU$ )N)rL   rM   rN   rO   )ÚFBS2STRÚgetrL   rM   rN   rO   )rS   Úobjs     rT   r‹   ÚFbsType.marshal`  sP   € ð Ÿ™×(Ñ(¨¯©¸Ó=Ø—|‘|×'Ñ'¨¯©°dÓ;Ø—Z‘ZØ—|‘|ñ	
ˆð ˆ
rW   )r   r   r   r   r   r   r   )NN©rX   rI   ©rX   rK   )NTF)5Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__Ú	_BaseTyper9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   r€   rF   rG   r   ÚSTRUCTURED_TYPESr   r   r   r    r!   ÚlistÚdictÚFBS2PY_TYPEÚ	FBS2FLAGSÚFBS2PREPENDr�   ÚSTR2FBSr   rU   ÚpropertyrH   rJ   rL   rM   rN   rP   rO   r   r‚   rŒ   r
   r‹   Ú__static_attributes__© rW   rT   r   r   2   sA  † ñð j€Ià�O‰O€Eð �>‰>€DØ�>‰>€DØ�O‰O€EØ�O‰O€EØ×Ñ€FØ
�-‰-€CØ�>‰>€DØ�>‰>€DØ�O‰O€EØ�O‰O€EØ×Ñ€FØ×Ñ€Fà—N‘NØ—N‘NØ—O‘OØ—O‘OØ×$Ñ$Ø—M‘MØ—N‘NØ—N‘NØ—O‘OØ—O‘OØ×$Ñ$Ø×$Ñ$ð&€Lð ×Ñ€FØ
�-‰-€CØ�O‰O€Eà!×(Ñ(Ø!Ÿ™Ø!Ÿ™ð)ÐðØ�‰˜ðà�‰˜ðð 	�‰˜ðð 	�‰˜ð	ð
 	�‰˜ðð 	×Ñ˜%ðð 	�‰�uðð 	�‰˜ðð 	�‰˜ðð 	�‰˜ðð 	�‰˜ðð 	×Ñ˜'ðð 	×Ñ˜%ðð 	×Ñ˜&ðð 	�‰�xðð  	�‰˜ð!€Fð( 	�‰˜Ø�‰˜Ø�‰˜Ø�‰˜Ø�‰˜Ø×Ñ˜#Ø�‰�sØ�‰˜Ø�‰˜Ø�‰˜Ø�‰˜Ø×Ñ˜%Ø×Ñ˜#Ø×Ñ˜$Ø�‰�tð€Kð( 	�‰˜Ø�‰˜Ø�‰˜Ø�‰˜Ø×Ñ˜-Ø�‰�|Ø�‰˜Ø�‰˜Ø�‰˜Ø�‰˜Ø×Ñ˜.ð€Ið 	�‰Ð)Ø�‰Ð)Ø�‰Ð+Ø�‰Ð+Ø×ÑÐ-Ø�‰Ð)Ø�‰Ð+Ø�‰Ð*Ø�‰Ð,Ø�‰Ð-Ø×ÑÐ.ð€KðØ�‰˜ðà�‰˜ðð 	�‰˜ðð 	�‰˜ð	ð
 	�‰˜ðð 	×Ñ˜(ðð 	�‰�uðð 	�‰˜ðð 	�‰˜ðð 	�‰˜ðð 	�‰˜ðð 	×Ñ˜(ðð 	×Ñ˜(ðð 	×Ñ˜(ðð 	�‰�uðð  	�‰˜ð!€Gð&Ø�—‘ðà�	—‘ðð 	�	—‘ðð 	�—‘ð	ð
 	�—‘ðð 	�)×"Ñ"ðð 	ˆy�}‰}ðð 	�	—‘ðð 	�	—‘ðð 	�—‘ðð 	�—‘ðð 	�)×"Ñ"ðð 	�)×"Ñ"ðð 	�)×"Ñ"ðð 	ˆy�}‰}ðð  	�—‘ð!€Gð2 +/Ø.2ñ Ø,ð à$ð ð ð ð ð	 ð
 ð ð # 3™-ð ð ' s™mõ ð  ó ó ð ð óó ðð ð˜#ó ó ðð ð˜ó ó ðð ð�só ó ðð ð!˜X c™]ó !ó ð!ð  ð˜ #™ó ó ðð [_Ø&+ñ>w˜Cð >w¨°©ð >wÈÐRVÉð >wØ#ð>wØ03õ>wð@?˜ô ?ð˜˜c 3˜h™÷ rW   r   c                   ó    • \ rS rSrS rS rSrg)ÚFbsAttributeik  c                 ó   • g rR   r¦   r[   s    rT   rU   ÚFbsAttribute.__init__l  s   € ØrW   c                 ó"   • SR                  5       $ )NÚ )r}   r[   s    rT   rŒ   ÚFbsAttribute.__str__o  s   € Ø�y‰y‹{ÐrW   r¦   N)r–   r—   r˜   r™   rU   rŒ   r¥   r¦   rW   rT   r¨   r¨   k  s   † òõrW   r¨   c                   ó¤  • \ rS rSrSrSSSSS\S\S	\S
\S\S\S\	S\	S\
\\4   S\4S jr\S#S j5       r\S$S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\4S j5       r\S\	4S j5       r\S\	4S j5       r\S\
\\4   4S j5       r\S\4S j5       rS\4S jrS\
\\4   4S  jrS!rg")%ÚFbsFieldis  ©r   r   Ú_nameÚ_typeÚ_idÚ_offsetÚ_default_intÚ_default_realÚ_deprecatedÚ	_requiredÚ_attrsÚ_docsrH   rI   rJ   rK   rk   ÚtypeÚidÚoffsetÚdefault_intÚdefault_realÚ
deprecatedrq   rp   Údocsc                 ó”   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        X�l        X l	        X°l
        XÀl        g rR   r°   )rS   rH   rJ   rk   r»   r¼   r½   r¾   r¿   rÀ   rq   rp   rÁ   s                rT   rU   ÚFbsField.__init__w  sD   € ð &ÔØŒØŒ
ØŒ
ØŒØŒØ'ÔØ)ÔØ%ÔØ!ŒØŒØ�
rW   rX   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsField.repository‘  r]   rW   c                 ó   • U R                   $ rR   r_   r[   s    rT   rJ   ÚFbsField.schema•  ra   rW   c                 ó   • U R                   $ rR   ©r±   r[   s    rT   rk   ÚFbsField.name™  ó   € à�z‰zÐrW   c                 ó   • U R                   $ rR   )r²   r[   s    rT   r»   ÚFbsField.type�  rË   rW   c                 ó   • U R                   $ rR   ©r³   r[   s    rT   r¼   ÚFbsField.id¡  ó   € à�x‰xˆrW   c                 ó   • U R                   $ rR   )r´   r[   s    rT   r½   ÚFbsField.offset¥  ra   rW   c                 ó   • U R                   $ rR   )rµ   r[   s    rT   r¾   ÚFbsField.default_int©  ó   € à× Ñ Ð rW   c                 ó   • U R                   $ rR   )r¶   r[   s    rT   r¿   ÚFbsField.default_real­  ó   € à×!Ñ!Ð!rW   c                 ó   • U R                   $ rR   )r·   r[   s    rT   rÀ   ÚFbsField.deprecated±  r]   rW   c                 ó   • U R                   $ rR   )r¸   r[   s    rT   rq   ÚFbsField.requiredµ  ó   € à�~‰~ÐrW   c                 ó   • U R                   $ rR   ©r¹   r[   s    rT   rp   ÚFbsField.attrs¹  ó   € à�{‰{ÐrW   c                 ó   • U R                   $ rR   ©rº   r[   s    rT   rÁ   ÚFbsField.docs½  rË   rW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ r‡   r‰   r[   s    rT   rŒ   ÚFbsField.__str__Á  rŽ   rW   c                 óŒ  • U R                   U R                  (       a  U R                  R                  5       OS U R                  U R                  U R
                  U R                  U R                  U R                  0 U R                  S.
nU R                  (       a*  U R                  R                  5        H  u  p#X1S   U'   M     U$ )N)
rk   r»   r¼   r½   r¾   r¿   rÀ   rq   rp   rÁ   rp   )r±   r²   r‹   r³   r´   rµ   r¶   r·   r¸   rº   r¹   Úitems©rS   r’   ÚkÚvs       rT   r‹   ÚFbsField.marshalÄ  s”   € à—J‘JØ,0¯J¯J�D—J‘J×&Ñ&Ô(¸DØ—(‘(Ø—l‘lØ×,Ñ,Ø ×.Ñ.Ø×*Ñ*ØŸ™ØØ—J‘Jñ
ˆð �;�;ØŸ™×)Ñ)Ö+‘�Ø"#�G‘˜Q“ñ ,àˆ
rW   )r¹   rµ   r¶   r·   rº   r³   r±   r´   r   r¸   r   r²   Nr”   r•   )r–   r—   r˜   r™   r›   r!   r   r   r    r   r   r¨   rU   r¤   rH   rJ   rk   r»   r¼   r½   r¾   r¿   rÀ   rq   rp   rÁ   rŒ   r
   r‹   r¥   r¦   rW   rT   r¯   r¯   s  sí  † ðQ€IðØ,ðà$ðð ðð ð	ð
 ðð ðð "ðð  %ðð "ðð  ðð ˜S ,Ð.Ñ/ðð ôð4 ó ó ð ð óó ðð ð�có ó ðð ð�gó ó ðð ð�Có ó ðð ð˜ó ó ðð ð!˜Só !ó ð!ð ð"˜eó "ó ð"ð ð ˜Dó  ó ð ð ð˜$ó ó ðð ð�t˜C Ð-Ñ.ó ó ðð ð�có ó ðð?˜ô ?ð˜˜c 3˜h™÷ rW   r¯   c                 ó"  • 0 n[        U R                  5       5       Ho  nU R                  U5      nUR                  5       nU(       a  UR	                  S5      nUR                  5       nU(       a  UR	                  S5      nXA;  d   eXQU'   Mq     U$ )NÚutf8)ÚrangeÚAttributesLengthÚ
AttributesÚKeyÚdecodeÚValue)r’   rp   ÚjÚfbs_attrÚattr_keyÚ
attr_values         rT   Ú
parse_attrrú   ×  s‚   € Ø€EÜ�3×'Ñ'Ó)Ö*ˆØ—>‘> !Ó$ˆØ—<‘<“>ˆÞØ—‘ vÓ.ˆHØ—^‘^Ó%ˆ
ÞØ#×*Ñ*¨6Ó2ˆJØÓ$Ð$Ð$Ø$ˆh‹ñ +ð €LrW   c                 ó  • / n[        U R                  5       5       HM  nU R                  U5      nU(       d  M  UR                  S5      R	                  5       nUR                  U5        MO     SR                  U5      R	                  5       nU$ )Nrï   Ú )rð   ÚDocumentationLengthÚDocumentationrô   ÚstripÚappendÚjoin)r’   rÁ   rö   Údoc_lines       rT   Ú
parse_docsr  æ  st   € Ø€DÜ�3×*Ñ*Ó,Ö-ˆØ×$Ñ$ QÓ'ˆßˆ8Ø—‘ vÓ.×4Ñ4Ó6ˆHØ�K‰K˜Ö!ñ	 .ð �8‰8�D‹>×ÑÓ!€DØ€KrW   c                 óB  • 0 n0 n[        UR                  5       5       GHH  nUR                  U5      nUR                  5       nU(       a  UR	                  S5      n[        UR                  5       5      n	X…U	'   UR                  5       n
S n[        U UU
R                  5       U
R                  5       U
R                  5       US9n[        U UUUU	UR                  5       UR                  5       UR                  5       UR!                  5       UR#                  5       [%        U5      ['        U5      S9nX„;  d/   SR)                  UU	[+        UR-                  5       5      5      5       eXÔU'   GMK     / n[        [/        U5      5       H  nUR1                  XEU      5        M     XN4$ )Nrï   )rH   rJ   rL   rM   rN   rO   )rH   rJ   rk   r»   r¼   r½   r¾   r¿   rÀ   rq   rp   rÁ   z,field "{}" with id "{}" already in fields {})rð   ÚFieldsLengthÚFieldsÚNamerô   r   ÚIdÚTyper   r   ÚElementÚIndexr¯   ÚOffsetÚDefaultIntegerÚDefaultRealÚ
DeprecatedÚRequiredrú   r  r}   ÚsortedÚkeysÚlenr   )rH   rJ   r’   Úobjs_lstÚfields_by_nameÚfield_id_to_namerö   Ú	fbs_fieldÚ
field_nameÚfield_idÚfbs_field_typer   Ú
field_typeÚfieldÚfields_by_idÚis                   rT   Úparse_fieldsr  ò  s¶  € ð €Nð
 Ðä�3×#Ñ#Ó%×&ˆØŸ:™: a›=ˆ	à—^‘^Ó%ˆ
ÞØ#×*Ñ*¨6Ó2ˆJä�y—|‘|“~Ó&ˆð &0˜Ñ"à"Ÿ™Ó)ˆð ˆô ¨
Ø$*Ø&4×&=Ñ&=Ó&?Ø%3×%;Ñ%;Ó%=Ø#1×#7Ñ#7Ó#9Ø%-ñ/ˆ
ô  JØ &Ø(Ø(Ø$Ø )× 0Ñ 0Ó 2Ø%.×%=Ñ%=Ó%?Ø&/×&;Ñ&;Ó&=Ø$-×$8Ñ$8Ó$:Ø"+×"4Ñ"4Ó"6Ü)¨)Ó4Ü(¨Ó3ñ5ˆð Ó/ð 	FÐ1_×1fÑ1fÐgqØgoÜgmÐn|÷  oBñ  oBó  oDó  hEó2Fó 	FÐ/ð &+�zÔ"ña 'ðf €LÜ”3�~Ó&Ö'ˆØ×Ñ˜N¸AÑ+>Ñ?Ö@ñ (ð Ð'Ð'rW   c                 ó|  • 0 n0 n[        UR                  5       5       GH`  nUR                  U5      nUR                  5       nU(       a  UR	                  S5      nUn	UR                  5       n
U
R                  5       nU(       a  UR	                  S5      nU
R                  5       nU(       a  UR	                  S5      nU
R                  5       nU
R                  5       nU
R                  5       n[        U
5      n[        U
5      n[        XX£S9u  nn[        U UUUUUUUUUUS9nUR                  5       nUR                  5       nU(       a  UR	                  S5      nUR                  5       nU(       a  UR	                  S5      nUR                  5       nUR                  5       nUR                  5       n[        U5      n[        U5      n[        XUUS9u  nn[        U UUUUUUUUUUS9n[        U5      n [        U5      n![        U UUU	UUU U!S9n"X„;  d.   SR!                  X‰[#        UR%                  5       5      5      5       eU"XH'   X•;  d.   SR!                  X‰[#        UR%                  5       5      5      5       eX…U	'   GMc     / n#[#        UR'                  5       5       H  u  n$n%U#R)                  U%5        M     U#nXE4$ )Nrï   ©r  ©rH   rJ   Údeclaration_filerk   Úfieldsr  Ú	is_structÚ	min_alignÚbytesizerp   rÁ   )rH   rJ   rk   r¼   ÚrequestÚresponserÁ   rp   z*call "{}" with id "{}" already in calls {}z+call "{}" with id " {}" already in calls {})rð   ÚCallsLengthÚCallsr  rô   ÚRequestÚDeclarationFileÚIsStructÚMinalignÚBytesizer  rú   r  Ú	FbsObjectÚResponseÚ
FbsRPCCallr}   r  r  ré   r   )&rH   rJ   Úsvc_objr  ÚcallsÚcalls_by_idrö   Úfbs_callÚ	call_nameÚcall_idÚfbs_call_reqÚcall_req_nameÚcall_req_declaration_fileÚcall_req_is_structÚcall_req_min_alignÚcall_req_bytesizeÚcall_req_docsÚcall_req_attrsÚcall_req_fieldsÚcall_fields_by_idÚcall_reqÚfbs_call_respÚcall_resp_nameÚcall_resp_declaration_fileÚcall_resp_is_structÚcall_resp_min_alignÚcall_resp_bytesizeÚcall_resp_docsÚcall_resp_attrsÚcall_resp_fieldsÚcall_resp_fields_by_idÚ	call_respÚ	call_docsÚ
call_attrsÚcallÚresÚ_Úvalues&                                         rT   Úparse_callsrV  <  sö  € Ø€EØ€KÜ�7×&Ñ&Ó(×)ˆØ—=‘= Ó#ˆà—M‘M“Oˆ	ÞØ!×(Ñ(¨Ó0ˆIð ˆà×'Ñ'Ó)ˆØ$×)Ñ)Ó+ˆÞØ)×0Ñ0°Ó8ˆMØ$0×$@Ñ$@Ó$BÐ!Þ$Ø(A×(HÑ(HÈÓ(PÐ%Ø)×2Ñ2Ó4ÐØ)×2Ñ2Ó4ÐØ(×1Ñ1Ó3ÐÜ" <Ó0ˆÜ# LÓ1ˆÜ-9¸*ÈlÑ-nÑ*ˆÐ*Ü¨
Ø$*Ø.GØ"/Ø$3Ø*;Ø'9Ø'9Ø&7Ø#1Ø"/ñ
1ˆð !×)Ñ)Ó+ˆØ&×+Ñ+Ó-ˆÞØ+×2Ñ2°6Ó:ˆNØ%2×%BÑ%BÓ%DÐ"Þ%Ø)C×)JÑ)JÈ6Ó)RÐ&Ø+×4Ñ4Ó6ÐØ+×4Ñ4Ó6ÐØ*×3Ñ3Ó5ÐÜ# MÓ2ˆÜ$ ]Ó3ˆÜ3?À
ÐTaÐltÑ3uÑ0ÐÐ0Ü¨Ø%+Ø/IØ#1Ø%5Ø+AØ(;Ø(;Ø'9Ø$3Ø#1ñ
3ˆ	ô ˜xÓ(ˆ	Ü Ó)ˆ
Ü ZØ!'Ø(Ø$Ø"*Ø#,Ø(Ø *ñ,ˆð Ó%ð 	qÐ'S×'ZÑ'ZÐ[dÜ[aÐbg×blÑblÓbnÓ[oó(qó 	qÐ%àˆÑØÓ)ð 	vÐ+X×+_Ñ+_Ð`iÜ`fÐgl×gqÑgqÓgsÓ`tó,vó 	vÐ)à(�GÔñ[ *ð^ €CÜ˜;×,Ñ,Ó.Ö/‰ˆˆ5Ø�
‰
�5Öñ 0à€KØÐÐrW   c                   óò  • \ rS rSrSrSSSSS\S\S	\\\4   S
\\   S\	S\
S\
S\\\4   S\4S jrS'S\S\\	   S\	S\4S jjrS\S\4S jr\S(S j5       r\S)S j5       r\S\4S j5       r\S\4S j5       r\S\\\4   4S j5       r\S\\   4S j5       r\S\	4S j5       r\S\
4S j5       r\S\
4S j5       r\S\\\4   4S  j5       r\S\4S! j5       rS\4S" jrS\\\4   4S# jr\S*S% j5       r S&r!g$)+r1  i•  )r   r   Ú_declaration_filer±   Ú_fieldsÚ_fields_by_idÚ
_is_structÚ
_min_alignÚ	_bytesizer¹   rº   Ú
modulenameÚ	classnameÚmodule_relimportrH   rI   rJ   rK   r#  rk   r$  r  r%  r&  r'  rp   rÁ   c                 óˆ   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        X�l        X l	        X°l
        g rR   )r   r   rX  r±   rY  rZ  r[  r\  r]  r¹   rº   )rS   rH   rJ   r#  rk   r$  r  r%  r&  r'  rp   rÁ   s               rT   rU   ÚFbsObject.__init__š  s>   € ð &ÔØŒØ!1ÔØŒ
ØŒØ)ÔØ#ŒØ#ŒØ!ŒØŒØ�
rW   ro   rq   rr   rX   c                 ó  • US:X  aw  U R                   R                  S5      S   nU(       a)  U(       a  SR                  U5      $ SR                  U5      $ U(       a  SR                  U5      $ SR                  U5      $ [        5       e)Nrt   rv   rw   ry   rz   r{   r|   ©r±   r~   r}   r�   )rS   ro   rq   rr   Úklasss        rT   r‚   ÚFbsObject.map²  sw   € Ø�xÓØ—J‘J×$Ñ$ SÓ)¨"Ñ-ˆEÞ ö Ø!Ÿ=™=¨Ó/Ð/à+×2Ñ2°5Ó9Ð9æØŸ;™; uÓ-Ð-à)×0Ñ0°Ó7Ð7ä%Ó'Ð'rW   c                 ó¼   • US:X  aM  U R                   R                  S5      S   nU R                   R                  S5      S   nSR                  X#5      $ [        5       e)Nrt   rv   éþÿÿÿrw   zfrom {} import {}rd  )rS   ro   Úbasere  s       rT   Ú
map_importÚFbsObject.map_importÅ  sV   € Ø�xÓØ—:‘:×#Ñ# CÓ(¨Ñ,ˆDØ—J‘J×$Ñ$ SÓ)¨"Ñ-ˆEØ&×-Ñ-¨dÓ:Ð:ä%Ó'Ð'rW   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsObject.repositoryÍ  r]   rW   c                 ó   • U R                   $ rR   r_   r[   s    rT   rJ   ÚFbsObject.schemaÑ  ra   rW   c                 ó   • U R                   $ rR   ©rX  r[   s    rT   r#  ÚFbsObject.declaration_fileÕ  ó   € à×%Ñ%Ð%rW   c                 ó   • U R                   $ rR   rÉ   r[   s    rT   rk   ÚFbsObject.nameÙ  rË   rW   c                 ó   • U R                   $ rR   )rY  r[   s    rT   r$  ÚFbsObject.fieldsÝ  ra   rW   c                 ó   • U R                   $ rR   )rZ  r[   s    rT   r  ÚFbsObject.fields_by_idá  rÙ   rW   c                 ó   • U R                   $ rR   )r[  r[   s    rT   r%  ÚFbsObject.is_structå  ó   € à�‰ÐrW   c                 ó   • U R                   $ rR   )r\  r[   s    rT   r&  ÚFbsObject.min_aligné  r|  rW   c                 ó   • U R                   $ rR   )r]  r[   s    rT   r'  ÚFbsObject.bytesizeí  rÞ   rW   c                 ó   • U R                   $ rR   rà   r[   s    rT   rp   ÚFbsObject.attrsñ  râ   rW   c                 ó   • U R                   $ rR   rä   r[   s    rT   rÁ   ÚFbsObject.docsõ  rË   rW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ r‡   r‰   r[   s    rT   rŒ   ÚFbsObject.__str__ù  rŽ   rW   c           	      ó°  • U R                   U R                  0 U R                  U R                  U R                  0 U R
                  S.nU R                  (       aB  U R                  R                  5        H$  u  p#U(       a  UR                  5       OS US   U'   M&     U R                  (       a*  U R                  R                  5        H  u  p#X1S   U'   M     U$ )N)rk   r#  r$  r%  r&  r'  rp   rÁ   r$  rp   )
r±   rX  r[  r\  r]  rº   rY  ré   r‹   r¹   rê   s       rT   r‹   ÚFbsObject.marshalü  s¥   € à—J‘JØ $× 6Ñ 6ØØŸ™ØŸ™ØŸ™ØØ—J‘Jñ	
ˆð �<�<ØŸ™×*Ñ*Ö,‘�Þ23 1§9¡9¤;¸��H‘˜aÓ ñ -à�;�;ØŸ™×)Ñ)Ö+‘�Ø"#�G‘˜Q“ñ ,àˆ
rW   Nc                 ód  • UR                  5       nU(       a  UR                  S5      nUR                  5       nU(       a  UR                  S5      n[        U5      n[	        U5      n[        XX#S9u  p‰[        U UUUUU	UR                  5       UR                  5       UR                  5       UUS9n
U
$ )Nrï   r!  r"  )
r  rô   r-  r  rú   r  r1  r.  r/  r0  )rH   rJ   Úfbs_objr  Úobj_nameÚobj_declaration_fileÚobj_docsÚ	obj_attrsr  r  r’   s              rT   ÚparseÚFbsObject.parse  s°   € à—<‘<“>ˆÞØ—‘ vÓ.ˆHØ&×6Ñ6Ó8ÐÞØ#7×#>Ñ#>¸vÓ#FÐ Ü˜gÓ&ˆÜ˜wÓ'ˆ	ä'3°JÈÑ'cÑ$ˆä :Ø%Ø)=Ø%Ø-Ø%1Ø")×"2Ñ"2Ó"4Ø")×"2Ñ"2Ó"4Ø!(×!1Ñ!1Ó!3Ø'Ø%ñ
'ˆð ˆ
rW   )r¹   r]  rX  rº   rY  rZ  r[  r\  r±   r   r   )TFr”   r•   rR   )"r–   r—   r˜   r™   r›   r!   r   r¯   r   r   r   r¨   rU   r   r‚   rj  r¤   rH   rJ   r#  rk   r$  r  r%  r&  r'  rp   rÁ   rŒ   r
   r‹   Ústaticmethodr�  r¥   r¦   rW   rT   r1  r1  •  s0  † ð@€IðØ,ðà$ðð $'ðð ð	ð
 ˜c 8˜mÑ,ðð  $ H™~ðð !ðð  ðð ðð ˜S ,Ð.Ñ/ðð ôñ0(˜Cð (¨8°D©>ð (ÐUYð (Ðfiõ (ð&( 3ð (¨3ô (ð ó ó ð ð óó ðð ð& #ó &ó ð&ð ð�có ó ðð ð˜˜S (˜]Ñ+ó ó ðð ð"˜d 8™nó "ó ð"ð ð˜4ó ó ðð ð˜3ó ó ðð ð˜#ó ó ðð ð�t˜C Ð-Ñ.ó ó ðð ð�có ó ðð?˜ô ?ð˜˜c 3˜h™ô ð& óó órW   r1  c                   óÔ   • \ rS rSrSSSSS\S\S\S	\S
\S\\\4   4S jr	\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       rS rS rSrg)r3  i*  rH   rI   rJ   rK   rk   r¼   r(  r)  rÁ   rp   c	                 ód   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        g rR   )r   r   r±   r³   Ú_requestÚ	_responserº   r¹   )	rS   rH   rJ   rk   r¼   r(  r)  rÁ   rp   s	            rT   rU   ÚFbsRPCCall.__init__+  s-   € ð &ÔØŒØŒ
ØŒØŒØ!ŒØŒ
Ø�rW   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsRPCCall.repository=  r]   rW   c                 ó   • U R                   $ rR   r_   r[   s    rT   rJ   ÚFbsRPCCall.schemaA  ra   rW   c                 ó   • U R                   $ rR   rÉ   r[   s    rT   rk   ÚFbsRPCCall.nameE  rË   rW   c                 ó   • U R                   $ rR   rÏ   r[   s    rT   r¼   ÚFbsRPCCall.idI  rÑ   rW   c                 ó   • U R                   $ rR   )r”  r[   s    rT   r(  ÚFbsRPCCall.requestM  s   € à�}‰}ÐrW   c                 ó   • U R                   $ rR   )r•  r[   s    rT   r)  ÚFbsRPCCall.responseQ  rÞ   rW   c                 ó   • U R                   $ rR   rä   r[   s    rT   rÁ   ÚFbsRPCCall.docsU  rË   rW   c                 ó   • U R                   $ rR   rà   r[   s    rT   rp   ÚFbsRPCCall.attrsY  râ   rW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ r‡   r‰   r[   s    rT   rŒ   ÚFbsRPCCall.__str__]  rŽ   rW   c                 ó`  • U R                   U R                  (       a  U R                  R                  5       OS U R                  (       a  U R                  R                  5       OS 0 U R                  S.nU R
                  (       a*  U R
                  R                  5        H  u  p#X1S   U'   M     U$ )N)rk   r(  r)  rp   rÁ   rp   )r±   r”  r‹   r•  rº   r¹   ré   rê   s       rT   r‹   ÚFbsRPCCall.marshal`  s|   € à—J‘JØ26·-·-�t—}‘}×,Ñ,Ô.ÀTØ48·N·N˜Ÿ™×.Ñ.Ô0ÈØØ—J‘Jñ
ˆð �;�;ØŸ™×)Ñ)Ö+‘�Ø"#�G‘˜Q“ñ ,àˆ
rW   )r¹   rº   r³   r±   r   r”  r•  r   N)r–   r—   r˜   r™   r!   r   r1  r   r¨   rU   r¤   rH   rJ   rk   r¼   r(  r)  rÁ   rp   rŒ   r‹   r¥   r¦   rW   rT   r3  r3  *  s  † ðØ,ðà$ðð ðð ð	ð
 $ðð %ðð ðð ˜S ,Ð.Ñ/ôð$ ñ ó ð ð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðò?õrW   r3  c                   óä   • \ rS rSrSSSSS\S\S\\\4   S	\\   S
\\\4   S\4S jr	\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       r\
S 5       rS rS rSrg)Ú
FbsServicein  rH   rI   rJ   rK   r#  rk   r5  r6  rp   rÁ   c	                 ód   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        g rR   )r   r   rX  r±   Ú_callsÚ_calls_by_idr¹   rº   )	rS   rH   rJ   r#  rk   r5  r6  rp   rÁ   s	            rT   rU   ÚFbsService.__init__o  s/   € ð &ÔØŒØ!1ÔØŒ
ØŒØ'ÔØŒØ�
rW   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsService.repository�  r]   rW   c                 ó   • U R                   $ rR   r_   r[   s    rT   rJ   ÚFbsService.schema…  ra   rW   c                 ó   • U R                   $ rR   rq  r[   s    rT   r#  ÚFbsService.declaration_file‰  rs  rW   c                 ó   • U R                   $ rR   rÉ   r[   s    rT   rk   ÚFbsService.name�  rË   rW   c                 ó   • U R                   $ rR   )r®  r[   s    rT   r5  ÚFbsService.calls‘  râ   rW   c                 ó   • U R                   $ rR   )r¯  r[   s    rT   r6  ÚFbsService.calls_by_id•  rÖ   rW   c                 ó   • U R                   $ rR   rà   r[   s    rT   rp   ÚFbsService.attrs™  râ   rW   c                 ó   • U R                   $ rR   rä   r[   s    rT   rÁ   ÚFbsService.docs�  rË   rW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ r‡   r‰   r[   s    rT   rŒ   ÚFbsService.__str__¡  rŽ   rW   c                 ó\  • U R                   U R                  0 0 U R                  S.nU R                  (       a9  U R                  R	                  5        H  u  p#UR                  5       US   U'   M     U R                  (       a*  U R                  R	                  5        H  u  p#X1S   U'   M     U$ )N)rk   r#  r5  rp   rÁ   r5  rp   )r±   rX  rº   r®  ré   r‹   r¹   rê   s       rT   r‹   ÚFbsService.marshal¤  s‹   € à—J‘JØ $× 6Ñ 6ØØØ—J‘Jñ
ˆð �;�;ØŸ™×)Ñ)Ö+‘�Ø"#§)¡)£+��G‘˜Q“ñ ,à�;�;ØŸ™×)Ñ)Ö+‘�Ø"#�G‘˜Q“ñ ,àˆ
rW   )r¹   r®  r¯  rX  rº   r±   r   r   N)r–   r—   r˜   r™   r!   r   r3  r   r¨   rU   r¤   rH   rJ   r#  rk   r5  r6  rp   rÁ   rŒ   r‹   r¥   r¦   rW   rT   r¬  r¬  n  s  † ðØ,ðà$ðð $'ðð ð	ð
 ˜S *˜_Ñ-ðð # :Ñ.ðð ˜S ,Ð.Ñ/ðð ôð$ ñ ó ð ð ñó ðð ñ&ó ð&ð ñó ðð ñó ðð ñ!ó ð!ð ñó ðð ñó ðò?õrW   r¬  c                   óª   • \ rS rSrSSSSS\S\4S jr\S	 5       r\S
 5       r	\S 5       r
\S 5       r\S 5       r\S 5       r\S 5       rS rS rSrg)ÚFbsEnumValueiµ  rH   rI   rJ   rK   rk   r¼   c                 óZ   • Xl         X l        X0l        X@l        XPl        0 U l        X`l        g)z=

:param repository:
:param name:
:param value:
:param docs:
N)r   r   r±   r³   Ú_valuer¹   rº   )rS   rH   rJ   rk   r¼   rU  rÁ   s          rT   rU   ÚFbsEnumValue.__init__¶  s*   € ð &ÔØŒØŒ
ØŒØŒØˆŒØ�
rW   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsEnumValue.repositoryÌ  r]   rW   c                 ó   • U R                   $ rR   r_   r[   s    rT   rJ   ÚFbsEnumValue.schemaÐ  ra   rW   c                 ó   • U R                   $ rR   rÉ   r[   s    rT   rk   ÚFbsEnumValue.nameÔ  rË   rW   c                 ó   • U R                   $ rR   rÏ   r[   s    rT   r¼   ÚFbsEnumValue.idØ  rÑ   rW   c                 ó   • U R                   $ rR   )rÈ  r[   s    rT   rU  ÚFbsEnumValue.valueÜ  râ   rW   c                 ó   • U R                   $ rR   rà   r[   s    rT   rp   ÚFbsEnumValue.attrsà  râ   rW   c                 ó   • U R                   $ rR   rä   r[   s    rT   rÁ   ÚFbsEnumValue.docsä  rË   rW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ r‡   r‰   r[   s    rT   rŒ   ÚFbsEnumValue.__str__è  rŽ   rW   c                 óð   • U R                   U R                  U R                  U R                  U R                  S.nU R                  (       a*  U R                  R                  5        H  u  p#X1S   U'   M     U$ )N)r¼   rk   rp   rÁ   rU  rp   )r³   r±   r¹   rº   rÈ  ré   rê   s       rT   r‹   ÚFbsEnumValue.marshalë  s^   € à—(‘(Ø—J‘JØ—[‘[Ø—J‘JØ—[‘[ñ
ˆð �;�;ØŸ™×)Ñ)Ö+‘�Ø"#�G‘˜Q“ñ ,àˆ
rW   )r¹   rº   r³   r±   r   r   rÈ  N)r–   r—   r˜   r™   r!   r   rU   r¤   rH   rJ   rk   r¼   rU  rp   rÁ   rŒ   r‹   r¥   r¦   rW   rT   rÆ  rÆ  µ  sÁ   † ðØ,ðà$ðð ðð ô	ð, ñ ó ð ð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðð ñó ðò?õrW   rÆ  c                   ó$  • \ rS rSrSrSSSSS\S\S	\S
\\\4   S\	\   S\
S\S\\\4   S\4S jr\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       rS rS rSrg) ÚFbsEnumiù  z�
FlatBuffers enum type.

See https://github.com/google/flatbuffers/blob/11a19887053534c43f73e74786b46a615ecbf28e/reflection/reflection.fbs#L61
rH   rI   rJ   rK   r#  rk   r¼   ÚvaluesÚvalues_by_idÚis_unionÚunderlying_typerp   rÁ   c                 óˆ   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        X�l        X l	        X°l
        g rR   )r   r   rX  r±   r³   Ú_valuesÚ_values_by_idÚ	_is_unionÚ_underlying_typer¹   rº   )rS   rH   rJ   r#  rk   r¼   rÞ  rß  rà  rá  rp   rÁ   s               rT   rU   ÚFbsEnum.__init__   sA   € ð &ÔØŒØ!1ÔØŒ
ØŒØŒØ)ÔØ!Œð !0ÔØŒØ�
rW   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsEnum.repository  r]   rW   c                 ó   • U R                   $ rR   r_   r[   s    rT   rJ   ÚFbsEnum.schema  ra   rW   c                 ó   • U R                   $ rR   rq  r[   s    rT   r#  ÚFbsEnum.declaration_file"  rs  rW   c                 ó   • U R                   $ rR   rÉ   r[   s    rT   rk   ÚFbsEnum.name&  rË   rW   c                 ó   • U R                   $ rR   rÏ   r[   s    rT   r¼   Ú
FbsEnum.id*  rÑ   rW   c                 ó   • U R                   $ rR   )rã  r[   s    rT   rÞ  ÚFbsEnum.values.  ra   rW   c                 ó   • U R                   $ rR   )rä  r[   s    rT   rß  ÚFbsEnum.values_by_id2  rÙ   rW   c                 ó   • U R                   $ rR   )rå  r[   s    rT   rà  ÚFbsEnum.is_union6  rÞ   rW   c                 ó   • U R                   $ rR   )ræ  r[   s    rT   rá  ÚFbsEnum.underlying_type:  s   € à×$Ñ$Ð$rW   c                 ó   • U R                   $ rR   rà   r[   s    rT   rp   ÚFbsEnum.attrs>  râ   rW   c                 ó   • U R                   $ rR   rä   r[   s    rT   rÁ   ÚFbsEnum.docsB  rË   rW   c                 óh   • SR                  [        R                  " U R                  5       5      5      $ r‡   r‰   r[   s    rT   rŒ   ÚFbsEnum.__str__F  rŽ   rW   c                 óÄ  • U R                   U R                  0 U R                  [        R                  R                  U R                  S 5      0 U R                  S.nU R                  (       a9  U R                  R                  5        H  u  p#UR                  5       US   U'   M     U R                  (       a*  U R                  R                  5        H  u  p#X1S   U'   M     U$ )N)rk   r¼   rÞ  rà  rá  rp   rÁ   rÞ  rp   )r±   r³   rå  r   r�   r‘   ræ  rº   rã  ré   r‹   r¹   rê   s       rT   r‹   ÚFbsEnum.marshalI  s«   € à—J‘JØ—(‘(ØØŸ™Ü&Ÿ™×2Ñ2°4×3HÑ3HÈ$ÓOØØ—J‘Jñ
ˆð �<�<ØŸ™×*Ñ*Ö,‘�Ø#$§9¡9£;��H‘˜aÓ ñ -à�;�;ØŸ™×)Ñ)Ö+‘�Ø"#�G‘˜Q“ñ ,àˆ
rW   )r¹   rX  rº   r³   rå  r±   r   r   ræ  rã  rä  N)r–   r—   r˜   r™   rš   r!   r   r   rÆ  r   r   r¨   rU   r¤   rH   rJ   r#  rk   r¼   rÞ  rß  rà  rá  rp   rÁ   rŒ   r‹   r¥   r¦   rW   rT   rÝ  rÝ  ù  su  † ñðØ,ðà$ðð $'ðð ð	ð
 ðð ˜c <Ð/Ñ0ðð  $ LÑ1ðð  ðð #&ðð ˜S ,Ð.Ñ/ðð ôð4 ñ ó ð ð ñó ðð ñ&ó ð&ð ñó ðð ñó ðð ñó ðð ñ"ó ð"ð ñó ðð ñ%ó ð%ð ñó ðð ñó ðò?õrW   rÝ  c            !       ó6  • \ rS rSrSr      S+SSS\S\S\S	\S
\S\\\\4      S\	S\
S\\\\	4      S\\\	      S\\\\4      S\\\      S\\\\4      S\\\      4S jjr\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S  5       r\S! 5       r\S" 5       r\S# 5       rS$ rS%\\\ 4   4S& jr!\" S,SSS'\#\\$RJ                  \&\'   4   S(\\   S%S 4S) jj5       r(S*r)g)-rK   i\  z
    NrH   rI   Ú	file_nameÚfile_sha256Ú	file_sizeÚ
file_identÚfile_extÚ	fbs_filesÚ
root_tableÚrootÚobjsrj   ÚenumsÚenums_by_idÚservicesÚservices_by_idc                 ó¸   • Xl         X l        X0l        X@l        XPl        X`l        Xpl        X€l        X�l        X l	        X°l
        XÀl        XÐl        Xàl        Xðl        g)a  

:param repository:
:param file_name:
:param file_sha256:
:param file_size:
:param file_ident:
:param file_ext:
:param fbs_files:
:param root_table:
:param root:
:param objs:
:param objs_by_id:
:param enums:
:param enums_by_id:
:param services:
:param services_by_id:
N)r   Ú
_file_nameÚ_file_sha256Ú
_file_sizeÚ_file_identÚ	_file_extÚ
_fbs_filesÚ_root_tableÚ_rootÚ_objsÚ_objs_by_idÚ_enumsÚ_enums_by_idÚ	_servicesÚ_services_by_id)rS   rH   r  r  r  r  r  r  r	  r
  r  rj   r  r  r  r  s                   rT   rU   ÚFbsSchema.__init__`  sW   € ðD &ÔØ#ŒØ'ÔØ#ŒØ%ÔØ!ŒØ#ŒØ%ÔØŒ
ØŒ
Ø%ÔØŒØ'ÔØ!ŒØ-ÕrW   c                 ó   • U R                   $ rR   rZ   r[   s    rT   rH   ÚFbsSchema.repository’  r]   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.file_name–  r|  rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.file_sha256š  rÖ   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.file_sizež  r|  rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.file_ident¢  r]   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.file_ext¦  rÞ   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.fbs_filesª  r|  rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r	  ÚFbsSchema.root_table®  r]   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r
  ÚFbsSchema.root²  rË   rW   c                 ó   • U R                   $ rR   ©r  r[   s    rT   r  ÚFbsSchema.objs¶  rË   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   rj   ÚFbsSchema.objs_by_idº  r]   rW   c                 ó   • U R                   $ rR   ©r  r[   s    rT   r  ÚFbsSchema.enums¾  râ   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.enums_by_idÂ  rÖ   rW   c                 ó   • U R                   $ rR   ©r  r[   s    rT   r  ÚFbsSchema.servicesÆ  rÞ   rW   c                 ó   • U R                   $ rR   )r  r[   s    rT   r  ÚFbsSchema.services_by_idÊ  s   € à×#Ñ#Ð#rW   c                 óf   • SR                  [        R                  " U R                  5       SS95      $ )Nrˆ   éÿ   )Úwidthr‰   r[   s    rT   rŒ   ÚFbsSchema.__str__Î  s"   € Ø�‰œvŸ~š~¨d¯l©l«nÀCÑHÓIÐIrW   rX   c                 ó†  • U R                   U R                  U R                  (       a)  [        R                  R                  U R                  5      OSU R                  U R                  U R                  [        U R                  5      [        U R                  5      [        U R                  5      S.	U R                  (       a  U R                  R                  5       OS0 0 0 S.nU R                  (       a9  U R                  R                  5        H  u  p#UR                  5       US   U'   M     U R                  (       a9  U R                  R                  5        H  u  p#UR                  5       US   U'   M     U R                  (       a9  U R                  R                  5        H  u  p#UR                  5       US   U'   M     U$ )z

:return:
N)	ÚidentÚextrk   ÚfilesÚsha256ÚsizeÚobjectsr  r  )rJ   r	  r  rK  r  r  rK  r  )r  r  r  ÚosÚpathÚbasenamer  r  r  r  r  r  r  r  r‹   ré   rê   s       rT   r‹   ÚFbsSchema.marshalÑ  sB  € ð ×)Ñ)Ø—~‘~Ø=A¿_¿_œŸ™×(Ñ(¨¯©Ô9ÐRVØŸ™Ø×+Ñ+ØŸ™Ü˜tŸz™z›?Ü˜TŸ[™[Ó)Ü §¡Ó/ñ
ð 9=×8H×8H˜$×*Ñ*×2Ñ2Ô4ÈdØØØñ
ˆð" �;�;ØŸ™×)Ñ)Ö+‘�Ø"#§)¡)£+��G‘˜Q“ñ ,à�:�:ØŸ
™
×(Ñ(Ö*‘�Ø$%§I¡I£K��I‘˜qÓ!ñ +à�>�>ØŸ™×,Ñ,Ö.‘�Ø%&§Y¡Y£[��J‘ Ó"ñ /àˆ
rW   ÚsfileÚfilenamec                 ó\
  • [        U5      [        :X  aJ  [        R                  R	                  U5      (       a&  [        US5       nUR                  5       nSSS5        OUR                  5       n[        R                  " 5       nUR                  W5        [        R                  " US5      nUR                  5       nUb  UR                  S5      nUR                  5       nUb  UR                  S5      n/ n	[        UR!                  5       5       H¬  n
UR#                  U
5      nUR%                  5       nU(       a  UR                  S5      n/ n[        UR'                  5       5       H=  nUR)                  U5      nU(       a  UR                  S5      nUR+                  U5        M?     U	R+                  UUS.5        M®     UR-                  5       nUb  [.        R1                  U U5      n[3        U U[5        U5      UR7                  5       UUU	UUS9	n0 n/ n[        UR9                  5       5       GHj  n
UR;                  U
5      nUR=                  5       nU(       a  UR                  S5      nUR?                  5       nU(       a  UR                  S5      nURA                  5       n0 n/ n[        URC                  5       5       Hƒ  nURE                  U5      nUR=                  5       nU(       a  UR                  S5      nURG                  5       n[I        U5      n[K        U UUUUUS9nUU;  d   eUUU'   UR+                  U5        M…     [M        U UUUU
UUURO                  5       U[Q        U5      [I        U5      S9nUU;  d   eUUU'   UR+                  U5        GMm     UUl)        UUl*        0 n / n![        URW                  5       5       H\  n
URY                  U
5      n"[.        R1                  U UU"U!S	9n#U#RZ                  U ;  d   eU#U U#RZ                  '   U!R+                  U#5        M^     U Ul.        U!Ul/        0 n$/ n%[        URa                  5       5       H·  n
URc                  U
5      n&U&R=                  5       n'U'(       a  U'R                  S5      n'U&R?                  5       n(U((       a  U(R                  S5      n([I        U&5      n)[Q        U&5      n*[e        U UU&U!S	9u  n+n,[g        U UU(U'U+U,U*U)S
9n-U'U$;  d   eU-U$U''   U%R+                  U-5        M¹     U$Ul4        U%Ul5        U$ ! , (       d  f       GN½= f)z=

:param repository:
:param sfile:
:param filename:
:return:
ÚrbNr   rï   )rQ  Úincluded_filenames)	rH   r  r  r  r  r  r  r	  r
  )rH   rJ   rk   r¼   rU  rÁ   )rH   rJ   r#  rk   r¼   rÞ  rß  rà  rá  rp   rÁ   r!  )rH   rJ   r#  rk   r5  r6  rp   rÁ   )6r»   r!   rL  rM  ÚisfileÚopenÚreadÚhashlibrI  ÚupdateÚ_SchemaÚGetRootAsSchemaÚ	FileIdentrô   ÚFileExtrð   ÚFbsFilesLengthÚFbsFilesÚFilenameÚIncludedFilenamesLengthÚIncludedFilenamesr   Ú	RootTabler1  r�  rK   r  Ú	hexdigestÚEnumsLengthÚEnumsr  r-  ÚUnderlyingTypeÚValuesLengthÚValuesrõ   r  rÆ  rÝ  ÚIsUnionrú   r  r  ÚObjectsLengthÚObjectsrk   r  r  ÚServicesLengthÚServicesrV  r¬  r  r  ).rH   rP  rQ  ÚfdÚdataÚmr
  r  r  r  r  Úschema_fileÚschema_file_filenameÚschema_file_included_filenamesrö   Úincluded_filenamer	  rJ   r  r  Úfbs_enumÚ	enum_nameÚenum_declaration_fileÚenum_underlying_typeÚenum_valuesÚenum_values_by_idÚfbs_enum_valueÚenum_value_nameÚenum_value_valueÚenum_value_docsÚ
enum_valueÚenumr  rj   rŠ  r’   r  r  r4  Úsvc_nameÚsvc_declaration_filerÁ   rp   r5  r6  Úservices.                                                 rT   ÚloadÚFbsSchema.loadò  sü  € ô �‹;œ#Ó¤"§'¡'§.¡.°×"7Ñ"7Ü�e˜TÔ" bØ—w‘w“y�÷ #Ð"ð —:‘:“<ˆDÜ�NŠNÓˆØ	�‰�Œô
 ×&Ò& t¨QÓ/ˆà—^‘^Ó%ˆ
ØÑ!Ø#×*Ñ*¨6Ó2ˆJà—<‘<“>ˆØÑØ—‘ vÓ.ˆHàˆ	Ü�t×*Ñ*Ó,Ö-ˆAàŸ-™-¨Ó*ˆKØ#.×#7Ñ#7Ó#9Ð Þ#Ø';×'BÑ'BÀ6Ó'JÐ$Ø-/Ð*Ü˜;×>Ñ>Ó@ÖA�Ø$/×$AÑ$AÀ!Ó$DÐ!Þ$Ø(9×(@Ñ(@ÀÓ(HÐ%Ø.×5Ñ5Ð6GÖHñ	 Bð
 ×Ñà 4Ø*Hñöñ .ð& —^‘^Ó%ˆ
ØÑ!Ü"Ÿ™¨°ZÓ@ˆJä jØ%-Ü%(¨£YØ'(§{¡{£}Ø&0Ø$,Ø%.Ø&0Ø $ñ&ˆð ˆØˆÜ�t×'Ñ'Ó)×*ˆAØ—z‘z !“}ˆHà Ÿ™›ˆIÞØ%×,Ñ,¨VÓ4�	à$,×$<Ñ$<Ó$>Ð!Þ$Ø(=×(DÑ(DÀVÓ(LÐ%à#+×#:Ñ#:Ó#<Ð àˆKØ "ÐÜ˜8×0Ñ0Ó2Ö3�Ø!)§¡°Ó!3�Ø"0×"5Ñ"5Ó"7�Þ"Ø&5×&<Ñ&<¸VÓ&D�OØ#1×#7Ñ#7Ó#9Ð Ü",¨^Ó"<�Ü)°ZØ17Ø/>Ø-.Ø0@Ø/>ñ@�
ð '¨kÓ9Ð9Ð9Ø/9�˜OÑ,Ø!×(Ñ(¨Ö4ñ 4ô"  jØ"(Ø,AØ )ØØ"-Ø(9Ø$,×$4Ñ$4Ó$6Ø+?Ü!+¨HÓ!5Ü *¨8Ó 4ñ
6ˆDð  EÓ)Ð)Ð)Ø#ˆE�)ÑØ×Ñ˜t×$ñ[ +ð\ ˆŒØ)ˆÔð ˆØˆ
Ü�t×)Ñ)Ó+Ö,ˆAØ—l‘l 1“oˆGÜ—/‘/ *¨f°gÈ
�/ÐSˆCØ—8‘8 4Ó'Ð'Ð'Ø ˆD�—‘‰NØ×Ñ˜cÖ"ñ -ð ˆŒØ'ˆÔð ˆØˆÜ�t×*Ñ*Ó,Ö-ˆAØ—m‘m AÓ&ˆGà—|‘|“~ˆHÞØ#Ÿ?™?¨6Ó2�à#*×#:Ñ#:Ó#<Ð Þ#Ø';×'BÑ'BÀ6Ó'JÐ$ä˜gÓ&ˆDÜ˜wÓ'ˆEÜ!,¨Z¸ÀÐS]Ñ!^ÑˆE�;ä ¨JØ(.Ø2FØ&.Ø',Ø-8Ø',Ø&*ñ,ˆGð  8Ó+Ð+Ð+Ø!(ˆH�XÑØ×!Ñ! 'Ö*ñ3 .ð4 $ˆÔØ!/ˆÔàˆ÷o #Ö"ús   ÁTÔ
T+)r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  )NNNNNNrR   )*r–   r—   r˜   r™   rš   r!   r   r   r   r1  rZ  r   rÝ  r¬  rU   r¤   rH   r  r  r  r  r  r  r	  r
  r  rj   r  r  r  r  rŒ   r"   r‹   r‘  r   ÚioÚ	RawIOBaser	   r   r…  r¥   r¦   rW   rT   rK   rK   \  s¤  † ñð 9=Ø9=Ø7;Ø8<Ø=AØ>Bñ0.Ø,ð0.àð0.ð "ð0.ð  ð	0.ð
 !ð0.ð ð0.ð !  c¨3 h¡Ñ0ð0.ð 'ð0.ð ð0.ð    S¨) ^Ñ 4Ñ5ð0.ð & d¨9¡oÑ6ð0.ð !  c¨7 lÑ!3Ñ4ð0.ð ' t¨G¡}Ñ5ð0.ð $ D¨¨j¨Ñ$9Ñ:ð0.ð "*¨$¨zÑ*:Ñ!;õ0.ðd ñ ó ð ð ñó ðð ñ!ó ð!ð ñó ðð ñ ó ð ð ñó ðð ñó ðð ñ ó ð ð ñó ðð ñó ðð ñ ó ð ð ñó ðð ñ!ó ð!ð ñó ðð ñ$ó ð$òJð˜˜c 6˜kÑ*ô ðB ð (,ñc˜ð cØ˜#˜rŸ|™|¨R°©YÐ6Ñ7ðcà ‘}ðcà0;ôcó ócrW   rK   rU  c                 ó  • U R                   R                  [        R                  ;   a[  [        R                  U R                   R                     n[        U5      U:w  a$  [	        SR                  [        U5      U5      5      eg  S5       e)Nz&invalid type {} for value, expected {}ri   )r»   rL   r   r    r   r}   )r  rU  Úexpected_types      rT   Úvalidate_scalarr‹  ™  st   € ð ‡z�z×Ñœg×1Ñ1Ó1Ü×+Ñ+¨E¯J©J×,?Ñ,?Ñ@ˆÜ�‹;˜-Ó'Ü Ð!I×!PÑ!PÔQUÐV[ÓQ\Ð^kÓ!lÓmÐmð (ð 	�gÓˆurW   c            	       óŽ  • \ rS rSrSrS\4S jr\S\SS 4S j5       r\S\SS 4S	 j5       r	\
S\4S
 j5       r\
S\\\4   4S j5       r\
S\\\4   4S j5       r\
S\\\4   4S j5       r\
S\\\4   4S j5       r\
S 5       rS\S\\\4   4S jrSS jrS rS rS\\   S\\   4S jrS\S\\   S\\\4   S\\   4S jr Sr!g)rI   i¥  zž
crossbar.interfaces.IInventory
  - add: FbsRepository[]
    - load: FbsSchema[]

https://github.com/google/flatbuffers/blob/master/reflection/reflection.fbs
Ú
basemodulec                 ó|   • [         R                  " 5       U l        Xl        0 U l        0 U l        0 U l        0 U l        g rR   )ÚtxaioÚmake_loggerÚlogÚ_basemoduleÚ	_schematar  r  r  )rS   r�  s     rT   rU   ÚFbsRepository.__init__®  s4   € Ü×$Ò$Ó&ˆŒØ%ÔØ/1ˆŒØ+-ˆŒ
Ø*,ˆŒØ02ˆ�rW   rQ  rX   c                 ó   • [        5       nU$ rR   ©rI   )rQ  Úcatalogs     rT   Úfrom_archiveÚFbsRepository.from_archive¶  ó   € ä“/ˆØˆrW   Úaddressc                 ó   • [        5       nU$ rR   r–  )r›  r—  s     rT   Úfrom_addressÚFbsRepository.from_address»  rš  rW   c                 ó   • U R                   $ rR   )r’  r[   s    rT   r�  ÚFbsRepository.basemoduleÀ  r]   rW   c                 ó   • U R                   $ rR   )r“  r[   s    rT   ÚschemasÚFbsRepository.schemasÄ  rÞ   rW   c                 ó   • U R                   $ rR   r3  r[   s    rT   r  ÚFbsRepository.objsÈ  rË   rW   c                 ó   • U R                   $ rR   r8  r[   s    rT   r  ÚFbsRepository.enumsÌ  râ   rW   c                 ó   • U R                   $ rR   r=  r[   s    rT   r  ÚFbsRepository.servicesÐ  rÞ   rW   c                 ó„   • [        U R                  5      [        U R                  5      -   [        U R                  5      -   $ rR   )r  r  r  r  r[   s    rT   Útotal_countÚFbsRepository.total_countÔ  s,   € ä�4—:‘:‹¤ T§[¡[Ó!1Ñ1´C¸¿¹Ó4GÑGÐGrW   c                 ó
  • Sn/ n[         R                  R                  U5      (       as  [        U5      R	                  S5       HS  n[         R                  R                  XR                  5      nXPR                  ;  a  UR                  U5        MN  US-  nMU     GO[         R                  R                  U5      (       a'  XR                  ;  a  UR                  U5        OØUS-  nOÒSU;   a²  UR                  S5       Hœ  n[         R                  R                  U5      n[         R                  R                  U5      (       a>  X`R                  ;  a  UR                  U5        Mh  [        SR                  U5      5        M„  [        SR                  U5      5      e   O[        SR                  U5      5      eSnSnSn	U GH5  n[        R!                  X5      n
U
R"                  R%                  5        H<  nUR                  U R&                  ;   a  US-  nM$  X°R&                  UR                  '   M>     U
R(                  R%                  5        H<  nUR                  U R*                  ;   a  US-  nM$  XÀR*                  UR                  '   M>     U
R,                  R%                  5        H<  nUR                  U R.                  ;   a  U	S-  n	M$  XÐR.                  UR                  '   M>     X R                  U'   GM8     Xx-   U	-   nX.4$ )a  
Load and add all schemata from Flatbuffers binary schema files (`*.bfbs`)
found in the given directory. Alternatively, a path to a single schema file
can be provided.

:param filename: Filesystem path of a directory or single file from which to
    load and add Flatbuffers schemata.
r   z*.bfbsé   Ú,z3duplicate schema file skipped ("{}" already loaded)z"{}" in list is not a filez*cannot open schema file or directory: "{}")rL  rM  Úisdirr   Úrglobr  rk   r“  r   rU  r~   Ú
expanduserÚprintr}   rƒ   rK   r…  r  rÞ  r  r  r  r  r  )rS   rQ  Ú	file_dupsÚload_from_filenamesrM  ÚfnÚfilename_singleÚ	enum_dupsÚobj_dupsÚsvc_dupsrJ   r�  r’   ÚsvcÚ	type_dupss                  rT   r…  ÚFbsRepository.loadØ  s`  € ð ˆ	Ø ÐÜ�7‰7�=‰=˜×"Ñ"Ü˜X›×,Ñ,¨XÖ6�Ü—W‘W—\‘\ (¯I©IÓ6�ØŸ^™^Ó+Ø'×.Ñ.¨rÖ2ð  ‘N’Ió 7ô �W‰W�^‰^˜H×%Ñ%ØŸ~™~Ó-Ø#×*Ñ*¨8Õ4ð ˜Q‘‘	Ø�H‹_Ø#+§>¡>°#Ö#6�Ü"$§'¡'×"4Ñ"4°_Ó"E�ä—7‘7—>‘> /×2Ñ2Ø&¯n©nÓ<Ø+×2Ñ2°?ÖCäÐS×ZÑZÐ[jÓkÖlä&Ð'C×'JÑ'JÈ?Ó'[Ó\Ð\ò $7ô ÐK×RÑRÐS[Ó\Ó]Ð]àˆ	ØˆØˆô &ˆBä )§¡¨tÓ 8ˆFð Ÿ™×+Ñ+Ö-�Ø—9‘9 §¡Ó+à ‘N’Ià-1—K‘K §	¡	Ó*ñ .ð —{‘{×)Ñ)Ö+�Ø—8‘8˜tŸz™zÓ)à ‘M’Hà+.—J‘J˜sŸx™xÓ(ñ ,ð —‘×-Ñ-Ö/�Ø—8‘8˜tŸ~™~Ó-à ‘M’Hà/2—N‘N 3§8¡8Ó,ñ 0ð "(�N‰N˜2Ôñ9 &ð< Ñ(¨8Ñ3ˆ	ØÐ#Ð#rW   c                 óÌ  • U(       a‹  [        U R                  R                  5       5      [        U R                  R                  5       5      [        U R                  R                  5       5      [        U R
                  R                  5       5      S.$ [        U R                  5      [        U R                  5      [        U R                  5      [        U R
                  5      S.$ )N)Úschematar  r  r  )r  r“  r  r  r  r  r  )rS   r  s     rT   ÚsummaryÚFbsRepository.summary%  sœ   € Þä" 4§>¡>×#6Ñ#6Ó#8Ó9Ü˜tŸz™zŸ™Ó0Ó1Ü §¡× 0Ñ 0Ó 2Ó3Ü" 4§>¡>×#6Ñ#6Ó#8Ó9ñ	ð ô   §¡Ó/Ü˜DŸJ™J›Ü˜TŸ[™[Ó)Ü §¡Ó/ñ	ð rW   c                 ó0  • SnSnSnU R                   R                  5        GHª  u  pEUR                  R                  SU R                  5      nUR                  S5      S   nUR                  (       a  SOUnSR                  UR                  (       a  S	OS
U5      n	[        SR                  [        SR                  SU	SS[        U	5      -
  -  5      US95      5        U(       a.  [        SR                  [        U5      [        U5      5      5        O#[        SR                  [        U5      5      5        [        5         [        [        R                  " UR                  SSSSSSSSSSS95        [        5         UR                   GH6  n
[        R                  " U
R                  SSSSSSSSSSS9nU
R                   R"                  [$        R&                  :X  ao  U
R                   R(                  R                  S5      S   nU R                   U
R                   R(                     R                  (       a  [        USS9nO¤[        XÁS9nOšU
R                   R"                  [$        R*                  :X  aA  SR                  [$        R,                  U
R                   R.                     5      n[        USS9nO1[$        R,                  U
R                   R"                     n[        USS9nU
R                  (       a]  SSR1                  U
R                  R3                  5       5      -   S-   n[        XãS9nS R1                  XÎ/5      nS R1                  Xß/5      nOUnUn[        S!R                  [        U
R4                  5      US S"[        U5      -
  -  -   U(       a  US#   OS5      5        US$S   H  n[        S%U-   5        M     GM9     [        5         GM­     U R6                  R                  5        GH¨  u  nnUR                  R                  SU R                  5      nUR                  R                  S&S 5      nUR                  S5      S   nS'R                  U5      n[        SR                  [        SR                  SUSS[        U5      -
  -  5      S(S95      5        [        S)R                  [        U5      5      5        [        S*R                  [        U5      [        S+US9[        S,S-S95      5        [        5         [        [        R                  " UR                  SSSSSSSSSSS95        UR8                  R3                  5        GH<  n[        5         UR8                  U   nUR                  S.   nS-US/.R                  US5      nS0R                  [        UR                  R                  SUR4                  5      S1S95      n[        S2R                  [        UUS9U[        UR:                  R4                  R                  S5      S   SSS39[        UR<                  R4                  R                  S5      S   SSS395      5        [        5         [        [        R                  " UR                  S4S5S5SSSSSSSS95        GM?     [        5         GM«     g )6N)é3   é…   rB  )rB  é   é$   )rÅ  rÅ  rÅ  Úwampurirv   rw   Úbluez{} {}ÚStructÚTablez{}
z   {} {} {}z====Ú=év   )Úcolorz    Type URI:  {}.{}z    Type URI:  {}éd   z    TFé   )
rC  Úinitial_indentÚsubsequent_indentÚexpand_tabsÚreplace_whitespaceÚfix_sentence_endingsÚbreak_long_wordsÚdrop_whitespaceÚbreak_on_hyphensÚtabsizeéF   r¬   z
Vector[{}]ÚwhiteÚ(ú, Ú)rü   z    {:<36} {} {}é   r   r®  z9                                                         ru   zInterface {}Úyellowz    Interface UUID:  {}z    Interface URIs:  {}.({}|{})Ú	procedureÚtopicÚgreenr»   )rá  rà  r{   )rB  rB  rB  z      {} {} ({}) -> {})rÍ  ÚboldéZ   z
          )r  ré   rp   r‘   r’  r~   r%  r}   r³  r   r  ÚtextwrapÚfillrÁ   r  Úwrapr»   rL   r   rG   rO   rF   r�   rM   r  r  rk   r  r5  r(  r)  )rS   ÚbrownÚorangeÚpinkÚobj_keyr’   Ú
prefix_urir‹  Ú	obj_colorÚ	obj_labelr  rÁ   Útype_desc_strÚ	type_descÚattrs_text_strÚ
attrs_textÚtype_text_strÚ	type_textÚlineÚsvc_keyr»  Úifx_uuidÚifc_nameÚ	ifc_labelÚuriÚepÚep_typeÚep_colorÚ	uri_shorts                                rT   Úprint_summaryÚFbsRepository.print_summary5  s�  € ð ˆàˆð ˆà ŸI™IŸO™O×-‰LˆGØŸ™Ÿ™ y°$×2BÑ2BÓCˆJØ—}‘} SÓ)¨"Ñ-ˆHØ"%§-§-™°UˆIØŸ™°3·=·=¡xÀgÈxÓXˆIÜ�&—-‘-¤ m×&:Ñ&:¸6À9ÈcÐUXÔ[^Ð_hÓ[iÑUiÑNjÓ&kØ,5ñ!7ó 8ô 9ö ÜÐ,×3Ñ3´E¸*Ó4EÄuÈXÃÓWÕXäÐ)×0Ñ0´°x³ÓAÔBÜŒGÜ”(—-’- §¡Ø&)Ø/5Ø28Ø,0Ø37Ø5:Ø15Ø04Ø15Ø()ñ
+ô 
,ô ŒGØ×)Õ)�Ü—}’} U§Z¡ZØ+-Ø46Ø79Ø15Ø8<Ø:?Ø6:Ø59Ø6:Ø-.ñ
0�ð —:‘:×&Ñ&¬'¯+©+Ó5Ø$)§J¡J×$6Ñ$6×$<Ñ$<¸SÓ$AÀ"Ñ$E�MØ—y‘y §¡×!3Ñ!3Ñ4×>×>Ü$)¨-¸vÑ$F™	ä$)¨-Ñ$E™	Ø—Z‘Z×(Ñ(¬G¯N©NÓ:Ø$0×$7Ñ$7¼¿¹ÈÏ
É
×HZÑHZÑ8[Ó$\�MÜ % m¸7Ñ C‘Iä$+§O¡O°E·J±J×4GÑ4GÑ$H�MÜ % m¸7Ñ C�Ià—;—;Ø%(¨4¯9©9°U·[±[×5EÑ5EÓ5GÓ+HÑ%HÈ3Ñ%N�NÜ!& ~Ñ!B�JØ$'§H¡H¨mÐ-LÓ$M�MØ #§¡¨)Ð)@Ó A‘Ià$1�MØ )�Iô Ð(×/Ñ/´°e·j±jÓ0AØ09¸CÀ2ÌÈMÓHZÑCZÑ<[Ñ0[Þ;?°°Q²ÀRóIô Jð !  ›H�DÜ˜( T™/Ö*ô %ñO *ôR �GñG .ðJ !ŸM™M×/Ñ/×1‰LˆG�SØŸ™Ÿ™ y°$×2BÑ2BÓCˆJØ—y‘y—}‘} V¨TÓ2ˆHØ—}‘} SÓ)¨"Ñ-ˆHØ&×-Ñ-¨hÓ7ˆIÜ�&—-‘-¤ m×&:Ñ&:¸6À9ÈcÐUXÔ[^Ð_hÓ[iÑUiÑNjÓ&kØ,4ñ!6ó 7ô 8äÐ+×2Ñ2´5¸³?ÓCÔDÜÐ3×:Ñ:¼5ÀÓ;LÌeÐT_ÐgmÑNnÜ;@ÀÐPWÑ;XóZô [äŒGÜ”(—-’- §¡Ø&)Ø/5Ø28Ø,0Ø37Ø5:Ø15Ø04Ø15Ø()ñ
+ô 
,ð —y‘y—~‘~×'�Ü”Ø!$§¡¨3¡�ØŸ(™( 6Ñ*�Ø%,¸6ÑB×FÑFÀwÐPWÓX�ð !ŸK™K¬¨b¯h©h¯l©l¸9ÀbÇgÁgÓ.NÐVeÑ(fÓg�	ÜÐ.×5Ñ5´e¸GÈ8Ñ6TØ6?Ü6;¸B¿J¹J¿O¹O×<QÑ<QÐRUÓ<VÐWYÑ<ZÐbhÐotÑ6uÜ6;¸B¿K¹K×<LÑ<L×<RÑ<RÐSVÓ<WÐXZÑ<[ÐciÐpuÑ6vóxô yô ”Ü”h—m’m B§G¡GØ*,Ø3?Ø6BØ04Ø7;Ø9>Ø59Ø48Ø59Ø,-ñ
/÷ 
0ñ (ô0 �Gò] 2rW   c                 óÚ  • U R                   R                  5       U R                  R                  5       U R                  R                  5       S.n0 n0 n0 nUR	                  5        GHs  u  p‰U	 GHf  n
[        U
[        5      (       dI  [        U
[        5      (       d4  [        U
[        5      (       d   SR                  [        U
5      5      5       eU
nSR                  UR                  R                  S5      SS 5      nXËl        UR                  R                  S5      S   R                  5       Ul        UR                  S5      S   Ul        XÅ;  nXÈ4U;  nU(       a  SX|U4'   US:X  aƒ  UR%                  SR                  U5      5      nUR'                  X[(        UUU R*                  S	9nUR%                  S
R                  U5      5      nUR'                  X[(        UUU R*                  S	9nO•US:X  aF  UR%                  SR                  U5      5      nUR'                  X[(        UUU R*                  S	9nSnSnOIUS:X  a)  [,        R.                  " UR1                  5       SSSSS9nSnO[3        SR                  U5      5      eXÅ;  a  / X\'   / Xl'   X\   R5                  U5        U(       a  Xl   R5                  U5        GMS  Xl   R5                  S5        GMi     GMv     0 nUR7                  5        H{  nUR                  S5      n[9        [;        U5      5       HO  nUU   nSR                  USU 5      nUU;  a  / UU'   U(       d  M0  UUU   ;  d  M;  UU   R5                  U5        MQ     M}     [=        SR                  [?        U5      5      5        Sn[A        5       nUR	                  5        GH|  u  nnSR                  U5      nU(       a  S/UR                  S5      SS -   nOS/n[9        [;        U5      5       GH’  n[B        RD                  R                  " U/USUS-    Q76 n[B        RD                  RG                  U5      (       d  [B        RH                  " U5        US:X  d  Mm  [B        RD                  R                  US5      nSR                  USUS-    5      SS nUU   nUR%                  S5      nUR'                  U UUU R*                  S9n U RK                  S5      n![B        RD                  RM                  U5      (       d^  [O        US5       n"U"RQ                  U!5        SSS5        [=        SR                  [;        U!5      U5      5        URS                  U5        GMl  [O        US5       n"U"RQ                  U!5        SSS5        GM•     US:X  aS  U(       aG  SR                  UR                  S5      S   5      n#S R                  UR                  S5      S   5      n$O?Sn#Sn$O:US:X  a0  U(       a$  S!R                  UR                  S5      S   5      n#OS"n#Sn$OSn#Sn$U#(       a«   [U        U5      S   nURK                  S5      n![B        RD                  R                  " UU#/-   6 n[B        RD                  R                  UU5      n[O        US5       n&U&RQ                  U!5        SSS5        [=        S$R                  [;        U!5      U5      5        U$(       d  GM5  UU   n'SR                  U'5      n [U        U5      S   nURK                  S5      n![B        RD                  R                  " UU$/-   6 n[B        RD                  R                  UU5      nUU;  a€  [B        RD                  RM                  U5      (       a\  [B        RX                  " U5        [O        US5       n&U&RQ                  S%RK                  S5      5        SSS5        URS                  U5        [O        US5       n&U&RQ                  U!5        SSS5        [=        S$R                  [;        U!5      U5      5        GM     g! , (       d  f       GN= f! , (       d  f       GMU  = f! [V         a%  n%[=        S#R                  U%5      5         Sn%A%GNBSn%A%ff = f! , (       d  f       GNá= f! [V         a%  n%[=        S#R                  U%5      5         Sn%A%GN»Sn%A%ff = f! , (       d  f       GN= f! , (       d  f       Nå= f)&zE

:param jinja2_env:
:param output_dir:
:param output_lang:
:return:
)r’   r�  r„  zunexpected type {}rv   r   rw   Trt   zpy-autobahn/{}.py.jinja2)ÚrepoÚmetadatar   Úrender_importsÚis_first_by_categoryÚrender_to_basemodulezpy-autobahn/test_{}.py.jinja2Úeip712zso-eip712/{}-eip712.sol.jinja2NÚjson)rÜ  z: FrÏ  )Ú
separatorsÚensure_asciiÚindentÚ	sort_keysz)invalid language "{}" for code generationzNamespaces:
{}
z


r¬   r®  z__init__.pyzpy-autobahn/module.py.jinja2)r  r^  Úimportsr  rï   Úwbz3Ok, rendered "module.py.jinja2" in {} bytes to "{}"Úabz{}.pyz
test_{}.pyz{}.jsonz	init.jsonz error during formatting code: {}zOk, written {} bytes to {}z# Copyright (c) ...
)-r  rÞ  r  r  ré   Ú
isinstancer1  rÝ  r¬  r}   r»   r  rk   r~   r^  rÿ   r_  r`  Úget_templateÚrenderr   r�  r  Údumpsr‹   rƒ   r   r  rð   r  r³  r   ÚsetrL  rM  r°  ÚmkdirÚencodeÚexistsrV  ÚwriteÚaddr   Ú	ExceptionÚremove)(rS   Ú
jinja2_envÚ
output_dirÚoutput_langÚworkÚcode_modulesÚtest_code_modulesÚis_first_by_category_modulesÚcategoryrÞ  Úitemr  r^  Úis_firstr  ÚtmplÚcodeÚ	test_tmplÚ	test_codeÚ
namespacesÚ	code_fileÚ
name_partsr  ÚpnÚnsÚinitializedÚcode_sectionsÚcode_file_dirÚdr¶  Ú_modulenameÚ_importsÚ	init_coderp  ÚfÚcode_file_nameÚtest_code_file_nameÚero  Útest_code_sectionss(                                           rT   r  ÚFbsRepository.renderµ  sö  € ð —9‘9×#Ñ#Ó%Ø—J‘J×%Ñ%Ó'Ø—}‘}×+Ñ+Ó-ñ
ˆð ˆØÐØ')Ð$à $§
¡
§ÑˆHô �Ü! $¬	×2Ñ2´jÀÄw×6OÑ6OÔS]Ð^bÔdn×SoÑSoð  Yð  rF÷  rMñ  rMô  NRð  SWó  NXó  rYó  YÐoð  �ð !ŸX™X h§m¡m×&9Ñ&9¸#Ó&>¸qÀÐ&DÓE�
Ø&0Ô#ð &.§]¡]×%8Ñ%8¸Ó%=¸bÑ%A×%GÑ%GÓ%I�Ô"ð -7×,<Ñ,<¸SÓ,AÀ"Ñ,E�Ô)à%Ñ9�Ø(2Ð'=ÐEaÑ'aÐ$æ'ØKOÐ0¸hÐ1GÑHð  (Ó*à%×2Ñ2Ð3M×3TÑ3TÐU]Ó3^Ó_�DØŸ;™;¨DÌWØ6>Ø<PØ<@¿O¹Oð 'ð M�Dð !+× 7Ñ 7Ð8W×8^Ñ8^Ð_gÓ8hÓ i�IØ )× 0Ñ 0°dÔW^Ø@HØFZØFJÇoÁoð !1ð !W‘Ið
 ! HÓ,à%×2Ñ2Ð3S×3ZÑ3ZÐ[cÓ3dÓe�DØŸ;™;¨DÌWØ6>Ø<PØ<@¿O¹Oð 'ð M�Dð !%�IØ $‘Ià  FÓ*ÜŸ:š: h×&6Ñ&6Ó&8Ø1=Ø38Ø-.Ø04ñ	6�Dð
 !%‘Iä&Ð'R×'YÑ'YÐZeÓ'fÓgÐgð Ó1Ø/1�LÑ,Ø46Ð%Ñ1ØÑ(×/Ñ/°Ô5ÞØ%Ñ1×8Ñ8¸×Cà%Ñ1×8Ñ8¸×>ôS ñ	 !-ð` ˆ
Ø%×*Ñ*Ö,ˆIØ"Ÿ™¨Ó-ˆJÜœ3˜z›?Ö+�Ø ‘]�Ø—X‘X˜j¨¨!˜nÓ-�Ø˜ZÓ'Ø%'�J˜r‘Nß�2˜" J¨r¡NÕ2Ø˜r‘N×)Ñ)¨"Ö-ó ,ñ -ô 	Ð!×(Ñ(¬°Ó)<Ó=Ô>ð ˆÜ“eˆØ(4×(:Ñ(:×(<Ñ$ˆI�}Ø—=‘= Ó/ˆDÞØ!#  y§¡°sÓ';¸A¸bÐ'AÑ A‘à!# �ô œ3˜}Ó-×.�Ü—G‘G—L’L ÐF¨}¸V¸aÀ!¹eÐ/DÒF�Ü—w‘w—}‘} Q×'Ñ'Ü—H’H˜Q”KØ (Õ*ÜŸ™Ÿ™ a¨Ó7�Bà"%§(¡(¨=¸¸!¸a¹%Ð+@Ó"AÀ!À"Ð"E�KØ)¨+Ñ6�HØ%×2Ñ2Ð3QÓR�DØ $§¡°À+ÐW_ØAEÇÁð !,ð !R�Ià$×+Ñ+¨FÓ3�DäŸ7™7Ÿ>™>¨"×-Ñ-Ü! " dœ^¨qØŸG™G DœM÷ ,äÐS×ZÑZÔ[^Ð_cÓ[dÐfhÓiÔjØ#Ÿ™¨×+ä! " dœ^¨qØŸG™G DœM÷ ,š^ñ) /ð. ˜hÓ&ÞØ%,§^¡^°I·O±OÀCÓ4HÈÑ4LÓ%M�NØ*6×*=Ñ*=¸i¿o¹oÈcÓ>RÐSUÑ>VÓ*WÑ'à%2�NØ*.Ñ'Ø Ó&ÞØ%.×%5Ñ%5°i·o±oÀcÓ6JÈ2Ñ6NÓ%O‘Nà%0�NØ&*Ñ#à!%�Ø&*Ð#ö ðHÜ% dÓ+¨AÑ.�Dð —{‘{ 6Ó*�ä—W‘W—\’\ M°^Ð4DÑ$DÐF�Ü—W‘W—\‘\ *¨bÓ1�ô ˜"˜d”^ rØ—H‘H˜T”N÷ $ô Ð2×9Ñ9¼#¸d»)ÀRÓHÔI÷ #Ñ"Ø%6°yÑ%AÐ"Ø$ŸM™MÐ*<Ó=�	ðHÜ *¨9Ó 5°aÑ 8�Ið !×'Ñ'¨Ó/�ä—W‘W—\’\ MÐ5HÐ4IÑ$IÐK�Ü—W‘W—\‘\ *¨bÓ1�à˜[Ó(¬R¯W©W¯^©^¸B×-?Ñ-?Ü—I’I˜b”MÜ˜b $œ¨2ØŸ™Ð!8×!?Ñ!?ÀÓ!GÔH÷ (à—O‘O BÔ'ä˜"˜d”^ rØ—H‘H˜T”N÷ $ô Ð2×9Ñ9¼#¸d»)ÀRÓH×Iò )=÷. ,ž^ú÷
 ,Ÿ^ûô2 !ó HÜÐ<×CÑCÀAÓF×GÒGûðHú÷ $–^ûô !ó HÜÐ<×CÑCÀAÓF×GÒGûðHú÷ (žú÷ $•^úsl   Ô`/Õ4aØ.aÚbÛ9bÞ%!c
ß+cà/
`>á
aá
báa>á>bâ
b	â
câ"cãcã

c	ã
c*	Úvalidation_typerU  c                 ó2
  • Uc  gXR                   ;  a$  [        SR                  U R                   5      5      eU R                   U   n[        U5      [        :X  Ga?  [        UR                  R                  5       5      nUR                  5        GH¿  u  pVXSR                  ;  a$  [        SR                  XSR                  5      5      eUR                  U5        UR                  U   nUR                  R                  [        R                  :X  a(  U R                  UR                  R                   U5        M©  UR                  R                  [        R"                  :X  a   [%        S5        Mß  UR                  R                  [        R&                  :X  a­  [)        U[*        5      (       d  [)        U[,        5      (       a  [%        S5        GM?  [)        U[.        5      (       a2  U H)  nU R                  UR                  R0                  U5        M+     GM†  [        SR                  [        U5      UR                  5      5      e[3        Xv5        GMÂ     UR4                  (       a6  U(       a.  [        SR                  [7        U5      UR                  5      5      egg[        U5      [8        [6        4;   Ga7  UR4                  (       d.  [        SR                  [        U5      UR                  5      5      eS	n	UR:                   GH±  nU	[=        U5      :¼  a/  [        S
R                  UR                  UR                  5      5      eX)   nU	S-  n	UR                  R                  [        R                  :X  a(  U R                  UR                  R                   U5        M›  UR                  R                  [        R"                  :X  a   [%        S5        MÑ  UR                  R                  [        R&                  :X  a­  [)        U[*        5      (       d  [)        U[,        5      (       a  [%        S5        GM1  [)        U[.        5      (       aR  U HI  n[%        UR                  R0                  U5        U R                  UR                  R0                  U5        MK     GM˜  [%        S5        GM¦  [3        Xv5        GM´     [=        U5      U	:”  a$  [        SR                  UR                  5      5      eg[        SR                  [        U5      UR                  5      5      e)aI  
Validate value against the validation type given.

If the application payload does not validate against the provided type,
an :class:`autobahn.wamp.exception.InvalidPayload` is raised.

:param validation_type: Flatbuffers type (fully qualified) against to validate application payload.
:param value: Value to validate.
:return:
Nz+validation type "{}" not found in inventoryz9unexpected argument "{}" in value of validation type "{}"úFIXME-003-UnionzFIXME-003-1-VectorzNinvalid type {} for value (expected Vector/List/Tuple) of validation type "{}"z.missing argument(s) {} in validation type "{}"z9**: invalid type {} for (non-struct) validation type "{}"r   z"missing argument "{}" in type "{}"r®  zFIXME-005-UnionúFIXME-005-1-VectorúFIXME-005-3-Vectorz.unexpected argument(s) in validation type "{}"z1invalid type {} for value of validation type "{}")r  rƒ   r}   r»   rŸ   r  r$  r  ré   r   rk   ÚdiscardrL   r   rG   Úvalidate_objrO   r   r³  rF   r  r!   r   r   rP   r‹  r%  rž   Útupler  r  )
rS   r<  rU  ÚvtÚ	vt_kwargsrë   rì   r  ÚveÚidxs
             rT   rB  ÚFbsRepository.validate_obj�  sÀ  € ð Ñ"àà§)¡)Ó+ÜÐL×SÑSÐTX×T]ÑT]Ó^Ó_Ð_ð Ÿ	™	 /Ñ2ˆä�‹;œ$ÔÜ˜BŸI™IŸN™NÓ,Ó-ˆIàŸ™Ÿ‘�ØŸI™IÓ%Ü(Ð)d×)kÑ)kÐlm×ovÑovÓ)wÓxÐxØ×!Ñ! !Ô$àŸ	™	 !™�ð —:‘:×&Ñ&¬'¯+©+Ó5Ø×%Ñ% e§j¡j×&8Ñ&8¸!Ö<à—Z‘Z×(Ñ(¬G¯M©MÓ9ØÜÐ+Ö,à—Z‘Z×(Ñ(¬G¯N©NÓ:Ü! !¤S×)Ñ)¬Z¸¼5×-AÑ-AÜÐ2×3Ü# A¤x×0Ñ0Û"#˜BØ ×-Ñ-¨e¯j©j×.DÑ.DÀbÖIô #$ô -ð .GßGMÁvÌdÐSTËgÐWY×W^ÑW^ÓG_óað aô $ E×-ñ5 &ð8 �|�|¦	Ü$Ð%U×%\Ñ%\Ô]aÐbkÓ]lÐnp×nuÑnuÓ%vÓwÐwð !*ˆ|ô �%‹[œU¤D˜MÔ)à—<—<Ü$Ð%`×%gÑ%gÔhlÐmrÓhsÐuw×u|Ñu|Ó%}Ó~Ð~àˆCØŸ��àœ#˜e›*Ó$Ü(Ð)M×)TÑ)TÐUZ×U_ÑU_Ðac×ahÑahÓ)iÓjÐjØ‘J�Ø�q‘�ð —:‘:×&Ñ&¬'¯+©+Ó5Ø×%Ñ% e§j¡j×&8Ñ&8¸!Ö<à—Z‘Z×(Ñ(¬G¯M©MÓ9ØÜÐ+Ö,à—Z‘Z×(Ñ(¬G¯N©NÓ:Ü! !¤S×)Ñ)¬Z¸¼5×-AÑ-AÜÐ2×3Ü# A¤x×0Ñ0Û"#˜BÜ! %§*¡*×"8Ñ"8¸"Ô=Ø ×-Ñ-¨e¯j©j×.DÑ.DÀbÖIô #$ô Ð2×3ô $ E×-ñ5 )ô8 �5‹z˜CÓÜ$Ð%U×%\Ñ%\Ð]_×]dÑ]dÓ%eÓfÐfð  ô !Ð!T×![Ñ![Ô\`ÐafÓ\gÐik×ipÑipÓ!qÓrÐrrW   ÚargsÚkwargsc                 óž  • Uc  gXR                   ;  a.  [        SR                  U[        U R                   5      5      5      eU R                   U   nSn[	        U(       a  UR                  5       O/ 5      nUR                   GHH  nUR                  (       d!  SUR                  ;   d  SUR                  ;  Ga´  Ub  U[        U5      :¼  a/  [        SR                  UR                  UR                  5      5      eX%   nUS-  nUR                  R                  [        R                  :X  a(  U R                  UR                  R                   U5        MÐ  UR                  R                  [        R"                  :X  a   [%        S5        GM  UR                  R                  [        R&                  :X  a­  [)        U[*        5      (       d  [)        U[,        5      (       a  [%        S	5        GMg  [)        U[.        5      (       aR  U HI  n	[%        UR                  R0                  U	5        U R                  UR                  R0                  U	5        MK     GMÎ  [%        S
5        GMÜ  [3        Xx5        GMê  SUR                  ;   aJ  UR                  U;   a7  X7R                     n[%        S5        UR5                  UR                  5        GMA  GMD   S5       e   [        U5      U:”  a1  [        SR                  [        U5      U-
  UR                  5      5      eU(       a8  [        SR                  [        U5      [7        U5      UR                  5      5      eU$ )aÂ  
Validate the WAMP application payload provided in positional argument in ``args``
and in keyword-based arguments in ``kwargs`` against the FlatBuffers table
type ``validation_type`` from this repository.

If the application payload does not validate against the provided type,
an :class:`autobahn.wamp.exception.InvalidPayload` is raised.

:param validation_type: Flatbuffers type (fully qualified) against to validate application payload.
:param args: The application payload WAMP positional arguments.
:param kwargs: The application payload WAMP keyword-based arguments.
:return: The validation type object from this repository (reference in ``validation_type``)
    which has been used for validation.
Nz<validation type "{}" not found in inventory (among {} types)r   ÚargÚkwargz-missing positional argument "{}" in type "{}"r®  r>  r?  r@  z	FIXME-003zshould not arrive herez/{} unexpected positional arguments in type "{}"z/{} unexpected keyword arguments {} in type "{}")r  rƒ   r}   r  r  r  r  rq   rp   r   rk   r»   rL   r   rG   rB  rO   r   r³  rF   r  r!   r   r   rP   r‹  rA  rž   )
rS   r<  rI  rJ  rD  Úargs_idxÚkwargs_keysr  rU  rF  s
             rT   ÚvalidateÚFbsRepository.validateï  s¸  € ð  Ñ"Øà§)¡)Ó+ÜÐ]×dÑdÐetÔvyÐz~÷  {Dñ  {Dó  wEó   Fó  Gð  Gð Ÿ	™	 /Ñ2ˆð ˆô ®6˜&Ÿ+™+œ-°rÓ:ˆð —_•_ˆEð �~�~ ¨%¯+©+Ó!5¸ÈÏÉÔ9Sà‘< 8¬s°4«yÓ#8Ü(Ð)X×)_Ñ)_Ð`e×`jÑ`jÐln×lsÑlsÓ)tÓuÐuØ™�Ø˜A‘�ð —:‘:×&Ñ&¬'¯+©+Ó5Ø×%Ñ% e§j¡j×&8Ñ&8¸%Ö@à—Z‘Z×(Ñ(¬G¯M©MÓ9ØÜÐ+×,à—Z‘Z×(Ñ(¬G¯N©NÓ:ä! %¬×-Ñ-´¸EÄ5×1IÑ1IÜÐ2×3Ü# E¬8×4Ñ4Û"'˜BÜ! %§*¡*×"8Ñ"8¸"Ô=Ø ×-Ñ-¨e¯j©j×.DÑ.DÀbÖIô #(ô Ð2×3ô $ E×1ð ˜EŸK™KÓ'Ø—:‘: Ó,Ø"§:¡:Ñ.�Eä˜+Ô&Ø×'Ñ'¨¯
©
×3ò	 -ð 7Ð6Ó6�uñQ %ôT ˆt‹9�xÓÜ Ð!R×!YÑ!YÔZ]Ð^bÓZcÐfnÑZnÐpr×pwÑpwÓ!xÓyÐyæÜ Ð!R×!YÑ!YÔZ]Ð^iÓZjÔlpÐq|Ól}ð  @B÷  @Gñ  @Gó  "Hó  Ið  Iàˆ	rW   )r’  r  r  r“  r  r‘  N)F)"r–   r—   r˜   r™   rš   r!   rU   r‘  r˜  r�  r¤   r�  r   rK   r¢  r1  r  rÝ  r  r¬  r  r«  r   r   r…  rÀ  rÿ  r  r   r
   rB  r   rP  r¥   r¦   rW   rT   rI   rI   ¥  s§  † ñð3 3ô 3ð ð˜sð  ó ó ðð ð˜cð  oó ó ðð ð ˜Có  ó ð ð ð˜˜c 9˜nÑ-ó ó ðð ð�d˜3 	˜>Ñ*ó ó ðð ð�t˜C ˜LÑ)ó ó ðð ð˜$˜s J˜Ñ/ó ó ðð ñHó ðHðK$˜Sð K$ U¨3°¨8¡_ô K$ôZò ~ò@VJðp`s¨H°S©Mð `sÀ(È3Á-ô `sðDR¨ð R°4¸±9ð RÀdÈ3ÐPSÈ8Ánð RÐYaÐbkÑYl÷ RrW   rI   rR   )2r  rL  r‡  rŠ   rX  rå  Úpathlibr   r   Útypingr   r   r   r   r	   r
   r   Úcollections.abcr   Úyapf.yapflib.yapf_apir   r�  Úautobahn.wamp.exceptionr   Úautobahn.utilr   Ú#zlmdb.flatbuffers.reflection.Schemar   rZ  Ú%zlmdb.flatbuffers.reflection.BaseTyper   rœ   Ú"zlmdb.flatbuffers.reflection.Fieldr   r"   r   r¨   r¯   rú   r  r  rV  r1  r3  r¬  rÆ  rÝ  rK   r‹  rI   r¦   rW   rT   Ú<module>r[     sü   ðó4 Û 	Û 	Û Û Û Ý Ý ß >× >Ñ >Ý $õ -ã Ý 2Ý å AÝ GÝ 4ôvˆfô vôr	�6ô ôaˆvô aòHò	ôG(ôTVôrR�ô RôjA�ô AôHD�ô DôNA�6ô AôH`ˆfô `ôFz�ô zðz		 (¨3¡-ô 	ô\
�Fõ \
rW   