/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.policy.assertion.Assertion
 *  com.l7tech.policy.assertion.AssertionStatus
 *  com.l7tech.util.BuildInfo
 *  com.l7tech.util.mdc.JulMdc
 *  io.opentelemetry.api.baggage.Baggage
 *  io.opentelemetry.api.common.Attributes
 *  io.opentelemetry.api.trace.Span
 *  io.opentelemetry.api.trace.SpanKind
 */
package com.l7tech.server.otel;

import com.l7tech.policy.assertion.Assertion;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.util.BuildInfo;
import com.l7tech.util.mdc.JulMdc;
import io.opentelemetry.api.baggage.Baggage;
import io.opentelemetry.api.common.Attributes;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.SpanKind;
import java.util.concurrent.Callable;

public interface OtelContext {
    public static final String OTEL_SCOPE_NAME;
    public static final String OTEL_SCOPE_VERSION;
    public static final String OTEL_RESOURCE_ATTRIBUTES;
    public static final String OTEL_SERVICE_NAME;
    public static final String OTEL_ID_MDC_KEY;
    public static final String[] C;

    default public void recordCounter(String string, String string2, String string3, long l2, Attributes attributes) {
    }

    default public void recordHistogram(String string, String string2, String string3, long l2, Attributes attributes) {
    }

    default public void recordGauge(String string, String string2, String string3, long l2, Attributes attributes) {
    }

    default public void recordUpDownCounter(String string, String string2, String string3, double d10, Attributes attributes) {
    }

    default public Span startSpan(String string, SpanKind spanKind, Attributes attributes, PolicyEnforcementContext policyEnforcementContext) {
        return Span.getInvalid();
    }

    default public Span startAssertionSpan(Assertion assertion, PolicyEnforcementContext policyEnforcementContext) {
        return Span.getInvalid();
    }

    default public Span getCurrentSpan() {
        return Span.getInvalid();
    }

    default public void endAssertionSpan(Span span, Assertion assertion, PolicyEnforcementContext policyEnforcementContext) {
    }

    default public void addEvent(String string) {
    }

    default public void addEvent(String string, Attributes attributes) {
    }

    default public Span startServiceSpan(PolicyEnforcementContext policyEnforcementContext) {
        JulMdc.remove((String)C[0]);
        return Span.getInvalid();
    }

    default public void endServiceSpan(Span span, AssertionStatus assertionStatus, PolicyEnforcementContext policyEnforcementContext) {
    }

    default public Baggage createBaggage() {
        return Baggage.empty();
    }

    default public <T> Callable<T> wrap(Callable<T> callable) {
        return callable;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block19: {
            block18: {
                var5 = new String[5];
                var3_1 = 0;
                var2_2 = "Y\u000fl\u0002L?W\u0012u4D`\u007f\u0017js)\u001e`t\u0017gs,H7\u0007Y\u000fl\u0002L?W";
                var4_3 = "Y\u000fl\u0002L?W\u0012u4D`\u007f\u0017js)\u001e`t\u0017gs,H7\u0007Y\u000fl\u0002L?W".length();
                var1_4 = 7;
                var0_5 = -1;
lbl7:
                // 2 sources

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

                while (true) {
                    var5[var3_1++] = v4.intern();
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "k=^0~\u0016dw&N.b\u0001~e=O.h\u0006tp,H\u0011k=^0~\u0017dv?R?d\u001boe$^";
                    var4_3 = "k=^0~\u0016dw&N.b\u0001~e=O.h\u0006tp,H\u0011k=^0~\u0017dv?R?d\u001boe$^".length();
                    var1_4 = 24;
                    var0_5 = -1;
lbl22:
                    // 2 sources

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

                while (true) {
                    var5[var3_1++] = v4.intern();
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block19;
                    break;
                }
            }
            v6 = v2.toCharArray();
            v7 = v0;
            v8 = v6;
            v9 = v6.length;
            var6_6 = 0;
            if (true) ** GOTO lbl71
            do {
                v7 = v7;
                v8 = v8;
                v10 = var6_6;
                switch (var6_6 % 7) {
                    case 0: {
                        v11 = 20;
                        break;
                    }
                    case 1: {
                        v11 = 89;
                        break;
                    }
                    case 2: {
                        v11 = 43;
                        break;
                    }
                    case 3: {
                        v11 = 76;
                        break;
                    }
                    case 4: {
                        v11 = 17;
                        break;
                    }
                    case 5: {
                        v11 = 116;
                        break;
                    }
                    default: {
                        v11 = 17;
                    }
                }
                v8[v10] = (char)(v8[v10] ^ (v7 ^ v11));
                ++var6_6;
lbl71:
                // 2 sources

                v9 = v9;
            } while (v9 > var6_6);
            v4 = new String(v8);
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl79:
                // 1 sources

                ** continue;
            }
        }
        OtelContext.C = var5;
        OtelContext.OTEL_RESOURCE_ATTRIBUTES = OtelContext.C[3];
        OtelContext.OTEL_SCOPE_NAME = OtelContext.C[1];
        OtelContext.OTEL_ID_MDC_KEY = OtelContext.C[2];
        OtelContext.OTEL_SERVICE_NAME = OtelContext.C[4];
        OtelContext.OTEL_SCOPE_VERSION = BuildInfo.getProductVersion();
    }
}

