U vi6@s\ddlmZmZmZmZddlmZmZedZe eeegeefdddZ dgZ dS))CallableListOptionalTypeVar) Observableabc_T)countreturncs ttttdfdd }|S)N)sourcer cs,dtjtttjdfdd }t|S)arBypasses a specified number of elements at the end of an observable sequence. This operator accumulates a queue with a length enough to store the first `count` elements. As more elements are received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed. Args: count: Number of elements to bypass at the end of the source sequence. Returns: An observable sequence containing the source sequence elements except for the bypassed ones at the end. N)observer schedulercs4gtddfdd }j|jj|dS)N)valuer c sLd}j&|tkr,d}W5QRX|dk rH|dS)Nr)lockappendlenpopon_next)rZfront)r r qr N/opt/alt/python38/lib/python3.8/site-packages/reactivex/operators/_skiplast.pyr!s  zAskip_last_..skip_last..subscribe..on_next)r )r subscribeZon_errorZ on_completed)r r r)r r )r rrrs z0skip_last_..skip_last..subscribe)N)rZ ObserverBaserrZ SchedulerBaser)r rr )r r skip_last s zskip_last_..skip_last)rr)r rrrr skip_last_s(rN) typingrrrrZ reactivexrrrintr__all__rrrrs",