package com.l7tech.server.policy.assertion.xmlsec;

import com.l7tech.common.http.CookieUtils;
import com.l7tech.common.http.GenericHttpClient;
import com.l7tech.common.http.GenericHttpClientFactory;
import com.l7tech.common.http.GenericHttpException;
import com.l7tech.common.http.GenericHttpRequest;
import com.l7tech.common.http.GenericHttpRequestParams;
import com.l7tech.common.http.GenericHttpResponse;
import com.l7tech.common.http.GenericHttpState;
import com.l7tech.common.http.HttpConstants;
import com.l7tech.common.http.HttpCookie;
import com.l7tech.common.http.HttpHeaders;
import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.gateway.common.audit.Messages.M;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.xmlsec.AuthenticationProperties;
import com.l7tech.policy.assertion.xmlsec.SamlBrowserArtifact;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractServerAssertion;
import com.l7tech.util.ResourceUtils;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.logging.Level;
import org.apache.hc.client5.http.cookie.BasicCookieStore;
import org.apache.hc.client5.http.cookie.Cookie;
import org.apache.hc.client5.http.cookie.CookieStore;
import org.apache.hc.client5.http.impl.cookie.BasicClientCookie;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.springframework.context.ApplicationContext;

public class ServerSamlBrowserArtifact extends AbstractServerAssertion<SamlBrowserArtifact> {
   private static final String d;
   private static final String e;
   private static final Short f;
   private final URL g;
   private final GenericHttpClient h;
   private static final String[] i;

   public ServerSamlBrowserArtifact(SamlBrowserArtifact var1, ApplicationContext var2) {
      super(var1);

      try {
         this.g = new URL(var1.getSsoEndpointUrl());
      } catch (MalformedURLException var5) {
         String var10002 = var1.getSsoEndpointUrl();
         String[] var4 = i;
         throw (IllegalArgumentException)new IllegalArgumentException(var4[18] + var10002).initCause(var5);
      }

      this.h = ((GenericHttpClientFactory)var2.getBean(i[19], GenericHttpClientFactory.class)).createHttpClient();
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext var1) throws IOException, PolicyAssertionException {
      return this.a(var1, true);
   }

   private AssertionStatus a(PolicyEnforcementContext param1, boolean param2) throws PolicyAssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 004: checkcast com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact
      // 007: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact.getAuthenticationProperties ()Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties;
      // 00a: astore 3
      // 00b: new com/l7tech/common/http/GenericHttpState
      // 00e: dup
      // 00f: invokespecial com/l7tech/common/http/GenericHttpState.<init> ()V
      // 012: astore 4
      // 014: new org/apache/hc/client5/http/protocol/HttpClientContext
      // 017: dup
      // 018: invokespecial org/apache/hc/client5/http/protocol/HttpClientContext.<init> ()V
      // 01b: astore 5
      // 01d: aload 4
      // 01f: aload 5
      // 021: invokevirtual com/l7tech/common/http/GenericHttpState.setStateObject (Ljava/lang/Object;)V
      // 024: new com/l7tech/common/http/GenericHttpRequestParams
      // 027: dup
      // 028: aload 0
      // 029: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 02c: aload 4
      // 02e: invokespecial com/l7tech/common/http/GenericHttpRequestParams.<init> (Ljava/net/URL;Lcom/l7tech/common/http/GenericHttpState;)V
      // 031: astore 6
      // 033: aload 6
      // 035: bipush 0
      // 036: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setFollowRedirects (Z)V
      // 039: aconst_null
      // 03a: astore 7
      // 03c: aconst_null
      // 03d: astore 8
      // 03f: aload 1
      // 040: aload 1
      // 041: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 046: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getAuthenticationContext (Lcom/l7tech/message/Message;)Lcom/l7tech/server/message/AuthenticationContext; 2
      // 04b: invokevirtual com/l7tech/server/message/AuthenticationContext.getLastCredentials ()Lcom/l7tech/policy/assertion/credential/LoginCredentials;
      // 04e: astore 9
      // 050: aload 9
      // 052: ifnonnull 067
      // 055: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 058: dup
      // 059: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_REQUIRED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 05c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_CREDENTIALS_NOCREDS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 05f: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 062: athrow
      // 063: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 066: athrow
      // 067: aload 9
      // 069: invokevirtual com/l7tech/policy/assertion/credential/LoginCredentials.getFormat ()Lcom/l7tech/policy/assertion/credential/CredentialFormat;
      // 06c: getstatic com/l7tech/policy/assertion/credential/CredentialFormat.CLEARTEXT Lcom/l7tech/policy/assertion/credential/CredentialFormat;
      // 06f: if_acmpeq 084
      // 072: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 075: dup
      // 076: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_REQUIRED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 079: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_CREDENTIALS_CREDS_NOT_PASSWORD Lcom/l7tech/gateway/common/audit/Messages$M;
      // 07c: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 07f: athrow
      // 080: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 083: athrow
      // 084: bipush 0
      // 085: istore 10
      // 087: new java/util/HashSet
      // 08a: dup
      // 08b: invokespecial java/util/HashSet.<init> ()V
      // 08e: astore 11
      // 090: getstatic com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.METHOD_BASIC Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties$Method;
      // 093: aload 3
      // 094: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getMethod ()Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties$Method;
      // 097: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties$Method.equals (Ljava/lang/Object;)Z
      // 09a: ifeq 0c6
      // 09d: aload 6
      // 09f: new java/net/PasswordAuthentication
      // 0a2: dup
      // 0a3: aload 9
      // 0a5: invokevirtual com/l7tech/policy/assertion/credential/LoginCredentials.getLogin ()Ljava/lang/String;
      // 0a8: aload 9
      // 0aa: invokevirtual com/l7tech/policy/assertion/credential/LoginCredentials.getCredentials ()[C
      // 0ad: invokespecial java/net/PasswordAuthentication.<init> (Ljava/lang/String;[C)V
      // 0b0: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setPasswordAuthentication (Ljava/net/PasswordAuthentication;)V
      // 0b3: aload 0
      // 0b4: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.h Lcom/l7tech/common/http/GenericHttpClient;
      // 0b7: getstatic com/l7tech/common/http/HttpMethod.GET Lcom/l7tech/common/http/HttpMethod;
      // 0ba: aload 6
      // 0bc: invokeinterface com/l7tech/common/http/GenericHttpClient.createRequest (Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/common/http/GenericHttpRequest; 3
      // 0c1: astore 7
      // 0c3: goto 2a1
      // 0c6: getstatic com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.METHOD_FORM Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties$Method;
      // 0c9: aload 3
      // 0ca: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getMethod ()Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties$Method;
      // 0cd: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties$Method.equals (Ljava/lang/Object;)Z
      // 0d0: ifeq 2a1
      // 0d3: aload 3
      // 0d4: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.isEnableCookies ()Z
      // 0d7: ifeq 104
      // 0da: goto 0e1
      // 0dd: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e0: athrow
      // 0e1: iload 2
      // 0e2: ifeq 104
      // 0e5: goto 0ec
      // 0e8: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0eb: athrow
      // 0ec: aload 0
      // 0ed: aload 1
      // 0ee: aload 4
      // 0f0: invokevirtual com/l7tech/common/http/GenericHttpState.getStateObject ()Ljava/lang/Object;
      // 0f3: checkcast org/apache/hc/client5/http/protocol/HttpClientContext
      // 0f6: aload 0
      // 0f7: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 0fa: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 0fd: aload 11
      // 0ff: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lorg/apache/hc/client5/http/protocol/HttpClientContext;Ljava/lang/String;Ljava/util/Collection;)Z
      // 102: istore 10
      // 104: iload 10
      // 106: ifeq 15e
      // 109: aload 0
      // 10a: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 10d: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 110: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 113: ifeq 145
      // 116: goto 11d
      // 119: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11c: athrow
      // 11d: aload 0
      // 11e: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 121: aload 1
      // 122: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequestId ()Lcom/l7tech/gateway/common/RequestId; 1
      // 127: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 12a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 12d: bipush 10
      // 12f: aaload
      // 130: swap
      // 131: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 134: bipush 3
      // 135: aaload
      // 136: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 13b: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 13e: goto 145
      // 141: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 144: athrow
      // 145: aload 6
      // 147: bipush 1
      // 148: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setEnableCookieManagement (Z)V
      // 14b: aload 0
      // 14c: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.h Lcom/l7tech/common/http/GenericHttpClient;
      // 14f: getstatic com/l7tech/common/http/HttpMethod.GET Lcom/l7tech/common/http/HttpMethod;
      // 152: aload 6
      // 154: invokeinterface com/l7tech/common/http/GenericHttpClient.createRequest (Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/common/http/GenericHttpRequest; 3
      // 159: astore 7
      // 15b: goto 2a1
      // 15e: aload 3
      // 15f: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getUsernameFieldname ()Ljava/lang/String;
      // 162: astore 12
      // 164: aload 3
      // 165: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getPasswordFieldname ()Ljava/lang/String;
      // 168: astore 13
      // 16a: new java/util/HashMap
      // 16d: dup
      // 16e: invokespecial java/util/HashMap.<init> ()V
      // 171: astore 14
      // 173: aload 3
      // 174: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.isRequestForm ()Z
      // 177: ifeq 1bb
      // 17a: new com/l7tech/policy/assertion/xmlsec/AuthenticationProperties
      // 17d: dup
      // 17e: invokespecial com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.<init> ()V
      // 181: astore 15
      // 183: aload 0
      // 184: aload 4
      // 186: aload 6
      // 188: aload 15
      // 18a: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Lcom/l7tech/common/http/GenericHttpState;Lcom/l7tech/common/http/GenericHttpRequestParams;Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties;)V
      // 18d: aload 12
      // 18f: ifnull 1a1
      // 192: aload 12
      // 194: invokevirtual java/lang/String.length ()I
      // 197: ifne 1af
      // 19a: goto 1a1
      // 19d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a0: athrow
      // 1a1: aload 15
      // 1a3: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getUsernameFieldname ()Ljava/lang/String;
      // 1a6: astore 12
      // 1a8: aload 15
      // 1aa: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getPasswordFieldname ()Ljava/lang/String;
      // 1ad: astore 13
      // 1af: aload 14
      // 1b1: aload 15
      // 1b3: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getAdditionalFields ()Ljava/util/Map;
      // 1b6: invokeinterface java/util/Map.putAll (Ljava/util/Map;)V 2
      // 1bb: aload 14
      // 1bd: aload 3
      // 1be: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getAdditionalFields ()Ljava/util/Map;
      // 1c1: invokeinterface java/util/Map.putAll (Ljava/util/Map;)V 2
      // 1c6: aload 14
      // 1c8: aload 12
      // 1ca: aload 9
      // 1cc: invokevirtual com/l7tech/policy/assertion/credential/LoginCredentials.getLogin ()Ljava/lang/String;
      // 1cf: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 1d4: pop
      // 1d5: aload 14
      // 1d7: aload 13
      // 1d9: new java/lang/String
      // 1dc: dup
      // 1dd: aload 9
      // 1df: invokevirtual com/l7tech/policy/assertion/credential/LoginCredentials.getCredentials ()[C
      // 1e2: invokespecial java/lang/String.<init> ([C)V
      // 1e5: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 1ea: pop
      // 1eb: aload 0
      // 1ec: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 1ef: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 1f2: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 1f5: ifeq 228
      // 1f8: aload 0
      // 1f9: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 1fc: aload 1
      // 1fd: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequestId ()Lcom/l7tech/gateway/common/RequestId; 1
      // 202: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 205: aload 14
      // 207: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 20a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 20d: bipush 14
      // 20f: aaload
      // 210: dup_x2
      // 211: pop
      // 212: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 215: bipush 6
      // 217: aaload
      // 218: swap
      // 219: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 21e: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 221: goto 228
      // 224: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 227: athrow
      // 228: aload 6
      // 22a: getstatic com/l7tech/common/mime/ContentTypeHeader.APPLICATION_X_WWW_FORM_URLENCODED Lcom/l7tech/common/mime/ContentTypeHeader;
      // 22d: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)V
      // 230: aload 0
      // 231: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.h Lcom/l7tech/common/http/GenericHttpClient;
      // 234: getstatic com/l7tech/common/http/HttpMethod.POST Lcom/l7tech/common/http/HttpMethod;
      // 237: aload 6
      // 239: invokeinterface com/l7tech/common/http/GenericHttpClient.createRequest (Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/common/http/GenericHttpRequest; 3
      // 23e: astore 7
      // 240: aload 7
      // 242: new java/io/ByteArrayInputStream
      // 245: dup
      // 246: aload 0
      // 247: aload 14
      // 249: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/util/Map;)Ljava/lang/String;
      // 24c: getstatic com/l7tech/util/Charsets.UTF8 Ljava/nio/charset/Charset;
      // 24f: invokevirtual java/lang/String.getBytes (Ljava/nio/charset/Charset;)[B
      // 252: invokespecial java/io/ByteArrayInputStream.<init> ([B)V
      // 255: invokeinterface com/l7tech/common/http/GenericHttpRequest.setInputStream (Ljava/io/InputStream;)V 2
      // 25a: aload 3
      // 25b: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.isRedirectAfterSubmit ()Z
      // 25e: ifeq 2a1
      // 261: aload 7
      // 263: astore 15
      // 265: aconst_null
      // 266: astore 7
      // 268: aload 0
      // 269: aload 6
      // 26b: aload 15
      // 26d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Lcom/l7tech/common/http/GenericHttpRequestParams;Lcom/l7tech/common/http/GenericHttpRequest;)Ljava/net/URL;
      // 270: astore 16
      // 272: aload 6
      // 274: aload 16
      // 276: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setTargetUrl (Ljava/net/URL;)V
      // 279: aload 6
      // 27b: aconst_null
      // 27c: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)V
      // 27f: aload 0
      // 280: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.h Lcom/l7tech/common/http/GenericHttpClient;
      // 283: getstatic com/l7tech/common/http/HttpMethod.GET Lcom/l7tech/common/http/HttpMethod;
      // 286: aload 6
      // 288: invokeinterface com/l7tech/common/http/GenericHttpClient.createRequest (Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/common/http/GenericHttpRequest; 3
      // 28d: astore 7
      // 28f: aload 15
      // 291: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 294: goto 2a1
      // 297: astore 17
      // 299: aload 15
      // 29b: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 29e: aload 17
      // 2a0: athrow
      // 2a1: aload 7
      // 2a3: invokeinterface com/l7tech/common/http/GenericHttpRequest.getResponse ()Lcom/l7tech/common/http/GenericHttpResponse; 1
      // 2a8: astore 8
      // 2aa: aload 8
      // 2ac: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 2af: astore 12
      // 2b1: aload 8
      // 2b3: invokevirtual com/l7tech/common/http/GenericHttpResponse.getStatus ()I
      // 2b6: istore 13
      // 2b8: aload 0
      // 2b9: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 2bc: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 2bf: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 2c2: ifeq 2ef
      // 2c5: aload 0
      // 2c6: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 2c9: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 2cc: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 2cf: bipush 12
      // 2d1: aaload
      // 2d2: bipush 2
      // 2d3: anewarray 117
      // 2d6: dup
      // 2d7: bipush 0
      // 2d8: aload 0
      // 2d9: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 2dc: aastore
      // 2dd: dup
      // 2de: bipush 1
      // 2df: iload 13
      // 2e1: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 2e4: aastore
      // 2e5: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 2e8: goto 2ef
      // 2eb: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2ee: athrow
      // 2ef: iload 13
      // 2f1: sipush 302
      // 2f4: if_icmpeq 306
      // 2f7: iload 13
      // 2f9: sipush 303
      // 2fc: if_icmpne 430
      // 2ff: goto 306
      // 302: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 305: athrow
      // 306: aload 12
      // 308: getstatic com/l7tech/common/http/HttpConstants.HEADER_LOCATION Ljava/lang/String;
      // 30b: invokeinterface com/l7tech/common/http/HttpHeaders.getOnlyOneValue (Ljava/lang/String;)Ljava/lang/String; 2
      // 310: astore 14
      // 312: aload 14
      // 314: ifnonnull 332
      // 317: new com/l7tech/common/http/GenericHttpException
      // 31a: dup
      // 31b: getstatic com/l7tech/common/http/HttpConstants.HEADER_LOCATION Ljava/lang/String;
      // 31e: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 321: bipush 11
      // 323: aaload
      // 324: swap
      // 325: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 32a: invokespecial com/l7tech/common/http/GenericHttpException.<init> (Ljava/lang/String;)V
      // 32d: athrow
      // 32e: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 331: athrow
      // 332: new java/net/URL
      // 335: dup
      // 336: aload 0
      // 337: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 33a: aload 14
      // 33c: invokespecial java/net/URL.<init> (Ljava/net/URL;Ljava/lang/String;)V
      // 33f: astore 15
      // 341: aload 1
      // 342: getstatic com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact.VAR_REDIRECT_URL Ljava/lang/String;
      // 345: aload 15
      // 347: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 34c: aload 15
      // 34e: invokevirtual java/net/URL.getQuery ()Ljava/lang/String;
      // 351: astore 16
      // 353: aload 16
      // 355: ifnonnull 36a
      // 358: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 35b: dup
      // 35c: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 35f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSERARTIFACT_REDIRECT_NO_QUERY Lcom/l7tech/gateway/common/audit/Messages$M;
      // 362: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 365: athrow
      // 366: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 369: athrow
      // 36a: aload 16
      // 36c: invokestatic com/l7tech/common/http/ParameterizedString.parseQueryString (Ljava/lang/String;)Ljava/util/Map;
      // 36f: astore 17
      // 371: goto 386
      // 374: astore 18
      // 376: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 379: dup
      // 37a: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 37d: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSERARTIFACT_REDIRECT_BAD_QUERY Lcom/l7tech/gateway/common/audit/Messages$M;
      // 380: aload 18
      // 382: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;Ljava/lang/Throwable;)V
      // 385: athrow
      // 386: aload 17
      // 388: aload 0
      // 389: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 38c: checkcast com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact
      // 38f: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact.getArtifactQueryParameter ()Ljava/lang/String;
      // 392: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 397: checkcast [Ljava/lang/String;
      // 39a: astore 18
      // 39c: aload 18
      // 39e: ifnull 3ae
      // 3a1: aload 18
      // 3a3: arraylength
      // 3a4: ifne 3e7
      // 3a7: goto 3ae
      // 3aa: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3ad: athrow
      // 3ae: aload 8
      // 3b0: invokevirtual com/l7tech/common/http/GenericHttpResponse.getInputStream ()Ljava/io/InputStream;
      // 3b3: invokestatic com/l7tech/util/IOUtils.slurpStream (Ljava/io/InputStream;)[B
      // 3b6: astore 19
      // 3b8: aload 0
      // 3b9: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 3bc: aload 12
      // 3be: invokeinterface com/l7tech/common/http/HttpHeaders.toString ()Ljava/lang/String; 1
      // 3c3: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 3c6: aload 0
      // 3c7: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 3ca: new java/lang/String
      // 3cd: dup
      // 3ce: aload 19
      // 3d0: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 3d3: invokespecial java/lang/String.<init> ([BLjava/lang/String;)V
      // 3d6: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 3d9: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 3dc: dup
      // 3dd: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 3e0: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSERARTIFACT_REDIRECT_NO_ARTIFACT Lcom/l7tech/gateway/common/audit/Messages$M;
      // 3e3: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 3e6: athrow
      // 3e7: aload 1
      // 3e8: getstatic com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact.VAR_ARTIFACT Ljava/lang/String;
      // 3eb: aload 18
      // 3ed: bipush 0
      // 3ee: aaload
      // 3ef: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 3f2: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 3f5: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 3fa: aload 3
      // 3fb: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.isEnableCookies ()Z
      // 3fe: ifeq 417
      // 401: aload 0
      // 402: aload 1
      // 403: aload 4
      // 405: invokevirtual com/l7tech/common/http/GenericHttpState.getStateObject ()Ljava/lang/Object;
      // 408: checkcast org/apache/hc/client5/http/protocol/HttpClientContext
      // 40b: aload 11
      // 40d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lorg/apache/hc/client5/http/protocol/HttpClientContext;Ljava/util/Collection;)V
      // 410: goto 417
      // 413: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 416: athrow
      // 417: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 41a: astore 19
      // 41c: bipush 2
      // 41d: anewarray 702
      // 420: dup
      // 421: bipush 0
      // 422: aload 7
      // 424: aastore
      // 425: dup
      // 426: bipush 1
      // 427: aload 8
      // 429: aastore
      // 42a: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 42d: aload 19
      // 42f: areturn
      // 430: iload 10
      // 432: ifeq 48d
      // 435: aload 0
      // 436: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 439: getstatic java/util/logging/Level.FINER Ljava/util/logging/Level;
      // 43c: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 43f: ifeq 471
      // 442: goto 449
      // 445: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 448: athrow
      // 449: aload 0
      // 44a: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 44d: aload 1
      // 44e: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequestId ()Lcom/l7tech/gateway/common/RequestId; 1
      // 453: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 456: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 459: bipush 20
      // 45b: aaload
      // 45c: swap
      // 45d: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 460: bipush 3
      // 461: aaload
      // 462: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 467: invokevirtual java/util/logging/Logger.finer (Ljava/lang/String;)V
      // 46a: goto 471
      // 46d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 470: athrow
      // 471: aload 0
      // 472: aload 1
      // 473: bipush 0
      // 474: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Z)Lcom/l7tech/policy/assertion/AssertionStatus;
      // 477: astore 14
      // 479: bipush 2
      // 47a: anewarray 702
      // 47d: dup
      // 47e: bipush 0
      // 47f: aload 7
      // 481: aastore
      // 482: dup
      // 483: bipush 1
      // 484: aload 8
      // 486: aastore
      // 487: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 48a: aload 14
      // 48c: areturn
      // 48d: aload 0
      // 48e: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 491: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 494: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 497: ifeq 4ce
      // 49a: aload 0
      // 49b: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 49e: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 4a1: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 4a4: bipush 0
      // 4a5: aaload
      // 4a6: bipush 2
      // 4a7: anewarray 117
      // 4aa: dup
      // 4ab: bipush 0
      // 4ac: iload 13
      // 4ae: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 4b1: aastore
      // 4b2: dup
      // 4b3: bipush 1
      // 4b4: new java/lang/String
      // 4b7: dup
      // 4b8: aload 8
      // 4ba: invokevirtual com/l7tech/common/http/GenericHttpResponse.getInputStream ()Ljava/io/InputStream;
      // 4bd: invokestatic com/l7tech/util/IOUtils.slurpStream (Ljava/io/InputStream;)[B
      // 4c0: invokespecial java/lang/String.<init> ([B)V
      // 4c3: aastore
      // 4c4: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 4c7: goto 4ce
      // 4ca: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4cd: athrow
      // 4ce: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 4d1: dup
      // 4d2: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 4d5: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSERARTIFACT_RESPONSE_NON_302 Lcom/l7tech/gateway/common/audit/Messages$M;
      // 4d8: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 4db: athrow
      // 4dc: astore 9
      // 4de: aload 0
      // 4df: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_IOEXCEPTION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 4e2: aconst_null
      // 4e3: aload 9
      // 4e5: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 4e8: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 4eb: astore 10
      // 4ed: bipush 2
      // 4ee: anewarray 702
      // 4f1: dup
      // 4f2: bipush 0
      // 4f3: aload 7
      // 4f5: aastore
      // 4f6: dup
      // 4f7: bipush 1
      // 4f8: aload 8
      // 4fa: aastore
      // 4fb: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 4fe: aload 10
      // 500: areturn
      // 501: astore 9
      // 503: aload 0
      // 504: aload 9
      // 506: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.getAssertionMessage ()Lcom/l7tech/gateway/common/audit/Messages$M;
      // 509: aconst_null
      // 50a: aload 9
      // 50c: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.getCause ()Ljava/lang/Throwable;
      // 50f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 512: aload 9
      // 514: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.getAssertionStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 517: astore 10
      // 519: bipush 2
      // 51a: anewarray 702
      // 51d: dup
      // 51e: bipush 0
      // 51f: aload 7
      // 521: aastore
      // 522: dup
      // 523: bipush 1
      // 524: aload 8
      // 526: aastore
      // 527: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 52a: aload 10
      // 52c: areturn
      // 52d: astore 20
      // 52f: bipush 2
      // 530: anewarray 702
      // 533: dup
      // 534: bipush 0
      // 535: aload 7
      // 537: aastore
      // 538: dup
      // 539: bipush 1
      // 53a: aload 8
      // 53c: aastore
      // 53d: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 540: aload 20
      // 542: athrow
      // try (189 -> 231): 232 java/lang/Exception
      // try (166 -> 176): 177 java/lang/Exception
      // try (114 -> 136): 137 java/lang/Exception
      // try (112 -> 119): 120 java/lang/Exception
      // try (90 -> 98): 99 java/lang/Exception
      // try (85 -> 93): 94 java/lang/Exception
      // try (46 -> 56): 56 java/lang/Exception
      // try (36 -> 44): 44 java/lang/Exception
      // try (260 -> 277): 280 null
      // try (280 -> 281): 280 null
      // try (362 -> 370): 370 java/lang/Exception
      // try (334 -> 346): 346 java/lang/Exception
      // try (321 -> 327): 328 java/lang/Exception
      // try (294 -> 318): 319 java/lang/Exception
      // try (372 -> 375): 376 java/lang/Exception
      // try (423 -> 441): 442 java/lang/Exception
      // try (392 -> 397): 398 java/lang/Exception
      // try (30 -> 446): 541 java/io/IOException
      // try (461 -> 483): 484 java/lang/Exception
      // try (459 -> 466): 467 java/lang/Exception
      // try (459 -> 491): 541 java/io/IOException
      // try (504 -> 532): 533 java/lang/Exception
      // try (504 -> 541): 541 java/io/IOException
      // try (30 -> 446): 562 com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // try (459 -> 491): 562 com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // try (504 -> 541): 562 com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // try (30 -> 446): 586 null
      // try (459 -> 491): 586 null
      // try (504 -> 549): 586 null
      // try (562 -> 573): 586 null
      // try (586 -> 587): 586 null
   }

   private boolean a(PolicyEnforcementContext var1, HttpClientContext var2, String var3, Collection<Cookie> var4) {
      boolean var5 = false;
      Set var6 = var1.getRequest().getHttpCookiesKnob().getCookies();
      Object var7 = var2.getCookieStore();
      if (var7 == null) {
         var7 = new BasicCookieStore();
         var2.setCookieStore((CookieStore)var7);
      }

      for (HttpCookie var9 : var6) {
         if (var9.getCookieName().startsWith(d)) {
            BasicClientCookie var10 = (BasicClientCookie)CookieUtils.toHttpClientCookie(var9, d);
            String var11 = var9.getPath();
            if (var11 == null) {
               var11 = "/";
            }

            try {
               var10.setPath(var11);
               var10.setDomain(var3);
               if (this.logger.isLoggable(Level.FINE)) {
                  this.logger.fine(i[13] + var10.getName() + i[3]);
               }
            } catch (IllegalArgumentException var12) {
               throw a(var12);
            }

            var7.addCookie(var10);
            var4.add(var10);
            var5 = true;
         }
      }

      return var5;
   }

   private void a(PolicyEnforcementContext var1, HttpClientContext var2, Collection var3) {
      CookieStore var4 = var2.getCookieStore();
      LinkedHashSet var5 = new LinkedHashSet(var4.getCookies());
      var5.removeAll(var3);

      for (Cookie var7 : var5) {
         try {
            if (this.logger.isLoggable(Level.FINE)) {
               this.logger.log(Level.FINE, i[2] + var7.getName() + i[9]);
            }
         } catch (IllegalArgumentException var9) {
            throw a(var9);
         }

         BasicClientCookie var8 = new BasicClientCookie(d + var7.getName(), var7.getValue());
         var8.setDomain(null);
         var8.setExpiryDate(var7.getExpiryDate());
         var8.setPath(null);
         var8.setSecure(var7.isSecure());
         var1.getResponse().getHttpCookiesKnob().addCookie(CookieUtils.fromHttpClientCookie(var8, true));
      }
   }

   private void a(GenericHttpState param1, GenericHttpRequestParams param2, AuthenticationProperties param3) throws ServerSamlBrowserArtifact.AssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 004: checkcast com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact
      // 007: invokevirtual com/l7tech/policy/assertion/xmlsec/SamlBrowserArtifact.getAuthenticationProperties ()Lcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties;
      // 00a: astore 4
      // 00c: aconst_null
      // 00d: astore 5
      // 00f: aconst_null
      // 010: astore 6
      // 012: new com/l7tech/common/http/GenericHttpRequestParams
      // 015: dup
      // 016: aload 0
      // 017: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 01a: aload 1
      // 01b: invokespecial com/l7tech/common/http/GenericHttpRequestParams.<init> (Ljava/net/URL;Lcom/l7tech/common/http/GenericHttpState;)V
      // 01e: astore 7
      // 020: aload 7
      // 022: bipush 0
      // 023: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setFollowRedirects (Z)V
      // 026: aload 0
      // 027: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.h Lcom/l7tech/common/http/GenericHttpClient;
      // 02a: getstatic com/l7tech/common/http/HttpMethod.GET Lcom/l7tech/common/http/HttpMethod;
      // 02d: aload 7
      // 02f: invokeinterface com/l7tech/common/http/GenericHttpClient.createRequest (Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/common/http/GenericHttpRequest; 3
      // 034: astore 5
      // 036: aload 5
      // 038: invokeinterface com/l7tech/common/http/GenericHttpRequest.getResponse ()Lcom/l7tech/common/http/GenericHttpResponse; 1
      // 03d: astore 6
      // 03f: aload 6
      // 041: invokevirtual com/l7tech/common/http/GenericHttpResponse.getStatus ()I
      // 044: istore 8
      // 046: iload 8
      // 048: sipush 200
      // 04b: if_icmpeq 060
      // 04e: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 051: dup
      // 052: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 055: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_NON_200 Lcom/l7tech/gateway/common/audit/Messages$M;
      // 058: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 05b: athrow
      // 05c: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05f: athrow
      // 060: aload 4
      // 062: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getUsernameFieldname ()Ljava/lang/String;
      // 065: ifnull 07a
      // 068: aload 4
      // 06a: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getUsernameFieldname ()Ljava/lang/String;
      // 06d: invokevirtual java/lang/String.length ()I
      // 070: ifne 082
      // 073: goto 07a
      // 076: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 079: athrow
      // 07a: bipush 1
      // 07b: goto 083
      // 07e: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 081: athrow
      // 082: bipush 0
      // 083: istore 9
      // 085: aload 4
      // 087: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getFormTarget ()Ljava/lang/String;
      // 08a: ifnull 09f
      // 08d: aload 4
      // 08f: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getFormTarget ()Ljava/lang/String;
      // 092: invokevirtual java/lang/String.length ()I
      // 095: ifne 0a7
      // 098: goto 09f
      // 09b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09e: athrow
      // 09f: bipush 1
      // 0a0: goto 0a8
      // 0a3: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a6: athrow
      // 0a7: bipush 0
      // 0a8: istore 10
      // 0aa: iload 9
      // 0ac: ifne 0ca
      // 0af: aload 4
      // 0b1: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.isCopyFormFields ()Z
      // 0b4: ifne 0ca
      // 0b7: goto 0be
      // 0ba: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0bd: athrow
      // 0be: iload 10
      // 0c0: ifeq 0ef
      // 0c3: goto 0ca
      // 0c6: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c9: athrow
      // 0ca: aload 0
      // 0cb: aload 6
      // 0cd: invokevirtual com/l7tech/common/http/GenericHttpResponse.getInputStream ()Ljava/io/InputStream;
      // 0d0: iload 9
      // 0d2: aload 4
      // 0d4: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.isCopyFormFields ()Z
      // 0d7: aload 3
      // 0d8: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/io/InputStream;ZZLcom/l7tech/policy/assertion/xmlsec/AuthenticationProperties;)Ljava/net/URL;
      // 0db: astore 11
      // 0dd: iload 10
      // 0df: ifeq 0ef
      // 0e2: aload 2
      // 0e3: aload 11
      // 0e5: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setTargetUrl (Ljava/net/URL;)V
      // 0e8: goto 0ef
      // 0eb: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ee: athrow
      // 0ef: iload 10
      // 0f1: ifne 10b
      // 0f4: aload 2
      // 0f5: new java/net/URL
      // 0f8: dup
      // 0f9: aload 4
      // 0fb: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.getFormTarget ()Ljava/lang/String;
      // 0fe: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // 101: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setTargetUrl (Ljava/net/URL;)V
      // 104: goto 10b
      // 107: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10a: athrow
      // 10b: bipush 2
      // 10c: anewarray 702
      // 10f: dup
      // 110: bipush 0
      // 111: aload 5
      // 113: aastore
      // 114: dup
      // 115: bipush 1
      // 116: aload 6
      // 118: aastore
      // 119: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 11c: goto 147
      // 11f: astore 7
      // 121: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 124: dup
      // 125: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 128: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_IOEXCEPTION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 12b: aload 7
      // 12d: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;Ljava/lang/Throwable;)V
      // 130: athrow
      // 131: astore 12
      // 133: bipush 2
      // 134: anewarray 702
      // 137: dup
      // 138: bipush 0
      // 139: aload 5
      // 13b: aastore
      // 13c: dup
      // 13d: bipush 1
      // 13e: aload 6
      // 140: aastore
      // 141: invokestatic com/l7tech/util/ResourceUtils.closeQuietly ([Ljava/io/Closeable;)V
      // 144: aload 12
      // 146: athrow
      // 147: return
      // try (104 -> 113): 114 java/io/IOException
      // try (96 -> 101): 102 java/io/IOException
      // try (76 -> 84): 85 java/io/IOException
      // try (74 -> 79): 80 java/io/IOException
      // try (61 -> 70): 70 java/io/IOException
      // try (58 -> 65): 66 java/io/IOException
      // try (45 -> 54): 54 java/io/IOException
      // try (42 -> 49): 50 java/io/IOException
      // try (31 -> 40): 40 java/io/IOException
      // try (9 -> 116): 128 java/io/IOException
      // try (9 -> 116): 136 null
      // try (128 -> 137): 136 null
   }

   private URL a(InputStream param1, boolean param2, boolean param3, AuthenticationProperties param4) throws IOException, ServerSamlBrowserArtifact.AssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: new org/cyberneko/html/parsers/DOMParser
      // 003: dup
      // 004: invokespecial org/cyberneko/html/parsers/DOMParser.<init> ()V
      // 007: astore 5
      // 009: aload 5
      // 00b: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 00e: astore 22
      // 010: aload 22
      // 012: bipush 1
      // 013: aaload
      // 014: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.f Ljava/lang/Short;
      // 017: invokevirtual org/cyberneko/html/parsers/DOMParser.setProperty (Ljava/lang/String;Ljava/lang/Object;)V
      // 01a: aload 5
      // 01c: invokestatic com/l7tech/common/io/XmlUtil.getSafeEntityResolver ()Lorg/xml/sax/EntityResolver;
      // 01f: invokevirtual org/cyberneko/html/parsers/DOMParser.setEntityResolver (Lorg/xml/sax/EntityResolver;)V
      // 022: aload 5
      // 024: new org/xml/sax/InputSource
      // 027: dup
      // 028: aload 1
      // 029: invokespecial org/xml/sax/InputSource.<init> (Ljava/io/InputStream;)V
      // 02c: invokevirtual org/cyberneko/html/parsers/DOMParser.parse (Lorg/xml/sax/InputSource;)V
      // 02f: goto 042
      // 032: astore 6
      // 034: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 037: dup
      // 038: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 03b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_IOEXCEPTION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 03e: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 041: athrow
      // 042: aload 5
      // 044: invokevirtual org/cyberneko/html/parsers/DOMParser.getDocument ()Lorg/w3c/dom/Document;
      // 047: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 04c: astore 6
      // 04e: aload 6
      // 050: getstatic com/l7tech/util/HtmlConstants.ELE_FORM Ljava/lang/String;
      // 053: invokeinterface org/w3c/dom/Element.getElementsByTagName (Ljava/lang/String;)Lorg/w3c/dom/NodeList; 2
      // 058: astore 7
      // 05a: aload 7
      // 05c: ifnull 070
      // 05f: aload 7
      // 061: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 066: ifne 082
      // 069: goto 070
      // 06c: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06f: athrow
      // 070: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 073: dup
      // 074: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 077: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_NO_FORM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 07a: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 07d: athrow
      // 07e: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 081: athrow
      // 082: aload 7
      // 084: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 089: bipush 1
      // 08a: if_icmple 09f
      // 08d: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 090: dup
      // 091: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 094: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_MULTIPLE_FORMS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 097: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 09a: athrow
      // 09b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09e: athrow
      // 09f: aload 7
      // 0a1: bipush 0
      // 0a2: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 0a7: checkcast org/w3c/dom/Element
      // 0aa: astore 8
      // 0ac: aload 8
      // 0ae: getstatic com/l7tech/util/HtmlConstants.ATTR_ACTION Ljava/lang/String;
      // 0b1: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 0b6: astore 9
      // 0b8: aload 8
      // 0ba: getstatic com/l7tech/util/HtmlConstants.ATTR_METHOD Ljava/lang/String;
      // 0bd: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 0c2: astore 10
      // 0c4: bipush 0
      // 0c5: istore 11
      // 0c7: bipush 0
      // 0c8: istore 12
      // 0ca: new java/util/HashMap
      // 0cd: dup
      // 0ce: invokespecial java/util/HashMap.<init> ()V
      // 0d1: astore 13
      // 0d3: iload 2
      // 0d4: ifne 0e2
      // 0d7: iload 3
      // 0d8: ifeq 285
      // 0db: goto 0e2
      // 0de: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e1: athrow
      // 0e2: aload 8
      // 0e4: getstatic com/l7tech/util/HtmlConstants.ELE_INPUT Ljava/lang/String;
      // 0e7: invokeinterface org/w3c/dom/Element.getElementsByTagName (Ljava/lang/String;)Lorg/w3c/dom/NodeList; 2
      // 0ec: astore 14
      // 0ee: bipush 0
      // 0ef: istore 15
      // 0f1: iload 15
      // 0f3: aload 14
      // 0f5: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 0fa: if_icmpge 285
      // 0fd: aload 14
      // 0ff: iload 15
      // 101: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 106: checkcast org/w3c/dom/Element
      // 109: getstatic com/l7tech/util/HtmlConstants.ATTR_NAME Ljava/lang/String;
      // 10c: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 111: astore 16
      // 113: aload 14
      // 115: iload 15
      // 117: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 11c: checkcast org/w3c/dom/Element
      // 11f: getstatic com/l7tech/util/HtmlConstants.ATTR_TYPE Ljava/lang/String;
      // 122: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 127: astore 17
      // 129: aload 14
      // 12b: iload 15
      // 12d: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 132: checkcast org/w3c/dom/Element
      // 135: getstatic com/l7tech/util/HtmlConstants.ATTR_VALUE Ljava/lang/String;
      // 138: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 13d: astore 18
      // 13f: aload 0
      // 140: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 143: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 146: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 149: ifeq 180
      // 14c: aload 0
      // 14d: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 150: aload 17
      // 152: aload 16
      // 154: aload 18
      // 156: astore 19
      // 158: astore 20
      // 15a: astore 21
      // 15c: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 15f: astore 22
      // 161: aload 22
      // 163: bipush 7
      // 165: aaload
      // 166: aload 21
      // 168: aload 22
      // 16a: bipush 8
      // 16c: aaload
      // 16d: aload 20
      // 16f: aload 22
      // 171: bipush 17
      // 173: aaload
      // 174: aload 19
      // 176: ldc "'"
      // 178: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001\u0001\u0001\u0001" ]
      // 17d: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 180: aload 17
      // 182: ifnull 194
      // 185: aload 17
      // 187: invokevirtual java/lang/String.length ()I
      // 18a: ifne 199
      // 18d: goto 194
      // 190: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 193: athrow
      // 194: getstatic com/l7tech/util/HtmlConstants.VALUE_TEXT Ljava/lang/String;
      // 197: astore 17
      // 199: getstatic com/l7tech/util/HtmlConstants.VALUE_TEXT Ljava/lang/String;
      // 19c: aload 17
      // 19e: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1a1: ifeq 1da
      // 1a4: iload 2
      // 1a5: ifeq 1da
      // 1a8: goto 1af
      // 1ab: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ae: athrow
      // 1af: iload 11
      // 1b1: ifeq 1cd
      // 1b4: goto 1bb
      // 1b7: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ba: athrow
      // 1bb: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 1be: dup
      // 1bf: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1c2: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_MULTIPLE_FIELDS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1c5: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 1c8: athrow
      // 1c9: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1cc: athrow
      // 1cd: bipush 1
      // 1ce: istore 11
      // 1d0: aload 4
      // 1d2: aload 16
      // 1d4: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.setUsernameFieldname (Ljava/lang/String;)V
      // 1d7: goto 27f
      // 1da: getstatic com/l7tech/util/HtmlConstants.VALUE_PASSWORD Ljava/lang/String;
      // 1dd: aload 17
      // 1df: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1e2: ifeq 21b
      // 1e5: iload 2
      // 1e6: ifeq 21b
      // 1e9: goto 1f0
      // 1ec: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ef: athrow
      // 1f0: iload 12
      // 1f2: ifeq 20e
      // 1f5: goto 1fc
      // 1f8: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1fb: athrow
      // 1fc: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 1ff: dup
      // 200: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 203: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_MULTIPLE_FIELDS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 206: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 209: athrow
      // 20a: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20d: athrow
      // 20e: bipush 1
      // 20f: istore 12
      // 211: aload 4
      // 213: aload 16
      // 215: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.setPasswordFieldname (Ljava/lang/String;)V
      // 218: goto 27f
      // 21b: iload 3
      // 21c: ifeq 27f
      // 21f: getstatic com/l7tech/util/HtmlConstants.VALUE_HIDDEN Ljava/lang/String;
      // 222: aload 17
      // 224: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 227: ifne 243
      // 22a: goto 231
      // 22d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 230: athrow
      // 231: getstatic com/l7tech/util/HtmlConstants.VALUE_SUBMIT Ljava/lang/String;
      // 234: aload 17
      // 236: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 239: ifeq 27f
      // 23c: goto 243
      // 23f: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 242: athrow
      // 243: aload 16
      // 245: ifnull 27f
      // 248: goto 24f
      // 24b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24e: athrow
      // 24f: aload 16
      // 251: invokevirtual java/lang/String.length ()I
      // 254: ifle 27f
      // 257: goto 25e
      // 25a: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25d: athrow
      // 25e: aload 13
      // 260: aload 16
      // 262: aload 18
      // 264: ifnonnull 277
      // 267: goto 26e
      // 26a: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 26d: athrow
      // 26e: ldc ""
      // 270: goto 279
      // 273: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 276: athrow
      // 277: aload 18
      // 279: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 27e: pop
      // 27f: iinc 15 1
      // 282: goto 0f1
      // 285: iload 2
      // 286: ifeq 2b3
      // 289: iload 11
      // 28b: ifeq 2a1
      // 28e: goto 295
      // 291: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 294: athrow
      // 295: iload 12
      // 297: ifne 2b3
      // 29a: goto 2a1
      // 29d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a0: athrow
      // 2a1: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 2a4: dup
      // 2a5: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2a8: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_CANT_FIND_FIELDS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2ab: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 2ae: athrow
      // 2af: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2b2: athrow
      // 2b3: aload 10
      // 2b5: ifnull 2cd
      // 2b8: aload 10
      // 2ba: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 2bd: getstatic com/l7tech/util/HtmlConstants.VALUE_POST Ljava/lang/String;
      // 2c0: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 2c3: ifne 2df
      // 2c6: goto 2cd
      // 2c9: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2cc: athrow
      // 2cd: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 2d0: dup
      // 2d1: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2d4: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_INVALID Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2d7: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 2da: athrow
      // 2db: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2de: athrow
      // 2df: aload 4
      // 2e1: aload 13
      // 2e3: invokevirtual com/l7tech/policy/assertion/xmlsec/AuthenticationProperties.setAdditionalFields (Ljava/util/Map;)V
      // 2e6: new java/net/URL
      // 2e9: dup
      // 2ea: aload 0
      // 2eb: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 2ee: aload 9
      // 2f0: invokespecial java/net/URL.<init> (Ljava/net/URL;Ljava/lang/String;)V
      // 2f3: astore 14
      // 2f5: aload 0
      // 2f6: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.g Ljava/net/URL;
      // 2f9: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 2fc: aload 14
      // 2fe: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 301: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 304: ifne 319
      // 307: new com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException
      // 30a: dup
      // 30b: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 30e: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SAMLBROWSER_LOGINFORM_INVALID Lcom/l7tech/gateway/common/audit/Messages$M;
      // 311: invokespecial com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact$AssertionException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Lcom/l7tech/gateway/common/audit/Messages$M;)V
      // 314: athrow
      // 315: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 318: athrow
      // 319: aload 0
      // 31a: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 31d: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 320: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 323: ifeq 345
      // 326: aload 0
      // 327: getfield com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.logger Ljava/util/logging/Logger;
      // 32a: aload 14
      // 32c: invokevirtual java/net/URL.toExternalForm ()Ljava/lang/String;
      // 32f: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.i [Ljava/lang/String;
      // 332: bipush 15
      // 334: aaload
      // 335: swap
      // 336: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 33b: invokevirtual java/util/logging/Logger.finest (Ljava/lang/String;)V
      // 33e: goto 345
      // 341: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 344: athrow
      // 345: aload 14
      // 347: areturn
      // try (4 -> 21): 22 org/xml/sax/SAXException
      // try (37 -> 42): 43 org/xml/sax/SAXException
      // try (39 -> 51): 51 org/xml/sax/SAXException
      // try (53 -> 63): 63 org/xml/sax/SAXException
      // try (86 -> 90): 91 org/xml/sax/SAXException
      // try (154 -> 159): 160 org/xml/sax/SAXException
      // try (164 -> 170): 171 org/xml/sax/SAXException
      // try (168 -> 175): 176 org/xml/sax/SAXException
      // try (173 -> 184): 184 org/xml/sax/SAXException
      // try (192 -> 198): 199 org/xml/sax/SAXException
      // try (196 -> 203): 204 org/xml/sax/SAXException
      // try (201 -> 212): 212 org/xml/sax/SAXException
      // try (220 -> 226): 227 org/xml/sax/SAXException
      // try (222 -> 233): 234 org/xml/sax/SAXException
      // try (229 -> 238): 239 org/xml/sax/SAXException
      // try (236 -> 244): 245 org/xml/sax/SAXException
      // try (241 -> 251): 252 org/xml/sax/SAXException
      // try (247 -> 256): 256 org/xml/sax/SAXException
      // try (263 -> 267): 268 org/xml/sax/SAXException
      // try (265 -> 272): 273 org/xml/sax/SAXException
      // try (270 -> 281): 281 org/xml/sax/SAXException
      // try (283 -> 290): 291 org/xml/sax/SAXException
      // try (285 -> 299): 299 org/xml/sax/SAXException
      // try (311 -> 324): 324 org/xml/sax/SAXException
      // try (326 -> 341): 342 org/xml/sax/SAXException
   }

   private URL a(GenericHttpRequestParams var1, GenericHttpRequest var2) throws IOException, ServerSamlBrowserArtifact.AssertionException {
      GenericHttpResponse var3 = null;

      try {
         var3 = var2.getResponse();
         HttpHeaders var4 = var3.getHeaders();
         int var5 = var3.getStatus();

         try {
            if (var5 != 302 && var5 != 303) {
               throw new ServerSamlBrowserArtifact.AssertionException(AssertionStatus.FAILED, AssertionMessages.SAMLBROWSERARTIFACT_RESPONSE_NON_302);
            }
         } catch (IOException var17) {
            throw a(var17);
         }

         String var6 = var4.getOnlyOneValue(HttpConstants.HEADER_LOCATION);

         try {
            if (var6 == null) {
               throw new GenericHttpException(i[16] + HttpConstants.HEADER_LOCATION);
            }
         } catch (IOException var16) {
            throw a(var16);
         }

         URL var7 = var1.getTargetUrl();
         URL var8 = new URL(var7, var6);

         try {
            if (!var7.getHost().equals(var8.getHost())) {
               throw new ServerSamlBrowserArtifact.AssertionException(AssertionStatus.FAILED, AssertionMessages.SAMLBROWSER_LOGINFORM_REDIRECT_INVALID);
            }
         } catch (IOException var15) {
            throw a(var15);
         }

         return var8;
      } finally {
         ResourceUtils.closeQuietly(var3);
      }
   }

   private String a(Map<String, String> var1) throws UnsupportedEncodingException {
      StringBuffer var2 = new StringBuffer();

      for (Entry var4 : var1.entrySet()) {
         String var5 = (String)var4.getKey();
         String var6 = (String)var4.getValue();
         this.a(var2, var5, var6);
      }

      return var2.toString();
   }

   private void a(StringBuffer param1, String param2, String param3) throws UnsupportedEncodingException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 2
      // 01: ifnull 4c
      // 04: aload 1
      // 05: invokevirtual java/lang/StringBuffer.length ()I
      // 08: ifle 20
      // 0b: goto 12
      // 0e: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11: athrow
      // 12: aload 1
      // 13: ldc "&"
      // 15: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 18: pop
      // 19: goto 20
      // 1c: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f: athrow
      // 20: aload 1
      // 21: aload 2
      // 22: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 25: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 28: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 2b: pop
      // 2c: aload 1
      // 2d: bipush 61
      // 2f: invokevirtual java/lang/StringBuffer.append (C)Ljava/lang/StringBuffer;
      // 32: pop
      // 33: aload 1
      // 34: aload 3
      // 35: ifnonnull 41
      // 38: ldc ""
      // 3a: goto 42
      // 3d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerSamlBrowserArtifact.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 40: athrow
      // 41: aload 3
      // 42: getstatic com/l7tech/common/http/HttpConstants.ENCODING_UTF8 Ljava/lang/String;
      // 45: invokestatic java/net/URLEncoder.encode (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 48: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 4b: pop
      // 4c: return
      // try (0 -> 5): 6 java/io/UnsupportedEncodingException
      // try (2 -> 12): 13 java/io/UnsupportedEncodingException
      // try (15 -> 30): 30 java/io/UnsupportedEncodingException
   }

   static {
      String[] var5 = new String[21];
      int var3 = 0;
      String var2 = "0\u0014Ya\u0016hn\u0011\u001fX9.YY5ZOm\u0007yx\u0016Z_v\u0002h-M\u0001\fdO!-\u0017\u001fOi\tc~\u0000Z^v\u0002t-\f\t\u00069lv<\u00180\r\u000eHi\\\"\"\u0006\u0003^|\u0014ch\u000e\u0015\u0012v\u0014j\"\r\u000eQuI}\u007f\n\nYk\u0012dh\u0016URx\u000bh~J\u001fP|\u000b~$+\u001fK9\u0005bb\u000e\u0013Y9\u0000\u007fb\bZoJ)-h\u000b\u001eLv\u000fcyIZRx\u000bh0B\u0002BT\u0005\u0016\tOvK0\r\u000eHi\\\"\"\u0006\u0003^|\u0014ch\u000e\u0015\u0012v\u0014j\"\r\u000eQuI}\u007f\n\nYk\u0012dh\u0016URx\u000bh~J\u001fP|\u000b~\u0007BZ]k\u00037-\u001c#\u0015Iw\u0002-k\n\bQ9\u0003ah\b\u001fRmFbkE\u000eEi\u0003-*\tBV\u001cw\u0007`hX]\u0002BT(0\tUw\u0001-n\u0004\u0019T|\u0002-E\u0011\u000eLJ\u0012ly\u0000ZKq\u0003c-\u0015\bSz\u0003~~\f\u0014[9A\u0010+\u0015\u001cj\u0013neE\u0012Yx\u0002h\u007f_Z@$\bHp\u0000ln\u0011ZN|\u0017xh\u0016\u000e\u001cm\t-*B\u0001\fdA*!E\u0019St\u0016ah\u0011\u001fX9\u0011dy\rZtM2]-\u0016\u000e]m\u0013~-\u0006\u0015X|Fv<\u0018'$\u001eXp\bj-\u0004Z_v\tfd\u0000ZHvFAb\u0002\u0013R9 b\u007f\bZN|\u0017xh\u0016\u000e\u001c>\u001e#\u000fPuF}b\u0016\u000e\u001ci\u0007\u007fl\b\t\u001c\u007f\t\u007f-\u0017\u001fMl\u0003~yE]\u0014#\u0015NtFyl\u0017\u001dYmFx\u007f\tZUj\\-\u0010+\u0015\u001cj\u0013neE\u0012Yx\u0002h\u007f_Z\nBV\u001co\u0007ax\u0000G\u001b\",\u0014Jx\ndiE)}T*-o\u0017\u0015Kj\u0003\u007f-\u0015\bS\u007f\u000fahE/nU\\-";
      int var4 = "0\u0014Ya\u0016hn\u0011\u001fX9.YY5ZOm\u0007yx\u0016Z_v\u0002h-M\u0001\fdO!-\u0017\u001fOi\tc~\u0000Z^v\u0002t-\f\t\u00069lv<\u00180\r\u000eHi\\\"\"\u0006\u0003^|\u0014ch\u000e\u0015\u0012v\u0014j\"\r\u000eQuI}\u007f\n\nYk\u0012dh\u0016URx\u000bh~J\u001fP|\u000b~$+\u001fK9\u0005bb\u000e\u0013Y9\u0000\u007fb\bZoJ)-h\u000b\u001eLv\u000fcyIZRx\u000bh0B\u0002BT\u0005\u0016\tOvK0\r\u000eHi\\\"\"\u0006\u0003^|\u0014ch\u000e\u0015\u0012v\u0014j\"\r\u000eQuI}\u007f\n\nYk\u0012dh\u0016URx\u000bh~J\u001fP|\u000b~\u0007BZ]k\u00037-\u001c#\u0015Iw\u0002-k\n\bQ9\u0003ah\b\u001fRmFbkE\u000eEi\u0003-*\tBV\u001cw\u0007`hX]\u0002BT(0\tUw\u0001-n\u0004\u0019T|\u0002-E\u0011\u000eLJ\u0012ly\u0000ZKq\u0003c-\u0015\bSz\u0003~~\f\u0014[9A\u0010+\u0015\u001cj\u0013neE\u0012Yx\u0002h\u007f_Z@$\bHp\u0000ln\u0011ZN|\u0017xh\u0016\u000e\u001cm\t-*B\u0001\fdA*!E\u0019St\u0016ah\u0011\u001fX9\u0011dy\rZtM2]-\u0016\u000e]m\u0013~-\u0006\u0015X|Fv<\u0018'$\u001eXp\bj-\u0004Z_v\tfd\u0000ZHvFAb\u0002\u0013R9 b\u007f\bZN|\u0017xh\u0016\u000e\u001c>\u001e#\u000fPuF}b\u0016\u000e\u001ci\u0007\u007fl\b\t\u001c\u007f\t\u007f-\u0017\u001fMl\u0003~yE]\u0014#\u0015NtFyl\u0017\u001dYmFx\u007f\tZUj\\-\u0010+\u0015\u001cj\u0013neE\u0012Yx\u0002h\u007f_Z\nBV\u001co\u0007ax\u0000G\u001b\",\u0014Jx\ndiE)}T*-o\u0017\u0015Kj\u0003\u007f-\u0015\bS\u007f\u000fahE/nU\\-"
         .length();
      char var1 = '9';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 68;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = b(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     i = var5;
                     e = i[5];
                     d = CookieUtils.PREFIX_GATEWAY_MANAGED + i[4];
                     f = (short)2;
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "vf!\u0005\\\u000b\u000bgK\"\u0002q\u0011\u000bQi-\u001f{\r\u0006\u001dDm=\u0018}\u0010\u00117m6\u001b}\r\u001as((\u0004f_\rry;\u000eg\u000b_0";
                  var4 = "vf!\u0005\\\u000b\u000bgK\"\u0002q\u0011\u000bQi-\u001f{\r\u0006\u001dDm=\u0018}\u0010\u00117m6\u001b}\r\u001as((\u0004f_\rry;\u000eg\u000b_0"
                     .length();
                  var1 = 21;
                  var7 = -1;
            }

            var10000 = 54;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static Exception a(Exception var0) {
      return var0;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 73);
      }

      return var10000;
   }

   private static String b(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 33;
            case 1 -> 62;
            case 2 -> 120;
            case 3 -> 93;
            case 4 -> 34;
            case 5 -> 73;
            default -> 73;
         });
      }

      return new String(var10001).intern();
   }

   private static class AssertionException extends Exception {
      private final AssertionStatus status;
      private final M message;
      static final long serialVersionUID = 5687169706914293680L;

      AssertionException(AssertionStatus var1, M var2) {
         super(var2.getMessage());
         this.status = var1;
         this.message = var2;
      }

      AssertionException(AssertionStatus var1, M var2, Throwable var3) {
         super(var2.getMessage(), var3);
         this.status = var1;
         this.message = var2;
      }

      public AssertionStatus getAssertionStatus() {
         return this.status;
      }

      public M getAssertionMessage() {
         return this.message;
      }
   }
}
