/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.objectmodel.EntityHeader
 *  com.l7tech.objectmodel.EntityType
 *  com.l7tech.objectmodel.ExternalEntityHeader
 *  com.l7tech.objectmodel.FindException
 *  com.l7tech.objectmodel.IdentityHeader
 *  jakarta.inject.Inject
 */
package com.l7tech.server.identity;

import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.ExternalEntityHeader;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.IdentityHeader;
import com.l7tech.server.EntityCrud;
import com.l7tech.server.EntityHeaderUtils;
import com.l7tech.server.cluster.ExternalEntityHeaderEnhancer;
import jakarta.inject.Inject;
import java.io.Serializable;

public class IdentityExternalEntityHeaderEnhancer
implements ExternalEntityHeaderEnhancer {
    @Inject
    private EntityCrud entityCrud;
    private static final String[] a;

    @Override
    public void enhance(ExternalEntityHeader externalEntityHeader) throws ExternalEntityHeaderEnhancer.EnhancementException {
        block7: {
            try {
                if (externalEntityHeader.getType() != EntityType.USER && externalEntityHeader.getType() != EntityType.GROUP) break block7;
            }
            catch (FindException findException) {
                throw IdentityExternalEntityHeaderEnhancer.a(findException);
            }
            try {
                EntityHeader entityHeader = this.entityCrud.findHeader(EntityType.ID_PROVIDER_CONFIG, (Serializable)((IdentityHeader)EntityHeaderUtils.fromExternal(externalEntityHeader)).getProviderGoid());
                try {
                    if (entityHeader != null) {
                        externalEntityHeader.setProperty(a[0], entityHeader.getName());
                    }
                }
                catch (FindException findException) {
                    throw IdentityExternalEntityHeaderEnhancer.a(findException);
                }
            }
            catch (FindException findException) {
                throw new ExternalEntityHeaderEnhancer.EnhancementException(a[1] + String.valueOf(externalEntityHeader), findException);
            }
        }
    }

    private static FindException a(FindException findException) {
        return findException;
    }

    /*
     * Enabled aggressive block sorting
     */
    static {
        String[] stringArray = new String[2];
        int n2 = 0;
        String string = "nO\u0005Ittr\\A\u000f%x^\u0018VctPRM\u000eP\u007f3\u001cID\u000f\u0019t:HTX\u0013\u0019w;N\u001dD\u000fXu1N\u0007\f";
        int n3 = "nO\u0005Ittr\\A\u000f%x^\u0018VctPRM\u000eP\u007f3\u001cID\u000f\u0019t:HTX\u0013\u0019w;N\u001dD\u000fXu1N\u0007\f".length();
        int n4 = 10;
        int n5 = -1;
        while (true) {
            int n6 = ++n5;
            stringArray[n2++] = IdentityExternalEntityHeaderEnhancer.a(105, IdentityExternalEntityHeaderEnhancer.a(string.substring(n6, n6 + n4)));
            if ((n5 += n4) >= n3) {
                a = stringArray;
                return;
            }
            n4 = string.charAt(n5);
        }
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x55);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String a(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 84;
                    case 1 -> 69;
                    case 2 -> 3;
                    case 3 -> 80;
                    case 4 -> 120;
                    case 5 -> 61;
                    default -> 85;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

