§
    ŒŸjô  ã                   ó<  — d Z ddlmZmZ ddlZddlmZmZmZm	Z	 e	r!dZ
ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ndZ
ddlmZ ddlZdZdd
lmZ ddlmZ 	 ddlZn# e$ r dZY nw xY wdZdd„Z G d„ derej        ne¦  «        Z G d„ de¦  «        Zd„ Zd„ Z dS )z*Defused xmlrpclib

Also defuses gzip bomb
é    )Úprint_functionÚabsolute_importNé   )ÚDTDForbiddenÚEntitiesForbiddenÚExternalReferenceForbiddenÚPY3zxmlrpc.client)ÚExpatParser)Úclient)Úserver)Úgzip_decode)ÚGzipDecodedResponseÚ	xmlrpclibi  àc                 óÌ  — t           st          ‚|€t          }t          j        | ¦  «        }t          j        d|¬¦  «        }	 |dk     r|                     ¦   «         }n|                     |dz   ¦  «        }n# t          $ r t          d¦  «        ‚w xY w| 	                    ¦   «          | 	                    ¦   «          |dk    r"t          |¦  «        |k    rt          d¦  «        ‚|S )zrgzip encoded data -> unencoded data

    Decode data using the gzip content encoding as described in RFC 1952
    NÚrb©ÚmodeÚfileobjr   r   zinvalid dataz#max gzipped payload length exceeded)ÚgzipÚNotImplementedErrorÚMAX_DATAÚioÚBytesIOÚGzipFileÚreadÚIOErrorÚ
ValueErrorÚcloseÚlen)ÚdataÚlimitÚfÚgzfÚdecodeds        ú^/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/defusedxml/xmlrpc.pyÚdefused_gzip_decoder&   -   sâ   € õ
 ð "Ý!Ð!Ø€}ÝˆÝ
Œ
�4ÑÔ€AÝ
Œ-˜T¨1Ð
-Ñ
-Ô
-€Cð)Ø�1Š9ˆ9Ø—h’h‘j”jˆGˆGà—h’h˜u q™yÑ)Ô)ˆGøøÝð )ð )ð )Ý˜Ñ(Ô(Ð(ð)øøøà‡G‚G�I„I€IØ‡I‚I�K„K€KØ�‚z€z•c˜'‘l”l UÒ*Ð*ÝÐ>Ñ?Ô?Ð?Ø€Ns   Á3A7 Á7Bc                   ó&   — e Zd ZdZdd„Zd„ Zd„ ZdS )ÚDefusedGzipDecodedResponsezha file-like object to decode a response encoded with the gzip
    method, as described in RFC 1952.
    Nc                 ó˜  — t           st          ‚|�|nt          x| _        }|dk     r|                     ¦   «         }d | _        n|                     |dz   ¦  «        }d| _        |dk    r"t          |¦  «        |k    rt          d¦  «        ‚t          j	        |¦  «        | _
        t           j                             | d| j
        ¬¦  «         d S )Nr   r   úmax payload length exceededr   r   )r   r   r   r!   r   Ú
readlengthr   r   r   r   Ústringior   Ú__init__)ÚselfÚresponser!   r    s       r%   r-   z#DefusedGzipDecodedResponse.__init__K   sÀ   € õ ð 	&Ý%Ð%Ø&+Ð&7˜U˜U½XÐEˆŒ
�UØ�1Š9ˆ9Ø—=’=‘?”?ˆDØ"ˆDŒOˆOà—=’= ¨¡Ñ+Ô+ˆDØˆDŒOØ�AŠ:ˆ:�#˜d™)œ) eÒ+Ð+ÝÐ:Ñ;Ô;Ð;Ýœ
 4Ñ(Ô(ˆŒÝŒ×Ò˜t¨$¸¼ÐÑFÔFÐFÐFÐFó    c                 óX  — | j         dk    r€| j         | j        z
  }t          ||dz   ¦  «        }t          j                             | |¦  «        }| xj        t          |¦  «        z  c_        | j        | j         k    rt          d¦  «        ‚|S t          j                             | |¦  «        S )Nr   r   r*   )r!   r+   Úminr   r   r   r   r   )r.   ÚnÚleftr    s       r%   r   zDefusedGzipDecodedResponse.read\   s–   € ØŒ:˜Š?ˆ?Ø”: ¤Ñ/ˆDÝ�A�t˜a‘xÑ Ô ˆAÝ”=×%Ò% d¨AÑ.Ô.ˆDØˆOŒO�s 4™yœyÑ(ˆOŒOØŒ ¤Ò+Ð+Ý Ð!>Ñ?Ô?Ð?ØˆKå”=×%Ò% d¨AÑ.Ô.Ð.r0   c                 óv   — t           j                             | ¦  «         | j                             ¦   «          d S ©N)r   r   r   r,   )r.   s    r%   r   z DefusedGzipDecodedResponse.closeh   s2   € ÝŒ×Ò˜DÑ!Ô!Ð!ØŒ×ÒÑÔÐÐÐr0   r6   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r-   r   r   © r0   r%   r(   r(   F   sT   € € € € € ðð ðGð Gð Gð Gð"
/ð 
/ð 
/ðð ð ð ð r0   r(   c                   ó.   — e Zd Zd	d„Zd„ Zd„ Zd„ Zd„ ZdS )
ÚDefusedExpatParserFTc                 óö   — t          j        | |¦  «         || _        || _        || _        | j        }| j        r| j        |_        | j        r| j        |_	        | j
        |_        | j        r| j        |_        d S d S r6   )r
   r-   Ú
forbid_dtdÚforbid_entitiesÚforbid_externalÚ_parserÚdefused_start_doctype_declÚStartDoctypeDeclHandlerÚdefused_entity_declÚEntityDeclHandlerÚdefused_unparsed_entity_declÚUnparsedEntityDeclHandlerÚ#defused_external_entity_ref_handlerÚExternalEntityRefHandler)r.   Útargetr?   r@   rA   Úparsers         r%   r-   zDefusedExpatParser.__init__n   s”   € ÝÔ˜T 6Ñ*Ô*Ð*Ø$ˆŒØ.ˆÔØ.ˆÔØ”ˆØŒ?ð 	MØ-1Ô-LˆFÔ*ØÔð 	QØ'+Ô'?ˆFÔ$Ø/3Ô/PˆFÔ,ØÔð 	WØ.2Ô.VˆFÔ+Ð+Ð+ð	Wð 	Wr0   c                 ó$   — t          |||¦  «        ‚r6   )r   )r.   ÚnameÚsysidÚpubidÚhas_internal_subsets        r%   rC   z-DefusedExpatParser.defused_start_doctype_decl|   s   € Ý˜4 ¨Ñ.Ô.Ð.r0   c                 ó*   — t          ||||||¦  «        ‚r6   ©r   )r.   rN   Úis_parameter_entityÚvalueÚbaserO   rP   Únotation_names           r%   rE   z&DefusedExpatParser.defused_entity_decl   s   € õ    e¨T°5¸%ÀÑOÔOÐOr0   c                 ó*   — t          |d ||||¦  «        ‚r6   rS   )r.   rN   rV   rO   rP   rW   s         r%   rG   z/DefusedExpatParser.defused_unparsed_entity_decl„   s   € å  d¨D°%¸ÀÑNÔNÐNr0   c                 ó&   — t          ||||¦  «        ‚r6   )r   )r.   ÚcontextrV   rO   rP   s        r%   rI   z6DefusedExpatParser.defused_external_entity_ref_handlerˆ   s   € Ý(¨°$¸¸uÑEÔEÐEr0   N)FTT)r7   r8   r9   r-   rC   rE   rG   rI   r;   r0   r%   r=   r=   m   ss   € € € € € ðWð Wð Wð Wð/ð /ð /ðPð Pð Pð
Oð Oð OðFð Fð Fð Fð Fr0   r=   c                  ó    — t           t          _        t          t          _        t
          t          _        t          rt
          t          _        d S d S r6   )r=   Úxmlrpc_clientÚ
FastParserr(   r   r&   r   Úxmlrpc_serverr;   r0   r%   Úmonkey_patchr_   Œ   s:   € Ý1…MÔÝ(B…MÔ%Ý 3…MÔÝð 8Ý$7�Ô!Ð!Ð!ð8ð 8r0   c                  ó–   — d t           _        t          t           _        t          t           _        t          rt          t          _        d S d S r6   )r\   r]   Ú_OrigGzipDecodedResponser   Ú_orig_gzip_decoder   r^   r;   r0   r%   Úunmonkey_patchrc   ”   s:   € Ø#…MÔÝ(@…MÔ%Ý 1…MÔÝð 6Ý$5�Ô!Ð!Ð!ð6ð 6r0   r6   )!r:   Ú
__future__r   r   r   Úcommonr   r   r   r	   Ú
__origin__Úxmlrpc.clientr
   Úxmlrpcr   r\   r   r^   r   rb   r   ra   r   r   ÚImportErrorr   r&   r   Úobjectr(   r=   r_   rc   r;   r0   r%   ú<module>rk      sì  ððð ð 7Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à 	€	€	€	à TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ TÐ Tàð JØ €JØ)Ð)Ð)Ð)Ð)Ð)Ø.Ð.Ð.Ð.Ð.Ð.Ø.Ð.Ð.Ð.Ð.Ð.Ø>Ð>Ð>Ð>Ð>Ð>ØMÐMÐMÐMÐMÐMÐMà€JØ%Ð%Ð%Ð%Ð%Ð%Ø%Ð%Ð%Ð%à€MØ:Ð:Ð:Ð:Ð:Ð:ØIÐIÐIÐIÐIÐIðØ€K€K€K€KøØð ð ð Ø€D€D€Dðøøøð €ðð ð ð ð2$ð $ð $ð $ð $°$Ð!B ¤ ¸Fñ $ô $ð $ðNFð Fð Fð Fð F˜ñ Fô Fð Fð>8ð 8ð 8ð6ð 6ð 6ð 6ð 6s   ÁA ÁA(Á'A(