final class io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver<T, B, V> extends io.reactivex.internal.observers.QueueDrainObserver<T, java.lang.Object, io.reactivex.Observable<T>> implements io.reactivex.disposables.Disposable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver
  super_class: io.reactivex.internal.observers.QueueDrainObserver
{
  final io.reactivex.ObservableSource<B> open;
    descriptor: Lio/reactivex/ObservableSource;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/ObservableSource<TB;>;

  final io.reactivex.functions.Function<? super B, ? extends io.reactivex.ObservableSource<V>> close;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-TB;+Lio/reactivex/ObservableSource<TV;>;>;

  final int bufferSize;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final io.reactivex.disposables.CompositeDisposable resources;
    descriptor: Lio/reactivex/disposables/CompositeDisposable;
    flags: (0x0010) ACC_FINAL

  io.reactivex.disposables.Disposable upstream;
    descriptor: Lio/reactivex/disposables/Disposable;
    flags: (0x0000) 

  final java.util.concurrent.atomic.AtomicReference<io.reactivex.disposables.Disposable> boundary;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/disposables/Disposable;>;

  final java.util.List<io.reactivex.subjects.UnicastSubject<T>> ws;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lio/reactivex/subjects/UnicastSubject<TT;>;>;

  final java.util.concurrent.atomic.AtomicLong windows;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0010) ACC_FINAL

  final java.util.concurrent.atomic.AtomicBoolean stopWindows;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0010) ACC_FINAL

  void <init>(io.reactivex.Observer<? super io.reactivex.Observable<T>>, io.reactivex.ObservableSource<B>, io.reactivex.functions.Function<? super B, ? extends io.reactivex.ObservableSource<V>>, );
    descriptor: (Lio/reactivex/Observer;Lio/reactivex/ObservableSource;Lio/reactivex/functions/Function;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // io.reactivex.Observer actual
        start local 2 // io.reactivex.ObservableSource open
        start local 3 // io.reactivex.functions.Function close
        start local 4 // int bufferSize
         0: .line 76
            aload 0 /* this */
            aload 1 /* actual */
            new io.reactivex.internal.queue.MpscLinkedQueue
            dup
            invokespecial io.reactivex.internal.queue.MpscLinkedQueue.<init>:()V
            invokespecial io.reactivex.internal.observers.QueueDrainObserver.<init>:(Lio/reactivex/Observer;Lio/reactivex/internal/fuseable/SimplePlainQueue;)V
         1: .line 66
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.boundary:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 70
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
         3: .line 72
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.stopWindows:Ljava/util/concurrent/atomic/AtomicBoolean;
         4: .line 77
            aload 0 /* this */
            aload 2 /* open */
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.open:Lio/reactivex/ObservableSource;
         5: .line 78
            aload 0 /* this */
            aload 3 /* close */
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.close:Lio/reactivex/functions/Function;
         6: .line 79
            aload 0 /* this */
            iload 4 /* bufferSize */
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.bufferSize:I
         7: .line 80
            aload 0 /* this */
            new io.reactivex.disposables.CompositeDisposable
            dup
            invokespecial io.reactivex.disposables.CompositeDisposable.<init>:()V
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
         8: .line 81
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.ws:Ljava/util/List;
         9: .line 82
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
            lconst_1
            invokevirtual java.util.concurrent.atomic.AtomicLong.lazySet:(J)V
        10: .line 83
            return
        end local 4 // int bufferSize
        end local 3 // io.reactivex.functions.Function close
        end local 2 // io.reactivex.ObservableSource open
        end local 1 // io.reactivex.Observer actual
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0   11     1      actual  Lio/reactivex/Observer<-Lio/reactivex/Observable<TT;>;>;
            0   11     2        open  Lio/reactivex/ObservableSource<TB;>;
            0   11     3       close  Lio/reactivex/functions/Function<-TB;+Lio/reactivex/ObservableSource<TV;>;>;
            0   11     4  bufferSize  I
    Signature: (Lio/reactivex/Observer<-Lio/reactivex/Observable<TT;>;>;Lio/reactivex/ObservableSource<TB;>;Lio/reactivex/functions/Function<-TB;+Lio/reactivex/ObservableSource<TV;>;>;I)V
    MethodParameters:
            Name  Flags
      actual      
      open        
      close       
      bufferSize  

  public void onSubscribe(io.reactivex.disposables.Disposable);
    descriptor: (Lio/reactivex/disposables/Disposable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // io.reactivex.disposables.Disposable d
         0: .line 87
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.upstream:Lio/reactivex/disposables/Disposable;
            aload 1 /* d */
            invokestatic io.reactivex.internal.disposables.DisposableHelper.validate:(Lio/reactivex/disposables/Disposable;Lio/reactivex/disposables/Disposable;)Z
            ifeq 8
         1: .line 88
            aload 0 /* this */
            aload 1 /* d */
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.upstream:Lio/reactivex/disposables/Disposable;
         2: .line 90
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.downstream:Lio/reactivex/Observer;
            aload 0 /* this */
            invokeinterface io.reactivex.Observer.onSubscribe:(Lio/reactivex/disposables/Disposable;)V
         3: .line 92
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.stopWindows:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 5
         4: .line 93
            return
         5: .line 96
      StackMap locals:
      StackMap stack:
            new io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryOpenObserver
            dup
            aload 0 /* this */
            invokespecial io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryOpenObserver.<init>:(Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver;)V
            astore 2 /* os */
        start local 2 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryOpenObserver os
         6: .line 98
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.boundary:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            aload 2 /* os */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 99
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.open:Lio/reactivex/ObservableSource;
            aload 2 /* os */
            invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
        end local 2 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryOpenObserver os
         8: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.reactivex.disposables.Disposable d
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0    9     1     d  Lio/reactivex/disposables/Disposable;
            6    8     2    os  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$OperatorWindowBoundaryOpenObserver<TT;TB;>;
    MethodParameters:
      Name  Flags
      d     

  public void onNext();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // java.lang.Object t
         0: .line 106
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.fastEnter:()Z
            ifeq 7
         1: .line 107
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.ws:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver java.lang.Object top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.reactivex.subjects.UnicastSubject
            astore 2 /* w */
        start local 2 // io.reactivex.subjects.UnicastSubject w
         3: .line 108
            aload 2 /* w */
            aload 1 /* t */
            invokevirtual io.reactivex.subjects.UnicastSubject.onNext:(Ljava/lang/Object;)V
        end local 2 // io.reactivex.subjects.UnicastSubject w
         4: .line 107
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 110
            aload 0 /* this */
            iconst_m1
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.leave:(I)I
            ifne 10
         6: .line 111
            return
         7: .line 114
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
            aload 1 /* t */
            invokestatic io.reactivex.internal.util.NotificationLite.next:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
            pop
         8: .line 115
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.enter:()Z
            ifne 10
         9: .line 116
            return
        10: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.drainLoop:()V
        11: .line 120
            return
        end local 1 // java.lang.Object t
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0   12     1     t  TT;
            3    4     2     w  Lio/reactivex/subjects/UnicastSubject<TT;>;
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      t     

  public void onError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // java.lang.Throwable t
         0: .line 124
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.done:Z
            ifeq 3
         1: .line 125
            aload 1 /* t */
            invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
         2: .line 126
            return
         3: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.error:Ljava/lang/Throwable;
         4: .line 129
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.done:Z
         5: .line 131
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.enter:()Z
            ifeq 7
         6: .line 132
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.drainLoop:()V
         7: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
            lconst_0
            lcmp
            ifne 9
         8: .line 136
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
            invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
         9: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.downstream:Lio/reactivex/Observer;
            aload 1 /* t */
            invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
        10: .line 140
            return
        end local 1 // java.lang.Throwable t
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0   11     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public void onComplete();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
         0: .line 144
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.done:Z
            ifeq 2
         1: .line 145
            return
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.done:Z
         3: .line 149
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.enter:()Z
            ifeq 5
         4: .line 150
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.drainLoop:()V
         5: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
            lconst_0
            lcmp
            ifne 7
         6: .line 154
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
            invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
         7: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.downstream:Lio/reactivex/Observer;
            invokeinterface io.reactivex.Observer.onComplete:()V
         8: .line 158
            return
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;

  void error(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // java.lang.Throwable t
         0: .line 161
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.upstream:Lio/reactivex/disposables/Disposable;
            invokeinterface io.reactivex.disposables.Disposable.dispose:()V
         1: .line 162
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
            invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
         2: .line 163
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.onError:(Ljava/lang/Throwable;)V
         3: .line 164
            return
        end local 1 // java.lang.Throwable t
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0    4     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
         0: .line 168
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.stopWindows:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifeq 4
         1: .line 169
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.boundary:Ljava/util/concurrent/atomic/AtomicReference;
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         2: .line 170
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
            lconst_0
            lcmp
            ifne 4
         3: .line 171
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.upstream:Lio/reactivex/disposables/Disposable;
            invokeinterface io.reactivex.disposables.Disposable.dispose:()V
         4: .line 174
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;

  public boolean isDisposed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
         0: .line 178
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.stopWindows:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ireturn
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;

  void disposeBoundary();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
         0: .line 182
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
            invokevirtual io.reactivex.disposables.CompositeDisposable.dispose:()V
         1: .line 183
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.boundary:Ljava/util/concurrent/atomic/AtomicReference;
            invokestatic io.reactivex.internal.disposables.DisposableHelper.dispose:(Ljava/util/concurrent/atomic/AtomicReference;)Z
            pop
         2: .line 184
            return
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;

  void drainLoop();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=12, args_size=1
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
         0: .line 187
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
            checkcast io.reactivex.internal.queue.MpscLinkedQueue
            astore 1 /* q */
        start local 1 // io.reactivex.internal.queue.MpscLinkedQueue q
         1: .line 188
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.downstream:Lio/reactivex/Observer;
            astore 2 /* a */
        start local 2 // io.reactivex.Observer a
         2: .line 189
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.ws:Ljava/util/List;
            astore 3 /* ws */
        start local 3 // java.util.List ws
         3: .line 190
            iconst_1
            istore 4 /* missed */
        start local 4 // int missed
         4: .line 195
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.done:Z
            istore 5 /* d */
        start local 5 // boolean d
         5: .line 197
            aload 1 /* q */
            invokevirtual io.reactivex.internal.queue.MpscLinkedQueue.poll:()Ljava/lang/Object;
            astore 6 /* o */
        start local 6 // java.lang.Object o
         6: .line 199
            aload 6 /* o */
            ifnonnull 7
            iconst_1
            goto 8
      StackMap locals: int java.lang.Object
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 7 /* empty */
        start local 7 // boolean empty
         9: .line 201
            iload 5 /* d */
            ifeq 24
            iload 7 /* empty */
            ifeq 24
        10: .line 202
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.disposeBoundary:()V
        11: .line 203
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.error:Ljava/lang/Throwable;
            astore 8 /* e */
        start local 8 // java.lang.Throwable e
        12: .line 204
            aload 8 /* e */
            ifnull 18
        13: .line 205
            aload 3 /* ws */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 16
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int int java.lang.Object int java.lang.Throwable top java.util.Iterator
      StackMap stack:
        14: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.reactivex.subjects.UnicastSubject
            astore 9 /* w */
        start local 9 // io.reactivex.subjects.UnicastSubject w
        15: .line 206
            aload 9 /* w */
            aload 8 /* e */
            invokevirtual io.reactivex.subjects.UnicastSubject.onError:(Ljava/lang/Throwable;)V
        end local 9 // io.reactivex.subjects.UnicastSubject w
        16: .line 205
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 208
            goto 22
        18: .line 209
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int int java.lang.Object int java.lang.Throwable
      StackMap stack:
            aload 3 /* ws */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 21
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int int java.lang.Object int java.lang.Throwable top java.util.Iterator
      StackMap stack:
        19: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.reactivex.subjects.UnicastSubject
            astore 9 /* w */
        start local 9 // io.reactivex.subjects.UnicastSubject w
        20: .line 210
            aload 9 /* w */
            invokevirtual io.reactivex.subjects.UnicastSubject.onComplete:()V
        end local 9 // io.reactivex.subjects.UnicastSubject w
        21: .line 209
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 213
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int int java.lang.Object int java.lang.Throwable
      StackMap stack:
            aload 3 /* ws */
            invokeinterface java.util.List.clear:()V
        23: .line 214
            return
        end local 8 // java.lang.Throwable e
        24: .line 217
      StackMap locals:
      StackMap stack:
            iload 7 /* empty */
            ifeq 26
        25: .line 218
            goto 57
        26: .line 221
      StackMap locals:
      StackMap stack:
            aload 6 /* o */
            instanceof io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation
            ifeq 52
        27: .line 223
            aload 6 /* o */
            checkcast io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation
            astore 8 /* wo */
        start local 8 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation wo
        28: .line 225
            aload 8 /* wo */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation.w:Lio/reactivex/subjects/UnicastSubject;
            astore 9 /* w */
        start local 9 // io.reactivex.subjects.UnicastSubject w
        29: .line 226
            aload 9 /* w */
            ifnull 35
        30: .line 227
            aload 3 /* ws */
            aload 8 /* wo */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation.w:Lio/reactivex/subjects/UnicastSubject;
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            ifeq 4
        31: .line 228
            aload 8 /* wo */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation.w:Lio/reactivex/subjects/UnicastSubject;
            invokevirtual io.reactivex.subjects.UnicastSubject.onComplete:()V
        32: .line 230
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
            lconst_0
            lcmp
            ifne 4
        33: .line 231
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.disposeBoundary:()V
        34: .line 232
            return
        35: .line 238
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation io.reactivex.subjects.UnicastSubject
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.stopWindows:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            ifeq 37
        36: .line 239
            goto 4
        37: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.bufferSize:I
            invokestatic io.reactivex.subjects.UnicastSubject.create:(I)Lio/reactivex/subjects/UnicastSubject;
            astore 9 /* w */
        38: .line 244
            aload 3 /* ws */
            aload 9 /* w */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        39: .line 245
            aload 2 /* a */
            aload 9 /* w */
            invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
        40: .line 250
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.close:Lio/reactivex/functions/Function;
            aload 8 /* wo */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation.open:Ljava/lang/Object;
            invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.reactivex.ObservableSource
            ldc "The ObservableSource supplied is null"
            invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.reactivex.ObservableSource
            astore 10 /* p */
        start local 10 // io.reactivex.ObservableSource p
        41: .line 251
            goto 47
        end local 10 // io.reactivex.ObservableSource p
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 11 /* e */
        start local 11 // java.lang.Throwable e
        43: .line 252
            aload 11 /* e */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        44: .line 253
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.stopWindows:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
        45: .line 254
            aload 2 /* a */
            aload 11 /* e */
            invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
        46: .line 255
            goto 4
        end local 11 // java.lang.Throwable e
        start local 10 // io.reactivex.ObservableSource p
        47: .line 258
      StackMap locals: io.reactivex.ObservableSource
      StackMap stack:
            new io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver
            dup
            aload 0 /* this */
            aload 9 /* w */
            invokespecial io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver.<init>:(Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver;Lio/reactivex/subjects/UnicastSubject;)V
            astore 11 /* cl */
        start local 11 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver cl
        48: .line 260
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
            aload 11 /* cl */
            invokevirtual io.reactivex.disposables.CompositeDisposable.add:(Lio/reactivex/disposables/Disposable;)Z
            ifeq 4
        49: .line 261
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.windows:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
            pop2
        50: .line 263
            aload 10 /* p */
            aload 11 /* cl */
            invokeinterface io.reactivex.ObservableSource.subscribe:(Lio/reactivex/Observer;)V
        51: .line 266
            goto 4
        end local 11 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver cl
        end local 10 // io.reactivex.ObservableSource p
        end local 9 // io.reactivex.subjects.UnicastSubject w
        end local 8 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation wo
        52: .line 269
      StackMap locals:
      StackMap stack:
            aload 3 /* ws */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 55
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int int java.lang.Object int top java.util.Iterator
      StackMap stack:
        53: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.reactivex.subjects.UnicastSubject
            astore 8 /* w */
        start local 8 // io.reactivex.subjects.UnicastSubject w
        54: .line 270
            aload 8 /* w */
            aload 6 /* o */
            invokestatic io.reactivex.internal.util.NotificationLite.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual io.reactivex.subjects.UnicastSubject.onNext:(Ljava/lang/Object;)V
        end local 8 // io.reactivex.subjects.UnicastSubject w
        55: .line 269
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        end local 7 // boolean empty
        end local 6 // java.lang.Object o
        end local 5 // boolean d
        56: .line 194
            goto 4
        57: .line 274
      StackMap locals: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver io.reactivex.internal.queue.MpscLinkedQueue io.reactivex.Observer java.util.List int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* missed */
            ineg
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.leave:(I)I
            istore 4 /* missed */
        58: .line 275
            iload 4 /* missed */
            ifne 4
        59: .line 279
            return
        end local 4 // int missed
        end local 3 // java.util.List ws
        end local 2 // io.reactivex.Observer a
        end local 1 // io.reactivex.internal.queue.MpscLinkedQueue q
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   60     0    this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            1   60     1       q  Lio/reactivex/internal/queue/MpscLinkedQueue<Ljava/lang/Object;>;
            2   60     2       a  Lio/reactivex/Observer<-Lio/reactivex/Observable<TT;>;>;
            3   60     3      ws  Ljava/util/List<Lio/reactivex/subjects/UnicastSubject<TT;>;>;
            4   60     4  missed  I
            5   56     5       d  Z
            6   56     6       o  Ljava/lang/Object;
            9   56     7   empty  Z
           12   24     8       e  Ljava/lang/Throwable;
           15   16     9       w  Lio/reactivex/subjects/UnicastSubject<TT;>;
           20   21     9       w  Lio/reactivex/subjects/UnicastSubject<TT;>;
           28   52     8      wo  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowOperation<TT;TB;>;
           29   52     9       w  Lio/reactivex/subjects/UnicastSubject<TT;>;
           41   42    10       p  Lio/reactivex/ObservableSource<TV;>;
           47   52    10       p  Lio/reactivex/ObservableSource<TV;>;
           43   47    11       e  Ljava/lang/Throwable;
           48   52    11      cl  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver<TT;TV;>;
           54   55     8       w  Lio/reactivex/subjects/UnicastSubject<TT;>;
      Exception table:
        from    to  target  type
          40    41      42  Class java.lang.Throwable

  public void accept(io.reactivex.Observer<? super io.reactivex.Observable<T>>, );
    descriptor: (Lio/reactivex/Observer;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // io.reactivex.Observer a
        start local 2 // java.lang.Object v
         0: .line 283
            return
        end local 2 // java.lang.Object v
        end local 1 // io.reactivex.Observer a
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0    1     1     a  Lio/reactivex/Observer<-Lio/reactivex/Observable<TT;>;>;
            0    1     2     v  Ljava/lang/Object;
    Signature: (Lio/reactivex/Observer<-Lio/reactivex/Observable<TT;>;>;Ljava/lang/Object;)V
    MethodParameters:
      Name  Flags
      a     
      v     

  void open();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // java.lang.Object b
         0: .line 286
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
            new io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation
            dup
            aconst_null
            aload 1 /* b */
            invokespecial io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation.<init>:(Lio/reactivex/subjects/UnicastSubject;Ljava/lang/Object;)V
            invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
            pop
         1: .line 287
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.enter:()Z
            ifeq 3
         2: .line 288
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.drainLoop:()V
         3: .line 290
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object b
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0    4     1     b  TB;
    Signature: (TB;)V
    MethodParameters:
      Name  Flags
      b     

  void close(io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver<T, V>);
    descriptor: (Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
        start local 1 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver w
         0: .line 293
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.resources:Lio/reactivex/disposables/CompositeDisposable;
            aload 1 /* w */
            invokevirtual io.reactivex.disposables.CompositeDisposable.delete:(Lio/reactivex/disposables/Disposable;)Z
            pop
         1: .line 294
            aload 0 /* this */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
            new io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation
            dup
            aload 1 /* w */
            getfield io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver.w:Lio/reactivex/subjects/UnicastSubject;
            aconst_null
            invokespecial io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation.<init>:(Lio/reactivex/subjects/UnicastSubject;Ljava/lang/Object;)V
            invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
            pop
         2: .line 295
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.enter:()Z
            ifeq 4
         3: .line 296
            aload 0 /* this */
            invokevirtual io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver.drainLoop:()V
         4: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver w
        end local 0 // io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$WindowBoundaryMainObserver<TT;TB;TV;>;
            0    5     1     w  Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver<TT;TV;>;
    Signature: (Lio/reactivex/internal/operators/observable/ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver<TT;TV;>;)V
    MethodParameters:
      Name  Flags
      w     
}
Signature: <T:Ljava/lang/Object;B:Ljava/lang/Object;V:Ljava/lang/Object;>Lio/reactivex/internal/observers/QueueDrainObserver<TT;Ljava/lang/Object;Lio/reactivex/Observable<TT;>;>;Lio/reactivex/disposables/Disposable;
SourceFile: "ObservableWindowBoundarySelector.java"
NestHost: io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector
InnerClasses:
  final OperatorWindowBoundaryCloseObserver = io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryCloseObserver of io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector
  final OperatorWindowBoundaryOpenObserver = io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$OperatorWindowBoundaryOpenObserver of io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector
  final WindowBoundaryMainObserver = io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowBoundaryMainObserver of io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector
  final WindowOperation = io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector$WindowOperation of io.reactivex.internal.operators.observable.ObservableWindowBoundarySelector