package com.l7tech.security.saml;

import com.l7tech.util.SoapConstants;
import java.net.InetAddress;
import java.security.SignatureException;
import java.security.cert.CertificateException;
import java.util.Calendar;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import x0Assertion.oasisNamesTcSAML2.ActionType;
import x0Assertion.oasisNamesTcSAML2.AssertionDocument;
import x0Assertion.oasisNamesTcSAML2.AssertionType;
import x0Assertion.oasisNamesTcSAML2.AttributeStatementType;
import x0Assertion.oasisNamesTcSAML2.AttributeType;
import x0Assertion.oasisNamesTcSAML2.AuthnStatementType;
import x0Assertion.oasisNamesTcSAML2.AuthzDecisionStatementType;
import x0Assertion.oasisNamesTcSAML2.DecisionType;
import x0Assertion.oasisNamesTcSAML2.SubjectLocalityType;
import x0Assertion.oasisNamesTcSAML2.SubjectType;
import x0Assertion.oasisNamesTcSAML2.AssertionDocument.Factory;

class g extends e {
   private static final String[] b;

   @Override
   public Document createStatementDocument(@NotNull SamlAssertionGenerator.Options var1, @Nullable String var2, @NotNull SubjectStatement... var3) throws SignatureException, CertificateException, IllegalStateException {
      try {
         if (var1 == null) {
            a(0);
         }
      } catch (SignatureException var4) {
         throw a(var4);
      }

      try {
         if (var3 == null) {
            a(1);
         }
      } catch (SignatureException var5) {
         throw a(var5);
      }

      return this.a(this.a(var3, var1, var2));
   }

   private void a(SubjectType param1, SubjectStatement param2, String param3, SamlAssertionGenerator.Options param4) throws CertificateException {
      // $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 2
      // 001: invokevirtual com/l7tech/security/saml/SubjectStatement.getNameIdentifierType ()Lcom/l7tech/security/saml/NameIdentifierInclusionType;
      // 004: getstatic com/l7tech/security/saml/NameIdentifierInclusionType.NONE Lcom/l7tech/security/saml/NameIdentifierInclusionType;
      // 007: if_acmpeq 04f
      // 00a: aload 1
      // 00b: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectType.addNewNameID ()Lx0Assertion/oasisNamesTcSAML2/NameIDType; 1
      // 010: astore 5
      // 012: aload 5
      // 014: aload 2
      // 015: invokevirtual com/l7tech/security/saml/SubjectStatement.getName ()Ljava/lang/String;
      // 018: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setStringValue (Ljava/lang/String;)V 2
      // 01d: aload 2
      // 01e: invokevirtual com/l7tech/security/saml/SubjectStatement.getNameFormat ()Ljava/lang/String;
      // 021: ifnull 036
      // 024: aload 5
      // 026: aload 2
      // 027: invokevirtual com/l7tech/security/saml/SubjectStatement.getNameFormat ()Ljava/lang/String;
      // 02a: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setFormat (Ljava/lang/String;)V 2
      // 02f: goto 036
      // 032: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 035: athrow
      // 036: aload 2
      // 037: invokevirtual com/l7tech/security/saml/SubjectStatement.getNameQualifier ()Ljava/lang/String;
      // 03a: ifnull 04f
      // 03d: aload 5
      // 03f: aload 2
      // 040: invokevirtual com/l7tech/security/saml/SubjectStatement.getNameQualifier ()Ljava/lang/String;
      // 043: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setNameQualifier (Ljava/lang/String;)V 2
      // 048: goto 04f
      // 04b: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04e: athrow
      // 04f: aload 2
      // 050: invokevirtual com/l7tech/security/saml/SubjectStatement.getConfirmationMethod ()Ljava/lang/String;
      // 053: astore 5
      // 055: aconst_null
      // 056: astore 6
      // 058: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 05b: astore 18
      // 05d: aload 18
      // 05f: bipush 23
      // 061: aaload
      // 062: aload 5
      // 064: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 067: ifeq 074
      // 06a: aload 18
      // 06c: bipush 17
      // 06e: aaload
      // 06f: astore 5
      // 071: goto 0ab
      // 074: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 077: astore 18
      // 079: aload 18
      // 07b: bipush 38
      // 07d: aaload
      // 07e: aload 5
      // 080: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 083: ifeq 08f
      // 086: aload 18
      // 088: bipush 1
      // 089: aaload
      // 08a: astore 5
      // 08c: goto 0ab
      // 08f: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 092: astore 18
      // 094: aload 18
      // 096: bipush 24
      // 098: aaload
      // 099: aload 5
      // 09b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 09e: ifeq 0ab
      // 0a1: aload 18
      // 0a3: bipush 13
      // 0a5: aaload
      // 0a6: astore 5
      // 0a8: aload 3
      // 0a9: astore 6
      // 0ab: aload 5
      // 0ad: ifnull 329
      // 0b0: aload 1
      // 0b1: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectType.addNewSubjectConfirmation ()Lx0Assertion/oasisNamesTcSAML2/SubjectConfirmationType; 1
      // 0b6: astore 7
      // 0b8: aload 7
      // 0ba: aload 5
      // 0bc: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationType.setMethod (Ljava/lang/String;)V 2
      // 0c1: aload 6
      // 0c3: ifnull 0d8
      // 0c6: aload 7
      // 0c8: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationType.addNewNameID ()Lx0Assertion/oasisNamesTcSAML2/NameIDType; 1
      // 0cd: astore 8
      // 0cf: aload 8
      // 0d1: aload 6
      // 0d3: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setStringValue (Ljava/lang/String;)V 2
      // 0d8: aload 2
      // 0d9: invokevirtual com/l7tech/security/saml/SubjectStatement.getKeyInfo ()Ljava/lang/Object;
      // 0dc: astore 8
      // 0de: aload 8
      // 0e0: instanceof java/security/cert/X509Certificate
      // 0e3: istore 9
      // 0e5: aload 4
      // 0e7: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataAddress ()Ljava/lang/String;
      // 0ea: ifnonnull 129
      // 0ed: aload 4
      // 0ef: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataInResponseTo ()Ljava/lang/String;
      // 0f2: ifnonnull 129
      // 0f5: goto 0fc
      // 0f8: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fb: athrow
      // 0fc: aload 4
      // 0fe: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataRecipient ()Ljava/lang/String;
      // 101: ifnonnull 129
      // 104: goto 10b
      // 107: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10a: athrow
      // 10b: aload 4
      // 10d: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataNotBeforeSecondsInPast ()I
      // 110: ifge 129
      // 113: goto 11a
      // 116: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 119: athrow
      // 11a: aload 4
      // 11c: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataNotOnOrAfterExpirySeconds ()I
      // 11f: iflt 131
      // 122: goto 129
      // 125: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 128: athrow
      // 129: bipush 1
      // 12a: goto 132
      // 12d: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 130: athrow
      // 131: bipush 0
      // 132: istore 10
      // 134: iload 9
      // 136: ifne 14a
      // 139: iload 10
      // 13b: ifne 14a
      // 13e: goto 145
      // 141: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 144: athrow
      // 145: return
      // 146: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 149: athrow
      // 14a: iload 9
      // 14c: ifeq 15d
      // 14f: aload 0
      // 150: invokevirtual com/l7tech/security/saml/g.b ()Lorg/apache/xmlbeans/XmlOptions;
      // 153: invokestatic x0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType$Factory.newInstance (Lorg/apache/xmlbeans/XmlOptions;)Lx0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType;
      // 156: goto 164
      // 159: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15c: athrow
      // 15d: aload 0
      // 15e: invokevirtual com/l7tech/security/saml/g.b ()Lorg/apache/xmlbeans/XmlOptions;
      // 161: invokestatic x0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType$Factory.newInstance (Lorg/apache/xmlbeans/XmlOptions;)Lx0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType;
      // 164: astore 11
      // 166: aload 4
      // 168: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataAddress ()Ljava/lang/String;
      // 16b: ifnull 181
      // 16e: aload 11
      // 170: aload 4
      // 172: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataAddress ()Ljava/lang/String;
      // 175: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType.setAddress (Ljava/lang/String;)V 2
      // 17a: goto 181
      // 17d: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 180: athrow
      // 181: aload 4
      // 183: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataInResponseTo ()Ljava/lang/String;
      // 186: ifnull 19c
      // 189: aload 11
      // 18b: aload 4
      // 18d: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataInResponseTo ()Ljava/lang/String;
      // 190: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType.setInResponseTo (Ljava/lang/String;)V 2
      // 195: goto 19c
      // 198: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 19b: athrow
      // 19c: aload 4
      // 19e: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataRecipient ()Ljava/lang/String;
      // 1a1: ifnull 1b7
      // 1a4: aload 11
      // 1a6: aload 4
      // 1a8: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataRecipient ()Ljava/lang/String;
      // 1ab: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType.setRecipient (Ljava/lang/String;)V 2
      // 1b0: goto 1b7
      // 1b3: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b6: athrow
      // 1b7: aload 4
      // 1b9: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataNotBeforeSecondsInPast ()I
      // 1bc: bipush -1
      // 1bd: if_icmple 1df
      // 1c0: getstatic com/l7tech/security/saml/SamlAssertionGenerator.a Ljava/util/TimeZone;
      // 1c3: invokestatic java/util/Calendar.getInstance (Ljava/util/TimeZone;)Ljava/util/Calendar;
      // 1c6: astore 12
      // 1c8: aload 12
      // 1ca: bipush 13
      // 1cc: bipush -1
      // 1cd: aload 4
      // 1cf: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataNotBeforeSecondsInPast ()I
      // 1d2: imul
      // 1d3: invokevirtual java/util/Calendar.add (II)V
      // 1d6: aload 11
      // 1d8: aload 12
      // 1da: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType.setNotBefore (Ljava/util/Calendar;)V 2
      // 1df: aload 4
      // 1e1: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataNotOnOrAfterExpirySeconds ()I
      // 1e4: bipush -1
      // 1e5: if_icmple 205
      // 1e8: getstatic com/l7tech/security/saml/SamlAssertionGenerator.a Ljava/util/TimeZone;
      // 1eb: invokestatic java/util/Calendar.getInstance (Ljava/util/TimeZone;)Ljava/util/Calendar;
      // 1ee: astore 12
      // 1f0: aload 12
      // 1f2: bipush 13
      // 1f4: aload 4
      // 1f6: invokevirtual com/l7tech/security/saml/SamlAssertionGenerator$Options.getSubjectConfirmationDataNotOnOrAfterExpirySeconds ()I
      // 1f9: invokevirtual java/util/Calendar.add (II)V
      // 1fc: aload 11
      // 1fe: aload 12
      // 200: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType.setNotOnOrAfter (Ljava/util/Calendar;)V 2
      // 205: iload 9
      // 207: ifeq 320
      // 20a: aload 11
      // 20c: checkcast x0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType
      // 20f: astore 12
      // 211: aload 8
      // 213: checkcast java/security/cert/X509Certificate
      // 216: astore 13
      // 218: getstatic com/l7tech/security/saml/d.a [I
      // 21b: aload 2
      // 21c: invokevirtual com/l7tech/security/saml/SubjectStatement.getSubjectConfirmationKeyInfoType ()Lcom/l7tech/security/xml/KeyInfoInclusionType;
      // 21f: invokevirtual com/l7tech/security/xml/KeyInfoInclusionType.ordinal ()I
      // 222: iaload
      // 223: tableswitch 253 1 5 33 66 125 170 253
      // 244: aload 12
      // 246: invokeinterface x0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType.addNewKeyInfo ()Lorg/w3/x2000/x09/xmldsig/KeyInfoType; 1
      // 24b: astore 14
      // 24d: aload 14
      // 24f: invokeinterface org/w3/x2000/x09/xmldsig/KeyInfoType.addNewX509Data ()Lorg/w3/x2000/x09/xmldsig/X509DataType; 1
      // 254: astore 15
      // 256: aload 15
      // 258: aload 13
      // 25a: invokevirtual java/security/cert/X509Certificate.getEncoded ()[B
      // 25d: invokeinterface org/w3/x2000/x09/xmldsig/X509DataType.addX509Certificate ([B)V 2
      // 262: goto 320
      // 265: aload 12
      // 267: invokeinterface x0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType.addNewKeyInfo ()Lorg/w3/x2000/x09/xmldsig/KeyInfoType; 1
      // 26c: astore 14
      // 26e: aload 14
      // 270: invokeinterface org/w3/x2000/x09/xmldsig/KeyInfoType.addNewX509Data ()Lorg/w3/x2000/x09/xmldsig/X509DataType; 1
      // 275: astore 15
      // 277: aload 15
      // 279: invokeinterface org/w3/x2000/x09/xmldsig/X509DataType.addNewX509IssuerSerial ()Lorg/w3/x2000/x09/xmldsig/X509IssuerSerialType; 1
      // 27e: astore 16
      // 280: aload 16
      // 282: aload 13
      // 284: invokevirtual java/security/cert/X509Certificate.getIssuerDN ()Ljava/security/Principal;
      // 287: invokeinterface java/security/Principal.getName ()Ljava/lang/String; 1
      // 28c: invokeinterface org/w3/x2000/x09/xmldsig/X509IssuerSerialType.setX509IssuerName (Ljava/lang/String;)V 2
      // 291: aload 16
      // 293: aload 13
      // 295: invokevirtual java/security/cert/X509Certificate.getSerialNumber ()Ljava/math/BigInteger;
      // 298: invokeinterface org/w3/x2000/x09/xmldsig/X509IssuerSerialType.setX509SerialNumber (Ljava/math/BigInteger;)V 2
      // 29d: goto 320
      // 2a0: aload 12
      // 2a2: invokeinterface x0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType.getDomNode ()Lorg/w3c/dom/Node; 1
      // 2a7: astore 14
      // 2a9: new com/l7tech/util/NamespaceFactory
      // 2ac: dup
      // 2ad: invokespecial com/l7tech/util/NamespaceFactory.<init> ()V
      // 2b0: astore 15
      // 2b2: aload 13
      // 2b4: invokestatic com/l7tech/common/io/CertUtils.getThumbprintSHA1 (Ljava/security/cert/X509Certificate;)Ljava/lang/String;
      // 2b7: bipush 1
      // 2b8: getstatic com/l7tech/util/SoapConstants.VALUETYPE_X509_THUMB_SHA1 Ljava/lang/String;
      // 2bb: invokestatic com/l7tech/security/xml/KeyInfoDetails.makeKeyId (Ljava/lang/String;ZLjava/lang/String;)Lcom/l7tech/security/xml/KeyInfoDetails;
      // 2be: astore 16
      // 2c0: aload 16
      // 2c2: aload 15
      // 2c4: aload 14
      // 2c6: invokevirtual com/l7tech/security/xml/KeyInfoDetails.createAndAppendKeyInfoElement (Lcom/l7tech/util/NamespaceFactory;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
      // 2c9: pop
      // 2ca: goto 320
      // 2cd: aload 12
      // 2cf: invokeinterface x0Assertion/oasisNamesTcSAML2/KeyInfoConfirmationDataType.getDomNode ()Lorg/w3c/dom/Node; 1
      // 2d4: astore 14
      // 2d6: new com/l7tech/util/NamespaceFactory
      // 2d9: dup
      // 2da: invokespecial com/l7tech/util/NamespaceFactory.<init> ()V
      // 2dd: astore 15
      // 2df: aload 13
      // 2e1: invokestatic com/l7tech/common/io/CertUtils.getSKIBytesFromCert (Ljava/security/cert/X509Certificate;)[B
      // 2e4: astore 16
      // 2e6: aload 16
      // 2e8: ifnonnull 309
      // 2eb: new java/security/cert/CertificateException
      // 2ee: dup
      // 2ef: aload 13
      // 2f1: invokestatic com/l7tech/common/io/CertUtils.getCertIdentifyingInformation (Ljava/security/cert/X509Certificate;)Ljava/lang/String;
      // 2f4: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 2f7: bipush 0
      // 2f8: aaload
      // 2f9: swap
      // 2fa: ldc "]"
      // 2fc: 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" ]
      // 301: invokespecial java/security/cert/CertificateException.<init> (Ljava/lang/String;)V
      // 304: athrow
      // 305: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 308: athrow
      // 309: aload 16
      // 30b: getstatic com/l7tech/util/SoapConstants.VALUETYPE_SKI Ljava/lang/String;
      // 30e: invokestatic com/l7tech/security/xml/KeyInfoDetails.makeKeyId ([BLjava/lang/String;)Lcom/l7tech/security/xml/KeyInfoDetails;
      // 311: astore 17
      // 313: aload 17
      // 315: aload 15
      // 317: aload 14
      // 319: invokevirtual com/l7tech/security/xml/KeyInfoDetails.createAndAppendKeyInfoElement (Lcom/l7tech/util/NamespaceFactory;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
      // 31c: pop
      // 31d: goto 320
      // 320: aload 7
      // 322: aload 11
      // 324: invokeinterface x0Assertion/oasisNamesTcSAML2/SubjectConfirmationType.setSubjectConfirmationData (Lx0Assertion/oasisNamesTcSAML2/SubjectConfirmationDataType;)V 2
      // 329: return
      // try (7 -> 18): 19 java/security/cert/CertificateException
      // try (21 -> 28): 29 java/security/cert/CertificateException
      // try (98 -> 104): 105 java/security/cert/CertificateException
      // try (101 -> 110): 111 java/security/cert/CertificateException
      // try (107 -> 116): 117 java/security/cert/CertificateException
      // try (113 -> 122): 123 java/security/cert/CertificateException
      // try (119 -> 127): 127 java/security/cert/CertificateException
      // try (131 -> 135): 136 java/security/cert/CertificateException
      // try (133 -> 139): 139 java/security/cert/CertificateException
      // try (141 -> 147): 147 java/security/cert/CertificateException
      // try (153 -> 160): 161 java/security/cert/CertificateException
      // try (163 -> 170): 171 java/security/cert/CertificateException
      // try (173 -> 180): 181 java/security/cert/CertificateException
      // try (288 -> 302): 302 java/security/cert/CertificateException
   }

   private AssertionType a(
      @NotNull Calendar param1,
      int param2,
      @Nullable String param3,
      @NotNull String param4,
      @Nullable String param5,
      @Nullable String param6,
      int param7,
      @Nullable Iterable<String> param8
   ) {
      // $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 1
      // 001: ifnonnull 00f
      // 004: bipush 2
      // 005: invokestatic com/l7tech/security/saml/g.a (I)V
      // 008: goto 00f
      // 00b: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 00e: athrow
      // 00f: aload 4
      // 011: ifnonnull 01f
      // 014: bipush 3
      // 015: invokestatic com/l7tech/security/saml/g.a (I)V
      // 018: goto 01f
      // 01b: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01e: athrow
      // 01f: aload 0
      // 020: invokevirtual com/l7tech/security/saml/g.b ()Lorg/apache/xmlbeans/XmlOptions;
      // 023: invokestatic x0Assertion/oasisNamesTcSAML2/AssertionType$Factory.newInstance (Lorg/apache/xmlbeans/XmlOptions;)Lx0Assertion/oasisNamesTcSAML2/AssertionType;
      // 026: astore 9
      // 028: aload 9
      // 02a: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 02d: bipush 11
      // 02f: aaload
      // 030: invokeinterface x0Assertion/oasisNamesTcSAML2/AssertionType.setVersion (Ljava/lang/String;)V 2
      // 035: aload 3
      // 036: ifnonnull 04b
      // 039: aload 9
      // 03b: aconst_null
      // 03c: invokestatic com/l7tech/security/saml/SamlAssertionGenerator.generateAssertionId (Ljava/lang/String;)Ljava/lang/String;
      // 03f: invokeinterface x0Assertion/oasisNamesTcSAML2/AssertionType.setID (Ljava/lang/String;)V 2
      // 044: goto 053
      // 047: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04a: athrow
      // 04b: aload 9
      // 04d: aload 3
      // 04e: invokeinterface x0Assertion/oasisNamesTcSAML2/AssertionType.setID (Ljava/lang/String;)V 2
      // 053: aload 9
      // 055: aload 1
      // 056: invokeinterface x0Assertion/oasisNamesTcSAML2/AssertionType.setIssueInstant (Ljava/util/Calendar;)V 2
      // 05b: aload 0
      // 05c: invokevirtual com/l7tech/security/saml/g.b ()Lorg/apache/xmlbeans/XmlOptions;
      // 05f: invokestatic x0Assertion/oasisNamesTcSAML2/NameIDType$Factory.newInstance (Lorg/apache/xmlbeans/XmlOptions;)Lx0Assertion/oasisNamesTcSAML2/NameIDType;
      // 062: astore 10
      // 064: aload 10
      // 066: aload 4
      // 068: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setStringValue (Ljava/lang/String;)V 2
      // 06d: aload 5
      // 06f: ifnull 082
      // 072: aload 10
      // 074: aload 5
      // 076: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setFormat (Ljava/lang/String;)V 2
      // 07b: goto 082
      // 07e: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 081: athrow
      // 082: aload 6
      // 084: ifnull 097
      // 087: aload 10
      // 089: aload 6
      // 08b: invokeinterface x0Assertion/oasisNamesTcSAML2/NameIDType.setNameQualifier (Ljava/lang/String;)V 2
      // 090: goto 097
      // 093: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 096: athrow
      // 097: aload 9
      // 099: aload 10
      // 09b: invokeinterface x0Assertion/oasisNamesTcSAML2/AssertionType.setIssuer (Lx0Assertion/oasisNamesTcSAML2/NameIDType;)V 2
      // 0a0: iload 7
      // 0a2: bipush -1
      // 0a3: if_icmpgt 0be
      // 0a6: iload 2
      // 0a7: bipush -1
      // 0a8: if_icmpgt 0be
      // 0ab: goto 0b2
      // 0ae: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b1: athrow
      // 0b2: aload 8
      // 0b4: ifnull 149
      // 0b7: goto 0be
      // 0ba: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0bd: athrow
      // 0be: aload 0
      // 0bf: invokevirtual com/l7tech/security/saml/g.b ()Lorg/apache/xmlbeans/XmlOptions;
      // 0c2: invokestatic x0Assertion/oasisNamesTcSAML2/ConditionsType$Factory.newInstance (Lorg/apache/xmlbeans/XmlOptions;)Lx0Assertion/oasisNamesTcSAML2/ConditionsType;
      // 0c5: astore 11
      // 0c7: aload 8
      // 0c9: ifnull 100
      // 0cc: aload 11
      // 0ce: invokeinterface x0Assertion/oasisNamesTcSAML2/ConditionsType.addNewAudienceRestriction ()Lx0Assertion/oasisNamesTcSAML2/AudienceRestrictionType; 1
      // 0d3: astore 12
      // 0d5: aload 8
      // 0d7: invokeinterface java/lang/Iterable.iterator ()Ljava/util/Iterator; 1
      // 0dc: astore 13
      // 0de: aload 13
      // 0e0: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0e5: ifeq 100
      // 0e8: aload 13
      // 0ea: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0ef: checkcast java/lang/String
      // 0f2: astore 14
      // 0f4: aload 12
      // 0f6: aload 14
      // 0f8: invokeinterface x0Assertion/oasisNamesTcSAML2/AudienceRestrictionType.addAudience (Ljava/lang/String;)V 2
      // 0fd: goto 0de
      // 100: iload 7
      // 102: bipush -1
      // 103: if_icmple 122
      // 106: getstatic com/l7tech/security/saml/SamlAssertionGenerator.a Ljava/util/TimeZone;
      // 109: invokestatic java/util/Calendar.getInstance (Ljava/util/TimeZone;)Ljava/util/Calendar;
      // 10c: astore 12
      // 10e: aload 12
      // 110: bipush 13
      // 112: bipush -1
      // 113: iload 7
      // 115: imul
      // 116: invokevirtual java/util/Calendar.add (II)V
      // 119: aload 11
      // 11b: aload 12
      // 11d: invokeinterface x0Assertion/oasisNamesTcSAML2/ConditionsType.setNotBefore (Ljava/util/Calendar;)V 2
      // 122: iload 2
      // 123: bipush -1
      // 124: if_icmple 140
      // 127: getstatic com/l7tech/security/saml/SamlAssertionGenerator.a Ljava/util/TimeZone;
      // 12a: invokestatic java/util/Calendar.getInstance (Ljava/util/TimeZone;)Ljava/util/Calendar;
      // 12d: astore 12
      // 12f: aload 12
      // 131: bipush 13
      // 133: iload 2
      // 134: invokevirtual java/util/Calendar.add (II)V
      // 137: aload 11
      // 139: aload 12
      // 13b: invokeinterface x0Assertion/oasisNamesTcSAML2/ConditionsType.setNotOnOrAfter (Ljava/util/Calendar;)V 2
      // 140: aload 9
      // 142: aload 11
      // 144: invokeinterface x0Assertion/oasisNamesTcSAML2/AssertionType.setConditions (Lx0Assertion/oasisNamesTcSAML2/ConditionsType;)V 2
      // 149: aload 9
      // 14b: areturn
      // try (0 -> 4): 5 java/lang/IllegalStateException
      // try (7 -> 11): 12 java/lang/IllegalStateException
      // try (18 -> 30): 30 java/lang/IllegalStateException
      // try (42 -> 50): 51 java/lang/IllegalStateException
      // try (53 -> 58): 59 java/lang/IllegalStateException
      // try (61 -> 70): 71 java/lang/IllegalStateException
      // try (67 -> 75): 76 java/lang/IllegalStateException
   }

   private Document a(AssertionType var1) {
      AssertionDocument var2 = Factory.newInstance(this.b());
      var2.setAssertion(var1);
      return this.a((Document)var2.newDomNode(this.b()), this.a());
   }

   private Map<String, String> a() {
      LinkedHashMap var1 = new LinkedHashMap();
      String[] var2 = b;
      var1.put(var2[39], var2[25]);
      var1.put(var2[2], var2[21]);
      var1.put(var2[15], var2[32]);
      var1.put(var2[28], var2[14]);
      var1.put(SoapConstants.DIGSIG_URI, var2[20]);
      return var1;
   }

   private XmlOptions b() {
      XmlOptions var1 = new XmlOptions();
      var1.setSaveSuggestedPrefixes(this.a());
      return var1;
   }

   private Document a(Document var1, Map<String, String> var2) {
      for (Entry var4 : var2.entrySet()) {
         this.a(var1.getDocumentElement(), (String)var4.getValue(), null, (String)var4.getKey());
      }

      return var1;
   }

   private void a(Element param1, String param2, String param3, String param4) {
      // $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 1
      // 001: invokeinterface org/w3c/dom/Element.getAttributes ()Lorg/w3c/dom/NamedNodeMap; 1
      // 006: astore 5
      // 008: bipush 0
      // 009: istore 6
      // 00b: iload 6
      // 00d: aload 5
      // 00f: invokeinterface org/w3c/dom/NamedNodeMap.getLength ()I 1
      // 014: if_icmpge 086
      // 017: aload 5
      // 019: iload 6
      // 01b: invokeinterface org/w3c/dom/NamedNodeMap.item (I)Lorg/w3c/dom/Node; 2
      // 020: checkcast org/w3c/dom/Attr
      // 023: astore 7
      // 025: aload 4
      // 027: aload 7
      // 029: invokeinterface org/w3c/dom/Attr.getValue ()Ljava/lang/String; 1
      // 02e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 031: ifeq 080
      // 034: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 037: bipush 40
      // 039: aaload
      // 03a: aload 7
      // 03c: invokeinterface org/w3c/dom/Attr.getNamespaceURI ()Ljava/lang/String; 1
      // 041: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 044: ifeq 080
      // 047: goto 04e
      // 04a: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04d: athrow
      // 04e: aload 7
      // 050: invokeinterface org/w3c/dom/Attr.getPrefix ()Ljava/lang/String; 1
      // 055: astore 3
      // 056: aload 1
      // 057: aload 7
      // 059: invokeinterface org/w3c/dom/Element.removeAttributeNode (Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr; 2
      // 05e: pop
      // 05f: aload 1
      // 060: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 063: astore 10
      // 065: aload 10
      // 067: bipush 10
      // 069: aaload
      // 06a: aload 2
      // 06b: aload 10
      // 06d: bipush 30
      // 06f: aaload
      // 070: swap
      // 071: 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" ]
      // 076: aload 4
      // 078: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 07d: goto 086
      // 080: iinc 6 1
      // 083: goto 00b
      // 086: aload 4
      // 088: aload 1
      // 089: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 08e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 091: ifeq 0a2
      // 094: aload 1
      // 095: aload 2
      // 096: invokeinterface org/w3c/dom/Element.setPrefix (Ljava/lang/String;)V 2
      // 09b: goto 0a2
      // 09e: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a1: athrow
      // 0a2: aload 1
      // 0a3: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 0a6: astore 10
      // 0a8: aload 10
      // 0aa: bipush 27
      // 0ac: aaload
      // 0ad: aload 10
      // 0af: bipush 22
      // 0b1: aaload
      // 0b2: invokeinterface org/w3c/dom/Element.getAttributeNodeNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr; 3
      // 0b7: astore 6
      // 0b9: aload 6
      // 0bb: ifnull 142
      // 0be: aload 6
      // 0c0: invokeinterface org/w3c/dom/Attr.getValue ()Ljava/lang/String; 1
      // 0c5: astore 7
      // 0c7: aload 7
      // 0c9: ifnull 142
      // 0cc: aload 7
      // 0ce: invokevirtual java/lang/String.isEmpty ()Z
      // 0d1: ifne 142
      // 0d4: goto 0db
      // 0d7: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0da: athrow
      // 0db: aload 7
      // 0dd: ldc ":"
      // 0df: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 0e2: ifge 10d
      // 0e5: goto 0ec
      // 0e8: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0eb: athrow
      // 0ec: aload 3
      // 0ed: ifnonnull 10d
      // 0f0: goto 0f7
      // 0f3: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f6: athrow
      // 0f7: aload 6
      // 0f9: aload 2
      // 0fa: aload 7
      // 0fc: 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" ]
      // 101: invokeinterface org/w3c/dom/Attr.setValue (Ljava/lang/String;)V 2
      // 106: goto 142
      // 109: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10c: athrow
      // 10d: aload 7
      // 10f: ldc ":"
      // 111: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 114: ifle 142
      // 117: aload 3
      // 118: ifnull 142
      // 11b: goto 122
      // 11e: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 121: athrow
      // 122: aload 6
      // 124: aload 2
      // 125: aload 7
      // 127: aload 7
      // 129: ldc ":"
      // 12b: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 12e: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 131: 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" ]
      // 136: invokeinterface org/w3c/dom/Attr.setValue (Ljava/lang/String;)V 2
      // 13b: goto 142
      // 13e: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 141: athrow
      // 142: aload 1
      // 143: invokeinterface org/w3c/dom/Element.getChildNodes ()Lorg/w3c/dom/NodeList; 1
      // 148: astore 7
      // 14a: bipush 0
      // 14b: istore 8
      // 14d: iload 8
      // 14f: aload 7
      // 151: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 156: if_icmpge 189
      // 159: aload 7
      // 15b: iload 8
      // 15d: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 162: astore 9
      // 164: aload 9
      // 166: invokeinterface org/w3c/dom/Node.getNodeType ()S 1
      // 16b: bipush 1
      // 16c: if_icmpne 183
      // 16f: aload 0
      // 170: aload 9
      // 172: checkcast org/w3c/dom/Element
      // 175: aload 2
      // 176: aload 3
      // 177: aload 4
      // 179: invokevirtual com/l7tech/security/saml/g.a (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 17c: goto 183
      // 17f: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 182: athrow
      // 183: iinc 8 1
      // 186: goto 14d
      // 189: return
      // try (14 -> 26): 27 java/lang/IllegalStateException
      // try (53 -> 61): 62 java/lang/IllegalStateException
      // try (80 -> 85): 86 java/lang/IllegalStateException
      // try (82 -> 92): 93 java/lang/IllegalStateException
      // try (88 -> 97): 98 java/lang/IllegalStateException
      // try (95 -> 106): 106 java/lang/IllegalStateException
      // try (108 -> 114): 115 java/lang/IllegalStateException
      // try (112 -> 126): 127 java/lang/IllegalStateException
      // try (142 -> 153): 154 java/lang/IllegalStateException
   }

   private AssertionType a(@NotNull SubjectStatement[] var1, @NotNull SamlAssertionGenerator.Options var2, @Nullable String var3) throws CertificateException {
      try {
         if (var1 == null) {
            a(4);
         }
      } catch (CertificateException var31) {
         throw a(var31);
      }

      try {
         if (var2 == null) {
            a(5);
         }
      } catch (CertificateException var26) {
         throw a(var26);
      }

      String var10000;
      label118: {
         try {
            if (var3 != null) {
               var10000 = this.a(var3);
               break label118;
            }
         } catch (CertificateException var30) {
            throw a(var30);
         }

         var10000 = var2.getCustomIssuer();
      }

      String var4 = var10000;

      try {
         if (var4 == null) {
            throw new IllegalStateException(b[3]);
         }
      } catch (CertificateException var29) {
         throw a(var29);
      }

      String var5 = var2.getCustomIssuerFormat();
      String var6 = var2.getCustomIssuerNameQualifier();
      Calendar var7 = Calendar.getInstance(SamlAssertionGenerator.a);

      Calendar var10001;
      int var10002;
      String var10003;
      label103: {
         try {
            var39 = this;
            var10001 = var7;
            var10002 = var2.getNotAfterSeconds();
            if (var2.getId() != null) {
               var10003 = var2.getId();
               break label103;
            }
         } catch (CertificateException var28) {
            throw a(var28);
         }

         var10003 = SamlAssertionGenerator.generateAssertionId(null);
      }

      AssertionType var8 = var39.a(var10001, var10002, var10003, var4, var5, var6, var2.getNotBeforeSeconds(), var2.getAudienceRestriction());
      SubjectType var9 = var8.addNewSubject();
      this.a(var9, var1[0], var3, var2);

      for (SubjectStatement var13 : var1) {
         if (var13 instanceof AuthenticationStatement var33) {
            AuthnStatementType var35 = var8.addNewAuthnStatement();
            var35.setAuthnInstant(var33.getAuthenticationInstant());
            this.a(var33, var35);
            InetAddress var37 = var2.getClientAddress();
            if (var37 != null) {
               SubjectLocalityType var38 = var35.addNewSubjectLocality();

               try {
                  var38.setAddress(var37.getHostAddress());
                  if (var2.isClientAddressDNS()) {
                     var38.setDNSName(var37.getCanonicalHostName());
                  }
               } catch (CertificateException var24) {
                  throw a(var24);
               }
            }
         } else if (var13 instanceof AuthorizationStatement var32) {
            AuthzDecisionStatementType var34 = var8.addNewAuthzDecisionStatement();
            var34.setResource(var32.getResource());
            var34.setDecision(DecisionType.PERMIT);
            if (var32.getAction() != null) {
               ActionType var36 = var34.addNewAction();

               try {
                  var36.setStringValue(var32.getAction());
                  if (var32.getActionNamespace() != null) {
                     var36.setNamespace(var32.getActionNamespace());
                  }
               } catch (CertificateException var25) {
                  throw a(var25);
               }
            }
         } else {
            if (!(var13 instanceof AttributeStatement var14)) {
               throw new IllegalArgumentException(b[9] + var13.getClass());
            }

            AttributeStatementType var15 = var8.addNewAttributeStatement();
            Attribute[] var16 = var14.getAttributes();

            for (Attribute var20 : var16) {
               AttributeType var21 = var15.addNewAttribute();
               var21.setName(var20.getName());
               var21.setNameFormat(var20.getNamespace());
               Object var22 = var20.getValue();
               XmlObject var23 = com.l7tech.security.saml.a.a(var22, var20.getNullBehavior());

               try {
                  if (var23 != null) {
                     var21.setAttributeValueArray(new XmlObject[]{var23});
                  }
               } catch (CertificateException var27) {
                  throw a(var27);
               }
            }
         }
      }

      return var8;
   }

   private void a(AuthenticationStatement param1, AuthnStatementType param2) {
      // $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 1
      // 001: invokevirtual com/l7tech/security/saml/AuthenticationStatement.getAuthenticationMethod ()Ljava/lang/String;
      // 004: astore 3
      // 005: aconst_null
      // 006: astore 4
      // 008: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 00b: bipush 31
      // 00d: aaload
      // 00e: aload 3
      // 00f: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 012: ifne 029
      // 015: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 018: bipush 18
      // 01a: aaload
      // 01b: aload 3
      // 01c: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 01f: ifeq 071
      // 022: goto 029
      // 025: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 028: athrow
      // 029: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 02c: astore 10
      // 02e: aload 10
      // 030: bipush 15
      // 032: aaload
      // 033: astore 3
      // 034: invokestatic x0AcClassesPassword/oasisNamesTcSAML2/AuthnContextDeclarationBaseType$Factory.newInstance ()Lx0AcClassesPassword/oasisNamesTcSAML2/AuthnContextDeclarationBaseType;
      // 037: astore 5
      // 039: aload 5
      // 03b: invokeinterface x0AcClassesPassword/oasisNamesTcSAML2/AuthnContextDeclarationBaseType.addNewAuthnMethod ()Lx0AcClassesPassword/oasisNamesTcSAML2/AuthnMethodBaseType; 1
      // 040: astore 6
      // 042: aload 6
      // 044: invokeinterface x0AcClassesPassword/oasisNamesTcSAML2/AuthnMethodBaseType.addNewAuthenticator ()Lx0AcClassesPassword/oasisNamesTcSAML2/AuthenticatorBaseType; 1
      // 049: astore 7
      // 04b: aload 7
      // 04d: invokeinterface x0AcClassesPassword/oasisNamesTcSAML2/AuthenticatorBaseType.addNewRestrictedPassword ()Lx0AcClassesPassword/oasisNamesTcSAML2/RestrictedPasswordType; 1
      // 052: astore 8
      // 054: aload 8
      // 056: invokeinterface x0AcClassesPassword/oasisNamesTcSAML2/PasswordType.addNewLength ()Lx0AcClassesPassword/oasisNamesTcSAML2/LengthType; 1
      // 05b: astore 9
      // 05d: aload 9
      // 05f: ldc2_w 3
      // 062: invokestatic java/math/BigInteger.valueOf (J)Ljava/math/BigInteger;
      // 065: invokeinterface x0AcClassesPassword/oasisNamesTcSAML2/LengthType.setMin (Ljava/math/BigInteger;)V 2
      // 06a: aload 5
      // 06c: astore 4
      // 06e: goto 16a
      // 071: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 074: bipush 12
      // 076: aaload
      // 077: aload 3
      // 078: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 07b: ifne 092
      // 07e: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 081: bipush 26
      // 083: aaload
      // 084: aload 3
      // 085: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 088: ifeq 0d9
      // 08b: goto 092
      // 08e: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 091: athrow
      // 092: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 095: astore 10
      // 097: aload 10
      // 099: bipush 2
      // 09a: aaload
      // 09b: astore 3
      // 09c: invokestatic x0AcClassesXMLDSig/oasisNamesTcSAML2/AuthnContextDeclarationBaseType$Factory.newInstance ()Lx0AcClassesXMLDSig/oasisNamesTcSAML2/AuthnContextDeclarationBaseType;
      // 09f: astore 5
      // 0a1: aload 5
      // 0a3: invokeinterface x0AcClassesXMLDSig/oasisNamesTcSAML2/AuthnContextDeclarationBaseType.addNewAuthnMethod ()Lx0AcClassesXMLDSig/oasisNamesTcSAML2/AuthnMethodBaseType; 1
      // 0a8: astore 6
      // 0aa: aload 6
      // 0ac: invokeinterface x0AcClassesXMLDSig/oasisNamesTcSAML2/AuthnMethodBaseType.addNewAuthenticator ()Lx0AcClassesXMLDSig/oasisNamesTcSAML2/AuthenticatorBaseType; 1
      // 0b1: astore 7
      // 0b3: invokestatic org/apache/xmlbeans/XmlString$Factory.newInstance ()Lorg/apache/xmlbeans/XmlString;
      // 0b6: astore 8
      // 0b8: aload 8
      // 0ba: aload 10
      // 0bc: bipush 36
      // 0be: aaload
      // 0bf: invokeinterface org/apache/xmlbeans/XmlString.setStringValue (Ljava/lang/String;)V 2
      // 0c4: aload 7
      // 0c6: invokeinterface x0AcClassesXMLDSig/oasisNamesTcSAML2/AuthenticatorBaseType.addNewDigSig ()Lx0AcClassesXMLDSig/oasisNamesTcSAML2/PublicKeyType; 1
      // 0cb: aload 8
      // 0cd: invokeinterface x0AcClassesXMLDSig/oasisNamesTcSAML2/PublicKeyType.setKeyValidation (Lorg/apache/xmlbeans/XmlAnySimpleType;)V 2
      // 0d2: aload 5
      // 0d4: astore 4
      // 0d6: goto 16a
      // 0d9: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 0dc: bipush 7
      // 0de: aaload
      // 0df: aload 3
      // 0e0: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0e3: ifne 0fa
      // 0e6: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 0e9: bipush 33
      // 0eb: aaload
      // 0ec: aload 3
      // 0ed: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0f0: ifeq 153
      // 0f3: goto 0fa
      // 0f6: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f9: athrow
      // 0fa: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 0fd: astore 10
      // 0ff: aload 10
      // 101: bipush 28
      // 103: aaload
      // 104: astore 3
      // 105: invokestatic x0AcClassesTLSClient/oasisNamesTcSAML2/AuthnContextDeclarationBaseType$Factory.newInstance ()Lx0AcClassesTLSClient/oasisNamesTcSAML2/AuthnContextDeclarationBaseType;
      // 108: astore 5
      // 10a: aload 5
      // 10c: invokeinterface x0AcClassesTLSClient/oasisNamesTcSAML2/AuthnContextDeclarationBaseType.addNewAuthnMethod ()Lx0AcClassesTLSClient/oasisNamesTcSAML2/AuthnMethodBaseType; 1
      // 111: astore 6
      // 113: aload 6
      // 115: invokeinterface x0AcClassesTLSClient/oasisNamesTcSAML2/AuthnMethodBaseType.addNewAuthenticator ()Lx0AcClassesTLSClient/oasisNamesTcSAML2/AuthenticatorBaseType; 1
      // 11a: astore 7
      // 11c: invokestatic org/apache/xmlbeans/XmlString$Factory.newInstance ()Lorg/apache/xmlbeans/XmlString;
      // 11f: astore 8
      // 121: aload 8
      // 123: aload 10
      // 125: bipush 34
      // 127: aaload
      // 128: invokeinterface org/apache/xmlbeans/XmlString.setStringValue (Ljava/lang/String;)V 2
      // 12d: aload 7
      // 12f: invokeinterface x0AcClassesTLSClient/oasisNamesTcSAML2/AuthenticatorBaseType.addNewDigSig ()Lx0AcClassesTLSClient/oasisNamesTcSAML2/PublicKeyType; 1
      // 134: aload 8
      // 136: invokeinterface x0AcClassesTLSClient/oasisNamesTcSAML2/PublicKeyType.setKeyValidation (Lorg/apache/xmlbeans/XmlAnySimpleType;)V 2
      // 13b: aload 6
      // 13d: invokeinterface x0AcClassesTLSClient/oasisNamesTcSAML2/AuthnMethodBaseType.addNewAuthenticatorTransportProtocol ()Lx0AcClassesTLSClient/oasisNamesTcSAML2/AuthenticatorTransportProtocolType; 1
      // 142: astore 9
      // 144: aload 9
      // 146: invokeinterface x0AcClassesTLSClient/oasisNamesTcSAML2/AuthenticatorTransportProtocolType.addNewSSL ()Lx0AcClassesTLSClient/oasisNamesTcSAML2/ExtensionOnlyType; 1
      // 14b: pop
      // 14c: aload 5
      // 14e: astore 4
      // 150: goto 16a
      // 153: getstatic com/l7tech/security/saml/g.b [Ljava/lang/String;
      // 156: astore 10
      // 158: aload 10
      // 15a: bipush 41
      // 15c: aaload
      // 15d: aload 3
      // 15e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 161: ifeq 16a
      // 164: aload 10
      // 166: bipush 37
      // 168: aaload
      // 169: astore 3
      // 16a: aload 3
      // 16b: ifnull 1a1
      // 16e: aload 2
      // 16f: invokeinterface x0Assertion/oasisNamesTcSAML2/AuthnStatementType.addNewAuthnContext ()Lx0Assertion/oasisNamesTcSAML2/AuthnContextType; 1
      // 174: astore 5
      // 176: aload 5
      // 178: aload 3
      // 179: invokeinterface x0Assertion/oasisNamesTcSAML2/AuthnContextType.setAuthnContextClassRef (Ljava/lang/String;)V 2
      // 17e: aload 4
      // 180: ifnull 1a1
      // 183: aload 1
      // 184: invokevirtual com/l7tech/security/saml/AuthenticationStatement.isIncludeAuthnContextDecl ()Z
      // 187: ifeq 1a1
      // 18a: goto 191
      // 18d: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 190: athrow
      // 191: aload 5
      // 193: aload 4
      // 195: invokeinterface x0Assertion/oasisNamesTcSAML2/AuthnContextType.setAuthnContextDecl (Lorg/apache/xmlbeans/XmlObject;)V 2
      // 19a: goto 1a1
      // 19d: invokestatic com/l7tech/security/saml/g.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a0: athrow
      // 1a1: return
      // try (5 -> 17): 18 java/lang/IllegalStateException
      // try (47 -> 59): 60 java/lang/IllegalStateException
      // try (90 -> 102): 103 java/lang/IllegalStateException
      // try (156 -> 164): 165 java/lang/IllegalStateException
      // try (161 -> 170): 171 java/lang/IllegalStateException
   }

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

   static {
      String[] var5 = new String[43];
      int var3 = 0;
      String var2 = "]v'QiO>|wfPwO\u007f|}f`Nc>z} VwOpk}|\u0013kE>[S\u000f\u0013d\\\u007fat'QiO>nw4\u0013fOl|q ZfKjm8\u001d,}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ku|[jFzmjk\\c\u0007uma.}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]gRLK/T\u0014FwfZvYkmjfPjDxa\u007f3A`N\u0013o}2t`D{zq%rvY{zl/\\k>Ij!FhOp|8 \\w\n^Fw2}pFr(h'AdG{|}4\u0013\"\u000fm/8)U%\u000fm&=5\u0013h_m|8(\\q\n|m8(FiF\u0011{m$Y`Ij[l'G`G{fl5\u0011}j(\tlOjn\"4Uf\u0010,:,p\u0007gh2ZjDm\u0018]v-]j]p(k2RqOsmv2\u0013fF\u007f{kf\u001d`l2C?\u00051\u007fo1\u001dr\u00190gj!\u001c7\u001a.87>^iDm'\u0003:6v\u0011}j(\tlOjn\"4Uf\u0010-8/s-}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ku|@`DzmjkEj_}`}5\b{y%PqFmk/}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tUKm{o)Aa\u0017kj#RqOFet\u0004VdDmIk5Vw^wgv%}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ku|Q`Klmj/}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tUKm{o)Aa\u0003fw1\u0002lk\u0007{y%P}Nm\u0004|a6V%}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$ku|Q`Klmj-}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$ku|@`DzmjkEj_}`}5\u0005{y+_7.}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]gRLK/T)`l2C?\u00051\u007fo1\u001dr\u00190gj!\u001c7\u001a.97\u001e~Iy}`}+R(Cp{l']fO0}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tQfMKt/Vk^\u0017kj#RqOM|y2VhOp|\\)PpG{fl\u0006pu*]v\u0010'}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$iu|CdYm\u007fw4W\u0007{y%Pu]z0}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tQfMKt/Vk^+}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]\u001f.1\u001akw+\u001ci\u001djm{.\u001cvO}}j/G|\u0005miu*\u001cb+}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]\u001f.12}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tpDmx}%ZcC{l,}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$ku|[jFzmjk\\c\u0007uma%}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ik5Vw^wgv\u001d`l2C?\u00051\u007fo1\u001dr\u00190gj!\u001c7\u001a.87>^iDm'";
      int var4 = "]v'QiO>|wfPwO\u007f|}f`Nc>z} VwOpk}|\u0013kE>[S\u000f\u0013d\\\u007fat'QiO>nw4\u0013fOl|q ZfKjm8\u001d,}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ku|[jFzmjk\\c\u0007uma.}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]gRLK/T\u0014FwfZvYkmjfPjDxa\u007f3A`N\u0013o}2t`D{zq%rvY{zl/\\k>Ij!FhOp|8 \\w\n^Fw2}pFr(h'AdG{|}4\u0013\"\u000fm/8)U%\u000fm&=5\u0013h_m|8(\\q\n|m8(FiF\u0011{m$Y`Ij[l'G`G{fl5\u0011}j(\tlOjn\"4Uf\u0010,:,p\u0007gh2ZjDm\u0018]v-]j]p(k2RqOsmv2\u0013fF\u007f{kf\u001d`l2C?\u00051\u007fo1\u001dr\u00190gj!\u001c7\u001a.87>^iDm'\u0003:6v\u0011}j(\tlOjn\"4Uf\u0010-8/s-}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ku|@`DzmjkEj_}`}5\b{y%PqFmk/}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tUKm{o)Aa\u0017kj#RqOFet\u0004VdDmIk5Vw^wgv%}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ku|Q`Klmj/}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tUKm{o)Aa\u0003fw1\u0002lk\u0007{y%P}Nm\u0004|a6V%}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$ku|Q`Klmj-}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$ku|@`DzmjkEj_}`}5\u0005{y+_7.}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]gRLK/T)`l2C?\u00051\u007fo1\u001dr\u00190gj!\u001c7\u001a.97\u001e~Iy}`}+R(Cp{l']fO0}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tQfMKt/Vk^\u0017kj#RqOM|y2VhOp|\\)PpG{fl\u0006pu*]v\u0010'}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$iu|CdYm\u007fw4W\u0007{y%Pu]z0}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tQfMKt/Vk^+}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]\u001f.1\u001akw+\u001ci\u001djm{.\u001cvO}}j/G|\u0005miu*\u001cb+}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\t]\u001f.12}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$i{|PiKm{}5\tpDmx}%ZcC{l,}j(\tjKmak|]dG{{\"2P?y_ET|\u0002+\u001a$ku|[jFzmjk\\c\u0007uma%}j(\tjKmak|]dG{{\"2P?y_ET|\u0001+\u001a$ik5Vw^wgv\u001d`l2C?\u00051\u007fo1\u001dr\u00190gj!\u001c7\u001a.87>^iDm'"
         .length();
      char var1 = 'B';
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, c(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     b = var5;
                     return;
                  }

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

                  var2 = "\u001c\u000bIh\u000b*\f\u0000\n\u001d<\u0005&\u001a\u001aCS1^\u0018>$5\u001dcJ{E\b\u0014\u001d'\n8\u000f\f\u001aN4\r.\u001b\u0006\u0000\nT'\u00019";
                  var4 = "\u001c\u000bIh\u000b*\f\u0000\n\u001d<\u0005&\u001a\u001aCS1^\u0018>$5\u001dcJ{E\b\u0014\u001d'\n8\u000f\f\u001aN4\r.\u001b\u0006\u0000\nT'\u00019"
                     .length();
                  var1 = '*';
                  var7 = -1;
            }

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

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

      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 -> 31;
            case 1 -> 15;
            case 2 -> 81;
            case 3 -> 36;
            case 4 -> 18;
            case 5 -> 61;
            default -> 9;
         });
      }

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