/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.gateway.common.transport.SsgConnector
 *  com.l7tech.util.Config
 *  jakarta.servlet.ServletConfig
 *  jakarta.servlet.ServletContext
 *  jakarta.servlet.ServletException
 *  jakarta.servlet.ServletRequest
 *  jakarta.servlet.http.HttpServlet
 *  jakarta.servlet.http.HttpServletRequest
 *  jakarta.servlet.http.HttpServletResponse
 *  org.springframework.web.context.WebApplicationContext
 *  org.springframework.web.context.support.WebApplicationContextUtils
 */
package com.l7tech.server;

import com.l7tech.gateway.common.transport.SsgConnector;
import com.l7tech.server.b0;
import com.l7tech.server.transport.http.HttpTransportModule;
import com.l7tech.util.Config;
import jakarta.servlet.ServletConfig;
import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.MessageFormat;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

public class ErrorServlet
extends HttpServlet {
    private static final Logger logger;
    private static final String ERROR_MARKUP;
    private static final String REQUEST_ATTR_STATUS_CODE;
    private static final String REQUEST_ATTR_EXCEPT_TYPE;
    private static final String REQUEST_ATTR_MESSAGE;
    private static final String REQUEST_ATTR_EXCEPTION;
    private static final String REQUEST_ATTR_REQUEST_URI;
    private static final String REQUEST_ATTR_SERVLET;
    private ResourceBundle rb = new b0(this);
    private boolean debug = false;
    private Config config;
    private static final Object[][] MESSAGES;
    static final long serialVersionUID = -7729296840058721389L;
    private static final String[] a;

    public ErrorServlet() {
        this(null);
    }

    public ErrorServlet(Config config) {
        this.config = config;
    }

    public void init(ServletConfig servletConfig) throws ServletException {
        super.init(servletConfig);
        WebApplicationContext webApplicationContext = WebApplicationContextUtils.getWebApplicationContext((ServletContext)this.getServletContext());
        try {
            if (webApplicationContext != null) {
                this.config = (Config)webApplicationContext.getBean(a[39], Config.class);
            }
        }
        catch (ServletException servletException) {
            throw ErrorServlet.a((Exception)((Object)servletException));
        }
        try {
            if (this.config == null) {
                throw new ServletException(a[56]);
            }
        }
        catch (ServletException servletException) {
            throw ErrorServlet.a((Exception)((Object)servletException));
        }
        try {
            if (a[42].equalsIgnoreCase(servletConfig.getInitParameter(a[54]))) {
                this.debug = true;
            }
        }
        catch (ServletException servletException) {
            throw ErrorServlet.a((Exception)((Object)servletException));
        }
    }

    public void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException {
        this.doError(httpServletRequest, httpServletResponse);
    }

    public void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException {
        this.doError(httpServletRequest, httpServletResponse);
    }

    protected void doTrace(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {
        this.doError(httpServletRequest, httpServletResponse);
    }

    private Object[] getFormatArgs(String string, String string2) {
        return new String[]{string, string2};
    }

    private void doError(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws IOException, ServletException {
        String[] stringArray = a;
        Throwable throwable = (Throwable)httpServletRequest.getAttribute(stringArray[100]);
        SsgConnector ssgConnector = HttpTransportModule.getConnector((ServletRequest)httpServletRequest);
        HttpTransportModule.addHstsResponseHeaderIfRequired(httpServletRequest, httpServletResponse, ssgConnector, this.config);
        if (!httpServletResponse.isCommitted()) {
            Integer n2;
            block4: {
                n2 = (Integer)httpServletRequest.getAttribute(stringArray[52]);
                String string = (String)httpServletRequest.getAttribute(stringArray[46]);
                try {
                    if (n2 != null || throwable != null) break block4;
                }
                catch (IOException iOException) {
                    throw ErrorServlet.a(iOException);
                }
                httpServletResponse.sendError(404);
                n2 = 404;
            }
            stringArray = a;
            httpServletResponse.setContentType(stringArray[13]);
            httpServletResponse.setCharacterEncoding(stringArray[95]);
            PrintWriter printWriter = httpServletResponse.getWriter();
            printWriter.write(MessageFormat.format(stringArray[122], this.getFormatArgs(this.getTitle(n2), this.getMessage(n2, throwable))));
            printWriter.flush();
            printWriter.close();
        } else {
            logger.log(Level.WARNING, a[93], throwable);
        }
    }

    private String getTitle(Integer n2) {
        return n2 + " " + this.getCodeName(n2);
    }

    private String getMessage(Integer n2, Throwable throwable) {
        StringBuffer stringBuffer;
        block6: {
            stringBuffer = new StringBuffer(256);
            String[] stringArray = a;
            stringBuffer.append(stringArray[55]);
            stringBuffer.append(this.getCodeName(n2));
            stringBuffer.append(stringArray[28]);
            try {
                String string = this.rb.getString(stringArray[104] + n2);
                stringBuffer.append(stringArray[132]);
                stringBuffer.append(string);
                stringBuffer.append(stringArray[119]);
            }
            catch (MissingResourceException missingResourceException) {
                // empty catch block
            }
            try {
                try {
                    if (!this.debug || throwable == null) break block6;
                }
                catch (MissingResourceException missingResourceException) {
                    throw ErrorServlet.a(missingResourceException);
                }
                stringBuffer.append(a[29]);
                stringBuffer.append(a[89]);
                stringBuffer.append(this.toString(throwable));
                stringBuffer.append(a[35]);
            }
            catch (MissingResourceException missingResourceException) {
                throw ErrorServlet.a(missingResourceException);
            }
        }
        return stringBuffer.toString();
    }

    private String getCodeName(Integer n2) {
        String string = "";
        try {
            string = this.rb.getString(a[33] + n2);
        }
        catch (MissingResourceException missingResourceException) {
            // empty catch block
        }
        return string;
    }

    private String toString(Throwable throwable) {
        String string = null;
        if (throwable != null) {
            StringWriter stringWriter = new StringWriter(512);
            throwable.printStackTrace(new PrintWriter(stringWriter));
            string = stringWriter.toString();
        }
        return string;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[135];
                var3_1 = 0;
                var2_2 = "-+%!vDF\u001662ba\u0001\\\u001d&.umG\\\u001c'`c}\u0001A\u0011*3!vDD\f&3u$HFY,.m}\u0001V\u00183!chD\u0015\u0016%`faOP\u000b\"4hjF\u0015\u000b&3qkOF\u001c0`vmU]Y (`v@V\r&2hwU\\\u001a0`okU\u0015\u0018 #dtUT\u001b/%!eBV\u00161$hjF\u0015\r,`ulD\u0015\u000b&1taRAYa!bgDE\ra`ia@Q\u001c13/\b\u001a,$d*\u0015\u0005O\b\u001174q*\u0015\u0005H\b\u001a,$d*\u0015\u0004O(-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZ\rc!weHY\u0018!,d*\f,-!tpIZ\u000b*:d`\b\u001a,$d*\u0015\u0004M\u000f5&.fpI\u0015+&1tmSP\u001d\u0010)\"9laOAY\u0011%pqHG\u001c'\u001d)1/y}\u0001t\f7(djU\\\u001a\"4hkO\u0015+&1tmSP\u001d\u0014+&1taRAT\u0016\u0012H$uZ\u0016c\fnjF9-+%!wN@\u000b %!kS\u0015\u001d&3umOT\r*/o$SP\n,5sgD\u0015\u0016%``$LP\r+/e$HFY//boDQW\b\u001174q*\u0015\u0004L\t\r&8u+IA\u0014/0)\"9laOAY*3!vDD\f*2d`\u0001S\u00161``gBP\n0`uk\u0001A\u0011*3!vDF\u001662ba\u000fL-+%!aYE\u001c 4`pHZ\u0017c'hrD[Y*.!pIPYa\u0005ytDV\ra`saP@\u001c04!lDT\u001d&2!gN@\u0015'`okU\u0015\u001b&`gqMS\u0010/,d`\u000f\u000f7,4!MLE\u0015&-djUP\u001d\b\u001174q*\u0015\u0005O\u001f+&1taRA\u001c'`SeOR\u001cc\u000enp\u0001f\u00187)rbHT\u001b/%\b\u001174q*\u0015\u0004H58c3qaB\\\u001f*%e$QG\u001c /o`HA\u0010,.!l@FY%!hhDQY%/s$U]\u00100`saP@\u001c04/\t7,4!BN@\u0017'\b\u001174q*\u0015\u0005Lo-+%!vDF\u001662ba\u0001Q\u0016&3!jNAY+!wa\u0001F\f%&hgHP\u00177`rt@V\u001cc4n$SP\u001a,2e$U]\u001cc3ueUPY,&!pIPY1%rkTG\u001a&``bUP\u000bc%yaB@\r*/o$NSY7(hw\u0001X\u001c7(n`\u000f\u0013*&2wmBPY\u0016.`r@\\\u0015\"\"ma\b\u001174q*\u0014\u0005M\u00a8Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0014\u0005J\u0006El(0:+\u0005E+2.:\b\u001174q*\u0015\u0004I\b\u001a,$d*\u0015\u0005I\b\u001174q*\u0015\u0005I\u0005\u001a,$d*\u000b;\"$!VDD\f&3u\u0006El0sa\u001f\u0004>,.d\b\u001174q*\u0014\u0005L\u0012<;0dgUT\r*/o$gT\u0010/%e\f\n&2waSv\u0016-&hc\b\u001174q*\u0015\u0004MY-+%!wDG\u000f&2!vDV\u001c*6d`\u0001TY7)laN@\rc&skL\u0015\u0018-`ttRA\u000b&!l$RP\u000b5%s$V]\u0010/%!eBA\u0010-'!eR\u0015\u0018c'`pDB\u0018:`nv\u0001E\u000b,8x*\u0004\r15d\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001cZ-+%!gM\\\u001c-4!`HQY-/u$QG\u0016'5ba\u0001TY1%pqDF\rc7hpI\\\u0017c4ia\u0001A\u0010.%!pIT\rc4ia\u0001F\u001c16dv\u0001B\u00180`qvDE\u00181%e$UZY4!hp\u000f\b\u001a,$d*\u0015\u0004N\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001c\b\u001a,$d*\u0015\u0005K\u0018+&1taRAY\u0006.umULY\u0017/n$mT\u000b$%\b\u001174q*\u0015\u0005A\u008b-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`djU\\\r:`hw\u0001\\\u0017c!!bNG\u0014\"4!jNAY05qtNG\r&$!fX\u0015\r+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc&nv\u0001A\u0011&`saP@\u001c04d`\u0001X\u001c7(n`\u000f\t?,2cmEQ\u001c-!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0013)1%bkOQ\u00107)nj\u0001s\u0018*,d`\u0005\u001d&\"tc\u0004E+q?/:,.gmF@\u000b\"4hkO\u0015\u001c12nv\u001a\u0015\u001a,5m`\u0001[\u00167`faU\u0015\n&2waSV\u0016-&hc1-+%!vDD\f&3uaE\u0015\n&2wmBPY*3!jNAY 5svD[\r/9!eWT\u0010/!chD\u001b*-+)r$SP\b6%rp\u0001G\u001c25hvDFY\u000b\u0014UT\u0001T\f7(djU\\\u001a\"4hkO\u001b\u000f>\"4ds@LY\u0017)laN@\ru-+%!wDG\u000f&2!qOQ\u001c13ukNQY7(d$BZ\u00177%op\u0001A\u00003%!eOQY09op@MY,&!pIPY1%pqDF\rc\"tp\u0001B\u00180`tj@W\u0015&`uk\u0001E\u000b,#dwR\u0015\r+%!gN[\r\")oaE\u0015\u0010-3uvTV\r*/o*M-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!bT[\u001a7)nj@Y\u001079!jDP\u001d&$!pN\u0015\u001f6,gmMYY7(hw\u0001G\u001c25dwU\u001b\b\u001a,$d*\u0015\u0004K\b\u001174q*\u0014\u0005I\b\u001174q*\u0015\u0005@\b\u001a,$d*\u0015\u0007J\b\u001174q*\u0015\u0004K;-+%!vDD\f&3u$RP\u00177`c}\u0001A\u0011&`bhHP\u00177`veR\u0015\n:.ueBA\u0010 !mhX\u0015\u0010-#nvSP\u001a7n48 #dwR\u0015\r,`ulD\u0015\n3%bmG\\\u001c'`saRZ\f1#d$IT\nc\"daO\u0015\u001f,2cmEQ\u001c-n9-+%!gM\\\u001c-4!iTF\rc&hvRAY\"5ulD[\r*#`pD\u0015\u001073dhG\u0015\u000e*4i$U]\u001cc0skYLW\u001a1\u0017\u0014Q$wP\u000b0)nj\u0001{\u00167`RqQE\u001614d`\b\u001a,$d*\u0014\u0005I\b\u001a,$d*\u0014\u0005L\b\u001a,$d*\u0014\u0005N\b\u001a,$d*\u0015\u0007K--+%!vDD\f&3uaE\u0015\u001b:4d$ST\u0017$%!g@[\u0017,4!fD\u0015\n\"4hwG\\\u001c'n\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001a,$d*\u0015\u0005@X-+%!wDG\u000f&2!aOV\u00166.uaSP\u001dc!o$H[\r&2oeM\u0015\u001c12nv\u0001A\u0011\"4!tSP\u000f&.uaE\u0015\u00107`gvNXY%5mbHY\u0015*.f$U]\u00100`saP@\u001c04/\b\u001a,$d*\u0014\u0005K\b\u001a,$d*\u0015\u0004H\u0016,-3ttQZ\u000b7%e$lP\u001d*!!PXE\u001c@-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!vDD\f&3uaE\u00151\u0017\u0014Q$QG\u00167/bkM\u0015\u000f&2rmN[WR-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZY//ocDGY\"6`mMT\u001b/%-$@[\u001dc.n$GZ\u000b4!s`H[\u001ec!e`SP\n0`hw\u0001^\u0017,7o*\b:,.ghHV\r\u00065,#jaE\b\u001174q*\u0015\u0005K\\-+%!vDD\f&3u$BZ\f/$!jNAY!%!gNX\t/%uaE\u0015\u001d6%!pN\u0015\u0018c#njGY\u0010 4!sHA\u0011c4ia\u0001V\f12djU\u0015\n7!ua\u0001Z\u001fc4ia\u0001G\u001c0/tvBPW!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0005E32d:\b\u001a,$d*\u0015\u0004J\"\u0013\"+`vUTW0%srMP\rm%svNGW0%srMP\r\u001c.`iD\b\u001a,$d*\u0015\u0004I3*&2whDAY&2skS\u0015\u0016 #tvDQY\"&uaS\u0015\u000b&3qkOF\u001cc7`w\u0001V\u0016.-hpUP\u001dm\u00140-3tbG\\\u001a*%op\u0001f\r,2`cD\u0005\f7&,<$\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.^pXE\u001c\b\u001a,$d*\u0014\u0005H\u000e7,4!EBV\u001c34`fMP\b\u001174q*\u0015\u0007J\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001174q*\u0015\u0004O!\u0013\"+`vUTW0%srMP\rm%svNGW1%pqDF\r\u001c5sm\b\u001a,$d*\u0014\u0005J\u0005\u001174q*@-+)r$SP\b6%rp\u0001V\u0018-.np\u0001W\u001cc(`jEY\u001c'`vmU]\u001664!e\u0001Q\u001c%)oaE\u0015\u001a,.uaOAY/%ocU]W\u00124&4ikE\u00157,4!EMY\u00164%e\b\u001a,$d*\u0015\u0005H\b\u001a,$d*\u0015\u0005L\b\u001a,$d*\u0014\u0005M\b\u001a,$d*\u0015\u0005N\b\u001174q*\u0015\u0004NK-+%!vDD\f&3u$D[\r*4x$HFY/!scDGY7(`j\u0001A\u0011&`raSC\u001c1`hw\u0001B\u0010/,hjF\u0015\u00161``fMPY7/!tSZ\u001a&3r*\b\u001174q*\u0015\u0004J\b\u001174q*\u0015\u0005J\b\u001174q*\u0014\u0005H\u0014,-0skBP\n0!chD\u0015<-4hpXD-+%!wQP\u001a*&haE\u00151\u0017\u0014Q$LP\r+/e$HFY-/u$@Y\u0015,7d`\u0001S\u00161`ulD\u0015\u000b&1taRA\u001c'`saRZ\f1#d*f-+)r$RP\u000b5%s$SP\u001a&)waE\u0015\u0018-`hjWT\u0015*$!vDF\t,.ra\u0001S\u000b,-!e\u0001F\u001c16dv\u0001\\\rc#njR@\u00157%e$V]\u001c-``gU\\\u0017$``w\u0001TY32n|X\u0015\u00161`feUP\u000e\"9/\u0006El(2:+\b\u001174q*\u0014\u0005K\b\u001a,$d*\u0015\u0005J\u00a8Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0015\u0007K\b\u001a,$d*\u0015\u0004L\u00150-4dvOT\u0015c\u0013dvWP\u000bc\u0005svNG\b\u001174q*\u0015\u0005M\b\u001a,$d*\u0015\u0005A\b\u001a,$d*\u0015\u0005M\u000f+&1taRAY\u0017)laN@\r\b\u001174q*\u0015\u0005NE-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`TVh\u0015\u000e\"3!pNZY//oc\u000f\u0004E+s?";
                var4_3 = "-+%!vDF\u001662ba\u0001\\\u001d&.umG\\\u001c'`c}\u0001A\u0011*3!vDD\f&3u$HFY,.m}\u0001V\u00183!chD\u0015\u0016%`faOP\u000b\"4hjF\u0015\u000b&3qkOF\u001c0`vmU]Y (`v@V\r&2hwU\\\u001a0`okU\u0015\u0018 #dtUT\u001b/%!eBV\u00161$hjF\u0015\r,`ulD\u0015\u000b&1taRAYa!bgDE\ra`ia@Q\u001c13/\b\u001a,$d*\u0015\u0005O\b\u001174q*\u0015\u0005H\b\u001a,$d*\u0015\u0004O(-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZ\rc!weHY\u0018!,d*\f,-!tpIZ\u000b*:d`\b\u001a,$d*\u0015\u0004M\u000f5&.fpI\u0015+&1tmSP\u001d\u0010)\"9laOAY\u0011%pqHG\u001c'\u001d)1/y}\u0001t\f7(djU\\\u001a\"4hkO\u0015+&1tmSP\u001d\u0014+&1taRAT\u0016\u0012H$uZ\u0016c\fnjF9-+%!wN@\u000b %!kS\u0015\u001d&3umOT\r*/o$SP\n,5sgD\u0015\u0016%``$LP\r+/e$HFY//boDQW\b\u001174q*\u0015\u0004L\t\r&8u+IA\u0014/0)\"9laOAY*3!vDD\f*2d`\u0001S\u00161``gBP\n0`uk\u0001A\u0011*3!vDF\u001662ba\u000fL-+%!aYE\u001c 4`pHZ\u0017c'hrD[Y*.!pIPYa\u0005ytDV\ra`saP@\u001c04!lDT\u001d&2!gN@\u0015'`okU\u0015\u001b&`gqMS\u0010/,d`\u000f\u000f7,4!MLE\u0015&-djUP\u001d\b\u001174q*\u0015\u0005O\u001f+&1taRA\u001c'`SeOR\u001cc\u000enp\u0001f\u00187)rbHT\u001b/%\b\u001174q*\u0015\u0004H58c3qaB\\\u001f*%e$QG\u001c /o`HA\u0010,.!l@FY%!hhDQY%/s$U]\u00100`saP@\u001c04/\t7,4!BN@\u0017'\b\u001174q*\u0015\u0005Lo-+%!vDF\u001662ba\u0001Q\u0016&3!jNAY+!wa\u0001F\f%&hgHP\u00177`rt@V\u001cc4n$SP\u001a,2e$U]\u001cc3ueUPY,&!pIPY1%rkTG\u001a&``bUP\u000bc%yaB@\r*/o$NSY7(hw\u0001X\u001c7(n`\u000f\u0013*&2wmBPY\u0016.`r@\\\u0015\"\"ma\b\u001174q*\u0014\u0005M\u00a8Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0014\u0005J\u0006El(0:+\u0005E+2.:\b\u001174q*\u0015\u0004I\b\u001a,$d*\u0015\u0005I\b\u001174q*\u0015\u0005I\u0005\u001a,$d*\u000b;\"$!VDD\f&3u\u0006El0sa\u001f\u0004>,.d\b\u001174q*\u0014\u0005L\u0012<;0dgUT\r*/o$gT\u0010/%e\f\n&2waSv\u0016-&hc\b\u001174q*\u0015\u0004MY-+%!wDG\u000f&2!vDV\u001c*6d`\u0001TY7)laN@\rc&skL\u0015\u0018-`ttRA\u000b&!l$RP\u000b5%s$V]\u0010/%!eBA\u0010-'!eR\u0015\u0018c'`pDB\u0018:`nv\u0001E\u000b,8x*\u0004\r15d\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001cZ-+%!gM\\\u001c-4!`HQY-/u$QG\u0016'5ba\u0001TY1%pqDF\rc7hpI\\\u0017c4ia\u0001A\u0010.%!pIT\rc4ia\u0001F\u001c16dv\u0001B\u00180`qvDE\u00181%e$UZY4!hp\u000f\b\u001a,$d*\u0015\u0004N\u001d\u0013\"+`vUTW0%srMP\rm%svNGW.%rw@R\u001c\b\u001a,$d*\u0015\u0005K\u0018+&1taRAY\u0006.umULY\u0017/n$mT\u000b$%\b\u001174q*\u0015\u0005A\u008b-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`djU\\\r:`hw\u0001\\\u0017c!!bNG\u0014\"4!jNAY05qtNG\r&$!fX\u0015\r+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc&nv\u0001A\u0011&`saP@\u001c04d`\u0001X\u001c7(n`\u000f\t?,2cmEQ\u001c-!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0013)1%bkOQ\u00107)nj\u0001s\u0018*,d`\u0005\u001d&\"tc\u0004E+q?/:,.gmF@\u000b\"4hkO\u0015\u001c12nv\u001a\u0015\u001a,5m`\u0001[\u00167`faU\u0015\n&2waSV\u0016-&hc1-+%!vDD\f&3uaE\u0015\n&2wmBPY*3!jNAY 5svD[\r/9!eWT\u0010/!chD\u001b*-+)r$SP\b6%rp\u0001G\u001c25hvDFY\u000b\u0014UT\u0001T\f7(djU\\\u001a\"4hkO\u001b\u000f>\"4ds@LY\u0017)laN@\ru-+%!wDG\u000f&2!qOQ\u001c13ukNQY7(d$BZ\u00177%op\u0001A\u00003%!eOQY09op@MY,&!pIPY1%pqDF\rc\"tp\u0001B\u00180`tj@W\u0015&`uk\u0001E\u000b,#dwR\u0015\r+%!gN[\r\")oaE\u0015\u0010-3uvTV\r*/o*M-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!bT[\u001a7)nj@Y\u001079!jDP\u001d&$!pN\u0015\u001f6,gmMYY7(hw\u0001G\u001c25dwU\u001b\b\u001a,$d*\u0015\u0004K\b\u001174q*\u0014\u0005I\b\u001174q*\u0015\u0005@\b\u001a,$d*\u0015\u0007J\b\u001174q*\u0015\u0004K;-+%!vDD\f&3u$RP\u00177`c}\u0001A\u0011&`bhHP\u00177`veR\u0015\n:.ueBA\u0010 !mhX\u0015\u0010-#nvSP\u001a7n48 #dwR\u0015\r,`ulD\u0015\n3%bmG\\\u001c'`saRZ\f1#d$IT\nc\"daO\u0015\u001f,2cmEQ\u001c-n9-+%!gM\\\u001c-4!iTF\rc&hvRAY\"5ulD[\r*#`pD\u0015\u001073dhG\u0015\u000e*4i$U]\u001cc0skYLW\u001a1\u0017\u0014Q$wP\u000b0)nj\u0001{\u00167`RqQE\u001614d`\b\u001a,$d*\u0014\u0005I\b\u001a,$d*\u0014\u0005L\b\u001a,$d*\u0014\u0005N\b\u001a,$d*\u0015\u0007K--+%!vDD\f&3uaE\u0015\u001b:4d$ST\u0017$%!g@[\u0017,4!fD\u0015\n\"4hwG\\\u001c'n\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001a,$d*\u0015\u0005@X-+%!wDG\u000f&2!aOV\u00166.uaSP\u001dc!o$H[\r&2oeM\u0015\u001c12nv\u0001A\u0011\"4!tSP\u000f&.uaE\u0015\u00107`gvNXY%5mbHY\u0015*.f$U]\u00100`saP@\u001c04/\b\u001a,$d*\u0014\u0005K\b\u001a,$d*\u0015\u0004H\u0016,-3ttQZ\u000b7%e$lP\u001d*!!PXE\u001c@-+%!wDG\u000f&2!`NP\nc.np\u0001F\f30nvU\u0015\r+%!vDD\f&3uaE\u00151\u0017\u0014Q$QG\u00167/bkM\u0015\u000f&2rmN[WR-+%!vDD\f&3uaE\u0015\u000b&3nqSV\u001cc)r$OZY//ocDGY\"6`mMT\u001b/%-$@[\u001dc.n$GZ\u000b4!s`H[\u001ec!e`SP\n0`hw\u0001^\u0017,7o*\b:,.ghHV\r\u00065,#jaE\b\u001174q*\u0015\u0005K\\-+%!vDD\f&3u$BZ\f/$!jNAY!%!gNX\t/%uaE\u0015\u001d6%!pN\u0015\u0018c#njGY\u0010 4!sHA\u0011c4ia\u0001V\f12djU\u0015\n7!ua\u0001Z\u001fc4ia\u0001G\u001c0/tvBPW!\u0013\"+`vUTW0%srMP\rm%svNGW04`pTF& /ea\u0005E32d:\b\u001a,$d*\u0015\u0004J\"\u0013\"+`vUTW0%srMP\rm%svNGW0%srMP\r\u001c.`iD\b\u001a,$d*\u0015\u0004I3*&2whDAY&2skS\u0015\u0016 #tvDQY\"&uaS\u0015\u000b&3qkOF\u001cc7`w\u0001V\u0016.-hpUP\u001dm\u00140-3tbG\\\u001a*%op\u0001f\r,2`cD\u0005\f7&,<$\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.^pXE\u001c\b\u001a,$d*\u0014\u0005H\u000e7,4!EBV\u001c34`fMP\b\u001174q*\u0015\u0007J\u001f\u0013\"+`vUTW0%srMP\rm%svNGW&8baQA\u0010,.\b\u001174q*\u0015\u0004O!\u0013\"+`vUTW0%srMP\rm%svNGW1%pqDF\r\u001c5sm\b\u001a,$d*\u0014\u0005J\u0005\u001174q*@-+)r$SP\b6%rp\u0001V\u0018-.np\u0001W\u001cc(`jEY\u001c'`vmU]\u001664!e\u0001Q\u001c%)oaE\u0015\u001a,.uaOAY/%ocU]W\u00124&4ikE\u00157,4!EMY\u00164%e\b\u001a,$d*\u0015\u0005H\b\u001a,$d*\u0015\u0005L\b\u001a,$d*\u0014\u0005M\b\u001a,$d*\u0015\u0005N\b\u001174q*\u0015\u0004NK-+%!vDD\f&3u$D[\r*4x$HFY/!scDGY7(`j\u0001A\u0011&`raSC\u001c1`hw\u0001B\u0010/,hjF\u0015\u00161``fMPY7/!tSZ\u001a&3r*\b\u001174q*\u0015\u0004J\b\u001174q*\u0015\u0005J\b\u001174q*\u0014\u0005H\u0014,-0skBP\n0!chD\u0015<-4hpXD-+%!wQP\u001a*&haE\u00151\u0017\u0014Q$LP\r+/e$HFY-/u$@Y\u0015,7d`\u0001S\u00161`ulD\u0015\u000b&1taRA\u001c'`saRZ\f1#d*f-+)r$RP\u000b5%s$SP\u001a&)waE\u0015\u0018-`hjWT\u0015*$!vDF\t,.ra\u0001S\u000b,-!e\u0001F\u001c16dv\u0001\\\rc#njR@\u00157%e$V]\u001c-``gU\\\u0017$``w\u0001TY32n|X\u0015\u00161`feUP\u000e\"9/\u0006El(2:+\b\u001174q*\u0014\u0005K\b\u001a,$d*\u0015\u0005J\u00a8Eb\u0004NGul)\u0006`IPlyY\u0013\u0015CHhvYam.+v\u0006:loEPe\u00151\u0017\rM$\u0015\u001bIr`Uv@[\n*4hkOT\u0015loDJ\u0003\u0015[+4ut\u001b\u001aV47v*V\u0006W,2f+ugV+4lh\u0015\u001a\u0015,/ra\u000fQ\r'b?\u000e\u001d]\r.,?\u000e\u001d]\u001c\"$?8U\\\r/%?\u007f\u0011HEl4hpMPG\u007foia@QGI|ckELGI;0y+\tV!/e}\u001f?El(uiM\u000b\b\u001174q*\u0015\u0007K\b\u001a,$d*\u0015\u0004L\u00150-4dvOT\u0015c\u0013dvWP\u000bc\u0005svNG\b\u001174q*\u0015\u0005M\b\u001a,$d*\u0015\u0005A\b\u001a,$d*\u0015\u0005M\u000f+&1taRAY\u0017)laN@\r\b\u001174q*\u0015\u0005NE-+%!wDG\u000f&2!vDS\f0%e$U]\u00100`saP@\u001c04!fDV\u001863d$U]\u001cc2duTP\n7`TVh\u0015\u000e\"3!pNZY//oc\u000f\u0004E+s?".length();
                var1_4 = 158;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 93;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = ErrorServlet.a(v0, ErrorServlet.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "kMN\u000bPn\u007f4\u000bAX^[9:;fN[\u0002";
                    var4_3 = "kMN\u000bPn\u007f4\u000bAX^[9:;fN[\u0002".length();
                    var1_4 = 8;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 39;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = ErrorServlet.a(v0, ErrorServlet.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        ErrorServlet.a = var5;
        ErrorServlet.REQUEST_ATTR_SERVLET = ErrorServlet.a[91];
        ErrorServlet.REQUEST_ATTR_REQUEST_URI = ErrorServlet.a[102];
        ErrorServlet.REQUEST_ATTR_MESSAGE = ErrorServlet.a[43];
        ErrorServlet.REQUEST_ATTR_EXCEPT_TYPE = ErrorServlet.a[96];
        ErrorServlet.ERROR_MARKUP = ErrorServlet.a[26];
        ErrorServlet.REQUEST_ATTR_STATUS_CODE = ErrorServlet.a[88];
        ErrorServlet.REQUEST_ATTR_EXCEPTION = ErrorServlet.a[76];
        ErrorServlet.logger = Logger.getLogger(ErrorServlet.class.getName());
        v5 = new Object[54][];
        v6 = new Object[2];
        var0_6 = ErrorServlet.a;
        v6[0] = var0_6[31];
        v6[1] = var0_6[34];
        v5[0] = v6;
        v5[1] = new Object[]{var0_6[107], var0_6[5]};
        v5[2] = new Object[]{var0_6[47], var0_6[8]};
        v5[3] = new Object[]{var0_6[121], var0_6[51]};
        v5[4] = new Object[]{var0_6[128], var0_6[21]};
        v5[5] = new Object[]{var0_6[108], var0_6[106]};
        v5[6] = new Object[]{var0_6[1], var0_6[98]};
        v5[7] = new Object[]{var0_6[110], var0_6[9]};
        v5[8] = new Object[]{var0_6[127], var0_6[129]};
        v5[9] = new Object[]{var0_6[77], var0_6[84]};
        v5[10] = new Object[]{var0_6[92], var0_6[36]};
        v5[11] = new Object[]{var0_6[80], var0_6[7]};
        v5[12] = new Object[]{var0_6[62], var0_6[53]};
        v5[13] = new Object[]{var0_6[90], var0_6[48]};
        v5[14] = new Object[]{var0_6[6], var0_6[10]};
        v5[15] = new Object[]{var0_6[124], var0_6[81]};
        v5[16] = new Object[]{var0_6[3], var0_6[18]};
        v5[17] = new Object[]{var0_6[45], var0_6[38]};
        v5[18] = new Object[]{var0_6[74], var0_6[116]};
        v5[19] = new Object[]{var0_6[65], var0_6[85]};
        v5[20] = new Object[]{var0_6[71], var0_6[125]};
        v5[21] = new Object[]{var0_6[97], var0_6[16]};
        v5[22] = new Object[]{var0_6[79], var0_6[134]};
        v5[23] = new Object[]{var0_6[103], var0_6[24]};
        v5[24] = new Object[]{var0_6[109], var0_6[59]};
        v5[25] = new Object[]{var0_6[72], var0_6[70]};
        v5[26] = new Object[]{var0_6[73], var0_6[94]};
        v5[27] = new Object[]{var0_6[32], var0_6[67]};
        v5[28] = new Object[]{var0_6[2], var0_6[58]};
        v5[29] = new Object[]{var0_6[86], var0_6[14]};
        v5[30] = new Object[]{var0_6[114], var0_6[68]};
        v5[31] = new Object[]{var0_6[126], var0_6[4]};
        v5[32] = new Object[]{var0_6[22], var0_6[117]};
        v5[33] = new Object[]{var0_6[17], var0_6[0]};
        v5[34] = new Object[]{var0_6[130], var0_6[69]};
        v5[35] = new Object[]{var0_6[49], var0_6[44]};
        v5[36] = new Object[]{var0_6[64], var0_6[87]};
        v5[37] = new Object[]{var0_6[30], var0_6[83]};
        v5[38] = new Object[]{var0_6[19], var0_6[105]};
        v5[39] = new Object[]{var0_6[66], var0_6[20]};
        v5[40] = new Object[]{var0_6[113], var0_6[112]};
        v5[41] = new Object[]{var0_6[40], var0_6[131]};
        v5[42] = new Object[]{var0_6[12], var0_6[50]};
        v5[43] = new Object[]{var0_6[101], var0_6[75]};
        v5[44] = new Object[]{var0_6[111], var0_6[15]};
        v5[45] = new Object[]{var0_6[123], var0_6[60]};
        v5[46] = new Object[]{var0_6[99], var0_6[11]};
        v5[47] = new Object[]{var0_6[63], var0_6[78]};
        v5[48] = new Object[]{var0_6[115], var0_6[61]};
        v5[49] = new Object[]{var0_6[120], var0_6[118]};
        v5[50] = new Object[]{var0_6[27], var0_6[57]};
        v5[51] = new Object[]{var0_6[25], var0_6[41]};
        v5[52] = new Object[]{var0_6[37], var0_6[82]};
        v5[53] = new Object[]{var0_6[133], var0_6[23]};
        ErrorServlet.MESSAGES = v5;
    }

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

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x68);
        }
        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 -> 36;
                    case 1 -> 30;
                    case 2 -> 29;
                    case 3 -> 92;
                    case 4 -> 89;
                    case 5 -> 124;
                    default -> 104;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

