ó
    cÛ–iÇ  ã                   ód   • S r S rSS jrSS jrS rSS jrSS jrSS jrSS jrSS	 jr	SS
 jr
g)z@Network Data Representation (NDR) marshalling and unmarshalling.c                 óL   • [        U SS5      nUc  [        SU -  5      eU" 5       $ )zaPack a NDR object.

:param object: Object to pack
:return: String object with marshalled object.
Ú__ndr_pack__Nú%r is not a NDR object©ÚgetattrÚ	TypeError)ÚobjectÚndr_packs     Ú+/usr/lib/python3/dist-packages/samba/ndr.pyr	   r	      s1   € ô �v˜~¨tÓ4€HØÑÜÐ0°6Ñ9Ó:Ð:Ù‹:Ðó    c                 ó\   • U " 5       n[        USS5      nUc  [        SU-  5      eU" XS9  U$ )zÁNDR unpack an object.

:param cls: Class of the object to unpack
:param data: Buffer to unpack
:param allow_remaining: allows remaining data at the end (default=False)
:return: Unpacked object
Ú__ndr_unpack__Nr   ©Úallow_remainingr   )ÚclsÚdatar   r   Ú
ndr_unpacks        r
   r   r   $   s>   € ñ ‹U€FÜ˜Ð!1°4Ó8€JØÑÜÐ0°6Ñ9Ó:Ð:ÙˆtÒ5Ø€Mr   c                 óJ   • [        U SS 5      nUc  [        U  S35      eU" US9$ )NÚ__ndr_print__z is not a NDR object©Úprint_secretsr   )r   r   Ú	ndr_prints      r
   r   r   4   s4   € Ü˜ °Ó6€IØÑÜ˜6˜(Ð"6Ð7Ó8Ð8Ù =Ñ1Ð1r   c                 ó¾   • [        U SS5      nUc  [        SU -  5      eU" 5       n[        U 5      nU" 5       n[        USS5      nUc  [        SU-  5      eU" USS9  U$ )znCreate a deep copy of a NDR object, using pack/unpack

:param object: Object to copy
:return: The object copy
r   Nr   r   Fr   )r   r   Útype)r   r	   r   r   Úcopyr   s         r
   Úndr_deepcopyr   ;   su   € ô �v˜~¨tÓ4€HØÑÜÐ0°6Ñ9Ó:Ð:Ù‹:€DÜ
ˆv‹,€CÙ‹5€DÜ˜Ð/°Ó6€JØÑÜÐ0°4Ñ7Ó8Ð8Ùˆt UÒ+Ø€Kr   c                 óJ   • [        U SS5      nUc  [        SU -  5      eU" XS9$ )zèPack the input of an NDR function object.

:param object: Object to pack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:return: String object with marshalled object.
Ú__ndr_pack_in__Nú%r is not a NDR function object©Ú	bigendianÚndr64r   )r   r    r!   Úndr_pack_in_fns       r
   Úndr_pack_inr#   N   s5   € ô ˜VÐ%6¸Ó=€NØÑÜÐ9¸FÑBÓCÐCÙ IÑ;Ð;r   c                 óR   • [        U SS5      nUc  [        SU -  5      eU" XUUS9  U $ )aG  Unpack the input of an NDR function object.

:param cls: Class of the object to unpack
:param data: Buffer to unpack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:param allow_remaining: allows remaining data at the end (default=False)
:return: Unpacked object
Ú__ndr_unpack_in__Nr   ©r    r!   r   r   )r   r   r    r!   r   Úndr_unpack_in_fns         r
   Úndr_unpack_inr(   \   s?   € ô ˜vÐ':¸DÓAÐØÑÜÐ9¸FÑBÓCÐCÙ�T°eØ%4ò6à€Mr   c                 óJ   • [        U SS 5      nUc  [        SU -  5      eU" US9$ )NÚ__ndr_print_in__r   r   r   )r   r   Úndr_print_in_fns      r
   Úndr_print_inr,   n   s3   € Ü˜fÐ&8¸$Ó?€OØÑÜÐ9¸FÑBÓCÐCÙ¨Ñ7Ð7r   c                 óJ   • [        U SS5      nUc  [        SU -  5      eU" XS9$ )zéPack the output of an NDR function object.

:param object: Object to pack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:return: String object with marshalled object.
Ú__ndr_pack_out__Nr   r   r   )r   r    r!   Úndr_pack_out_fns       r
   Úndr_pack_outr0   u   s5   € ô ˜fÐ&8¸$Ó?€OØÑÜÐ9¸FÑBÓCÐCÙ YÑ<Ð<r   c                 óR   • [        U SS5      nUc  [        SU -  5      eU" XUUS9  U $ )aH  Unpack the output of an NDR function object.

:param cls: Class of the object to unpack
:param data: Buffer to unpack
:param bigendian: use LIBNDR_FLAG_BIGENDIAN (default=False)
:param ndr64: use LIBNDR_FLAG_NDR64 (default=False)
:param allow_remaining: allows remaining data at the end (default=False)
:return: Unpacked object
Ú__ndr_unpack_out__Nr   r&   r   )r   r   r    r!   r   Úndr_unpack_out_fns         r
   Úndr_unpack_outr4   ƒ   s?   € ô   Ð(<¸dÓCÐØÑ ÜÐ9¸FÑBÓCÐCÙ�d°uØ&5ò7à€Mr   c                 óJ   • [        U SS 5      nUc  [        SU -  5      eU" US9$ )NÚ__ndr_print_out__r   r   r   )r   r   Úndr_print_out_fns      r
   Úndr_print_outr8   •   s4   € Ü˜vÐ':¸DÓAÐØÑÜÐ9¸FÑBÓCÐCÙ¨-Ñ8Ð8r   N)F)FF)FFF)Ú__doc__r	   r   r   r   r#   r(   r,   r0   r4   r8   © r   r
   Ú<module>r;      s=   ðñ* Gò	ôô 2òô&<ôô$8ô=ôõ$9r   