package com.l7tech.identity.mapping;

import com.l7tech.security.saml.SamlConstants;
import java.io.Serializable;

public final class NameFormat implements Serializable {
   private static int n;
   public static final NameFormat LOGIN;
   public static final NameFormat EMAIL;
   public static final NameFormat KERBEROS;
   public static final NameFormat X500_DN;
   public static final NameFormat WINDOWS;
   public static final NameFormat SAML2_ENTITY_ID;
   public static final NameFormat SAML2_PERSISTENT_ID;
   public static final NameFormat SAML2_TRANSIENT_ID;
   public static final NameFormat OTHER;
   private final int num;
   private final String name;
   private final String saml11Uri;
   private final String saml20Uri;
   private static final NameFormat[] VALUES;
   static final long serialVersionUID = 9179769695828442722L;

   protected Object readResolve() {
      return VALUES[this.num];
   }

   public static NameFormat fromInt(int var0) {
      return VALUES[var0];
   }

   public int toInt() {
      return this.num;
   }

   private NameFormat(int var1, String var2, String var3, String var4) {
      this.num = var1;
      this.name = var2;
      this.saml11Uri = var3;
      this.saml20Uri = var4;
   }

   public String getName() {
      return this.name;
   }

   public String getSaml11Uri() {
      return this.saml11Uri != null ? this.saml11Uri : SamlConstants.NAMEIDENTIFIER_UNSPECIFIED;
   }

   public String getSaml20Uri() {
      return this.saml20Uri != null ? this.saml20Uri : this.getSaml11Uri();
   }

   static {
      String[] var0 = new String[13];
      int var4 = 0;
      String var3 = "\u0004\u0007:6\u0006i\u0011#/\u0003\u0003\u0006e\u001b2(\u0003\u0013RE\u001924\u0018\u000fhBJ\u0016\f;>5\u0003\u0013HK\n>5\u001f\u001fB\f16+\u00123\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE#4\u0016\u0014UE\u001a92\u0005\u001b)\u0010\u0013H\u0005\u00182\u001f\u001fT0\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE2(\u0003\u0013RU\u0019\u0004\u0007:6\u0006x\r6(\u0004\u0013CB\u000bw\u000f\u0013\u001fHX\u00161/\u0012\b\r\u0012+\u0016\u0013J\f>3\"\u0005\u001fU_\u000e\u0000/\u0019\u001eI[\fw\u0002\u0018\u0017GE\u0011\b\u001c#\u0005\u0018C^\u0010$\u001a\u0004\u0007:6\u0006|\u001a%5\u001e\tRI\u0011#f>\u001eCB\u000b> \u001e\u001fT";
      int var5 = "\u0004\u0007:6\u0006i\u0011#/\u0003\u0003\u0006e\u001b2(\u0003\u0013RE\u001924\u0018\u000fhBJ\u0016\f;>5\u0003\u0013HK\n>5\u001f\u001fB\f16+\u00123\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE#4\u0016\u0014UE\u001a92\u0005\u001b)\u0010\u0013H\u0005\u00182\u001f\u001fT0\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE2(\u0003\u0013RU\u0019\u0004\u0007:6\u0006x\r6(\u0004\u0013CB\u000bw\u000f\u0013\u001fHX\u00161/\u0012\b\r\u0012+\u0016\u0013J\f>3\"\u0005\u001fU_\u000e\u0000/\u0019\u001eI[\fw\u0002\u0018\u0017GE\u0011\b\u001c#\u0005\u0018C^\u0010$\u001a\u0004\u0007:6\u0006|\u001a%5\u001e\tRI\u0011#f>\u001eCB\u000b> \u001e\u001fT"
         .length();
      char var2 = 23;
      int var7 = -1;

      label25:
      while (true) {
         String var10000 = var3.substring(++var7, var7 + var2);
         byte var10001 = -1;

         while (true) {
            String var12 = a(a(var10000));
            switch (var10001) {
               case 0:
                  var0[var4++] = var12;
                  if ((var7 += var2) >= var5) {
                     n = 0;
                     LOGIN = new NameFormat(n++, var0[3], null, null);
                     EMAIL = new NameFormat(n++, var0[7], SamlConstants.NAMEIDENTIFIER_EMAIL, null);
                     KERBEROS = new NameFormat(n++, var0[9], null, var0[11]);
                     X500_DN = new NameFormat(n++, var0[1], SamlConstants.NAMEIDENTIFIER_X509_SUBJECT, null);
                     WINDOWS = new NameFormat(n++, var0[8], SamlConstants.NAMEIDENTIFIER_WINDOWS, null);
                     SAML2_ENTITY_ID = new NameFormat(n++, var0[0], null, var0[5]);
                     SAML2_PERSISTENT_ID = new NameFormat(n++, var0[10], null, var0[12]);
                     SAML2_TRANSIENT_ID = new NameFormat(n++, var0[6], null, var0[2]);
                     OTHER = new NameFormat(n++, var0[4], null, null);
                     VALUES = new NameFormat[]{LOGIN, EMAIL, KERBEROS, X500_DN, WINDOWS, SAML2_ENTITY_ID, SAML2_PERSISTENT_ID, SAML2_TRANSIENT_ID, OTHER};
                     return;
                  }

                  var2 = var3.charAt(var7);
                  break;
               default:
                  var0[var4++] = var12;
                  if ((var7 += var2) < var5) {
                     var2 = var3.charAt(var7);
                     continue label25;
                  }

                  var3 = "\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE<#\u0005\u0018C^\u0010$4\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE'#\u0005\tO_\u000b2(\u0003";
                  var5 = "\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE<#\u0005\u0018C^\u0010$4\"4\u0019@IM\f>5M\u0014GA\u001a$|\u0003\u0019\u001c\u007f>\u001a\nMH\b\u001cE9'\u001a\u001fOHR1)\u0005\u0017GXE'#\u0005\tO_\u000b2(\u0003"
                     .length();
                  var2 = '2';
                  var7 = -1;
            }

            var10000 = var3.substring(++var7, var7 + var2);
            var10001 = 0;
         }
      }
   }

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

      return var10000;
   }

   private static String a(char[] var0) {
      int var10002 = var0.length;
      char[] var10001 = var0;
      int var10000 = var10002;

      for (int var1 = 0; var10000 > var1; var1++) {
         var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
            case 0 -> 87;
            case 1 -> 70;
            case 2 -> 119;
            case 3 -> 122;
            case 4 -> 38;
            case 5 -> 44;
            default -> 127;
         });
      }

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