a h @sddlZddlZddlmZmZddlmZddlmZddl m Z ddl m Z m Z eeZeeefdd d ZGd d d ejZdS) N)SequenceTuple)ferny)beipack)read_cockpit_data_file)Peer PeerError)returncCsrztd}tdWnRtyhtdtjddd}tj|ddd }t| }td Yn0d |fS) Nzcockpit-bridge.beipack.xzz'Got pre-built cockpit-bridge.beipack.xzz6Pre-built cockpit-bridge.beipack.xz; building our own.ZcockpitT) recursivezcockpit.bridge:mainz beipack=True)Z entrypointargsz ... done!z&cockpit/data/cockpit-bridge.beipack.xz) rloggerdebugFileNotFoundErrorrZcollect_modulepacklzmacompressencode)Zbridge_beipack_xzZcockpit_contentsZbridge_beipackr3/usr/lib/python3.9/site-packages/cockpit/beipack.pyget_bridge_beipack_xzs  rc@sleZdZUddgZeed<eed<eee ee fed<deee ddd d Z e d d e dd ddZ dS)BridgeBeibootHelperbeiboot.provide beiboot.excpeerpayloadstepsrN)rr r cCs4t\}}||_||_d|t|t|fff|_dS)NZboot_xz)rrrlentupler)selfrr filenamerrrr__init__6s zBridgeBeibootHelper.__init__ztuple[object, ...]z list[int])commandr fdsstderrr c std|||||dkrz|\}|t|jks4JWn<ttfyr}z tdd|d|WYd}~n d}~00|jjdusJtdt|j|jj |jn2|dkrtdd|d dntdd |ddS) NzGot ferny request %s %s %s %srzinternal-errorzferny interaction error )messagezWriting %d bytes of payloadrzRemote exception: rz%Unexpected ferny interaction command ) r rrrAssertionError ValueErrorr rZ transportwrite)rr"r r#r$sizeexcrrr run_command=s*zBridgeBeibootHelper.run_command)r) __name__ __module__ __qualname__Zcommandsr__annotations__bytesrrstrobjectr!r+rrrrr.s r)ZloggingrtypingrrZcockpit._vendorrZcockpit._vendor.beirdatarrrr Z getLoggerr,r r1r0rZInteractionHandlerrrrrrs