CrackMe.apk
Download file
package okhttp3.internal.http;
import com.google.android.gms.common.internal.ImagesContract;
import java.io.EOFException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import kotlin.Deprecated;
import kotlin.DeprecationLevel;
import kotlin.Metadata;
import kotlin.ReplaceWith;
import kotlin.collections.MapsKt;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.StringsKt;
import okhttp3.Challenge;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.Response;
import okhttp3.internal.Util;
import okhttp3.internal.platform.Platform;
import okio.Buffer;
import okio.ByteString;
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000R\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010!\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u0005\n\u0000\u001a\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006H\u0007\u001a\u0018\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\t0\b*\u00020\n2\u0006\u0010\u000b\u001a\u00020\f\u001a\n\u0010\r\u001a\u00020\u0004*\u00020\u0006\u001a\u001a\u0010\u000e\u001a\u00020\u000f*\u00020\u00102\f\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\t0\u0012H\u0002\u001a\u000e\u0010\u0013\u001a\u0004\u0018\u00010\f*\u00020\u0010H\u0002\u001a\u000e\u0010\u0014\u001a\u0004\u0018\u00010\f*\u00020\u0010H\u0002\u001a\u001a\u0010\u0015\u001a\u00020\u000f*\u00020\u00162\u0006\u0010\u0017\u001a\u00020\u00182\u0006\u0010\u0019\u001a\u00020\n\u001a\f\u0010\u001a\u001a\u00020\u0004*\u00020\u0010H\u0002\u001a\u0014\u0010\u001b\u001a\u00020\u0004*\u00020\u00102\u0006\u0010\u001c\u001a\u00020\u001dH\u0002\"\u000e\u0010\u0000\u001a\u00020\u0001X\u0004¢\u0006\u0002\n\u0000\"\u000e\u0010\u0002\u001a\u00020\u0001X\u0004¢\u0006\u0002\n\u0000¨\u0006\u001e"}, d2 = {"QUOTED_STRING_DELIMITERS", "Lokio/ByteString;", "TOKEN_DELIMITERS", "hasBody", "", "response", "Lokhttp3/Response;", "parseChallenges", "", "Lokhttp3/Challenge;", "Lokhttp3/Headers;", "headerName", "", "promisesBody", "readChallengeHeader", "", "Lokio/Buffer;", "result", "", "readQuotedString", "readToken", "receiveHeaders", "Lokhttp3/CookieJar;", "url", "Lokhttp3/HttpUrl;", "headers", "skipCommasAndWhitespace", "startsWith", "prefix", "", "okhttp"}, k = 2, mv = {1, 4, 0})
/* compiled from: HttpHeaders.kt */
public final class HttpHeaders {
private static final ByteString QUOTED_STRING_DELIMITERS = ByteString.Companion.encodeUtf8("\"\\");
private static final ByteString TOKEN_DELIMITERS = ByteString.Companion.encodeUtf8("\t ,=");
public static final List<Challenge> parseChallenges(Headers headers, String str) {
Intrinsics.checkNotNullParameter(headers, "$this$parseChallenges");
Intrinsics.checkNotNullParameter(str, "headerName");
List<Challenge> arrayList = new ArrayList<>();
int size = headers.size();
for (int i = 0; i < size; i++) {
if (StringsKt.equals(str, headers.name(i), true)) {
try {
readChallengeHeader(new Buffer().writeUtf8(headers.value(i)), arrayList);
} catch (EOFException e) {
Platform.Companion.get().log("Unable to parse challenge", 5, e);
}
}
}
return arrayList;
}
private static final void readChallengeHeader(Buffer buffer, List<Challenge> list) throws EOFException {
String readToken;
int skipAll;
String str;
String str2 = null;
while (true) {
String str3 = null;
while (true) {
if (str3 == null) {
skipCommasAndWhitespace(buffer);
str3 = readToken(buffer);
if (str3 == null) {
return;
}
}
boolean skipCommasAndWhitespace = skipCommasAndWhitespace(buffer);
readToken = readToken(buffer);
if (readToken != null) {
byte b = (byte) 61;
skipAll = Util.skipAll(buffer, b);
boolean skipCommasAndWhitespace2 = skipCommasAndWhitespace(buffer);
if (skipCommasAndWhitespace || (!skipCommasAndWhitespace2 && !buffer.exhausted())) {
Map linkedHashMap = new LinkedHashMap();
int skipAll2 = skipAll + Util.skipAll(buffer, b);
while (true) {
if (readToken == null) {
readToken = readToken(buffer);
if (skipCommasAndWhitespace(buffer)) {
continue;
break;
}
skipAll2 = Util.skipAll(buffer, b);
}
if (skipAll2 == 0) {
continue;
break;
} else if (skipAll2 <= 1 && !skipCommasAndWhitespace(buffer)) {
if (startsWith(buffer, (byte) 34)) {
str = readQuotedString(buffer);
} else {
str = readToken(buffer);
}
if (str != null && ((String) linkedHashMap.put(readToken, str)) == null) {
if (skipCommasAndWhitespace(buffer) || buffer.exhausted()) {
readToken = null;
} else {
return;
}
} else {
return;
}
} else {
return;
}
}
list.add(new Challenge(str3, (Map<String, String>) linkedHashMap));
str3 = readToken;
}
} else if (buffer.exhausted()) {
list.add(new Challenge(str3, (Map<String, String>) MapsKt.emptyMap()));
return;
} else {
return;
}
}
Map singletonMap = Collections.singletonMap((Object) null, readToken + StringsKt.repeat("=", skipAll));
Intrinsics.checkNotNullExpressionValue(singletonMap, "Collections.singletonMap…ek + \"=\".repeat(eqCount))");
list.add(new Challenge(str3, (Map<String, String>) singletonMap));
}
}
private static final boolean skipCommasAndWhitespace(Buffer buffer) {
boolean z = false;
while (!buffer.exhausted()) {
byte b = buffer.getByte(0);
if (b == 9 || b == 32) {
buffer.readByte();
} else if (b != 44) {
break;
} else {
buffer.readByte();
z = true;
}
}
return z;
}
private static final boolean startsWith(Buffer buffer, byte b) {
return !buffer.exhausted() && buffer.getByte(0) == b;
}
private static final String readQuotedString(Buffer buffer) throws EOFException {
byte b = (byte) 34;
if (buffer.readByte() == b) {
Buffer buffer2 = new Buffer();
while (true) {
long indexOfElement = buffer.indexOfElement(QUOTED_STRING_DELIMITERS);
if (indexOfElement == -1) {
return null;
}
if (buffer.getByte(indexOfElement) == b) {
buffer2.write(buffer, indexOfElement);
buffer.readByte();
return buffer2.readUtf8();
} else if (buffer.size() == indexOfElement + 1) {
return null;
} else {
buffer2.write(buffer, indexOfElement);
buffer.readByte();
buffer2.write(buffer, 1);
}
}
} else {
throw new IllegalArgumentException("Failed requirement.".toString());
}
}
private static final String readToken(Buffer buffer) {
long indexOfElement = buffer.indexOfElement(TOKEN_DELIMITERS);
if (indexOfElement == -1) {
indexOfElement = buffer.size();
}
if (indexOfElement != 0) {
return buffer.readUtf8(indexOfElement);
}
return null;
}
public static final void receiveHeaders(CookieJar cookieJar, HttpUrl httpUrl, Headers headers) {
Intrinsics.checkNotNullParameter(cookieJar, "$this$receiveHeaders");
Intrinsics.checkNotNullParameter(httpUrl, ImagesContract.URL);
Intrinsics.checkNotNullParameter(headers, "headers");
if (cookieJar != CookieJar.NO_COOKIES) {
List<Cookie> parseAll = Cookie.Companion.parseAll(httpUrl, headers);
if (!parseAll.isEmpty()) {
cookieJar.saveFromResponse(httpUrl, parseAll);
}
}
}
public static final boolean promisesBody(Response response) {
Intrinsics.checkNotNullParameter(response, "$this$promisesBody");
if (Intrinsics.areEqual((Object) response.request().method(), (Object) "HEAD")) {
return false;
}
int code = response.code();
if (((code >= 100 && code < 200) || code == 204 || code == 304) && Util.headersContentLength(response) == -1 && !StringsKt.equals("chunked", Response.header$default(response, com.google.common.net.HttpHeaders.TRANSFER_ENCODING, (String) null, 2, (Object) null), true)) {
return false;
}
return true;
}
@Deprecated(level = DeprecationLevel.ERROR, message = "No longer supported", replaceWith = @ReplaceWith(expression = "response.promisesBody()", imports = {}))
public static final boolean hasBody(Response response) {
Intrinsics.checkNotNullParameter(response, "response");
return promisesBody(response);
}
}
Download file