
    5jO              
          S SK r S SKrS SKrS SKJrJr  S SKJrJr  S SK	J
r
JrJrJrJrJrJrJrJrJr  S SKrSSKJr  SSKJr  SSKJr  SS	KJr  S
SKJr  S
SK J!r!  S
SK"J#r#J$r$J%r%J&r&J'r'J(r(J)r)  S
SK*J+r+J,r,J-r-  S
SK.J/r/J0r0J1r1J2r2  S
SK3J4r4  \
(       a  S
SK5J6r6  S
SKJ7r7  SSK8J9r9  \Rt                  " 5       r;S r<S\+S\+S\=S\>S\R~                  4
S jr@S rA " S S\05      rB " S S\/S    5      rC " S! S"5      rDg)#    N)ThreadPoolExecutorwait)reducepartial)
TYPE_CHECKINGUnionIterableCallableDictKeysView
ValuesView	ItemsViewOptionalList   _UniverseStreamsEvts#UniverseStmListenersUniverseStreamsUniverseStreamsStates)_UniverseStream   )DesktopSession)ItemWasNotRequested)universe_arg_parserfields_arg_parsercached_propertyquotesget_unique_list!convert_df_columns_to_datetime_rePRICING_DATETIME_PATTERN)StringsOptStrOptDict)
BaseStreamStreamOpenWithUpdatesMixinOptContribTErrorContribResponse)ContribResponse)EventListener)Session)PricingStreamc                 H    U  H  nUR                  5       nU(       d  M  Ue   g N)	exception)futuresfutr0   s      b/root/lseg-credit/backend/venv/lib/python3.13/site-packages/lseg/data/content/_universe_streams.pyraise_err_if_existsr4   %   s!    MMO	9O     universefieldsvalues_by_fieldconvertreturnc                 B   / nU  Hf  n/ nUR                  5        H8  nUR                  S5      nUc  [        R                  nUR	                  U5        M:     UR	                  U/UQ75        Mh     [        R
                  " US/UQ7S9n	U(       a  U	R                  5       n	U	$ )Nr   
Instrumentdatacolumns)valuespoppdNAappend	DataFrameconvert_dtypes)
r6   r7   r8   r9   r>   	inst_nameitemsr@   itemdfs
             r3   build_dfrK   ,   s    D	%,,.F::a=D|uuLL / 	Y''(  
4,)@)@	AB Ir5   c                 n    [        U5      [        U5      -
  n[        U5      nU(       a  [        XU5      eg r/   )setboolr   )nameinput_valuesrequested_valuesnot_requestedhas_not_requesteds        r3   validaterT   C   s8    %,<(==M]+!$7GHH r5   c                       \ rS rSrS\4S jr\S\4S j5       r\S 5       r	\S 5       r
\S 5       r\S	 5       r\S\\   4S
 j5       rS rS rS rSS\S\4S jjrS rS rS rS rS rS rS rS rSrg)UniverseStreamFacadeK   streamc                     Xl         g r/   _streamselfrX   s     r3   __init__UniverseStreamFacade.__init__L   s    (.r5   r:   c                 .    U R                   R                  $ r/   )r[   idr]   s    r3   ra   UniverseStreamFacade.idO   s    ||r5   c                 .    U R                   R                  $ r/   )r[   status_stream_staterb   s    r3   codeUniverseStreamFacade.codeS   s    ||///r5   c                 .    U R                   R                  $ r/   )r[   status_message_staterb   s    r3   messageUniverseStreamFacade.messageW   s    ||000r5   c                 .    U R                   R                  $ r/   )r[   rO   rb   s    r3   rO   UniverseStreamFacade.name[   s    ||   r5   c                 .    U R                   R                  $ r/   )r[   servicerb   s    r3   ro   UniverseStreamFacade.service_   s    ||###r5   c                 .    U R                   R                  $ r/   )r[   r7   rb   s    r3   r7   UniverseStreamFacade.fieldsc   s    ||"""r5   c                 6    U R                   R                  5       $ r/   )r[   	__enter__rb   s    r3   rt   UniverseStreamFacade.__enter__g   s    ||%%''r5   c                 :    U R                   R                  XU5      $ r/   )r[   __exit__)r]   exc_typeexc_valexc_tbs       r3   rw   UniverseStreamFacade.__exit__j   s    ||$$X??r5   c                 L    U R                   R                  R                  U5      $ r/   )r[   recordget_field_value)r]   fields     r3   r~   $UniverseStreamFacade.get_field_valuem   s    ||""22599r5   Nr7   c                 L    U R                   R                  R                  U5      $ r/   )r[   r}   
get_fieldsr]   r7   s     r3   r   UniverseStreamFacade.get_fieldsp   s    ||""--f55r5   c                 J    U R                   R                  R                  5       $ r/   )r[   r}   keysrb   s    r3   r   UniverseStreamFacade.keyss   s    ||""''))r5   c                 J    U R                   R                  R                  5       $ r/   )r[   r}   r@   rb   s    r3   r@   UniverseStreamFacade.valuesv   s    ||""))++r5   c                 J    U R                   R                  R                  5       $ r/   )r[   r}   rH   rb   s    r3   rH   UniverseStreamFacade.itemsy   s    ||""((**r5   c                 J    U R                   R                  R                  5       $ r/   )r[   r}   __iter__rb   s    r3   r   UniverseStreamFacade.__iter__|   s    ||""++--r5   c                 x     U R                   R                  R                  U5      nU$ ! [         a    S n U$ f = fr/   )r[   r}   __getitem__KeyError)r]   r   rI   s      r3   r    UniverseStreamFacade.__getitem__   sC    	<<&&2259D   	D	s   %) 99c                 6    U R                   R                  5       $ r/   )r[   __len__rb   s    r3   r   UniverseStreamFacade.__len__       ||##%%r5   c                 6    U R                   R                  5       $ r/   )r[   __repr__rb   s    r3   r   UniverseStreamFacade.__repr__   s    ||$$&&r5   c                 6    U R                   R                  5       $ r/   )r[   __str__rb   s    r3   r   UniverseStreamFacade.__str__   r   r5   rZ   r/   )__name__
__module____qualname____firstlineno__r   r^   propertyintra   rf   rj   rO   ro   r   strr7   rt   rw   r~   listdictr   r   r@   rH   r   r   r   r   r   __static_attributes__ r5   r3   rV   rV   K   s    / / C   0 0 1 1 ! ! $ $ #S	 # #(@:6 6 6*,+.&'&r5   rV   c                   f   \ rS rSr\SSSSS4S\\\\   4   SSS\\\4   S\S\	S	\
S
S4S jjr\S
\4S j5       r\S
\4S j5       r\S
\4S j5       rS\4S jrS\4S jrS\4S jrS\\S4   4S jrS\4S jrS\\S4   4S jr\R6                  R8                  S?S j5       r\S 5       rS
\4S jr \S
\!\\4   4S j5       r"S
\#\   4S jr$S
\%\   4S jr&S
\'\\4   4S jr(S
\%\   4S jr)S r*S
\\
\S 4   4S! jr+S" r,   S@S\-\\\.4      S\-\\\.4      S$\/S
\0Rb                  4S% jjr2 SAS&\S\
S'\3S(\4S
S)4
S* jjr5 SAS&\S\
S'\3S(\4S
S)4
S+ jjr6S, r7S- r8S. r9SBS/ jr:SBS0 jr;SBS1 jr<SBS2 jr=S#S3.SBS4 jjr>S5\\   4S6 jr?SBS7 jr@SBS8 jrASBS9 jrBSBS: jrCSBS; jrD SAS&\S\
S'\3S(\4S
S)4
S< jjrES= rFS>rGg)C_UniverseStreams   Nr6   sessionr,   r7   ro   apiextended_paramsr:   c
                    [        [        5      n
U R                  R                   SU
 S[	        U5       3U l        [        R                  " X
U5        [        R                  " U5      U l
        [        R                  " U=(       d    / 5      U l        X`l        Xpl        Xl        [!        5       U l        [!        5       U l        Xl        X@l        [*        R,                  " 5       U l        Xl        SU l        g )N id=
 universe=T)next_id_iterator	__class__r   r   	classnamer&   r^   r   get_list	_universer   r7   _service_api_extended_paramsrM   	completedclosed_content_type_item_facade_class	threadingLocklock_insts_fieldsowner_with_updates)r]   content_typer6   r   item_facade_classr7   ro   r   r   r   	stream_ids              r3   r^   _UniverseStreams.__init__   s     &	 NN334D:fU]N^M_`DW5"5">">x"H099&,BG	 /e)"3!*!1
!r5   c                     [        U 5      $ r/   r   rb   s    r3   states_UniverseStreams.states   s    $T**r5   c                     [        U 5      $ r/   r   rb   s    r3   universe_stream_listeners*_UniverseStreams.universe_stream_listeners   s    2488r5   c                     [        U 5      $ r/   r   rb   s    r3   events_UniverseStreams.events   s    #D))r5   callbackc                 :    U R                   R                  U5        g r/   )r   on_ackr]   r   s     r3   r   _UniverseStreams.on_ack   s    8$r5   c                 :    U R                   R                  U5        g r/   )r   on_completer   s     r3   r   _UniverseStreams.on_complete   s    )r5   c                 :    U R                   R                  U5        g r/   )r   on_errorr   s     r3   r   _UniverseStreams.on_error   s    X&r5   r+   c                 :    U R                   R                  U5        g r/   )r   
on_refreshr   s     r3   r   _UniverseStreams.on_refresh   s    x(r5   c                 :    U R                   R                  U5        g r/   )r   	on_statusr   s     r3   r   _UniverseStreams.on_status       h'r5   c                 :    U R                   R                  U5        g r/   )r   	on_updater   s     r3   r   _UniverseStreams.on_update   r   r5   c                 |    [         R                  R                  X5        U R                  5        H	  nXl        M     g r/   )r&   r   fsetstreams)r]   r   rX   s      r3   r   _UniverseStreams.session   s+    .llnF$N %r5   c                     U R                   $ r/   )r   rb   s    r3   r6   _UniverseStreams.universe   s    ~~r5   c                     [        U R                  UU R                  U U R                  U R                  U R
                  U R                  S9$ )N)r   rO   r   r   r7   ro   r   r   )r   r   r   r7   r   r   r   r]   rO   s     r3   create_stream_by_name&_UniverseStreams.create_stream_by_name   sC    ++LL;;MM		 11	
 		
r5   c                 d    U R                    Vs0 s H  oU R                  U5      _M     sn$ s  snf r/   )r6   r   r   s     r3   stream_by_name_UniverseStreams.stream_by_name   s,    CG==Q=4d0066=QQQs   -c                 6    U R                   R                  5       $ r/   )r   r   rb   s    r3   r   _UniverseStreams.keys   s    ""''))r5   c                 6    U R                   R                  5       $ r/   r   r@   rb   s    r3   r@   _UniverseStreams.values       ""))++r5   c                 6    U R                   R                  5       $ r/   )r   rH   rb   s    r3   rH   _UniverseStreams.items   s    ""((**r5   c                 6    U R                   R                  5       $ r/   r   rb   s    r3   r   _UniverseStreams.streams   r   r5   c                     [        U 5      $ r/   )StreamIteratorrb   s    r3   r   _UniverseStreams.__iter__   s    d##r5   r-   c                     U R                   R                  U0 5      nU0 :X  a$  U R                  SU SU R                   S35        U$ [	        US5      (       a  UR
                  nU$ U R                  U5      nX2l        U$ )N'z	' not in z	 universe_wrapper)r   getwarningr   hasattrr  r   )r]   rO   rX   wrappers       r3   r   _UniverseStreams.__getitem__   s    $$((r2R<LL1TF)DNN+;9EFM6:&&ooG
  --f5G%Or5   c                 ,    [        U R                  5      $ r/   )lenr   rb   s    r3   r   _UniverseStreams.__len__  s    4&&''r5   Tr9   c                   ^  U(       a/  [         R                  " U5      n [        SUT R                  5        OT R                  nUn[        U 4S jU/ 5      nU(       a&  [        R                  " U5      n [        SXV5        UnO[        U5      n/ nU Hz  nT R                  U   R                  R                  U5      n	0 [        5       R!                  U[        R"                  5      EU	En	UR%                  U/U	R'                  5       Q75        M|     [        R                  " US/UQ7S9n
U(       a  U
R)                  5       n
[+        U
[,        5        U
$ ! [         a0  nT R                  U5        [        R                  " 5       s SnA$ SnAff = f! [         a0  nT R                  U5        [        R                  " 5       s SnA$ SnAff = f)a  
Returns a Dataframe filled with snapshot values
for a list of instrument names and a list of fields.

Parameters
----------
universe: list of strings
    List of instruments to request snapshot data on.

fields: str or list of strings
    List of fields to request.

convert: boolean
    If True, force numeric conversion for all values.

Returns
-------
    pandas.DataFrame

    pandas.DataFrame content:
        - columns : instrument and field names
        - rows : instrument name and field values

Raises
------
    Exception
        If request fails or if server returns an error

    ValueError
        If a parameter type or value is wrong

r<   Nc                 X   > U TR                   U   R                  R                  5       -   $ r/   )r   r}   get_fields_keys)linstr]   s     r3   <lambda>/_UniverseStreams.get_snapshot.<locals>.<lambda>;  s$    q43F3Ft3L3S3S3c3c3e/er5   Fieldr=   )r   r   rT   r6   r   errorrB   rE   r   r   
get_uniquer    r   r}   r   r   fromkeysrC   rD   r@   rF   r!   r"   )r]   r6   r7   r9   euser_fieldsserver_fieldsr>   rG   values_by_fieldsrJ   s   `          r3   get_snapshot_UniverseStreams.get_snapshot  s   N *33H=H&x? }}Hegoqst+66{CK&+=$ %]3F!I#229=DDOOPVW &//&"%%0 "  KK?%5%<%<%>?@ " \\tl-DV-DE""$B)".FG	Q ' &

1||~%&" ' &

1||~%&s;   E 5F 
F%FFF
G
%G?G
G
rO   contrib_typepost_user_infor*   c                 :    U R                   R                  XX45      $ r/   )state
contributer]   rO   r7   r  r  s        r3   r  _UniverseStreams.contribute\  s     zz$$T<PPr5   c           
         #    [         R                  " 5       R                  S [        U R                  XX45      5      I S h  vN $  N7fr/   )asyncioget_event_looprun_in_executorr   r  r   s        r3   contribute_async!_UniverseStreams.contribute_asynca  s@      ++-==DOOT<P
 
 	
 
s   >A AAc                 T  ^  T R                  5       =(       a    T R                  T R                   S35        U 4S jn[        SS9 nT R	                  5        Vs/ s H  o2R                  X5      PM     nn[        U5        [        U5        S S S 5        g s  snf ! , (       d  f       g = f)Nz close_open_streamsc                    > U R                   R                  5         U R                  5         U R                   R                  TR                  R                  5        U R                  TR                  S9  g )Nwith_updates)r   	off_closecloseon_closer   openr   )rX   r]   s    r3   
close_open7_UniverseStreams.close_open_streams.<locals>.close_openl  sN    MM##%LLNMM""4#A#A#G#GHKKT%7%7K8r5   zCloseOpenUniverseStreams-Threadthread_name_prefix)is_debugdebugr   r   r   submitr   r4   )r]   r0  executorrX   r1   s   `    r3   close_open_streams#_UniverseStreams.close_open_streamsi  s    NDJJ$..)99L'MN	9  3TUYaIMXvz:GXM( VUX VUs   BB3BB
B'c                 Z   U R                  5       =(       a    U R                  U R                   S35        [        SS9 nU R	                  5        Vs/ s H  o!R                  UR                  5      PM     nn[        U5        [        U5        S S S 5        g s  snf ! , (       d  f       g = f)Nz streams_send_open_messagez!SendOpenMsgUniverseStreams-Threadr2  )	r4  r5  r   r   r   r6  send_open_messager   r4   )r]   r7  rX   r1   s       r3   streams_send_open_message*_UniverseStreams.streams_send_open_messagew  s    UDJJ$..)99S'TU3VW[cOS||~^~Vv'?'?@~G^M( XW^ XWs   B$B6BB
B*c                     U R                  5       =(       a     U R                  U R                   SU 35        U R                  5        H  nUR                  R                  U5        M      g )Nz" remove_fields_from_record fields=)r4  r5  r   r   r}   remove_fields)r]   r7   rX   s      r3   remove_fields_from_record*_UniverseStreams.remove_fields_from_record  sO    eDJJ$..)99[\b[c'dellnFMM''/ %r5   c                     U R                  5       =(       a     U R                  U R                   SU 35        U R                  R	                  U5        g )Nz add_fields fields=)r4  r5  r   r  
add_fieldsr   s     r3   rC  _UniverseStreams.add_fields  s=    VDJJ$..)99LVH'UV

f%r5   c                     U R                  5       =(       a     U R                  U R                   SU 35        U R                  R	                  U5        g )Nz remove_fields fields=)r4  r5  r   r  r?  r   s     r3   r?  _UniverseStreams.remove_fields  s>    YDJJ$..)99OPVx'XY

  (r5   c                     U R                  5       =(       a     U R                  U R                   SU 35        U R                  R	                  U5        g )Nz add_instruments instruments=)r4  r5  r   r  add_instrumentsr]   instrumentss     r3   rH   _UniverseStreams.add_instruments  s?    eDJJ$..)99VWbVc'de

"";/r5   c                     U R                  5       =(       a     U R                  U R                   SU 35        U R                  R	                  U5        g )Nz  remove_instruments instruments=)r4  r5  r   r  remove_instrumentsrI  s     r3   rM  #_UniverseStreams.remove_instruments  s?    hDJJ$..)99YZeYf'gh

%%k2r5   r*  c                    Xl         U R                  5       (       d  [        S5      eU R                  R	                  5         U R
                  R	                  5         U R                  U R                  5       5        g )NzNo instrument to subscribe)r   r   
ValueErrorr   clearr   open_streams)r]   r+  argskwargss       r3   _do_open_UniverseStreams._do_open  sS    )||~~9::$,,.)r5   r   c           	         U R                  5       =(       a:    U R                  U R                   SU Vs/ s H  o"R                  PM     sn 35        [	        SS9 n/ nU R
                  nU GH   nUR                  nUR                  UR                  5        UR                  UR                  5        UR                  UR                  5        UR                  UR                  5        UR                  UR                   5        UR#                  UR$                  5        UR'                  UR(                  5        UR+                  UR-                  UR.                  U R0                  S95        GM     [3        U5        [5        U5        S S S 5        U R                  5       =(       a<    U R                  U R                   SU Vs/ s H  o"R                  PM     sn 35        g   g s  snf ! , (       d  f       Ng= fs  snf )Nz start open zOpenUniverseStreams-Threadr2  r*  z
 end open )r4  r5  r   rO   r   r   r   r   updater   ackr   refreshr   statusr   completer   r  r.  r-  rD   r6  r/  r   r   r4   )r]   r   rX   r7  r1   r   universe_streamuniverse_stream_eventss           r3   rR  _UniverseStreams.open_streams  s   lDJJ$..)9ahFiahW]{{ahFiEj'kl3OPT\G(,(F(F%#*)8)?)?&&001J1Q1QR&--.G.K.KL&112K2S2ST&001J1Q1QR&223L3U3UV&//0I0O0OP&//0I0O0OPx/C/CRVRdRdef $+ M( Q" 	jDJJ$..)9_fDg_fU[[[_fDgCh'ijj' GjPP" Ehs   G#D,G(G9(
G6c                    U R                  5       =(       a    U R                  U R                   S35        [        SS9 n/ nU R	                  5        H  nUR
                  nUR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  5         UR                  UR                  UR                  5      5        M     [!        U5        [#        U5        S S S 5        U R                  5       =(       a     U R                  U R                   S35        g   g ! , (       d  f       NF= f)Nz start closezCloseUniverseStreams-Threadr2  z
 end close)r4  r5  r   r   r@   r   
off_updateoff_ackoff_refresh
off_statusoff_complete	off_errorr,  rD   r6  r-  r   r4   )r]   rS  rT  r7  r1   r]  r^  s          r3   	_do_close_UniverseStreams._do_close  s   GDJJ$..)9'FG3PQU]G#';;=)8)?)?&&113&..0&224&113&335&002&002x/D/DEF $1 M( R  	EDJJ$..)9'DEE! RQs   CE
E#c                 >   U R                      [        R                  " U5      n[        U5      [        U R                  5      -  nU(       a  U R                  U S35        U Vs/ s H  o3U R                  ;  d  M  UPM     nnU(       d
   S S S 5        g U R                  R                  U5        U R                  (       a@  [        U R                  [        5      (       a  U R                  5         OU R                  5         S S S 5        g s  snf ! , (       d  f       g = f)Nz already in fields list)r   r   r   rM   r7   r  extend
is_open_st
isinstancer   r   r8  r<  )r]   r7   exists_fieldsis       r3   do_add_fields_UniverseStreams.do_add_fields  s    ##&//7FK#dkk*::M

m_,CDE!'@ADKK+?aF@ $# KKv&dllN;;++- 224# $# A $#s+   AD$D	;D	
DA,D	D
Dc                 r   U R                      [        R                  " U5      n[        U5      [        U R                  5      -
  nU(       a  U R                  U S35        U Vs/ s H  o3U R                  ;   d  M  UPM     nnU(       d
   S S S 5        g U H  nU R                  R                  U5        M      U R                  (       aQ  [        U R                  [        5      (       a  U R                  5         OU R                  5         U R                  U5        S S S 5        g s  snf ! , (       d  f       g = f)Nz not in fields list)r   r   r   rM   r7   r  removerk  rl  r   r   r8  r<  r@  )r]   r7   not_exists_fieldsrn  s       r3   do_remove_fields!_UniverseStreams.do_remove_fields  s    ##&//7F #Fc$++.> > 

/00CDE!'<A+;aF< $# ""1%  dllN;;++- 224..v6+ $# = $#s+   AD($D#;D#
D(BD(#D((
D6c                 l   U R                      [        R                  " U5      nU R                  (       a  U R                  R                  U5        GOJ/ nU GH  nX0R                  ;   a  U R                  U S35        M)  U R                  (       a  U R                  R                  U5        MW  U R                  (       aM  U R                  U5      nUR                  U5        X@R                  U'   U R                  R                  U5        M  U R                  (       a<  U R                  U5      U R                  U'   U R                  R                  U5        GM  [        SU R                   35      e   U R                  5         U=(       a    U R                  U5        S S S 5        g ! , (       d  f       g = f)Nz already in universe listzdo_add_instrument for )r   r   r   is_unopened_str6   rj  r  rD   rk  r   r   is_close_stNotImplementedErrorr  update_classnamerR  )r]   rJ  new_streams
instrument
new_streams        r3   do_add_instruments#_UniverseStreams.do_add_instruments  sF   ##-66{CK""$$[1 !"-J!]]2

j\1J#KL **,,Z8%)%?%?
%K
#**:6:D++J7,,Z8)):>:T:TU_:`++J7,,Z8 24J4::,2WXX' #.* %%'> 1 1+ >? $##s   FF%%
F3c                    U R                      U R                  (       d  U R                  S5         S S S 5        g [        R                  " U5       H  nX R                  ;  a  U R                  U S35        M(  U R
                  (       a  U R                  R                  U5        MV  U R                  (       aG  U R                  R                  U5        U R                  U   R                  5         U R                  U	 M  U R                  (       a*  U R                  R                  U5        U R                  U	 M  [        SU R                   35      e   U R                  5         S S S 5        g ! , (       d  f       g = f)Nznothing to deletez not in universe listzdo_remove_instruments for )r   r6   r  r   r   rw  rr  rk  r   r-  rx  ry  r  rz  )r]   rJ  r|  s      r3   do_remove_instruments&_UniverseStreams.do_remove_instruments  s   ##==

./ $#
 2::;G
]]2JJ*-BCD&&MM((4__MM((4''
399;++J7%%MM((4++J7 .0J4::,.WXX% H( !!#3 $##s   $E,D)E,,
E:c                    U R                   R                  U5      nU(       a  U R                  5       =(       a     U R                  U R                   SU 35        UR                  X#U5      nU R                  5       =(       a     U R                  U R                   SU 35        U$ U R                  SU 35        [        SSU 305      $ )Nz start contribute name=z end contribute name=z&Can't contribute to unsubscribed item Text)r   r  r4  r5  r   r  r  r)   )r]   rO   r7   r  r  r]  contrib_responses          r3   do_contribute_UniverseStreams.do_contribute3  s     --11$7MMO\

dnn-==TUYTZ+[ \.99&P^_MMOZ

dnn-==RSWRX+Y Z## JJ?vFG'3YZ^Y_1`(abbr5   c                     U R                   R                   SU R                   S[        U R                  5       3U l        g )Nr   r   )r   r   ra   r   r6   r   rb   s    r3   rz  !_UniverseStreams.update_classnameA  s6     NN334D	FSWS`S`LaKbcr5   )r   r   r   r   r   r   r   r   r   r   r7   r   r   )r   r,   )NNT)NN)r:   N)Hr   r   r   r   rV   r   r   r	   r   r$   r   r^   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r&   r   setterr   r6   r   r   r   r   r   r   r   r@   r   rH   r   r   r   r   r   r#   rN   rB   rE   r  r(   r%   r  r&  r8  r<  r@  rC  r?  rH  rM  rU  rR  rg  ro  rt  r~  r  r  rz  r   r   r5   r3   r   r      s`    /#' $" Xc]*+" 	" c4i " " " " 
"8 +- + + 9+N 9 9 *, * *%x %*H *' ')5?)B#C )(( ((%/(A"B ( % %
  

_ 

 RS/%9 : R R*hsm *,
?3 ,+yo!56 +,O4 ,$5/C_)T#U (
 3704	T5g./T sG|,-T 	T
 
Tn dhQQ!%Q5@QY`Q	Q dh

!%
5@
Y`
	
))0
&)03 ,0 *kH_$= k,F*5(70 ?D$: dhcc!%c5@cY`c	cdr5   r   UniverseStreamsStc                   .    \ rS rSrS\4S jrS rS rSrg)r   iE  rX   c                     Xl         SU l        g )Nr   )r[   _indexr\   s     r3   r^   StreamIterator.__init__F  s    r5   c                     U $ r/   r   rb   s    r3   r   StreamIterator.__iter__J  s    r5   c                     U R                   R                  nU R                  [        U5      :  a2  U R                   XR                        nU =R                  S-  sl        U$ [	        5       e)Nr   )r[   r6   r  r  StopIteration)r]   r6   rX   s      r3   __next__StreamIterator.__next__M  sQ    <<((;;X&\\(;;"78FKK1KMor5   )r  r[   N)	r   r   r   r   r   r^   r   r  r   r   r5   r3   r   r   E  s    / r5   r   )Er#  	itertoolsr   concurrent.futuresr   r   	functoolsr   r   typingr   r   r	   r
   r   r   r   r   r   r   pandasrB   _eventsr   
_listenersr   _statesr   _universe_streamr   _core.sessionr   _errorsr   _toolsr   r   r   r   r    r!   r"   _typesr#   r$   r%   delivery._streamr&   r'   r(   r)   delivery.omm_streamr*   	_listenerr+   r,   pricing._stream_facader-   countr   r4   r   rN   rE   rK   rT   rV   r   r   r   r5   r3   <module>r     s       7 % r r r  ) ; * - * )   . - h h 1)'5 w  $ QU Z\ZfZf .IB&5 B&Jrdz"56 rdj r5   