U vi\ @sddlmZddlmZmZmZmZmZddlm Z m Z m Z ddl m Z mZmZedZee ee edfge efddd Zd gZd S) )Future)AnyCallableOptionalTypeVarUnion) Observableabc from_future)CompositeDisposableSerialDisposableSingleAssignmentDisposable_T Future[_T]returncCs(ttttdfttddd}|S)Nr)sourcercs.dtjtttjtjdfdd }t|S)aPartially applied switch_latest operator. Transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence. Returns: An observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. N)observer schedulerrcsxtdgdgdgtttdfddfdd }ddfdd }j|j|d }t|S) NFrr) inner_sourcerc st}jdd7<dW5QRXdd<|_t|trRt|}n|}tddfdd }tddfdd }dd fd d }|j|||d |_dS)NrT)xrcsdkr|dSNr)on_next)r_idlatestrR/opt/alt/python38/lib/python3.8/site-packages/reactivex/operators/_switchlatest.pyr9s zZswitch_latest_..switch_latest..subscribe..on_next..on_next)ercsdkr|dSr)on_error)rrrrr =s z[switch_latest_..switch_latest..subscribe..on_next..on_errorrcs(dkr$dd<dr$dS)NrF on_completedr)r has_latest is_stoppedrrrrr"As z_switch_latest_..switch_latest..subscribe..on_next..on_completedr) r lockZ disposable isinstancerr r Exception subscribe)rdZobsrr r")r#inner_subscriptionr$rrrr)rrr)s$  zIswitch_latest_..switch_latest..subscribe..on_nextrcsdd<dsdS)NTrr!r)r#r$rrrr"KszNswitch_latest_..switch_latest..subscribe..on_completedr%)r rrrr)r r )rrrr"Z subscriptionr)r#r+r$rrrrr) s,"z8switch_latest_..switch_latest..subscribe)N)r Z ObserverBaserrZ SchedulerBaseZDisposableBaser)rr)rr,r switch_latests5z%switch_latest_..switch_latest)rrr)r-rrrswitch_latest_s Fr.N)asynciortypingrrrrrZ reactivexrr r Zreactivex.disposabler r r rr.__all__rrrrs  L