// Path: android-networking/src/main/java/com/androidnetworking/common/ANConstants.java
// public final class ANConstants {
//     public static final int MAX_CACHE_SIZE = 10 * 1024 * 1024;
//     public static final int UPDATE = 0x01;
//     public static final String CACHE_DIR_NAME = "cache_an";
//     public static final String CONNECTION_ERROR = "connectionError";
//     public static final String RESPONSE_FROM_SERVER_ERROR = "responseFromServerError";
//     public static final String REQUEST_CANCELLED_ERROR = "requestCancelledError";
//     public static final String PARSE_ERROR = "parseError";
//     public static final String PREFETCH = "prefetch";
//     public static final String FAST_ANDROID_NETWORKING = "FastAndroidNetworking";
//     public static final String USER_AGENT = "User-Agent";
//     public static final String SUCCESS = "success";
//     public static final String OPTIONS = "OPTIONS";
// }


import com.androidnetworking.common.ANConstants;
import com.androidnetworking.interfaces.UploadProgressListener;
import com.androidnetworking.model.Progress;
import java.io.IOException;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import okio.Buffer;
import okio.BufferedSink;
import okio.ForwardingSink;
import okio.Okio;
import okio.Sink;
        return requestBody.contentType();
    }

    @Override
    public long contentLength() throws IOException {
        return requestBody.contentLength();
    }

    @Override
    public void writeTo(BufferedSink sink) throws IOException {
        if (bufferedSink == null) {
            bufferedSink = Okio.buffer(sink(sink));
        }
        requestBody.writeTo(bufferedSink);
        bufferedSink.flush();
    }

    private Sink sink(Sink sink) {
        return new ForwardingSink(sink) {
            long bytesWritten = 0L;
            long contentLength = 0L;

            @Override
            public void write(Buffer source, long byteCount) throws IOException {
                super.write(source, byteCount);
                if (contentLength == 0) {
                    contentLength = contentLength();
                }
                bytesWritten += byteCount;
                if (uploadProgressHandler != null) {
// Path: android-networking/src/main/java/com/androidnetworking/common/ANConstants.java
// public final class ANConstants {
//     public static final int MAX_CACHE_SIZE = 10 * 1024 * 1024;
//     public static final int UPDATE = 0x01;
//     public static final String CACHE_DIR_NAME = "cache_an";
//     public static final String CONNECTION_ERROR = "connectionError";
//     public static final String RESPONSE_FROM_SERVER_ERROR = "responseFromServerError";
//     public static final String REQUEST_CANCELLED_ERROR = "requestCancelledError";
//     public static final String PARSE_ERROR = "parseError";
//     public static final String PREFETCH = "prefetch";
//     public static final String FAST_ANDROID_NETWORKING = "FastAndroidNetworking";
//     public static final String USER_AGENT = "User-Agent";
//     public static final String SUCCESS = "success";
//     public static final String OPTIONS = "OPTIONS";
// }


// Path: android-networking/src/main/java/com/androidnetworking/internal/RequestProgressBody.java
import com.androidnetworking.common.ANConstants;
import com.androidnetworking.interfaces.UploadProgressListener;
import com.androidnetworking.model.Progress;
import java.io.IOException;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import okio.Buffer;
import okio.BufferedSink;
import okio.ForwardingSink;
import okio.Okio;
import okio.Sink;

        return requestBody.contentType();
    }

    @Override
    public long contentLength() throws IOException {
        return requestBody.contentLength();
    }

    @Override
    public void writeTo(BufferedSink sink) throws IOException {
        if (bufferedSink == null) {
            bufferedSink = Okio.buffer(sink(sink));
        }
        requestBody.writeTo(bufferedSink);
        bufferedSink.flush();
    }

    private Sink sink(Sink sink) {
        return new ForwardingSink(sink) {
            long bytesWritten = 0L;
            long contentLength = 0L;

            @Override
            public void write(Buffer source, long byteCount) throws IOException {
                super.write(source, byteCount);
                if (contentLength == 0) {
                    contentLength = contentLength();
                }
                bytesWritten += byteCount;
                if (uploadProgressHandler != null) {
                    uploadProgressHandler.obtainMessage(ANConstants.UPDATE,