public class org.apache.catalina.authenticator.SingleSignOn extends org.apache.catalina.valves.ValveBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.authenticator.SingleSignOn
  super_class: org.apache.catalina.valves.ValveBase
{
  private static final org.apache.tomcat.util.res.StringManager sm;
    descriptor: Lorg/apache/tomcat/util/res/StringManager;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.apache.catalina.Engine engine;
    descriptor: Lorg/apache/catalina/Engine;
    flags: (0x0002) ACC_PRIVATE

  protected java.util.Map<java.lang.String, org.apache.catalina.authenticator.SingleSignOnEntry> cache;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/catalina/authenticator/SingleSignOnEntry;>;

  private boolean requireReauthentication;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String cookieDomain;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String cookieName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 62
            ldc Lorg/apache/catalina/authenticator/SingleSignOn;
            invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
            putstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 73
            aload 0 /* this */
            iconst_1
            invokespecial org.apache.catalina.valves.ValveBase.<init>:(Z)V
         1: .line 83
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
         2: .line 90
            aload 0 /* this */
            iconst_0
            putfield org.apache.catalina.authenticator.SingleSignOn.requireReauthentication:Z
         3: .line 100
            aload 0 /* this */
            ldc "JSESSIONIDSSO"
            putfield org.apache.catalina.authenticator.SingleSignOn.cookieName:Ljava/lang/String;
         4: .line 74
            return
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public java.lang.String getCookieDomain();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 111
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cookieDomain:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public void setCookieDomain(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String cookieDomain
         0: .line 121
            aload 1 /* cookieDomain */
            ifnull 3
            aload 1 /* cookieDomain */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 3
         1: .line 122
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.authenticator.SingleSignOn.cookieDomain:Ljava/lang/String;
         2: .line 123
            goto 4
         3: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cookieDomain */
            putfield org.apache.catalina.authenticator.SingleSignOn.cookieDomain:Ljava/lang/String;
         4: .line 126
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String cookieDomain
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    5     1  cookieDomain  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      cookieDomain  

  public java.lang.String getCookieName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 133
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cookieName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public void setCookieName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String cookieName
         0: .line 142
            aload 0 /* this */
            aload 1 /* cookieName */
            putfield org.apache.catalina.authenticator.SingleSignOn.cookieName:Ljava/lang/String;
         1: .line 143
            return
        end local 1 // java.lang.String cookieName
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    2     1  cookieName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      cookieName  

  public boolean getRequireReauthentication();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 164
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.requireReauthentication:Z
            ireturn
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;

  public void setRequireReauthentication(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // boolean required
         0: .line 209
            aload 0 /* this */
            iload 1 /* required */
            putfield org.apache.catalina.authenticator.SingleSignOn.requireReauthentication:Z
         1: .line 210
            return
        end local 1 // boolean required
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    2     1  required  Z
    MethodParameters:
          Name  Flags
      required  

  public void invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response);
    descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // org.apache.catalina.connector.Request request
        start local 2 // org.apache.catalina.connector.Response response
         0: .line 228
            aload 1 /* request */
            ldc "org.apache.catalina.request.SSOID"
            invokevirtual org.apache.catalina.connector.Request.removeNote:(Ljava/lang/String;)V
         1: .line 231
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 3
         2: .line 232
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.invoke"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getRequestURI:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         3: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
            ifnull 10
         4: .line 235
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 8
         5: .line 236
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.hasPrincipal"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 237
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
         7: .line 236
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         8: .line 239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getNext:()Lorg/apache/catalina/Valve;
            aload 1 /* request */
            aload 2 /* response */
            invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
         9: .line 240
            return
        10: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 12
        11: .line 245
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.cookieCheck"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        12: .line 247
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* cookie */
        start local 3 // jakarta.servlet.http.Cookie cookie
        13: .line 248
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getCookies:()[Ljakarta/servlet/http/Cookie;
            astore 4 /* cookies */
        start local 4 // jakarta.servlet.http.Cookie[] cookies
        14: .line 249
            aload 4 /* cookies */
            ifnull 22
        15: .line 250
            aload 4 /* cookies */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 21
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.connector.Request org.apache.catalina.connector.Response jakarta.servlet.http.Cookie jakarta.servlet.http.Cookie[] top int int jakarta.servlet.http.Cookie[]
      StackMap stack:
        16: aload 8
            iload 6
            aaload
            astore 5 /* value */
        start local 5 // jakarta.servlet.http.Cookie value
        17: .line 251
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cookieName:Ljava/lang/String;
            aload 5 /* value */
            invokevirtual jakarta.servlet.http.Cookie.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 252
            aload 5 /* value */
            astore 3 /* cookie */
        19: .line 253
            goto 22
        end local 5 // jakarta.servlet.http.Cookie value
        20: .line 250
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        21: iload 6
            iload 7
            if_icmplt 16
        22: .line 257
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.connector.Request org.apache.catalina.connector.Response jakarta.servlet.http.Cookie jakarta.servlet.http.Cookie[]
      StackMap stack:
            aload 3 /* cookie */
            ifnonnull 27
        23: .line 258
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 25
        24: .line 259
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.cookieNotFound"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        25: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getNext:()Lorg/apache/catalina/Valve;
            aload 1 /* request */
            aload 2 /* response */
            invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
        26: .line 262
            return
        27: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 31
        28: .line 267
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.principalCheck"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        29: .line 268
            aload 3 /* cookie */
            invokevirtual jakarta.servlet.http.Cookie.getValue:()Ljava/lang/String;
            aastore
        30: .line 267
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        31: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 3 /* cookie */
            invokevirtual jakarta.servlet.http.Cookie.getValue:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 5 /* entry */
        start local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        32: .line 271
            aload 5 /* entry */
            ifnull 45
        33: .line 272
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 40
        34: .line 273
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.principalFound"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        35: .line 274
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPrincipal:()Ljava/security/Principal;
            ifnull 36
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPrincipal:()Ljava/security/Principal;
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            goto 37
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.connector.Request org.apache.catalina.connector.Response jakarta.servlet.http.Cookie jakarta.servlet.http.Cookie[] org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int
        36: ldc ""
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.connector.Request org.apache.catalina.connector.Response jakarta.servlet.http.Cookie jakarta.servlet.http.Cookie[] org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        37: aastore
            dup
            iconst_1
        38: .line 275
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getAuthType:()Ljava/lang/String;
            aastore
        39: .line 273
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        40: .line 277
      StackMap locals:
      StackMap stack:
            aload 1 /* request */
            ldc "org.apache.catalina.request.SSOID"
            aload 3 /* cookie */
            invokevirtual jakarta.servlet.http.Cookie.getValue:()Ljava/lang/String;
            invokevirtual org.apache.catalina.connector.Request.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
        41: .line 279
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getRequireReauthentication:()Z
            ifne 60
        42: .line 280
            aload 1 /* request */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getAuthType:()Ljava/lang/String;
            invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
        43: .line 281
            aload 1 /* request */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPrincipal:()Ljava/security/Principal;
            invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
        44: .line 283
            goto 60
        45: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 49
        46: .line 285
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.principalNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        47: .line 286
            aload 3 /* cookie */
            invokevirtual jakarta.servlet.http.Cookie.getValue:()Ljava/lang/String;
            aastore
        48: .line 285
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        49: .line 289
      StackMap locals:
      StackMap stack:
            aload 3 /* cookie */
            ldc "REMOVE"
            invokevirtual jakarta.servlet.http.Cookie.setValue:(Ljava/lang/String;)V
        50: .line 291
            aload 3 /* cookie */
            iconst_0
            invokevirtual jakarta.servlet.http.Cookie.setMaxAge:(I)V
        51: .line 294
            aload 3 /* cookie */
            ldc "/"
            invokevirtual jakarta.servlet.http.Cookie.setPath:(Ljava/lang/String;)V
        52: .line 295
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getCookieDomain:()Ljava/lang/String;
            astore 6 /* domain */
        start local 6 // java.lang.String domain
        53: .line 296
            aload 6 /* domain */
            ifnull 55
        54: .line 297
            aload 3 /* cookie */
            aload 6 /* domain */
            invokevirtual jakarta.servlet.http.Cookie.setDomain:(Ljava/lang/String;)V
        55: .line 302
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* cookie */
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.isSecure:()Z
            invokevirtual jakarta.servlet.http.Cookie.setSecure:(Z)V
        56: .line 303
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getServletContext:()Ljakarta/servlet/ServletContext;
            invokeinterface jakarta.servlet.ServletContext.getSessionCookieConfig:()Ljakarta/servlet/SessionCookieConfig;
            invokeinterface jakarta.servlet.SessionCookieConfig.isHttpOnly:()Z
            ifne 58
        57: .line 304
            aload 1 /* request */
            invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getUseHttpOnly:()Z
            ifeq 59
        58: .line 305
      StackMap locals:
      StackMap stack:
            aload 3 /* cookie */
            iconst_1
            invokevirtual jakarta.servlet.http.Cookie.setHttpOnly:(Z)V
        59: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* response */
            aload 3 /* cookie */
            invokevirtual org.apache.catalina.connector.Response.addCookie:(Ljakarta/servlet/http/Cookie;)V
        end local 6 // java.lang.String domain
        60: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getNext:()Lorg/apache/catalina/Valve;
            aload 1 /* request */
            aload 2 /* response */
            invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
        61: .line 313
            return
        end local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        end local 4 // jakarta.servlet.http.Cookie[] cookies
        end local 3 // jakarta.servlet.http.Cookie cookie
        end local 2 // org.apache.catalina.connector.Response response
        end local 1 // org.apache.catalina.connector.Request request
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   62     0      this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   62     1   request  Lorg/apache/catalina/connector/Request;
            0   62     2  response  Lorg/apache/catalina/connector/Response;
           13   62     3    cookie  Ljakarta/servlet/http/Cookie;
           14   62     4   cookies  [Ljakarta/servlet/http/Cookie;
           17   20     5     value  Ljakarta/servlet/http/Cookie;
           32   62     5     entry  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
           53   60     6    domain  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, jakarta.servlet.ServletException
    MethodParameters:
          Name  Flags
      request   
      response  

  public void sessionDestroyed(java.lang.String, org.apache.catalina.Session);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Session session
         0: .line 329
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifne 2
         1: .line 330
            return
         2: .line 337
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getMaxInactiveInterval:()I
            ifle 4
         3: .line 338
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getIdleTimeInternal:()J
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getMaxInactiveInterval:()I
            sipush 1000
            imul
            i2l
            lcmp
            ifge 5
         4: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* session */
            invokeinterface org.apache.catalina.Session.getManager:()Lorg/apache/catalina/Manager;
            invokeinterface org.apache.catalina.Manager.getContext:()Lorg/apache/catalina/Context;
            invokeinterface org.apache.catalina.Context.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifne 11
         5: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 9
         6: .line 341
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.sessionTimeout"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 342
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
         8: .line 341
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ssoId */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.removeSession:(Ljava/lang/String;Lorg/apache/catalina/Session;)V
        10: .line 345
            goto 18
        11: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 15
        12: .line 350
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.sessionLogout"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 351
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
        14: .line 350
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        15: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ssoId */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.removeSession:(Ljava/lang/String;Lorg/apache/catalina/Session;)V
        16: .line 360
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 361
            aload 0 /* this */
            aload 1 /* ssoId */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.deregister:(Ljava/lang/String;)V
        18: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.catalina.Session session
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   19     1    ssoId  Ljava/lang/String;
            0   19     2  session  Lorg/apache/catalina/Session;
    MethodParameters:
         Name  Flags
      ssoId    
      session  

  protected boolean associate(java.lang.String, org.apache.catalina.Session);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Session session
         0: .line 378
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 3 /* sso */
        start local 3 // org.apache.catalina.authenticator.SingleSignOnEntry sso
         1: .line 379
            aload 3 /* sso */
            ifnonnull 7
         2: .line 380
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 6
         3: .line 381
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.associateFail"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 382
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
         5: .line 381
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         6: .line 384
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            iconst_0
            ireturn
         7: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 11
         8: .line 387
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.associate"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 388
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 2 /* session */
            aastore
        10: .line 387
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 390
      StackMap locals:
      StackMap stack:
            aload 3 /* sso */
            aload 0 /* this */
            aload 1 /* ssoId */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.addSession:(Lorg/apache/catalina/authenticator/SingleSignOn;Ljava/lang/String;Lorg/apache/catalina/Session;)V
        12: .line 391
            iconst_1
            ireturn
        end local 3 // org.apache.catalina.authenticator.SingleSignOnEntry sso
        end local 2 // org.apache.catalina.Session session
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   13     1    ssoId  Ljava/lang/String;
            0   13     2  session  Lorg/apache/catalina/Session;
            1   13     3      sso  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
    MethodParameters:
         Name  Flags
      ssoId    
      session  

  protected void deregister(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
         0: .line 405
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 2 /* sso */
        start local 2 // org.apache.catalina.authenticator.SingleSignOnEntry sso
         1: .line 407
            aload 2 /* sso */
            ifnonnull 5
         2: .line 408
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 4
         3: .line 409
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.deregisterFail"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         4: .line 411
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            return
         5: .line 415
      StackMap locals:
      StackMap stack:
            aload 2 /* sso */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.findSessions:()Ljava/util/Set;
            astore 3 /* ssoKeys */
        start local 3 // java.util.Set ssoKeys
         6: .line 416
            aload 3 /* ssoKeys */
            invokeinterface java.util.Set.size:()I
            ifne 9
         7: .line 417
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 9
         8: .line 418
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.deregisterNone"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 421
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* ssoKeys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String org.apache.catalina.authenticator.SingleSignOnEntry java.util.Set top java.util.Iterator
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnSessionKey
            astore 4 /* ssoKey */
        start local 4 // org.apache.catalina.authenticator.SingleSignOnSessionKey ssoKey
        11: .line 422
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 13
        12: .line 423
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.deregister"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* ssoKey */
            aastore
            dup
            iconst_1
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        13: .line 426
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String org.apache.catalina.authenticator.SingleSignOnEntry java.util.Set org.apache.catalina.authenticator.SingleSignOnSessionKey java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 4 /* ssoKey */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.expire:(Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;)V
        end local 4 // org.apache.catalina.authenticator.SingleSignOnSessionKey ssoKey
        14: .line 421
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String org.apache.catalina.authenticator.SingleSignOnEntry java.util.Set top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 432
            return
        end local 3 // java.util.Set ssoKeys
        end local 2 // org.apache.catalina.authenticator.SingleSignOnEntry sso
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   16     1    ssoId  Ljava/lang/String;
            1   16     2      sso  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
            6   16     3  ssoKeys  Ljava/util/Set<Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;>;
           11   14     4   ssoKey  Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;
    MethodParameters:
       Name  Flags
      ssoId  

  private void expire(org.apache.catalina.authenticator.SingleSignOnSessionKey);
    descriptor: (Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // org.apache.catalina.authenticator.SingleSignOnSessionKey key
         0: .line 436
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
            ifnonnull 3
         1: .line 437
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.engineNull"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         2: .line 438
            return
         3: .line 440
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
            aload 1 /* key */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnSessionKey.getHostName:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Engine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            astore 2 /* host */
        start local 2 // org.apache.catalina.Container host
         4: .line 441
            aload 2 /* host */
            ifnonnull 7
         5: .line 442
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.hostNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
         6: .line 443
            return
         7: .line 445
      StackMap locals: org.apache.catalina.Container
      StackMap stack:
            aload 2 /* host */
            aload 1 /* key */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnSessionKey.getContextName:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Container.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Context
            astore 3 /* context */
        start local 3 // org.apache.catalina.Context context
         8: .line 446
            aload 3 /* context */
            ifnonnull 11
         9: .line 447
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.contextNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        10: .line 448
            return
        11: .line 450
      StackMap locals: org.apache.catalina.Context
      StackMap stack:
            aload 3 /* context */
            invokeinterface org.apache.catalina.Context.getManager:()Lorg/apache/catalina/Manager;
            astore 4 /* manager */
        start local 4 // org.apache.catalina.Manager manager
        12: .line 451
            aload 4 /* manager */
            ifnonnull 15
        13: .line 452
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.managerNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        14: .line 453
            return
        15: .line 455
      StackMap locals: org.apache.catalina.Manager
      StackMap stack:
            aconst_null
            astore 5 /* session */
        start local 5 // org.apache.catalina.Session session
        16: .line 457
            aload 4 /* manager */
            aload 1 /* key */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnSessionKey.getSessionId:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Manager.findSession:(Ljava/lang/String;)Lorg/apache/catalina/Session;
            astore 5 /* session */
        17: .line 458
            goto 21
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn org.apache.catalina.authenticator.SingleSignOnSessionKey org.apache.catalina.Container org.apache.catalina.Context org.apache.catalina.Manager org.apache.catalina.Session
      StackMap stack: java.io.IOException
        18: astore 6 /* e */
        start local 6 // java.io.IOException e
        19: .line 459
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.managerError"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 6 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        20: .line 460
            return
        end local 6 // java.io.IOException e
        21: .line 462
      StackMap locals:
      StackMap stack:
            aload 5 /* session */
            ifnonnull 24
        22: .line 463
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.sessionExpire.sessionNotFound"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* key */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        23: .line 464
            return
        24: .line 466
      StackMap locals:
      StackMap stack:
            aload 5 /* session */
            invokeinterface org.apache.catalina.Session.expire:()V
        25: .line 467
            return
        end local 5 // org.apache.catalina.Session session
        end local 4 // org.apache.catalina.Manager manager
        end local 3 // org.apache.catalina.Context context
        end local 2 // org.apache.catalina.Container host
        end local 1 // org.apache.catalina.authenticator.SingleSignOnSessionKey key
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   26     1      key  Lorg/apache/catalina/authenticator/SingleSignOnSessionKey;
            4   26     2     host  Lorg/apache/catalina/Container;
            8   26     3  context  Lorg/apache/catalina/Context;
           12   26     4  manager  Lorg/apache/catalina/Manager;
           16   26     5  session  Lorg/apache/catalina/Session;
           19   21     6        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          16    17      18  Class java.io.IOException
    MethodParameters:
      Name  Flags
      key   

  protected boolean reauthenticate(java.lang.String, org.apache.catalina.Realm, org.apache.catalina.connector.Request);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Realm;Lorg/apache/catalina/connector/Request;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Realm realm
        start local 3 // org.apache.catalina.connector.Request request
         0: .line 494
            aload 1 /* ssoId */
            ifnull 1
            aload 2 /* realm */
            ifnonnull 2
         1: .line 495
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 498
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* reauthenticated */
        start local 4 // boolean reauthenticated
         3: .line 500
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 5 /* entry */
        start local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
         4: .line 501
            aload 5 /* entry */
            ifnull 13
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getCanReauthenticate:()Z
            ifeq 13
         5: .line 503
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getUsername:()Ljava/lang/String;
            astore 6 /* username */
        start local 6 // java.lang.String username
         6: .line 504
            aload 6 /* username */
            ifnull 13
         7: .line 506
            aload 2 /* realm */
            aload 6 /* username */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getPassword:()Ljava/lang/String;
            invokeinterface org.apache.catalina.Realm.authenticate:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
         8: .line 505
            astore 7 /* reauthPrincipal */
        start local 7 // java.security.Principal reauthPrincipal
         9: .line 507
            aload 7 /* reauthPrincipal */
            ifnull 13
        10: .line 508
            iconst_1
            istore 4 /* reauthenticated */
        11: .line 510
            aload 3 /* request */
            aload 5 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getAuthType:()Ljava/lang/String;
            invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
        12: .line 511
            aload 3 /* request */
            aload 7 /* reauthPrincipal */
            invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
        end local 7 // java.security.Principal reauthPrincipal
        end local 6 // java.lang.String username
        13: .line 516
      StackMap locals: int org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            iload 4 /* reauthenticated */
            ireturn
        end local 5 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        end local 4 // boolean reauthenticated
        end local 3 // org.apache.catalina.connector.Request request
        end local 2 // org.apache.catalina.Realm realm
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0   14     1            ssoId  Ljava/lang/String;
            0   14     2            realm  Lorg/apache/catalina/Realm;
            0   14     3          request  Lorg/apache/catalina/connector/Request;
            3   14     4  reauthenticated  Z
            4   14     5            entry  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
            6   13     6         username  Ljava/lang/String;
            9   13     7  reauthPrincipal  Ljava/security/Principal;
    MethodParameters:
         Name  Flags
      ssoId    
      realm    
      request  

  protected void register(java.lang.String, java.security.Principal, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=6
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // java.security.Principal principal
        start local 3 // java.lang.String authType
        start local 4 // java.lang.String username
        start local 5 // java.lang.String password
         0: .line 534
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 6
         1: .line 535
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.register"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
         2: .line 536
            aload 2 /* principal */
            ifnull 3
            aload 2 /* principal */
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            goto 4
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String java.security.Principal java.lang.String java.lang.String java.lang.String
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int
         3: ldc ""
      StackMap locals: org.apache.catalina.authenticator.SingleSignOn java.lang.String java.security.Principal java.lang.String java.lang.String java.lang.String
      StackMap stack: org.apache.juli.logging.Log org.apache.tomcat.util.res.StringManager java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         4: aastore
            dup
            iconst_2
            aload 3 /* authType */
            aastore
         5: .line 535
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         6: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            new org.apache.catalina.authenticator.SingleSignOnEntry
            dup
            aload 2 /* principal */
            aload 3 /* authType */
            aload 4 /* username */
            aload 5 /* password */
            invokespecial org.apache.catalina.authenticator.SingleSignOnEntry.<init>:(Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 540
            return
        end local 5 // java.lang.String password
        end local 4 // java.lang.String username
        end local 3 // java.lang.String authType
        end local 2 // java.security.Principal principal
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    8     1      ssoId  Ljava/lang/String;
            0    8     2  principal  Ljava/security/Principal;
            0    8     3   authType  Ljava/lang/String;
            0    8     4   username  Ljava/lang/String;
            0    8     5   password  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      ssoId      
      principal  
      authType   
      username   
      password   

  protected boolean update(java.lang.String, java.security.Principal, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // java.security.Principal principal
        start local 3 // java.lang.String authType
        start local 4 // java.lang.String username
        start local 5 // java.lang.String password
         0: .line 574
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 6 /* sso */
        start local 6 // org.apache.catalina.authenticator.SingleSignOnEntry sso
         1: .line 575
            aload 6 /* sso */
            ifnull 6
            aload 6 /* sso */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.getCanReauthenticate:()Z
            ifne 6
         2: .line 576
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 4
         3: .line 577
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.update"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* ssoId */
            aastore
            dup
            iconst_1
            aload 3 /* authType */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         4: .line 580
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            aload 6 /* sso */
            aload 2 /* principal */
            aload 3 /* authType */
            aload 4 /* username */
            aload 5 /* password */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.updateCredentials:(Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 581
            iconst_1
            ireturn
         6: .line 583
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.apache.catalina.authenticator.SingleSignOnEntry sso
        end local 5 // java.lang.String password
        end local 4 // java.lang.String username
        end local 3 // java.lang.String authType
        end local 2 // java.security.Principal principal
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    7     1      ssoId  Ljava/lang/String;
            0    7     2  principal  Ljava/security/Principal;
            0    7     3   authType  Ljava/lang/String;
            0    7     4   username  Ljava/lang/String;
            0    7     5   password  Ljava/lang/String;
            1    7     6        sso  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
    MethodParameters:
           Name  Flags
      ssoId      
      principal  
      authType   
      username   
      password   

  protected void removeSession(java.lang.String, org.apache.catalina.Session);
    descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
        start local 2 // org.apache.catalina.Session session
         0: .line 596
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 2
         1: .line 597
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.containerLog:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.authenticator.SingleSignOn.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "singleSignOn.debug.removeSession"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* session */
            aastore
            dup
            iconst_1
            aload 1 /* ssoId */
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         2: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.authenticator.SingleSignOn.cache:Ljava/util/Map;
            aload 1 /* ssoId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.catalina.authenticator.SingleSignOnEntry
            astore 3 /* entry */
        start local 3 // org.apache.catalina.authenticator.SingleSignOnEntry entry
         3: .line 602
            aload 3 /* entry */
            ifnonnull 5
         4: .line 603
            return
         5: .line 607
      StackMap locals: org.apache.catalina.authenticator.SingleSignOnEntry
      StackMap stack:
            aload 3 /* entry */
            aload 2 /* session */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.removeSession:(Lorg/apache/catalina/Session;)V
         6: .line 611
            aload 3 /* entry */
            invokevirtual org.apache.catalina.authenticator.SingleSignOnEntry.findSessions:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifne 8
         7: .line 612
            aload 0 /* this */
            aload 1 /* ssoId */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.deregister:(Ljava/lang/String;)V
         8: .line 614
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.catalina.authenticator.SingleSignOnEntry entry
        end local 2 // org.apache.catalina.Session session
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    9     1    ssoId  Ljava/lang/String;
            0    9     2  session  Lorg/apache/catalina/Session;
            3    9     3    entry  Lorg/apache/catalina/authenticator/SingleSignOnEntry;
    MethodParameters:
         Name  Flags
      ssoId    
      session  

  protected org.apache.catalina.SessionListener getSessionListener(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/catalina/SessionListener;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
        start local 1 // java.lang.String ssoId
         0: .line 618
            new org.apache.catalina.authenticator.SingleSignOnListener
            dup
            aload 1 /* ssoId */
            invokespecial org.apache.catalina.authenticator.SingleSignOnListener.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String ssoId
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/catalina/authenticator/SingleSignOn;
            0    1     1  ssoId  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      ssoId  

  protected synchronized void startInternal();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 624
            aload 0 /* this */
            invokevirtual org.apache.catalina.authenticator.SingleSignOn.getContainer:()Lorg/apache/catalina/Container;
            astore 1 /* c */
        start local 1 // org.apache.catalina.Container c
         1: .line 625
            goto 3
         2: .line 626
      StackMap locals: org.apache.catalina.Container
      StackMap stack:
            aload 1 /* c */
            invokeinterface org.apache.catalina.Container.getParent:()Lorg/apache/catalina/Container;
            astore 1 /* c */
         3: .line 625
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ifnull 4
            aload 1 /* c */
            instanceof org.apache.catalina.Engine
            ifeq 2
         4: .line 628
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            ifnull 6
         5: .line 629
            aload 0 /* this */
            aload 1 /* c */
            checkcast org.apache.catalina.Engine
            putfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
         6: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.catalina.valves.ValveBase.startInternal:()V
         7: .line 632
            return
        end local 1 // org.apache.catalina.Container c
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;
            1    8     1     c  Lorg/apache/catalina/Container;
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected synchronized void stopInternal();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.authenticator.SingleSignOn this
         0: .line 637
            aload 0 /* this */
            invokespecial org.apache.catalina.valves.ValveBase.stopInternal:()V
         1: .line 638
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.authenticator.SingleSignOn.engine:Lorg/apache/catalina/Engine;
         2: .line 639
            return
        end local 0 // org.apache.catalina.authenticator.SingleSignOn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/authenticator/SingleSignOn;
    Exceptions:
      throws org.apache.catalina.LifecycleException
}
SourceFile: "SingleSignOn.java"