
    /jA                     F   S r SSKJr  SSKJr  SSKJr  SSKJ	r
  \R                  " 5       rSSKJr  SSKJr  \R                  " 5       R'                  S	5      r\" 5       r\
R.                  " \\5        \
R0                  " \S
\5        \R2                  S:X  Ga  S\S   l        S\S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   l        S\S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S   l        S\S   R8                  S    l        S\S   R8                  S    l        S\S   R8                  S!   l        S\S   R8                  S!   l        S\S   R8                  S"   l        S#\S   R8                  S"   l        S\S$   R8                  S%   l        S\S$   R8                  S%   l        S\S&   R8                  S'   l        S\S&   R8                  S'   l        S\S&   R8                  S(   l        S\S&   R8                  S(   l        S\S)   R8                  S   l        S\S)   R8                  S   l        S\S)   R8                  S   l        S\S)   R8                  S   l        S\S*   R8                  S+   l        S\S*   R8                  S+   l        S\S,   R8                  S-   l        S.\S,   R8                  S-   l        S\S/   R8                  S-   l        S.\S/   R8                  S-   l        S\S0   R8                  S-   l        S.\S0   R8                  S-   l        S\S1   R8                  S-   l        S.\S1   R8                  S-   l        S\S1   R8                  S2   l        S3\S1   R8                  S2   l        S\S1   R8                  S4   l        S\S1   R8                  S4   l        S\S1   R8                  S5   l        S\S1   R8                  S5   l        S\S1   R8                  S6   l        S\S1   R8                  S6   l        S\S7   R8                  S8   l        S9\S7   R8                  S8   l        S\S:   R8                  S5   l        S\S:   R8                  S5   l        S\S:   R8                  S4   l        S\S:   R8                  S4   l        S\S:   R8                  S6   l        S\S:   R8                  S6   l        S\S;   R8                  S5   l        S\S;   R8                  S5   l        S\S;   R8                  S4   l        S\S;   R8                  S4   l        S\S;   R8                  S6   l        S\S;   R8                  S6   l        S\S<   R8                  S=   l        S>\S<   R8                  S=   l        S\S<   R8                  S   l        S\S<   R8                  S   l        S\S<   R8                  S5   l        S\S<   R8                  S5   l        S\S<   R8                  S4   l        S\S<   R8                  S4   l        S\S<   R8                  S6   l        S\S<   R8                  S6   l        S\S?   R8                  S   l        S\S?   R8                  S   l        S\S@   R8                  S-   l        S.\S@   R8                  S-   l        S\SA   R8                  S-   l        S.\SA   R8                  S-   l        SB\SC   l        SD\SC   l        SE\SF   l        SG\SF   l        SH\SI   l        SJ\SI   l        SK\SL   l        SM\SL   l        SN\SO   l        SP\SO   l        SQ\SR   l        SS\SR   l        ST\SU   l        SV\SU   l        SW\SX   l        SY\SX   l        SZ\S[   l        S\\S[   l        S]\S^   l        S_\S^   l        S`\Sa   l        Sb\Sa   l        Sc\Sd   l        Se\Sd   l        Sf\Sg   l        Sh\Sg   l        Si\S   l        Sj\S   l        Sk\Sl   l        Sm\Sl   l        Sn\So   l        Sp\So   l        Sq\S   l        Sr\S   l        Ss\St   l        Su\St   l        Sv\S   l        Sw\S   l        Sx\S   l        Sy\S   l        Sz\S{   l        S|\S{   l        S}\S~   l        S\S~   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S$   l        S\S$   l        S\S&   l        S\S&   l        S\S)   l        S\S)   l        S\S*   l        S\S*   l        S\S,   l        S\S,   l        S\S   l        S\S   l        S\S/   l        S\S/   l        S\S0   l        S\S0   l        S\S1   l        S\S1   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S7   l        S\S7   l        S\S:   l        S\S:   l        S\S;   l        S\S;   l        S\S   l        S\S   l        S\S<   l        S\S<   l        S\S?   l        S\S?   l        S\S   l        S\S   l        S\S   l        S\S   l        S\S@   l        S\S@   l        S\SA   l        S\SA   l        S\S   l        S\S   l        S\S   l        S\S   l        gg)zGenerated protocol buffer code.    )
descriptor)descriptor_pool)symbol_database)builder   )models)optionss).  
livekit_egress.protolivekitlivekit_models.protologger/options.proto"
StartEgressRequest
	room_name (	+
template (2.livekit.TemplateSourceH !
web (2.livekit.WebSourceH %
media (2.livekit.MediaSourceH 0
preset (2.livekit.EncodingOptionsPresetH,
advanced (2.livekit.EncodingOptionsH 
outputs (2.livekit.Output'
storage (2.livekit.StorageConfig(
webhooks	 (2.livekit.WebhookConfigB
sourceB

encoding"a
TemplateSource
layout (	

audio_only (

video_only (
custom_base_url (	"\
	WebSource
url (	

audio_only (

video_only (
await_start_signal ("
MediaSource)
video_track_id (	BPvideoTrackIDH 6
participant_video (2.livekit.ParticipantVideoH #
audio (2.livekit.AudioConfig!
data (2.livekit.DataConfigB
video"A
ParticipantVideo
identity (	
prefer_screen_share ("2
AudioConfig#
routes (2.livekit.AudioRoute"

AudioRoute
track_id (	B
PtrackIDH 
participant_identity (	H 9
participant_kind (2.livekit.ParticipantInfo.KindH &
channel (2.livekit.AudioChannelB
match"6

DataConfig(
	selectors (2.livekit.DataSelector"h
DataSelector
track_id (	B
PtrackIDH 
participant_identity (	H 
topic (	H B
match"
EncodingOptions
width (
height (
depth (
	framerate ((
audio_codec (2.livekit.AudioCodec
audio_bitrate (
audio_frequency ((
video_codec (2.livekit.VideoCodec
video_bitrate	 (
key_frame_interval
 (
audio_quality (B
video_quality (B"
Output#
file (2.livekit.FileOutputH '
stream (2.livekit.StreamOutputH 0
segments (2.livekit.SegmentedFileOutputH &
images (2.livekit.ImageOutputH '
storage (2.livekit.StorageConfigB
config"e

FileOutput+
	file_type (2.livekit.EncodedFileType
filepath (	
disable_manifest ("G
StreamOutput)
protocol (2.livekit.StreamProtocol
urls (	"
SegmentedFileOutput0
protocol (2.livekit.SegmentedFileProtocol
filename_prefix (	
playlist_name (	
live_playlist_name (	
segment_duration (5
filename_suffix
 (2.livekit.SegmentedFileSuffix
disable_manifest (
s3 (2.livekit.S3UploadH !
gcp (2.livekit.GCPUploadH )
azure (2.livekit.AzureBlobUploadH '
aliOSS	 (2.livekit.AliOSSUploadH B
output"
ImageOutput
capture_interval (
width (
height (
filename_prefix (	1
filename_suffix (2.livekit.ImageFileSuffix(
image_codec (2.livekit.ImageCodec
disable_manifest (
s3 (2.livekit.S3UploadH !
gcp	 (2.livekit.GCPUploadH )
azure
 (2.livekit.AzureBlobUploadH '
aliOSS (2.livekit.AliOSSUploadH B
output"
StorageConfig
s3 (2.livekit.S3UploadH !
gcp (2.livekit.GCPUploadH )
azure (2.livekit.AzureBlobUploadH '
aliOSS (2.livekit.AliOSSUploadH B

provider"
S3Upload

access_key (	BP
secret (	BP
session_token (	BP
assume_role_arn (	BP;
assume_role_external_id (	BPPassumeRoleExternalID
region (	
endpoint (	
bucket (	
force_path_style (1
metadata (2.livekit.S3Upload.MetadataEntry
tagging (	
content_disposition	 (	#
proxy
 (2.livekit.ProxyConfig/
MetadataEntry
key (	
value (	:8"Z
	GCPUpload
credentials (	BP
bucket (	#
proxy (2.livekit.ProxyConfig"^
AzureBlobUpload
account_name (	BP
account_key (	BP
container_name (	"n
AliOSSUpload

access_key (	BP
secret (	BP
region (	
endpoint (	
bucket (	"C
ProxyConfig
url (	
username (	
password (	BP"V
ListEgressRequest
	room_name (	
	egress_id (	BPegressID
active ("8
ListEgressResponse"
items (2.livekit.EgressInfo"
UpdateEgressRequest
	egress_id (	BPegressID
url (	
layout (	
add_stream_urls (	
remove_stream_urls (	"3
StopEgressRequest
	egress_id (	BPegressID"

EgressInfo
	egress_id (	BPegressID
room_id (	B	ProomID
	room_name (	.
source_type (2.livekit.EgressSourceType%
status (2.livekit.EgressStatus

started_at
 (
ended_at (

updated_at (.
replay (2.livekit.ExportReplayRequestH =
room_composite (2#.livekit.RoomCompositeEgressRequestH (
web (2.livekit.WebEgressRequestH 8
participant (2!.livekit.ParticipantEgressRequestH ?
track_composite (2$.livekit.TrackCompositeEgressRequestH ,
track (2.livekit.TrackEgressRequestH +
stream_results (2.livekit.StreamInfo'
file_results (2.livekit.FileInfo.
segment_results (2.livekit.SegmentsInfo*
image_results (2.livekit.ImagesInfo
error	 (	

error_code (
details (	
manifest_location (	
backup_storage_used (
retry_count (-
stream (2.livekit.StreamInfoListBH%
file (2.livekit.FileInfoBH-
segments (2.livekit.SegmentsInfoBHB	
requestB
result"

StreamInfo
url (	

started_at (
ended_at (
duration (*
status (2.livekit.StreamInfo.Status
error (	
last_retry_at (
retries (".
Status

ACTIVE 
FINISHED

FAILED"t
FileInfo
filename (	

started_at (
ended_at (
duration (
size (
location (	"
SegmentsInfo
playlist_name (	
live_playlist_name (	
duration (
size (
playlist_location (	
live_playlist_location	 (	
segment_count (

started_at (
ended_at ("`

ImagesInfo
filename_prefix (	
image_count (

started_at (
ended_at ("
AutoParticipantEgress0
preset (2.livekit.EncodingOptionsPresetH ,
advanced (2.livekit.EncodingOptionsH 0
file_outputs (2.livekit.EncodedFileOutput5
segment_outputs (2.livekit.SegmentedFileOutputB	
options"
AutoTrackEgress
filepath (	
disable_manifest (
s3 (2.livekit.S3UploadH !
gcp (2.livekit.GCPUploadH )
azure (2.livekit.AzureBlobUploadH '
aliOSS (2.livekit.AliOSSUploadH B
output"
ExportReplayRequest
	replay_id (	BPreplayID
start_offset_ms (
end_offset_ms (+
template (2.livekit.TemplateSourceH !
web (2.livekit.WebSourceH %
media (2.livekit.MediaSourceH 0
preset (2.livekit.EncodingOptionsPresetH,
advanced (2.livekit.EncodingOptionsH 
outputs	 (2.livekit.Output'
storage
 (2.livekit.StorageConfig(
webhooks (2.livekit.WebhookConfigB
sourceB

encoding"
RoomCompositeEgressRequest
	room_name (	
layout (	

audio_only (*
audio_mixing (2.livekit.AudioMixing

video_only (
custom_base_url (	.
file (2.livekit.EncodedFileOutputBH +
stream (2.livekit.StreamOutputBH 4
segments
 (2.livekit.SegmentedFileOutputBH 0
preset (2.livekit.EncodingOptionsPresetH,
advanced	 (2.livekit.EncodingOptionsH0
file_outputs (2.livekit.EncodedFileOutput-
stream_outputs (2.livekit.StreamOutput5
segment_outputs (2.livekit.SegmentedFileOutput+
image_outputs (2.livekit.ImageOutput(
webhooks (2.livekit.WebhookConfigB
outputB	
options"
WebEgressRequest
url (	

audio_only (

video_only (
await_start_signal (.
file (2.livekit.EncodedFileOutputBH +
stream (2.livekit.StreamOutputBH 4
segments (2.livekit.SegmentedFileOutputBH 0
preset (2.livekit.EncodingOptionsPresetH,
advanced (2.livekit.EncodingOptionsH0
file_outputs	 (2.livekit.EncodedFileOutput-
stream_outputs
 (2.livekit.StreamOutput5
segment_outputs (2.livekit.SegmentedFileOutput+
image_outputs (2.livekit.ImageOutput(
webhooks (2.livekit.WebhookConfigB
outputB	
options"
ParticipantEgressRequest
	room_name (	
identity (	
screen_share (0
preset (2.livekit.EncodingOptionsPresetH ,
advanced (2.livekit.EncodingOptionsH 0
file_outputs (2.livekit.EncodedFileOutput-
stream_outputs (2.livekit.StreamOutput5
segment_outputs (2.livekit.SegmentedFileOutput+
image_outputs	 (2.livekit.ImageOutput(
webhooks
 (2.livekit.WebhookConfigB	
options"
TrackCompositeEgressRequest
	room_name (	'
audio_track_id (	BPaudioTrackID'
video_track_id (	BPvideoTrackID.
file (2.livekit.EncodedFileOutputBH +
stream (2.livekit.StreamOutputBH 4
segments (2.livekit.SegmentedFileOutputBH 0
preset (2.livekit.EncodingOptionsPresetH,
advanced (2.livekit.EncodingOptionsH0
file_outputs (2.livekit.EncodedFileOutput-
stream_outputs (2.livekit.StreamOutput5
segment_outputs (2.livekit.SegmentedFileOutput+
image_outputs (2.livekit.ImageOutput(
webhooks (2.livekit.WebhookConfigB
outputB	
options"
TrackEgressRequest
	room_name (	
track_id (	B
PtrackID)
file (2.livekit.DirectFileOutputH 
websocket_url (	H (
webhooks (2.livekit.WebhookConfigB
output"
DirectFileOutput
filepath (	
disable_manifest (
s3 (2.livekit.S3UploadH !
gcp (2.livekit.GCPUploadH )
azure (2.livekit.AzureBlobUploadH '
aliOSS (2.livekit.AliOSSUploadH B
output"
EncodedFileOutput+
	file_type (2.livekit.EncodedFileType
filepath (	
disable_manifest (
s3 (2.livekit.S3UploadH !
gcp (2.livekit.GCPUploadH )
azure (2.livekit.AzureBlobUploadH '
aliOSS (2.livekit.AliOSSUploadH B
output"E
UpdateLayoutRequest
	egress_id (	BPegressID
layout (	"j
UpdateStreamRequest
	egress_id (	BPegressID
add_output_urls (	
remove_output_urls (	"3
StreamInfoList!
info (2.livekit.StreamInfo*W
AudioChannel
AUDIO_CHANNEL_BOTH 
AUDIO_CHANNEL_LEFT
AUDIO_CHANNEL_RIGHT*
EncodingOptionsPreset
H264_720P_30 
H264_720P_60
H264_1080P_30
H264_1080P_60
PORTRAIT_H264_720P_30
PORTRAIT_H264_720P_60
PORTRAIT_H264_1080P_30
PORTRAIT_H264_1080P_60*B
EncodedFileType
DEFAULT_FILETYPE 
MP4
OGG
MP3*H
StreamProtocol
DEFAULT_PROTOCOL 
RTMP
SRT
	WEBSOCKET*N
SegmentedFileProtocol#
DEFAULT_SEGMENTED_FILE_PROTOCOL 
HLS_PROTOCOL*/
SegmentedFileSuffix	
INDEX 
	TIMESTAMP*f
ImageFileSuffix
IMAGE_SUFFIX_INDEX 
IMAGE_SUFFIX_TIMESTAMP
IMAGE_SUFFIX_NONE_OVERWRITE*J
EgressSourceType
EGRESS_SOURCE_TYPE_WEB 
EGRESS_SOURCE_TYPE_SDK*
EgressStatus
EGRESS_STARTING 
EGRESS_ACTIVE
EGRESS_ENDING
EGRESS_COMPLETE
EGRESS_FAILED
EGRESS_ABORTED
EGRESS_LIMIT_REACHED*U
AudioMixing
DEFAULT_MIXING 
DUAL_CHANNEL_AGENT
DUAL_CHANNEL_ALTERNATE2
EgressT
StartRoomCompositeEgress#.livekit.RoomCompositeEgressRequest.livekit.EgressInfo@
StartWebEgress.livekit.WebEgressRequest.livekit.EgressInfoP
StartParticipantEgress!.livekit.ParticipantEgressRequest.livekit.EgressInfoV
StartTrackCompositeEgress$.livekit.TrackCompositeEgressRequest.livekit.EgressInfoD
StartTrackEgress.livekit.TrackEgressRequest.livekit.EgressInfoA
UpdateLayout.livekit.UpdateLayoutRequest.livekit.EgressInfoA
UpdateStream.livekit.UpdateStreamRequest.livekit.EgressInfoE

ListEgress.livekit.ListEgressRequest.livekit.ListEgressResponse=

StopEgress.livekit.StopEgressRequest.livekit.EgressInfoBFZ#github.com/livekit/protocol/livekitLiveKit.ProtoLiveKit::Protobproto3egressFN
DESCRIPTORsF   Z#github.com/livekit/protocol/livekitLiveKit.ProtoLiveKit::Proto_MEDIASOURCEvideo_track_ids   PvideoTrackID_AUDIOROUTEtrack_ids
   PtrackID_DATASELECTOR_ENCODINGOPTIONSaudio_qualitys   video_quality_S3UPLOAD_METADATAENTRYs   8	_S3UPLOAD
access_keys   Psecretsession_tokenassume_role_arnassume_role_external_ids   PPassumeRoleExternalID
_GCPUPLOADcredentials_AZUREBLOBUPLOADaccount_nameaccount_key_ALIOSSUPLOAD_PROXYCONFIGpassword_LISTEGRESSREQUEST	egress_ids   PegressID_UPDATEEGRESSREQUEST_STOPEGRESSREQUEST_EGRESSINFOroom_ids	   ProomIDstreamfilesegments_EXPORTREPLAYREQUEST	replay_ids   PreplayID_ROOMCOMPOSITEEGRESSREQUEST_WEBEGRESSREQUEST_TRACKCOMPOSITEEGRESSREQUESTaudio_track_ids   PaudioTrackID_TRACKEGRESSREQUEST_UPDATELAYOUTREQUEST_UPDATESTREAMREQUESTiU'  _AUDIOCHANNELi'  i'  _ENCODINGOPTIONSPRESETi~(  i(  _ENCODEDFILETYPEi(  i(  _STREAMPROTOCOLi)  i)  _SEGMENTEDFILEPROTOCOLi\)  i^)  _SEGMENTEDFILESUFFIXi)  i)  _IMAGEFILESUFFIXi)  i)  _EGRESSSOURCETYPEiA*  iD*  _EGRESSSTATUSi*  i*  _AUDIOMIXINGi:+  N   _STARTEGRESSREQUESTi  i  _TEMPLATESOURCEi:  i<  
_WEBSOURCEi  i  i\  i^  _PARTICIPANTVIDEOi  i  _AUDIOCONFIGi  i  i  i  _DATACONFIGi  i  i0  i3  ir  iu  _OUTPUTiX  iZ  _FILEOUTPUTi  i  _STREAMOUTPUTi  i  _SEGMENTEDFILEOUTPUTi	  i	  _IMAGEOUTPUTi&  i)  _STORAGECONFIGi  i  i  ib  i  i  i  iM  iO  i  i  i  i  iZ  i\  _LISTEGRESSRESPONSEi  i  i  i   iS  iV  iQ  iT  _STREAMINFOi8  i
  _STREAMINFO_STATUSi:  	_FILEINFOi  i  _SEGMENTSINFOi  i  _IMAGESINFOi  i  _AUTOPARTICIPANTEGRESSi  i  _AUTOTRACKEGRESSi  i  i  i  i,  i/  i  i  _PARTICIPANTEGRESSREQUESTi;!  i>!  i#  i#  iw$  iz$  _DIRECTFILEOUTPUTiZ%  i]%  _ENCODEDFILEOUTPUTik&  im&  i&  i&  i'  i '  _STREAMINFOLISTiS'  i=+  _EGRESSi-  )__doc__google.protobufr   _descriptorr   _descriptor_poolr   _symbol_databasegoogle.protobuf.internalr   _builderDefault_sym_db r   _models_	logger_pbr	   logger_dot_options__pb2AddSerializedFiler   globals_globalsBuildMessageAndEnumDescriptorsBuildTopDescriptorsAndMessages_USE_C_DESCRIPTORS_options_serialized_optionsfields_by_name_serialized_start_serialized_end     H/app/agent/.venv/lib/python3.13/site-packages/livekit/protocol/egress.py<module>rt      sD  
 & 5 ? ? 8 
"
"
$ ! 9 %%'99  ;`@  a@
9  ' '
H =  ' '
Hh G!!U*$((<! 0I(<,GK(>))*:;DRj(>))*:;O@D(=((4=K^(=((4HBF(?**:6?M`(?**:6JJN(--o>GU`(--o>RJN(--o>GU`(--o>R15($%.<D($%9@D(;&&|4=KW(;&&|4H<@(;&&x09GS(;&&x0DCG(;&&7@NZ(;&&7KEI(;&&'89BP\(;&&'89MMQ(;&&'@AJ YB(;&&'@AUBF(<''6?MY(<''6JIM(--n=FT`(--n=QHL(--m<ES_(--m<PDH(?**<8AO[(?**<8L@D(?**84=KW(?**84HAE(>))*5>LX(>))*5IHL( //<ESg( //<PJN(!"11+>GUi(!"11+>RHL( //<ESg( //<PAE(=((5>L`(=((5I?C(=((3<J\(=((3G>B(=((2;IT(=((2F<@(=((09GR(=((0D@D(=((4=KV(=((4HJN(!"11+>GUi(!"11+>RLP(()88@IWb(()88@TNR(()88BKYd(()88BVPT(()88DM[f(()88DXBF(..v6?MX(..v6JDH(..x8AOZ(..x8LFJ(..z:CQ\(..z:NW[()*99:JKTbz()*99:JK_W[()*99:JKTbz()*99:JK_MQ()*99&AJXc()*99&AUOS()*99(CLZe()*99(CWQU()*99*EN\g()*99*EYHL( !00<ESf( !00<PJN(!"11+>GUi(!"11+>RJN(!"11+>GUi(!"11+>R.3(?-,1(?+7<(#$65:(#$416(0/4(.05(/.3(-7<(#$65:(#$45:(!"438(!"216(0/4(.27(105(/.3(?-,1(?+-2(>,+0(>*46( !325( !103(/.1(-+.(<*),(<(-0(>,+.(>*25(103(/-0(>,+.(>*,/(=+*.(=),0(=+*.(=).2(?-,0(?+15(0/3(.(,(9'&*(9%,0(=+*.(=).2(?-,0(?+59(!"437(!"2-1(>,+/(>*/3(.-1(,*.(;)(,(;'8<($%76:($%5+/(<*)-(<(15(0/3(..2(?-,0(?+-1(>,+/(>*37( 215( 048( !326( !159(!"437(!"237( 215( 0,0(=+*.(=),0(=+*.(=)37( 215( 0*.(;)(,(;'.2(?-,0(?+,0(=+*.(=)7;(#$659(#$415(0/3(.59(!"437(!"2<@(();:>(()926(104(/:>(&'98<(&'7=A()*<;?()*:48( !326( !126(104(/37( 215( 059(!"437(!"259(!"438(!"205(/.3(-(-(9'&+(9%E +rr   