+
    5i                     V   R t ^ RIHtHt ^ RIt^RIHtHtHtH	t	 ]	'       d"   Rt
^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt MR
t
^ RIHt ^ RItRt^ RIHt ^ R	IHt  ^ RItRtRR lt ! R R]'       d   ]P6                  M]4      t ! R R]4      tR tR t R#   ] d    Rt LDi ; i)z*Defused xmlrpclib

Also defuses gzip bomb
)print_functionabsolute_importN)DTDForbiddenEntitiesForbiddenExternalReferenceForbiddenPY3zxmlrpc.client)ExpatParser)client)server)gzip_decode)GzipDecodedResponse	xmlrpclibc                   \         '       g   \        hVf   \        p\        P                  ! V 4      p\         P
                  ! RVR7      p V^ 8  d   VP                  4       pMVP                  V^,           4      p VP                  4        VP                  4        V^ 8  d   \        V4      V8  d   \        R4      hV#   \         d    \        R4      hi ; i)zjgzip encoded data -> unencoded data

Decode data using the gzip content encoding as described in RFC 1952
rbmodefileobjzinvalid dataz#max gzipped payload length exceeded)gzipNotImplementedErrorMAX_DATAioBytesIOGzipFilereadIOError
ValueErrorcloselen)datalimitfgzfdecodeds   &&   W/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/defusedxml/xmlrpc.pydefused_gzip_decoder$   -   s    
 4!!}


4A
--T1
-C)19hhjGhhuqy)G GGIIIKzc'lU*>??N  )(()s   C $C Cc                   :   a  ] tR t^Ft o RtRR ltR tR tRtV t	R# )DefusedGzipDecodedResponsez`a file-like object to decode a response encoded with the gzip
method, as described in RFC 1952.
Nc                   \         '       g   \        hVe   TM\        ;V n        pV^ 8  d   VP	                  4       pR V n        MVP	                  V^,           4      p^ V n        V^ 8  d   \        V4      V8  d   \        R4      h\        P                  ! V4      V n
        \         P                  P                  V RV P                  R7       R # )Nmax payload length exceededr   r   )r   r   r   r   r   
readlengthr   r   r   r   stringior   __init__)selfresponser   r   s   &&& r#   r+   #DefusedGzipDecodedResponse.__init__K   s     t%%&+&7UXE
U19==?D"DO==+DDOA:#d)e+:;;

4(t$F    c                   V P                   ^ 8  d   V P                   V P                  ,
          p\        W^,           4      p\        P                  P                  W4      pV ;P                  \        V4      ,          un        V P                  V P                   8  d   \        R4      hV# \        P                  P                  W4      # )    r(   )r   r)   minr   r   r   r   r   )r,   nleftr   s   &&  r#   r   DefusedGzipDecodedResponse.read\   s    ::?::/DAax A==%%d.DOOs4y(O+ !>??K==%%d..r/   c                x    \         P                  P                  V 4       V P                  P                  4        R # N)r   r   r   r*   )r,   s   &r#   r    DefusedGzipDecodedResponse.closeh   s$    D!r/   )r   r)   r*   r7   )
__name__
__module____qualname____firstlineno____doc__r+   r   r   __static_attributes____classdictcell____classdict__s   @r#   r&   r&   F   s     G"
/ r/   r&   c                   B   a  ] tR t^mt o RR ltR tR tR tR tRt	V t
R# )	DefusedExpatParserc                f   \         P                  ! W4       W n        W0n        W@n        V P
                  pV P                  '       d   V P                  Vn        V P                  '       d#   V P                  Vn	        V P                  Vn        V P                  '       d   V P                  Vn        R # R # r7   )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,   targetrE   rF   rG   parsers   &&&&& r#   r+   DefusedExpatParser.__init__n   s    T*$..???-1-L-LF*'+'?'?F$/3/P/PF,.2.V.VF+  r/   c                    \        WV4      hr7   )r   )r,   namesysidpubidhas_internal_subsets   &&&&&r#   rI   -DefusedExpatParser.defused_start_doctype_decl|   s    4..r/   c                    \        WWEWg4      hr7   r   )r,   rU   is_parameter_entityvaluebaserV   rW   notation_names   &&&&&&&&r#   rK   &DefusedExpatParser.defused_entity_decl   s      T%OOr/   c                    \        VR W#WE4      hr7   r[   )r,   rU   r^   rV   rW   r_   s   &&&&&&r#   rM   /DefusedExpatParser.defused_unparsed_entity_decl   s    dDNNr/   c                    \        WW44      hr7   )r   )r,   contextr^   rV   rW   s   &&&&&r#   rO   6DefusedExpatParser.defused_external_entity_ref_handler   s    (EEr/   )rE   rF   rG   N)FTT)r9   r:   r;   r<   r+   rI   rK   rM   rO   r>   r?   r@   s   @r#   rC   rC   m   s(     W/P
OF Fr/   rC   c                      \         \        n        \        \        n        \
        \        n        \        '       d   \
        \        n        R # R # r7   )rC   xmlrpc_client
FastParserr&   r   r$   r   xmlrpc_server r/   r#   monkey_patchrk      s,    1M(BM% 3M}$7! r/   c                      R \         n        \        \         n        \        \         n        \        '       d   \        \        n        R # R # r7   )rg   rh   _OrigGzipDecodedResponser   _orig_gzip_decoder   ri   rj   r/   r#   unmonkey_patchro      s,    #M(@M% 1M}$5! r/   i  r7   )!r=   
__future__r   r   r   commonr   r   r   r   
__origin__xmlrpc.clientr   xmlrpcr	   rg   r
   ri   r   rn   r   rm   r   r   ImportErrorr   r$   r   objectr&   rC   rk   ro   rj   r/   r#   <module>rw      s    7 	 T T J)..>MJ%%M:I 2$$F $NF F>86e  Ds   B 	B('B(