ADD week 5
This commit is contained in:
		
							
								
								
									
										502
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/Base64.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										502
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/Base64.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,502 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import java.nio.charset.Charset; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.UByte; | ||||
| import kotlin.collections.AbstractList; | ||||
| import kotlin.jvm.internal.DefaultConstructorMarker; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
| import kotlin.text.Charsets; | ||||
|  | ||||
| /* compiled from: Base64.kt */ | ||||
| @Metadata(d1 = {"\u0000B\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0006\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0012\n\u0002\b\u0002\n\u0002\u0010\r\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0012\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\n\b\u0017\u0018\u0000 22\u00020\u0001:\u00012B\u0017\b\u0002\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003¢\u0006\u0002\u0010\u0005J\u0015\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\fH\u0000¢\u0006\u0002\b\rJ%\u0010\u000e\u001a\u00020\f2\u0006\u0010\u000b\u001a\u00020\u000f2\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0000¢\u0006\u0002\b\u0013J \u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00020\u00112\u0006\u0010\u0017\u001a\u00020\u00112\u0006\u0010\u0018\u001a\u00020\u0011H\u0002J%\u0010\u0019\u001a\u00020\u00152\u0006\u0010\u001a\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0000¢\u0006\u0002\b\u001bJ\"\u0010\u001c\u001a\u00020\f2\u0006\u0010\u000b\u001a\u00020\f2\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J\"\u0010\u001c\u001a\u00020\f2\u0006\u0010\u000b\u001a\u00020\u000f2\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J0\u0010\u001d\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u001e\u001a\u00020\f2\u0006\u0010\u0017\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0002J4\u0010\u001f\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u001e\u001a\u00020\f2\b\b\u0002\u0010\u0017\u001a\u00020\u00112\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J4\u0010\u001f\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\u000f2\u0006\u0010\u001e\u001a\u00020\f2\b\b\u0002\u0010\u0017\u001a\u00020\u00112\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J \u0010 \u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0002J\"\u0010!\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\f2\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J4\u0010\"\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u001e\u001a\u00020\f2\b\b\u0002\u0010\u0017\u001a\u00020\u00112\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J5\u0010#\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u001e\u001a\u00020\f2\u0006\u0010\u0017\u001a\u00020\u00112\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0000¢\u0006\u0002\b$J\u0010\u0010%\u001a\u00020\u00112\u0006\u0010\u001a\u001a\u00020\u0011H\u0002J=\u0010&\u001a\u0002H'\"\f\b\u0000\u0010'*\u00060(j\u0002`)2\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u001e\u001a\u0002H'2\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011¢\u0006\u0002\u0010*J\"\u0010+\u001a\u00020\f2\u0006\u0010\u000b\u001a\u00020\f2\b\b\u0002\u0010\u0010\u001a\u00020\u00112\b\b\u0002\u0010\u0012\u001a\u00020\u0011J%\u0010,\u001a\u00020\f2\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0000¢\u0006\u0002\b-J(\u0010.\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010/\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u00112\u0006\u00100\u001a\u00020\u0011H\u0002J \u00101\u001a\u00020\u00112\u0006\u0010\u000b\u001a\u00020\f2\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0012\u001a\u00020\u0011H\u0002R\u0014\u0010\u0004\u001a\u00020\u0003X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007R\u0014\u0010\u0002\u001a\u00020\u0003X\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\u0007¨\u00063"}, d2 = {"Lkotlin/io/encoding/Base64;", "", "isUrlSafe", "", "isMimeScheme", "(ZZ)V", "isMimeScheme$kotlin_stdlib", "()Z", "isUrlSafe$kotlin_stdlib", "bytesToStringImpl", "", "source", "", "bytesToStringImpl$kotlin_stdlib", "charsToBytesImpl", "", "startIndex", "", "endIndex", "charsToBytesImpl$kotlin_stdlib", "checkDestinationBounds", "", "destinationSize", "destinationOffset", "capacityNeeded", "checkSourceBounds", "sourceSize", "checkSourceBounds$kotlin_stdlib", "decode", "decodeImpl", "destination", "decodeIntoByteArray", "decodeSize", "encode", "encodeIntoByteArray", "encodeIntoByteArrayImpl", "encodeIntoByteArrayImpl$kotlin_stdlib", "encodeSize", "encodeToAppendable", "A", "Ljava/lang/Appendable;", "Lkotlin/text/Appendable;", "([BLjava/lang/Appendable;II)Ljava/lang/Appendable;", "encodeToByteArray", "encodeToByteArrayImpl", "encodeToByteArrayImpl$kotlin_stdlib", "handlePaddingSymbol", "padIndex", "byteStart", "skipIllegalSymbolsIfMime", "Default", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public class Base64 { | ||||
|     private static final int bitsPerByte = 8; | ||||
|     private static final int bitsPerSymbol = 6; | ||||
|     public static final int bytesPerGroup = 3; | ||||
|     private static final int mimeGroupsPerLine = 19; | ||||
|     public static final int mimeLineLength = 76; | ||||
|     public static final byte padSymbol = 61; | ||||
|     public static final int symbolsPerGroup = 4; | ||||
|     private final boolean isMimeScheme; | ||||
|     private final boolean isUrlSafe; | ||||
|  | ||||
|     /* renamed from: Default, reason: from kotlin metadata */ | ||||
|     public static final Companion INSTANCE = new Companion(null); | ||||
|     private static final byte[] mimeLineSeparatorSymbols = {13, 10}; | ||||
|     private static final Base64 UrlSafe = new Base64(true, false); | ||||
|     private static final Base64 Mime = new Base64(false, true); | ||||
|  | ||||
|     public /* synthetic */ Base64(boolean z, boolean z2, DefaultConstructorMarker defaultConstructorMarker) { | ||||
|         this(z, z2); | ||||
|     } | ||||
|  | ||||
|     /* renamed from: isMimeScheme$kotlin_stdlib, reason: from getter */ | ||||
|     public final boolean getIsMimeScheme() { | ||||
|         return this.isMimeScheme; | ||||
|     } | ||||
|  | ||||
|     /* renamed from: isUrlSafe$kotlin_stdlib, reason: from getter */ | ||||
|     public final boolean getIsUrlSafe() { | ||||
|         return this.isUrlSafe; | ||||
|     } | ||||
|  | ||||
|     private Base64(boolean z, boolean z2) { | ||||
|         this.isUrlSafe = z; | ||||
|         this.isMimeScheme = z2; | ||||
|         if (z && z2) { | ||||
|             throw new IllegalArgumentException("Failed requirement.".toString()); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ byte[] encodeToByteArray$default(Base64 base64, byte[] bArr, int i, int i2, int i3, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: encodeToByteArray"); | ||||
|         } | ||||
|         if ((i3 & 2) != 0) { | ||||
|             i = 0; | ||||
|         } | ||||
|         if ((i3 & 4) != 0) { | ||||
|             i2 = bArr.length; | ||||
|         } | ||||
|         return base64.encodeToByteArray(bArr, i, i2); | ||||
|     } | ||||
|  | ||||
|     public final byte[] encodeToByteArray(byte[] source, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         return encodeToByteArrayImpl$kotlin_stdlib(source, startIndex, endIndex); | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ int encodeIntoByteArray$default(Base64 base64, byte[] bArr, byte[] bArr2, int i, int i2, int i3, int i4, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: encodeIntoByteArray"); | ||||
|         } | ||||
|         int i5 = (i4 & 4) != 0 ? 0 : i; | ||||
|         int i6 = (i4 & 8) != 0 ? 0 : i2; | ||||
|         if ((i4 & 16) != 0) { | ||||
|             i3 = bArr.length; | ||||
|         } | ||||
|         return base64.encodeIntoByteArray(bArr, bArr2, i5, i6, i3); | ||||
|     } | ||||
|  | ||||
|     public final int encodeIntoByteArray(byte[] source, byte[] destination, int destinationOffset, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         return encodeIntoByteArrayImpl$kotlin_stdlib(source, destination, destinationOffset, startIndex, endIndex); | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ String encode$default(Base64 base64, byte[] bArr, int i, int i2, int i3, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: encode"); | ||||
|         } | ||||
|         if ((i3 & 2) != 0) { | ||||
|             i = 0; | ||||
|         } | ||||
|         if ((i3 & 4) != 0) { | ||||
|             i2 = bArr.length; | ||||
|         } | ||||
|         return base64.encode(bArr, i, i2); | ||||
|     } | ||||
|  | ||||
|     public final String encode(byte[] source, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         return new String(encodeToByteArrayImpl$kotlin_stdlib(source, startIndex, endIndex), Charsets.ISO_8859_1); | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ Appendable encodeToAppendable$default(Base64 base64, byte[] bArr, Appendable appendable, int i, int i2, int i3, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: encodeToAppendable"); | ||||
|         } | ||||
|         if ((i3 & 4) != 0) { | ||||
|             i = 0; | ||||
|         } | ||||
|         if ((i3 & 8) != 0) { | ||||
|             i2 = bArr.length; | ||||
|         } | ||||
|         return base64.encodeToAppendable(bArr, appendable, i, i2); | ||||
|     } | ||||
|  | ||||
|     public final <A extends Appendable> A encodeToAppendable(byte[] source, A destination, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         destination.append(new String(encodeToByteArrayImpl$kotlin_stdlib(source, startIndex, endIndex), Charsets.ISO_8859_1)); | ||||
|         return destination; | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ byte[] decode$default(Base64 base64, byte[] bArr, int i, int i2, int i3, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: decode"); | ||||
|         } | ||||
|         if ((i3 & 2) != 0) { | ||||
|             i = 0; | ||||
|         } | ||||
|         if ((i3 & 4) != 0) { | ||||
|             i2 = bArr.length; | ||||
|         } | ||||
|         return base64.decode(bArr, i, i2); | ||||
|     } | ||||
|  | ||||
|     public final byte[] decode(byte[] source, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         checkSourceBounds$kotlin_stdlib(source.length, startIndex, endIndex); | ||||
|         int decodeSize = decodeSize(source, startIndex, endIndex); | ||||
|         byte[] bArr = new byte[decodeSize]; | ||||
|         if (decodeImpl(source, bArr, 0, startIndex, endIndex) == decodeSize) { | ||||
|             return bArr; | ||||
|         } | ||||
|         throw new IllegalStateException("Check failed.".toString()); | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ int decodeIntoByteArray$default(Base64 base64, byte[] bArr, byte[] bArr2, int i, int i2, int i3, int i4, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: decodeIntoByteArray"); | ||||
|         } | ||||
|         int i5 = (i4 & 4) != 0 ? 0 : i; | ||||
|         int i6 = (i4 & 8) != 0 ? 0 : i2; | ||||
|         if ((i4 & 16) != 0) { | ||||
|             i3 = bArr.length; | ||||
|         } | ||||
|         return base64.decodeIntoByteArray(bArr, bArr2, i5, i6, i3); | ||||
|     } | ||||
|  | ||||
|     public final int decodeIntoByteArray(byte[] source, byte[] destination, int destinationOffset, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         checkSourceBounds$kotlin_stdlib(source.length, startIndex, endIndex); | ||||
|         checkDestinationBounds(destination.length, destinationOffset, decodeSize(source, startIndex, endIndex)); | ||||
|         return decodeImpl(source, destination, destinationOffset, startIndex, endIndex); | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ byte[] decode$default(Base64 base64, CharSequence charSequence, int i, int i2, int i3, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: decode"); | ||||
|         } | ||||
|         if ((i3 & 2) != 0) { | ||||
|             i = 0; | ||||
|         } | ||||
|         if ((i3 & 4) != 0) { | ||||
|             i2 = charSequence.length(); | ||||
|         } | ||||
|         return base64.decode(charSequence, i, i2); | ||||
|     } | ||||
|  | ||||
|     public final byte[] decode(CharSequence source, int startIndex, int endIndex) { | ||||
|         byte[] charsToBytesImpl$kotlin_stdlib; | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         if (source instanceof String) { | ||||
|             checkSourceBounds$kotlin_stdlib(source.length(), startIndex, endIndex); | ||||
|             String substring = ((String) source).substring(startIndex, endIndex); | ||||
|             Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)"); | ||||
|             Charset charset = Charsets.ISO_8859_1; | ||||
|             Intrinsics.checkNotNull(substring, "null cannot be cast to non-null type java.lang.String"); | ||||
|             charsToBytesImpl$kotlin_stdlib = substring.getBytes(charset); | ||||
|             Intrinsics.checkNotNullExpressionValue(charsToBytesImpl$kotlin_stdlib, "this as java.lang.String).getBytes(charset)"); | ||||
|         } else { | ||||
|             charsToBytesImpl$kotlin_stdlib = charsToBytesImpl$kotlin_stdlib(source, startIndex, endIndex); | ||||
|         } | ||||
|         return decode$default(this, charsToBytesImpl$kotlin_stdlib, 0, 0, 6, (Object) null); | ||||
|     } | ||||
|  | ||||
|     public static /* synthetic */ int decodeIntoByteArray$default(Base64 base64, CharSequence charSequence, byte[] bArr, int i, int i2, int i3, int i4, Object obj) { | ||||
|         if (obj != null) { | ||||
|             throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: decodeIntoByteArray"); | ||||
|         } | ||||
|         int i5 = (i4 & 4) != 0 ? 0 : i; | ||||
|         int i6 = (i4 & 8) != 0 ? 0 : i2; | ||||
|         if ((i4 & 16) != 0) { | ||||
|             i3 = charSequence.length(); | ||||
|         } | ||||
|         return base64.decodeIntoByteArray(charSequence, bArr, i5, i6, i3); | ||||
|     } | ||||
|  | ||||
|     public final int decodeIntoByteArray(CharSequence source, byte[] destination, int destinationOffset, int startIndex, int endIndex) { | ||||
|         byte[] charsToBytesImpl$kotlin_stdlib; | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         if (source instanceof String) { | ||||
|             checkSourceBounds$kotlin_stdlib(source.length(), startIndex, endIndex); | ||||
|             String substring = ((String) source).substring(startIndex, endIndex); | ||||
|             Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)"); | ||||
|             Charset charset = Charsets.ISO_8859_1; | ||||
|             Intrinsics.checkNotNull(substring, "null cannot be cast to non-null type java.lang.String"); | ||||
|             charsToBytesImpl$kotlin_stdlib = substring.getBytes(charset); | ||||
|             Intrinsics.checkNotNullExpressionValue(charsToBytesImpl$kotlin_stdlib, "this as java.lang.String).getBytes(charset)"); | ||||
|         } else { | ||||
|             charsToBytesImpl$kotlin_stdlib = charsToBytesImpl$kotlin_stdlib(source, startIndex, endIndex); | ||||
|         } | ||||
|         return decodeIntoByteArray$default(this, charsToBytesImpl$kotlin_stdlib, destination, destinationOffset, 0, 0, 24, (Object) null); | ||||
|     } | ||||
|  | ||||
|     public final byte[] encodeToByteArrayImpl$kotlin_stdlib(byte[] source, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         checkSourceBounds$kotlin_stdlib(source.length, startIndex, endIndex); | ||||
|         byte[] bArr = new byte[encodeSize(endIndex - startIndex)]; | ||||
|         encodeIntoByteArrayImpl$kotlin_stdlib(source, bArr, 0, startIndex, endIndex); | ||||
|         return bArr; | ||||
|     } | ||||
|  | ||||
|     public final int encodeIntoByteArrayImpl$kotlin_stdlib(byte[] source, byte[] destination, int destinationOffset, int startIndex, int endIndex) { | ||||
|         int i = startIndex; | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         checkSourceBounds$kotlin_stdlib(source.length, i, endIndex); | ||||
|         checkDestinationBounds(destination.length, destinationOffset, encodeSize(endIndex - i)); | ||||
|         byte[] bArr = this.isUrlSafe ? Base64Kt.base64UrlEncodeMap : Base64Kt.base64EncodeMap; | ||||
|         int i2 = this.isMimeScheme ? 19 : Integer.MAX_VALUE; | ||||
|         int i3 = destinationOffset; | ||||
|         while (i + 2 < endIndex) { | ||||
|             int min = Math.min((endIndex - i) / 3, i2); | ||||
|             for (int i4 = 0; i4 < min; i4++) { | ||||
|                 int i5 = source[i] & UByte.MAX_VALUE; | ||||
|                 int i6 = i + 2; | ||||
|                 int i7 = source[i + 1] & UByte.MAX_VALUE; | ||||
|                 i += 3; | ||||
|                 int i8 = (i7 << 8) | (i5 << 16) | (source[i6] & UByte.MAX_VALUE); | ||||
|                 destination[i3] = bArr[i8 >>> 18]; | ||||
|                 destination[i3 + 1] = bArr[(i8 >>> 12) & 63]; | ||||
|                 int i9 = i3 + 3; | ||||
|                 destination[i3 + 2] = bArr[(i8 >>> 6) & 63]; | ||||
|                 i3 += 4; | ||||
|                 destination[i9] = bArr[i8 & 63]; | ||||
|             } | ||||
|             if (min == i2 && i != endIndex) { | ||||
|                 int i10 = i3 + 1; | ||||
|                 byte[] bArr2 = mimeLineSeparatorSymbols; | ||||
|                 destination[i3] = bArr2[0]; | ||||
|                 i3 += 2; | ||||
|                 destination[i10] = bArr2[1]; | ||||
|             } | ||||
|         } | ||||
|         int i11 = endIndex - i; | ||||
|         if (i11 == 1) { | ||||
|             int i12 = (source[i] & UByte.MAX_VALUE) << 4; | ||||
|             destination[i3] = bArr[i12 >>> 6]; | ||||
|             destination[i3 + 1] = bArr[i12 & 63]; | ||||
|             int i13 = i3 + 3; | ||||
|             destination[i3 + 2] = padSymbol; | ||||
|             i3 += 4; | ||||
|             destination[i13] = padSymbol; | ||||
|             i++; | ||||
|         } else if (i11 == 2) { | ||||
|             int i14 = i + 1; | ||||
|             int i15 = source[i] & UByte.MAX_VALUE; | ||||
|             i += 2; | ||||
|             int i16 = ((source[i14] & UByte.MAX_VALUE) << 2) | (i15 << 10); | ||||
|             destination[i3] = bArr[i16 >>> 12]; | ||||
|             destination[i3 + 1] = bArr[(i16 >>> 6) & 63]; | ||||
|             int i17 = i3 + 3; | ||||
|             destination[i3 + 2] = bArr[i16 & 63]; | ||||
|             i3 += 4; | ||||
|             destination[i17] = padSymbol; | ||||
|         } | ||||
|         if (i == endIndex) { | ||||
|             return i3 - destinationOffset; | ||||
|         } | ||||
|         throw new IllegalStateException("Check failed.".toString()); | ||||
|     } | ||||
|  | ||||
|     private final int encodeSize(int sourceSize) { | ||||
|         int i = (sourceSize + 2) / 3; | ||||
|         int i2 = (i * 4) + ((this.isMimeScheme ? (i - 1) / 19 : 0) * 2); | ||||
|         if (i2 >= 0) { | ||||
|             return i2; | ||||
|         } | ||||
|         throw new IllegalArgumentException("Input is too big"); | ||||
|     } | ||||
|  | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:28:0x00cd, code lost: | ||||
|      | ||||
|         if (r7 == (-2)) goto L36; | ||||
|      */ | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:29:0x00cf, code lost: | ||||
|      | ||||
|         r3 = skipIllegalSymbolsIfMime(r19, r5, r23); | ||||
|      */ | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:30:0x00d3, code lost: | ||||
|      | ||||
|         if (r3 < r23) goto L34; | ||||
|      */ | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:32:0x00d7, code lost: | ||||
|      | ||||
|         return r8 - r21; | ||||
|      */ | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:33:0x00d8, code lost: | ||||
|      | ||||
|         r1 = r19[r3] & kotlin.UByte.MAX_VALUE; | ||||
|         r4 = new java.lang.StringBuilder("Symbol '"); | ||||
|         r4.append((char) r1); | ||||
|         r4.append("'("); | ||||
|         r1 = java.lang.Integer.toString(r1, kotlin.text.CharsKt.checkRadix(8)); | ||||
|         kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, "toString(this, checkRadix(radix))"); | ||||
|         r4.append(r1); | ||||
|         r4.append(") at index "); | ||||
|         r4.append(r3 - 1); | ||||
|         r4.append(" is prohibited after the pad character"); | ||||
|      */ | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:34:0x0110, code lost: | ||||
|      | ||||
|         throw new java.lang.IllegalArgumentException(r4.toString()); | ||||
|      */ | ||||
|     /* JADX WARN: Code restructure failed: missing block: B:36:0x0118, code lost: | ||||
|      | ||||
|         throw new java.lang.IllegalArgumentException("The last unit of input does not have enough bits"); | ||||
|      */ | ||||
|     /* | ||||
|         Code decompiled incorrectly, please refer to instructions dump. | ||||
|         To view partially-correct add '--show-bad-code' argument | ||||
|     */ | ||||
|     private final int decodeImpl(byte[] r19, byte[] r20, int r21, int r22, int r23) { | ||||
|         /* | ||||
|             Method dump skipped, instructions count: 281 | ||||
|             To view this dump add '--comments-level debug' option | ||||
|         */ | ||||
|         throw new UnsupportedOperationException("Method not decompiled: kotlin.io.encoding.Base64.decodeImpl(byte[], byte[], int, int, int):int"); | ||||
|     } | ||||
|  | ||||
|     private final int decodeSize(byte[] source, int startIndex, int endIndex) { | ||||
|         int[] iArr; | ||||
|         int i = endIndex - startIndex; | ||||
|         if (i == 0) { | ||||
|             return 0; | ||||
|         } | ||||
|         if (i == 1) { | ||||
|             throw new IllegalArgumentException("Input should have at list 2 symbols for Base64 decoding, startIndex: " + startIndex + ", endIndex: " + endIndex); | ||||
|         } | ||||
|         if (this.isMimeScheme) { | ||||
|             while (true) { | ||||
|                 if (startIndex >= endIndex) { | ||||
|                     break; | ||||
|                 } | ||||
|                 int i2 = source[startIndex] & UByte.MAX_VALUE; | ||||
|                 iArr = Base64Kt.base64DecodeMap; | ||||
|                 int i3 = iArr[i2]; | ||||
|                 if (i3 < 0) { | ||||
|                     if (i3 == -2) { | ||||
|                         i -= endIndex - startIndex; | ||||
|                         break; | ||||
|                     } | ||||
|                     i--; | ||||
|                 } | ||||
|                 startIndex++; | ||||
|             } | ||||
|         } else if (source[endIndex - 1] == 61) { | ||||
|             i = source[endIndex + (-2)] == 61 ? i - 2 : i - 1; | ||||
|         } | ||||
|         return (int) ((i * 6) / 8); | ||||
|     } | ||||
|  | ||||
|     public final byte[] charsToBytesImpl$kotlin_stdlib(CharSequence source, int startIndex, int endIndex) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         checkSourceBounds$kotlin_stdlib(source.length(), startIndex, endIndex); | ||||
|         byte[] bArr = new byte[endIndex - startIndex]; | ||||
|         int i = 0; | ||||
|         while (startIndex < endIndex) { | ||||
|             char charAt = source.charAt(startIndex); | ||||
|             if (charAt <= 255) { | ||||
|                 bArr[i] = (byte) charAt; | ||||
|                 i++; | ||||
|             } else { | ||||
|                 bArr[i] = 63; | ||||
|                 i++; | ||||
|             } | ||||
|             startIndex++; | ||||
|         } | ||||
|         return bArr; | ||||
|     } | ||||
|  | ||||
|     public final String bytesToStringImpl$kotlin_stdlib(byte[] source) { | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         StringBuilder sb = new StringBuilder(source.length); | ||||
|         for (byte b : source) { | ||||
|             sb.append((char) b); | ||||
|         } | ||||
|         String sb2 = sb.toString(); | ||||
|         Intrinsics.checkNotNullExpressionValue(sb2, "stringBuilder.toString()"); | ||||
|         return sb2; | ||||
|     } | ||||
|  | ||||
|     private final int handlePaddingSymbol(byte[] source, int padIndex, int endIndex, int byteStart) { | ||||
|         if (byteStart == -8) { | ||||
|             throw new IllegalArgumentException("Redundant pad character at index " + padIndex); | ||||
|         } | ||||
|         if (byteStart != -6) { | ||||
|             if (byteStart == -4) { | ||||
|                 padIndex = skipIllegalSymbolsIfMime(source, padIndex + 1, endIndex); | ||||
|                 if (padIndex == endIndex || source[padIndex] != 61) { | ||||
|                     throw new IllegalArgumentException("Missing one pad character at index " + padIndex); | ||||
|                 } | ||||
|             } else if (byteStart != -2) { | ||||
|                 throw new IllegalStateException("Unreachable".toString()); | ||||
|             } | ||||
|         } | ||||
|         return padIndex + 1; | ||||
|     } | ||||
|  | ||||
|     private final int skipIllegalSymbolsIfMime(byte[] source, int startIndex, int endIndex) { | ||||
|         int[] iArr; | ||||
|         if (!this.isMimeScheme) { | ||||
|             return startIndex; | ||||
|         } | ||||
|         while (startIndex < endIndex) { | ||||
|             int i = source[startIndex] & UByte.MAX_VALUE; | ||||
|             iArr = Base64Kt.base64DecodeMap; | ||||
|             if (iArr[i] != -1) { | ||||
|                 return startIndex; | ||||
|             } | ||||
|             startIndex++; | ||||
|         } | ||||
|         return startIndex; | ||||
|     } | ||||
|  | ||||
|     public final void checkSourceBounds$kotlin_stdlib(int sourceSize, int startIndex, int endIndex) { | ||||
|         AbstractList.INSTANCE.checkBoundsIndexes$kotlin_stdlib(startIndex, endIndex, sourceSize); | ||||
|     } | ||||
|  | ||||
|     private final void checkDestinationBounds(int destinationSize, int destinationOffset, int capacityNeeded) { | ||||
|         if (destinationOffset < 0 || destinationOffset > destinationSize) { | ||||
|             throw new IndexOutOfBoundsException("destination offset: " + destinationOffset + ", destination size: " + destinationSize); | ||||
|         } | ||||
|         int i = destinationOffset + capacityNeeded; | ||||
|         if (i < 0 || i > destinationSize) { | ||||
|             throw new IndexOutOfBoundsException("The destination array does not have enough capacity, destination offset: " + destinationOffset + ", destination size: " + destinationSize + ", capacity needed: " + capacityNeeded); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /* compiled from: Base64.kt */ | ||||
|     @Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u0012\n\u0002\b\u0003\n\u0002\u0010\u0005\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0001¢\u0006\b\n\u0000\u001a\u0004\b\u0004\u0010\u0005R\u0011\u0010\u0006\u001a\u00020\u0001¢\u0006\b\n\u0000\u001a\u0004\b\u0007\u0010\u0005R\u000e\u0010\b\u001a\u00020\tX\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\tX\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\tX\u0080T¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\tX\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\tX\u0080T¢\u0006\u0002\n\u0000R\u0014\u0010\u000e\u001a\u00020\u000fX\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0010\u0010\u0011R\u000e\u0010\u0012\u001a\u00020\u0013X\u0080T¢\u0006\u0002\n\u0000R\u000e\u0010\u0014\u001a\u00020\tX\u0080T¢\u0006\u0002\n\u0000¨\u0006\u0015"}, d2 = {"Lkotlin/io/encoding/Base64$Default;", "Lkotlin/io/encoding/Base64;", "()V", "Mime", "getMime", "()Lkotlin/io/encoding/Base64;", "UrlSafe", "getUrlSafe", "bitsPerByte", "", "bitsPerSymbol", "bytesPerGroup", "mimeGroupsPerLine", "mimeLineLength", "mimeLineSeparatorSymbols", "", "getMimeLineSeparatorSymbols$kotlin_stdlib", "()[B", "padSymbol", "", "symbolsPerGroup", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
|     /* renamed from: kotlin.io.encoding.Base64$Default, reason: from kotlin metadata */ | ||||
|     public static final class Companion extends Base64 { | ||||
|         public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { | ||||
|             this(); | ||||
|         } | ||||
|  | ||||
|         /* JADX WARN: Illegal instructions before constructor call */ | ||||
|         /* | ||||
|             Code decompiled incorrectly, please refer to instructions dump. | ||||
|             To view partially-correct add '--show-bad-code' argument | ||||
|         */ | ||||
|         private Companion() { | ||||
|             /* | ||||
|                 r2 = this; | ||||
|                 r0 = 0 | ||||
|                 r1 = 0 | ||||
|                 r2.<init>(r0, r0, r1) | ||||
|                 return | ||||
|             */ | ||||
|             throw new UnsupportedOperationException("Method not decompiled: kotlin.io.encoding.Base64.Companion.<init>():void"); | ||||
|         } | ||||
|  | ||||
|         public final byte[] getMimeLineSeparatorSymbols$kotlin_stdlib() { | ||||
|             return Base64.mimeLineSeparatorSymbols; | ||||
|         } | ||||
|  | ||||
|         public final Base64 getUrlSafe() { | ||||
|             return Base64.UrlSafe; | ||||
|         } | ||||
|  | ||||
|         public final Base64 getMime() { | ||||
|             return Base64.Mime; | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										46
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/Base64JVMKt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/Base64JVMKt.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import java.nio.charset.Charset; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
| import kotlin.text.Charsets; | ||||
|  | ||||
| /* compiled from: Base64JVM.kt */ | ||||
| @Metadata(d1 = {"\u0000 \n\u0000\n\u0002\u0010\u0012\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\r\n\u0000\n\u0002\u0010\b\n\u0002\b\u0006\n\u0002\u0010\u000e\n\u0000\u001a%\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\b\u001a5\u0010\b\u001a\u00020\u0006*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\t\u001a\u00020\u00012\u0006\u0010\n\u001a\u00020\u00062\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\b\u001a%\u0010\u000b\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\b\u001a%\u0010\f\u001a\u00020\r*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u00012\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u0006H\u0081\b¨\u0006\u000e"}, d2 = {"platformCharsToBytes", "", "Lkotlin/io/encoding/Base64;", "source", "", "startIndex", "", "endIndex", "platformEncodeIntoByteArray", "destination", "destinationOffset", "platformEncodeToByteArray", "platformEncodeToString", "", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class Base64JVMKt { | ||||
|     private static final byte[] platformCharsToBytes(Base64 base64, CharSequence source, int i, int i2) { | ||||
|         Intrinsics.checkNotNullParameter(base64, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         if (source instanceof String) { | ||||
|             base64.checkSourceBounds$kotlin_stdlib(source.length(), i, i2); | ||||
|             String substring = ((String) source).substring(i, i2); | ||||
|             Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)"); | ||||
|             Charset charset = Charsets.ISO_8859_1; | ||||
|             Intrinsics.checkNotNull(substring, "null cannot be cast to non-null type java.lang.String"); | ||||
|             byte[] bytes = substring.getBytes(charset); | ||||
|             Intrinsics.checkNotNullExpressionValue(bytes, "this as java.lang.String).getBytes(charset)"); | ||||
|             return bytes; | ||||
|         } | ||||
|         return base64.charsToBytesImpl$kotlin_stdlib(source, i, i2); | ||||
|     } | ||||
|  | ||||
|     private static final String platformEncodeToString(Base64 base64, byte[] source, int i, int i2) { | ||||
|         Intrinsics.checkNotNullParameter(base64, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         return new String(base64.encodeToByteArrayImpl$kotlin_stdlib(source, i, i2), Charsets.ISO_8859_1); | ||||
|     } | ||||
|  | ||||
|     private static final int platformEncodeIntoByteArray(Base64 base64, byte[] source, byte[] destination, int i, int i2, int i3) { | ||||
|         Intrinsics.checkNotNullParameter(base64, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         return base64.encodeIntoByteArrayImpl$kotlin_stdlib(source, destination, i, i2, i3); | ||||
|     } | ||||
|  | ||||
|     private static final byte[] platformEncodeToByteArray(Base64 base64, byte[] source, int i, int i2) { | ||||
|         Intrinsics.checkNotNullParameter(base64, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         return base64.encodeToByteArrayImpl$kotlin_stdlib(source, i, i2); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										67
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/Base64Kt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/Base64Kt.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import kotlin.Metadata; | ||||
| import kotlin.collections.ArraysKt; | ||||
|  | ||||
| /* compiled from: Base64.kt */ | ||||
| @Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0010\u0015\n\u0002\b\u0003\n\u0002\u0010\u0012\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\b\n\u0000\u001a\u0010\u0010\u000b\u001a\u00020\f2\u0006\u0010\r\u001a\u00020\u000eH\u0001\"\u0016\u0010\u0000\u001a\u00020\u00018\u0002X\u0083\u0004¢\u0006\b\n\u0000\u0012\u0004\b\u0002\u0010\u0003\"\u0016\u0010\u0004\u001a\u00020\u00058\u0002X\u0083\u0004¢\u0006\b\n\u0000\u0012\u0004\b\u0006\u0010\u0003\"\u0016\u0010\u0007\u001a\u00020\u00018\u0002X\u0083\u0004¢\u0006\b\n\u0000\u0012\u0004\b\b\u0010\u0003\"\u0016\u0010\t\u001a\u00020\u00058\u0002X\u0083\u0004¢\u0006\b\n\u0000\u0012\u0004\b\n\u0010\u0003¨\u0006\u000f"}, d2 = {"base64DecodeMap", "", "getBase64DecodeMap$annotations", "()V", "base64EncodeMap", "", "getBase64EncodeMap$annotations", "base64UrlDecodeMap", "getBase64UrlDecodeMap$annotations", "base64UrlEncodeMap", "getBase64UrlEncodeMap$annotations", "isInMimeAlphabet", "", "symbol", "", "kotlin-stdlib"}, k = 2, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class Base64Kt { | ||||
|     private static final int[] base64DecodeMap; | ||||
|     private static final byte[] base64EncodeMap; | ||||
|     private static final int[] base64UrlDecodeMap; | ||||
|     private static final byte[] base64UrlEncodeMap; | ||||
|  | ||||
|     private static /* synthetic */ void getBase64DecodeMap$annotations() { | ||||
|     } | ||||
|  | ||||
|     private static /* synthetic */ void getBase64EncodeMap$annotations() { | ||||
|     } | ||||
|  | ||||
|     private static /* synthetic */ void getBase64UrlDecodeMap$annotations() { | ||||
|     } | ||||
|  | ||||
|     private static /* synthetic */ void getBase64UrlEncodeMap$annotations() { | ||||
|     } | ||||
|  | ||||
|     static { | ||||
|         byte[] bArr = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47}; | ||||
|         base64EncodeMap = bArr; | ||||
|         int[] iArr = new int[256]; | ||||
|         int i = 0; | ||||
|         ArraysKt.fill$default(iArr, -1, 0, 0, 6, (Object) null); | ||||
|         iArr[61] = -2; | ||||
|         int length = bArr.length; | ||||
|         int i2 = 0; | ||||
|         int i3 = 0; | ||||
|         while (i2 < length) { | ||||
|             iArr[bArr[i2]] = i3; | ||||
|             i2++; | ||||
|             i3++; | ||||
|         } | ||||
|         base64DecodeMap = iArr; | ||||
|         byte[] bArr2 = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 95}; | ||||
|         base64UrlEncodeMap = bArr2; | ||||
|         int[] iArr2 = new int[256]; | ||||
|         ArraysKt.fill$default(iArr2, -1, 0, 0, 6, (Object) null); | ||||
|         iArr2[61] = -2; | ||||
|         int length2 = bArr2.length; | ||||
|         int i4 = 0; | ||||
|         while (i < length2) { | ||||
|             iArr2[bArr2[i]] = i4; | ||||
|             i++; | ||||
|             i4++; | ||||
|         } | ||||
|         base64UrlDecodeMap = iArr2; | ||||
|     } | ||||
|  | ||||
|     public static final boolean isInMimeAlphabet(int i) { | ||||
|         if (i >= 0) { | ||||
|             int[] iArr = base64DecodeMap; | ||||
|             if (i < iArr.length && iArr[i] != -1) { | ||||
|                 return true; | ||||
|             } | ||||
|         } | ||||
|         return false; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										186
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/DecodeInputStream.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/DecodeInputStream.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,186 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import androidx.constraintlayout.core.motion.utils.TypedValues; | ||||
| import java.io.IOException; | ||||
| import java.io.InputStream; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.UByte; | ||||
| import kotlin.collections.ArraysKt; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
|  | ||||
| /* compiled from: Base64IOStream.kt */ | ||||
| @Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\u0002\n\u0002\b\u000f\b\u0003\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0003\u001a\u00020\u0004¢\u0006\u0002\u0010\u0005J\b\u0010\u0013\u001a\u00020\u0014H\u0016J \u0010\u0015\u001a\u00020\u00142\u0006\u0010\u0016\u001a\u00020\u00072\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u0018\u001a\u00020\tH\u0002J(\u0010\u0019\u001a\u00020\t2\u0006\u0010\u0016\u001a\u00020\u00072\u0006\u0010\u0017\u001a\u00020\t2\u0006\u0010\u001a\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\tH\u0002J\u0010\u0010\u001c\u001a\u00020\t2\u0006\u0010\u001b\u001a\u00020\tH\u0002J\b\u0010\u001d\u001a\u00020\tH\u0016J \u0010\u001d\u001a\u00020\t2\u0006\u0010\u001e\u001a\u00020\u00072\u0006\u0010\u001f\u001a\u00020\t2\u0006\u0010\u0018\u001a\u00020\tH\u0016J\b\u0010 \u001a\u00020\tH\u0002J\b\u0010!\u001a\u00020\u0014H\u0002J\b\u0010\"\u001a\u00020\u0014H\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\n\u001a\u00020\t8BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u000b\u0010\fR\u000e\u0010\r\u001a\u00020\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0010\u001a\u00020\u000fX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006#"}, d2 = {"Lkotlin/io/encoding/DecodeInputStream;", "Ljava/io/InputStream;", "input", "base64", "Lkotlin/io/encoding/Base64;", "(Ljava/io/InputStream;Lkotlin/io/encoding/Base64;)V", "byteBuffer", "", "byteBufferEndIndex", "", "byteBufferLength", "getByteBufferLength", "()I", "byteBufferStartIndex", "isClosed", "", "isEOF", "singleByteBuffer", "symbolBuffer", "close", "", "copyByteBufferInto", "dst", "dstOffset", "length", "decodeSymbolBufferInto", "dstEndIndex", "symbolBufferLength", "handlePaddingSymbol", "read", "destination", TypedValues.CycleType.S_WAVE_OFFSET, "readNextSymbol", "resetByteBufferIfEmpty", "shiftByteBufferToStartIfNeeded", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| final class DecodeInputStream extends InputStream { | ||||
|     private final Base64 base64; | ||||
|     private final byte[] byteBuffer; | ||||
|     private int byteBufferEndIndex; | ||||
|     private int byteBufferStartIndex; | ||||
|     private final InputStream input; | ||||
|     private boolean isClosed; | ||||
|     private boolean isEOF; | ||||
|     private final byte[] singleByteBuffer; | ||||
|     private final byte[] symbolBuffer; | ||||
|  | ||||
|     private final int getByteBufferLength() { | ||||
|         return this.byteBufferEndIndex - this.byteBufferStartIndex; | ||||
|     } | ||||
|  | ||||
|     private final void resetByteBufferIfEmpty() { | ||||
|         if (this.byteBufferStartIndex == this.byteBufferEndIndex) { | ||||
|             this.byteBufferStartIndex = 0; | ||||
|             this.byteBufferEndIndex = 0; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     public DecodeInputStream(InputStream input, Base64 base64) { | ||||
|         Intrinsics.checkNotNullParameter(input, "input"); | ||||
|         Intrinsics.checkNotNullParameter(base64, "base64"); | ||||
|         this.input = input; | ||||
|         this.base64 = base64; | ||||
|         this.singleByteBuffer = new byte[1]; | ||||
|         this.symbolBuffer = new byte[1024]; | ||||
|         this.byteBuffer = new byte[1024]; | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.InputStream | ||||
|     public int read() { | ||||
|         int i = this.byteBufferStartIndex; | ||||
|         if (i < this.byteBufferEndIndex) { | ||||
|             int i2 = this.byteBuffer[i] & UByte.MAX_VALUE; | ||||
|             this.byteBufferStartIndex = i + 1; | ||||
|             resetByteBufferIfEmpty(); | ||||
|             return i2; | ||||
|         } | ||||
|         int read = read(this.singleByteBuffer, 0, 1); | ||||
|         if (read == -1) { | ||||
|             return -1; | ||||
|         } | ||||
|         if (read == 1) { | ||||
|             return this.singleByteBuffer[0] & UByte.MAX_VALUE; | ||||
|         } | ||||
|         throw new IllegalStateException("Unreachable".toString()); | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.InputStream | ||||
|     public int read(byte[] destination, int offset, int length) { | ||||
|         int i; | ||||
|         boolean z; | ||||
|         boolean z2; | ||||
|         Intrinsics.checkNotNullParameter(destination, "destination"); | ||||
|         if (offset < 0 || length < 0 || (i = offset + length) > destination.length) { | ||||
|             throw new IndexOutOfBoundsException("offset: " + offset + ", length: " + length + ", buffer size: " + destination.length); | ||||
|         } | ||||
|         if (this.isClosed) { | ||||
|             throw new IOException("The input stream is closed."); | ||||
|         } | ||||
|         if (this.isEOF) { | ||||
|             return -1; | ||||
|         } | ||||
|         if (length == 0) { | ||||
|             return 0; | ||||
|         } | ||||
|         if (getByteBufferLength() >= length) { | ||||
|             copyByteBufferInto(destination, offset, length); | ||||
|             return length; | ||||
|         } | ||||
|         int byteBufferLength = (((length - getByteBufferLength()) + 2) / 3) * 4; | ||||
|         int i2 = offset; | ||||
|         while (true) { | ||||
|             z = this.isEOF; | ||||
|             if (z || byteBufferLength <= 0) { | ||||
|                 break; | ||||
|             } | ||||
|             int min = Math.min(this.symbolBuffer.length, byteBufferLength); | ||||
|             int i3 = 0; | ||||
|             while (true) { | ||||
|                 z2 = this.isEOF; | ||||
|                 if (z2 || i3 >= min) { | ||||
|                     break; | ||||
|                 } | ||||
|                 int readNextSymbol = readNextSymbol(); | ||||
|                 if (readNextSymbol == -1) { | ||||
|                     this.isEOF = true; | ||||
|                 } else if (readNextSymbol == 61) { | ||||
|                     i3 = handlePaddingSymbol(i3); | ||||
|                     this.isEOF = true; | ||||
|                 } else { | ||||
|                     this.symbolBuffer[i3] = (byte) readNextSymbol; | ||||
|                     i3++; | ||||
|                 } | ||||
|             } | ||||
|             if (!z2 && i3 != min) { | ||||
|                 throw new IllegalStateException("Check failed.".toString()); | ||||
|             } | ||||
|             byteBufferLength -= i3; | ||||
|             i2 += decodeSymbolBufferInto(destination, i2, i, i3); | ||||
|         } | ||||
|         if (i2 == offset && z) { | ||||
|             return -1; | ||||
|         } | ||||
|         return i2 - offset; | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.InputStream, java.io.Closeable, java.lang.AutoCloseable | ||||
|     public void close() { | ||||
|         if (this.isClosed) { | ||||
|             return; | ||||
|         } | ||||
|         this.isClosed = true; | ||||
|         this.input.close(); | ||||
|     } | ||||
|  | ||||
|     private final int decodeSymbolBufferInto(byte[] dst, int dstOffset, int dstEndIndex, int symbolBufferLength) { | ||||
|         int i = this.byteBufferEndIndex; | ||||
|         this.byteBufferEndIndex = i + this.base64.decodeIntoByteArray(this.symbolBuffer, this.byteBuffer, i, 0, symbolBufferLength); | ||||
|         int min = Math.min(getByteBufferLength(), dstEndIndex - dstOffset); | ||||
|         copyByteBufferInto(dst, dstOffset, min); | ||||
|         shiftByteBufferToStartIfNeeded(); | ||||
|         return min; | ||||
|     } | ||||
|  | ||||
|     private final void copyByteBufferInto(byte[] dst, int dstOffset, int length) { | ||||
|         byte[] bArr = this.byteBuffer; | ||||
|         int i = this.byteBufferStartIndex; | ||||
|         ArraysKt.copyInto(bArr, dst, dstOffset, i, i + length); | ||||
|         this.byteBufferStartIndex += length; | ||||
|         resetByteBufferIfEmpty(); | ||||
|     } | ||||
|  | ||||
|     private final void shiftByteBufferToStartIfNeeded() { | ||||
|         byte[] bArr = this.byteBuffer; | ||||
|         int length = bArr.length; | ||||
|         int i = this.byteBufferEndIndex; | ||||
|         if ((this.symbolBuffer.length / 4) * 3 > length - i) { | ||||
|             ArraysKt.copyInto(bArr, bArr, 0, this.byteBufferStartIndex, i); | ||||
|             this.byteBufferEndIndex -= this.byteBufferStartIndex; | ||||
|             this.byteBufferStartIndex = 0; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private final int handlePaddingSymbol(int symbolBufferLength) { | ||||
|         this.symbolBuffer[symbolBufferLength] = Base64.padSymbol; | ||||
|         if ((symbolBufferLength & 3) != 2) { | ||||
|             return symbolBufferLength + 1; | ||||
|         } | ||||
|         int readNextSymbol = readNextSymbol(); | ||||
|         if (readNextSymbol >= 0) { | ||||
|             this.symbolBuffer[symbolBufferLength + 1] = (byte) readNextSymbol; | ||||
|         } | ||||
|         return symbolBufferLength + 2; | ||||
|     } | ||||
|  | ||||
|     private final int readNextSymbol() { | ||||
|         int read; | ||||
|         if (!this.base64.getIsMimeScheme()) { | ||||
|             return this.input.read(); | ||||
|         } | ||||
|         do { | ||||
|             read = this.input.read(); | ||||
|             if (read == -1) { | ||||
|                 break; | ||||
|             } | ||||
|         } while (!Base64Kt.isInMimeAlphabet(read)); | ||||
|         return read; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										133
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/EncodeOutputStream.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/EncodeOutputStream.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,133 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import androidx.constraintlayout.core.motion.utils.TypedValues; | ||||
| import java.io.IOException; | ||||
| import java.io.OutputStream; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.collections.ArraysKt; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
|  | ||||
| /* compiled from: Base64IOStream.kt */ | ||||
| @Metadata(d1 = {"\u00000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\r\b\u0003\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0001\u0012\u0006\u0010\u0003\u001a\u00020\u0004¢\u0006\u0002\u0010\u0005J\b\u0010\u000e\u001a\u00020\u000fH\u0002J\b\u0010\u0010\u001a\u00020\u000fH\u0016J \u0010\u0011\u001a\u00020\t2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\t2\u0006\u0010\u0014\u001a\u00020\tH\u0002J\b\u0010\u0015\u001a\u00020\u000fH\u0002J \u0010\u0016\u001a\u00020\t2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0013\u001a\u00020\t2\u0006\u0010\u0014\u001a\u00020\tH\u0002J\b\u0010\u0017\u001a\u00020\u000fH\u0016J \u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u0012\u001a\u00020\u00072\u0006\u0010\u0019\u001a\u00020\t2\u0006\u0010\u001a\u001a\u00020\tH\u0016J\u0010\u0010\u0018\u001a\u00020\u000f2\u0006\u0010\u001b\u001a\u00020\tH\u0016R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0001X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u001c"}, d2 = {"Lkotlin/io/encoding/EncodeOutputStream;", "Ljava/io/OutputStream;", "output", "base64", "Lkotlin/io/encoding/Base64;", "(Ljava/io/OutputStream;Lkotlin/io/encoding/Base64;)V", "byteBuffer", "", "byteBufferLength", "", "isClosed", "", "lineLength", "symbolBuffer", "checkOpen", "", "close", "copyIntoByteBuffer", "source", "startIndex", "endIndex", "encodeByteBufferIntoOutput", "encodeIntoOutput", "flush", "write", TypedValues.CycleType.S_WAVE_OFFSET, "length", "b", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| final class EncodeOutputStream extends OutputStream { | ||||
|     private final Base64 base64; | ||||
|     private final byte[] byteBuffer; | ||||
|     private int byteBufferLength; | ||||
|     private boolean isClosed; | ||||
|     private int lineLength; | ||||
|     private final OutputStream output; | ||||
|     private final byte[] symbolBuffer; | ||||
|  | ||||
|     public EncodeOutputStream(OutputStream output, Base64 base64) { | ||||
|         Intrinsics.checkNotNullParameter(output, "output"); | ||||
|         Intrinsics.checkNotNullParameter(base64, "base64"); | ||||
|         this.output = output; | ||||
|         this.base64 = base64; | ||||
|         this.lineLength = base64.getIsMimeScheme() ? 76 : -1; | ||||
|         this.symbolBuffer = new byte[1024]; | ||||
|         this.byteBuffer = new byte[3]; | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.OutputStream | ||||
|     public void write(int b) { | ||||
|         checkOpen(); | ||||
|         byte[] bArr = this.byteBuffer; | ||||
|         int i = this.byteBufferLength; | ||||
|         int i2 = i + 1; | ||||
|         this.byteBufferLength = i2; | ||||
|         bArr[i] = (byte) b; | ||||
|         if (i2 == 3) { | ||||
|             encodeByteBufferIntoOutput(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.OutputStream | ||||
|     public void write(byte[] source, int offset, int length) { | ||||
|         int i; | ||||
|         Intrinsics.checkNotNullParameter(source, "source"); | ||||
|         checkOpen(); | ||||
|         if (offset < 0 || length < 0 || (i = offset + length) > source.length) { | ||||
|             throw new IndexOutOfBoundsException("offset: " + offset + ", length: " + length + ", source size: " + source.length); | ||||
|         } | ||||
|         if (length == 0) { | ||||
|             return; | ||||
|         } | ||||
|         int i2 = this.byteBufferLength; | ||||
|         if (i2 >= 3) { | ||||
|             throw new IllegalStateException("Check failed.".toString()); | ||||
|         } | ||||
|         if (i2 != 0) { | ||||
|             offset += copyIntoByteBuffer(source, offset, i); | ||||
|             if (this.byteBufferLength != 0) { | ||||
|                 return; | ||||
|             } | ||||
|         } | ||||
|         while (offset + 3 <= i) { | ||||
|             int min = Math.min((this.base64.getIsMimeScheme() ? this.lineLength : this.symbolBuffer.length) / 4, (i - offset) / 3); | ||||
|             int i3 = (min * 3) + offset; | ||||
|             if (encodeIntoOutput(source, offset, i3) != min * 4) { | ||||
|                 throw new IllegalStateException("Check failed.".toString()); | ||||
|             } | ||||
|             offset = i3; | ||||
|         } | ||||
|         ArraysKt.copyInto(source, this.byteBuffer, 0, offset, i); | ||||
|         this.byteBufferLength = i - offset; | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.OutputStream, java.io.Flushable | ||||
|     public void flush() { | ||||
|         checkOpen(); | ||||
|         this.output.flush(); | ||||
|     } | ||||
|  | ||||
|     @Override // java.io.OutputStream, java.io.Closeable, java.lang.AutoCloseable | ||||
|     public void close() { | ||||
|         if (this.isClosed) { | ||||
|             return; | ||||
|         } | ||||
|         this.isClosed = true; | ||||
|         if (this.byteBufferLength != 0) { | ||||
|             encodeByteBufferIntoOutput(); | ||||
|         } | ||||
|         this.output.close(); | ||||
|     } | ||||
|  | ||||
|     private final int copyIntoByteBuffer(byte[] source, int startIndex, int endIndex) { | ||||
|         int min = Math.min(3 - this.byteBufferLength, endIndex - startIndex); | ||||
|         ArraysKt.copyInto(source, this.byteBuffer, this.byteBufferLength, startIndex, startIndex + min); | ||||
|         int i = this.byteBufferLength + min; | ||||
|         this.byteBufferLength = i; | ||||
|         if (i == 3) { | ||||
|             encodeByteBufferIntoOutput(); | ||||
|         } | ||||
|         return min; | ||||
|     } | ||||
|  | ||||
|     private final void encodeByteBufferIntoOutput() { | ||||
|         if (encodeIntoOutput(this.byteBuffer, 0, this.byteBufferLength) != 4) { | ||||
|             throw new IllegalStateException("Check failed.".toString()); | ||||
|         } | ||||
|         this.byteBufferLength = 0; | ||||
|     } | ||||
|  | ||||
|     private final int encodeIntoOutput(byte[] source, int startIndex, int endIndex) { | ||||
|         int encodeIntoByteArray = this.base64.encodeIntoByteArray(source, this.symbolBuffer, 0, startIndex, endIndex); | ||||
|         if (this.lineLength == 0) { | ||||
|             this.output.write(Base64.INSTANCE.getMimeLineSeparatorSymbols$kotlin_stdlib()); | ||||
|             this.lineLength = 76; | ||||
|             if (encodeIntoByteArray > 76) { | ||||
|                 throw new IllegalStateException("Check failed.".toString()); | ||||
|             } | ||||
|         } | ||||
|         this.output.write(this.symbolBuffer, 0, encodeIntoByteArray); | ||||
|         this.lineLength -= encodeIntoByteArray; | ||||
|         return encodeIntoByteArray; | ||||
|     } | ||||
|  | ||||
|     private final void checkOpen() { | ||||
|         if (this.isClosed) { | ||||
|             throw new IOException("The output stream is closed."); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,23 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import java.lang.annotation.Documented; | ||||
| import java.lang.annotation.ElementType; | ||||
| import java.lang.annotation.Retention; | ||||
| import java.lang.annotation.RetentionPolicy; | ||||
| import java.lang.annotation.Target; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.annotation.AnnotationRetention; | ||||
| import kotlin.annotation.AnnotationTarget; | ||||
| import kotlin.annotation.MustBeDocumented; | ||||
|  | ||||
| /* compiled from: ExperimentalEncodingApi.kt */ | ||||
| @Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.CONSTRUCTOR, ElementType.LOCAL_VARIABLE, ElementType.ANNOTATION_TYPE}) | ||||
| @kotlin.annotation.Target(allowedTargets = {AnnotationTarget.CLASS, AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.PROPERTY, AnnotationTarget.FIELD, AnnotationTarget.LOCAL_VARIABLE, AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.CONSTRUCTOR, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER, AnnotationTarget.TYPEALIAS}) | ||||
| @Retention(RetentionPolicy.CLASS) | ||||
| @kotlin.annotation.Retention(AnnotationRetention.BINARY) | ||||
| @MustBeDocumented | ||||
| @Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\b\u0087\u0002\u0018\u00002\u00020\u0001B\u0000¨\u0006\u0002"}, d2 = {"Lkotlin/io/encoding/ExperimentalEncodingApi;", "", "kotlin-stdlib"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
| @Documented | ||||
| /* loaded from: classes.dex */ | ||||
| public @interface ExperimentalEncodingApi { | ||||
| } | ||||
							
								
								
									
										11
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/StreamEncodingKt.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								02-Easy5/E5/sources/kotlin/io/encoding/StreamEncodingKt.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import kotlin.Metadata; | ||||
|  | ||||
| /* compiled from: Base64IOStream.kt */ | ||||
| @Metadata(d1 = {"kotlin/io/encoding/StreamEncodingKt__Base64IOStreamKt"}, k = 4, mv = {1, 8, 0}, xi = 49) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class StreamEncodingKt extends StreamEncodingKt__Base64IOStreamKt { | ||||
|     private StreamEncodingKt() { | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,23 @@ | ||||
| package kotlin.io.encoding; | ||||
|  | ||||
| import java.io.InputStream; | ||||
| import java.io.OutputStream; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
|  | ||||
| /* compiled from: Base64IOStream.kt */ | ||||
| @Metadata(d1 = {"\u0000\u0014\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\u001a\u0014\u0010\u0000\u001a\u00020\u0001*\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u0003H\u0007\u001a\u0014\u0010\u0004\u001a\u00020\u0005*\u00020\u00052\u0006\u0010\u0002\u001a\u00020\u0003H\u0007¨\u0006\u0006"}, d2 = {"decodingWith", "Ljava/io/InputStream;", "base64", "Lkotlin/io/encoding/Base64;", "encodingWith", "Ljava/io/OutputStream;", "kotlin-stdlib"}, k = 5, mv = {1, 8, 0}, xi = 49, xs = "kotlin/io/encoding/StreamEncodingKt") | ||||
| /* loaded from: classes.dex */ | ||||
| class StreamEncodingKt__Base64IOStreamKt { | ||||
|     public static final InputStream decodingWith(InputStream inputStream, Base64 base64) { | ||||
|         Intrinsics.checkNotNullParameter(inputStream, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(base64, "base64"); | ||||
|         return new DecodeInputStream(inputStream, base64); | ||||
|     } | ||||
|  | ||||
|     public static final OutputStream encodingWith(OutputStream outputStream, Base64 base64) { | ||||
|         Intrinsics.checkNotNullParameter(outputStream, "<this>"); | ||||
|         Intrinsics.checkNotNullParameter(base64, "base64"); | ||||
|         return new EncodeOutputStream(outputStream, base64); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user