jimu-decompiled/sources/org/xmlpull/mxp1/MXParser.java
2025-05-13 19:24:51 +02:00

2273 lines
81 KiB
Java

package org.xmlpull.mxp1;
import com.ijm.dataencryption.de.DataDecryptTool;
import com.ubt.jimu.unity.bluetooth.UnityActivity;
import com.unity3d.ads.metadata.MediationMetaData;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/* loaded from: classes2.dex */
public class MXParser implements XmlPullParser {
protected static final char[] m0 = MediationMetaData.KEY_VERSION.toCharArray();
protected static final char[] n0 = "ncoding".toCharArray();
protected static final char[] o0 = "tandalone".toCharArray();
protected static final char[] p0 = "yes".toCharArray();
protected static final char[] q0 = "no".toCharArray();
protected static boolean[] r0 = new boolean[DataDecryptTool.DECRYPT_SP_FILE];
protected static boolean[] s0 = new boolean[DataDecryptTool.DECRYPT_SP_FILE];
protected String[] A;
protected int[] B;
protected String[] C;
protected int D;
protected String[] E;
protected char[][] F;
protected String[] G;
protected char[][] H;
protected int[] I;
protected Reader J;
protected String K;
protected int L = 95;
protected char[] M;
protected int N;
protected boolean O;
protected int P;
protected int Q;
protected int R;
protected int S;
protected int T;
protected int U;
protected char[] V;
protected int W;
protected int X;
protected boolean Y;
protected boolean Z;
protected boolean a;
protected boolean a0;
protected boolean b;
protected boolean b0;
protected boolean c;
protected boolean c0;
protected String d;
protected boolean d0;
protected int e;
protected boolean e0;
protected int f;
protected boolean f0;
protected boolean g;
protected String g0;
protected boolean h;
protected String h0;
protected int i;
protected String i0;
protected boolean j;
protected Boolean j0;
protected int k;
protected String k0;
protected char[][] l;
protected char[] l0;
protected int[] m;
protected int[] n;
protected String[] o;
protected String[] p;
protected String[] q;
protected int[] r;
protected int s;
protected String[] t;
protected int[] u;
protected String[] v;
protected String[] x;
protected String[] y;
protected int z;
static {
h(':');
for (char c = 'A'; c <= 'Z'; c = (char) (c + 1)) {
h(c);
}
h('_');
for (char c2 = 'a'; c2 <= 'z'; c2 = (char) (c2 + 1)) {
h(c2);
}
for (char c3 = 192; c3 <= 767; c3 = (char) (c3 + 1)) {
h(c3);
}
for (char c4 = 880; c4 <= 893; c4 = (char) (c4 + 1)) {
h(c4);
}
for (char c5 = 895; c5 < 1024; c5 = (char) (c5 + 1)) {
h(c5);
}
g('-');
g('.');
for (char c6 = '0'; c6 <= '9'; c6 = (char) (c6 + 1)) {
g(c6);
}
g((char) 183);
for (char c7 = 768; c7 <= 879; c7 = (char) (c7 + 1)) {
g(c7);
}
}
public MXParser() {
long freeMemory = Runtime.getRuntime().freeMemory();
int i = UnityActivity.BLOCKLY_TYPE_NONE;
this.M = new char[freeMemory > 1000000 ? UnityActivity.BLOCKLY_TYPE_NONE : DataDecryptTool.DECRYPT_ALL_FILE];
this.N = (this.L * this.M.length) / 100;
this.V = new char[Runtime.getRuntime().freeMemory() <= 1000000 ? 64 : i];
this.l0 = new char[1];
}
protected static final int c(char[] cArr, int i, int i2) {
if (i2 == 0) {
return 0;
}
int i3 = (cArr[i] << 7) + cArr[(i + i2) - 1];
if (i2 > 16) {
i3 = (i3 << 7) + cArr[(i2 / 4) + i];
}
return i2 > 8 ? (i3 << 7) + cArr[i + (i2 / 2)] : i3;
}
protected String a(char[] cArr, int i, int i2) {
return new String(cArr, i, i2);
}
protected String b(char[] cArr, int i, int i2) {
return new String(cArr, i, i2).intern();
}
protected boolean c(char c) {
return c == ' ' || c == '\n' || c == '\r' || c == '\t';
}
protected char[] d(int i) throws XmlPullParserException, IOException {
if (this.a) {
char[] cArr = this.M;
int i2 = this.T;
this.h0 = a(cArr, i2, this.U - i2);
for (int i3 = this.D - 1; i3 >= 0; i3--) {
if (this.h0 == this.E[i3]) {
if (this.f0) {
this.g0 = this.G[i3];
}
return this.H[i3];
}
}
return null;
}
char[] cArr2 = this.M;
int i4 = this.T;
int c = c(cArr2, i4, this.U - i4);
for (int i5 = this.D - 1; i5 >= 0; i5--) {
if (c == this.I[i5]) {
char[][] cArr3 = this.F;
if (i == cArr3[i5].length) {
char[] cArr4 = cArr3[i5];
for (int i6 = 0; i6 < i; i6++) {
if (this.M[this.T + i6] != cArr4[i6]) {
break;
}
}
if (this.f0) {
this.g0 = this.G[i5];
}
return this.H[i5];
}
continue;
}
}
return null;
}
@Override // org.xmlpull.v1.XmlPullParser
public void defineEntityReplacementText(String str, String str2) throws XmlPullParserException {
b();
this.E[this.D] = a(str.toCharArray(), 0, str.length());
this.F[this.D] = str.toCharArray();
String[] strArr = this.G;
int i = this.D;
strArr[i] = str2;
this.H[i] = str2.toCharArray();
if (!this.a) {
int[] iArr = this.I;
int i2 = this.D;
char[][] cArr = this.F;
iArr[i2] = c(cArr[i2], 0, cArr[i2].length);
}
this.D++;
}
protected char e() throws IOException, XmlPullParserException {
if (this.S >= this.R) {
c();
if (this.h) {
return (char) 65535;
}
}
char[] cArr = this.M;
int i = this.S;
this.S = i + 1;
char c = cArr[i];
if (c == '\n') {
this.e++;
this.f = 1;
} else {
this.f++;
}
return c;
}
protected int f() throws XmlPullParserException, IOException {
char e;
this.g0 = null;
this.W = 0;
this.X = 0;
this.Y = false;
this.Q = this.U;
if (this.b0) {
this.b0 = false;
this.k--;
this.z = this.r[this.k];
}
if (this.j) {
this.j = false;
this.b0 = true;
this.i = 3;
return 3;
}
if (this.k <= 0) {
return this.g ? l() : n();
}
if (this.Z) {
this.Z = false;
int o = o();
this.i = o;
return o;
}
if (this.a0) {
this.a0 = false;
int j = j();
this.i = j;
return j;
}
if (this.d0) {
this.d0 = false;
e = '<';
} else if (this.c0) {
this.c0 = false;
e = '&';
} else {
e = e();
}
this.T = this.S - 1;
boolean z = false;
boolean z2 = false;
while (true) {
if (e == '<') {
if (z && this.f0) {
this.d0 = true;
this.i = 4;
return 4;
}
char e2 = e();
if (e2 == '/') {
if (this.f0 || !z) {
int j2 = j();
this.i = j2;
return j2;
}
this.a0 = true;
this.i = 4;
return 4;
}
if (e2 == '!') {
char e3 = e();
if (e3 == '-') {
h();
if (this.f0) {
this.i = 9;
return 9;
}
if (this.Y || !z) {
this.T = this.S;
e = e();
}
z2 = true;
e = e();
} else {
if (e3 != '[') {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("unexpected character in markup ");
stringBuffer.append(e(e3));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
a(z);
if (this.f0) {
this.i = 5;
return 5;
}
if (this.U - this.T > 0) {
if (!this.Y) {
z = true;
z2 = true;
}
}
e = e();
}
} else {
if (e2 != '?') {
if (!b(e2)) {
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("unexpected character in markup ");
stringBuffer2.append(e(e2));
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
}
if (this.f0 || !z) {
int o2 = o();
this.i = o2;
return o2;
}
this.Z = true;
this.i = 4;
return 4;
}
m();
if (this.f0) {
this.i = 8;
return 8;
}
if (this.Y || !z) {
this.T = this.S;
e = e();
}
z2 = true;
e = e();
}
} else if (e != '&') {
if (z2) {
d();
z2 = false;
}
boolean z3 = (this.f0 && this.c) ? false : true;
boolean z4 = false;
boolean z5 = false;
boolean z6 = false;
do {
if (e != ']') {
if (z4 && e == '>') {
throw new XmlPullParserException("characters ]]> are not allowed in content", this, null);
}
if (z5) {
z4 = false;
z5 = false;
}
} else if (z5) {
z4 = true;
} else {
z5 = true;
}
if (z3) {
if (e == '\r') {
this.U = this.S - 1;
if (!this.Y) {
if (this.U > this.T) {
d();
} else {
this.Y = true;
this.X = 0;
this.W = 0;
}
}
int i = this.X;
if (i >= this.V.length) {
c(i);
}
char[] cArr = this.V;
int i2 = this.X;
this.X = i2 + 1;
cArr[i2] = '\n';
z6 = true;
} else {
if (e == '\n') {
if (!z6 && this.Y) {
int i3 = this.X;
if (i3 >= this.V.length) {
c(i3);
}
char[] cArr2 = this.V;
int i4 = this.X;
this.X = i4 + 1;
cArr2[i4] = '\n';
}
} else if (this.Y) {
int i5 = this.X;
if (i5 >= this.V.length) {
c(i5);
}
char[] cArr3 = this.V;
int i6 = this.X;
this.X = i6 + 1;
cArr3[i6] = e;
}
z6 = false;
}
}
e = e();
if (e == '<') {
break;
}
} while (e != '&');
this.U = this.S - 1;
z = true;
} else {
if (this.f0 && z) {
this.c0 = true;
this.i = 4;
return 4;
}
int i7 = this.T;
int i8 = this.P;
int i9 = i7 + i8;
int i10 = this.U + i8;
char[] k = k();
if (this.f0) {
this.i = 6;
return 6;
}
if (k == null) {
if (this.h0 == null) {
char[] cArr4 = this.M;
int i11 = this.T;
this.h0 = a(cArr4, i11, this.U - i11);
}
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append("could not resolve entity named '");
stringBuffer3.append(a(this.h0));
stringBuffer3.append("'");
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
}
int i12 = this.P;
this.T = i9 - i12;
this.U = i10 - i12;
if (!this.Y) {
if (z) {
d();
z2 = false;
} else {
this.Y = true;
this.X = 0;
this.W = 0;
}
}
for (char c : k) {
int i13 = this.X;
if (i13 >= this.V.length) {
c(i13);
}
char[] cArr5 = this.V;
int i14 = this.X;
this.X = i14 + 1;
cArr5[i14] = c;
}
}
z = true;
e = e();
}
}
/* JADX WARN: Code restructure failed: missing block: B:24:0x004f, code lost:
if (r7 != 'm') goto L27;
*/
/* JADX WARN: Code restructure failed: missing block: B:25:0x0051, code lost:
r10 = false;
*/
/* JADX WARN: Code restructure failed: missing block: B:28:0x0057, code lost:
if (r7 != 'l') goto L27;
*/
/* JADX WARN: Code restructure failed: missing block: B:32:0x005f, code lost:
if (r7 != 'n') goto L27;
*/
/* JADX WARN: Code restructure failed: missing block: B:35:0x0066, code lost:
if (r7 != 's') goto L27;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected char g() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 884
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.g():char");
}
@Override // org.xmlpull.v1.XmlPullParser
public int getAttributeCount() {
if (this.i != 2) {
return -1;
}
return this.s;
}
@Override // org.xmlpull.v1.XmlPullParser
public String getAttributeName(int i) {
if (this.i != 2) {
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
}
if (i >= 0 && i < this.s) {
return this.t[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("attribute position must be 0..");
stringBuffer.append(this.s - 1);
stringBuffer.append(" and not ");
stringBuffer.append(i);
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getAttributeNamespace(int i) {
if (this.i != 2) {
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
}
if (!this.b) {
return "";
}
if (i >= 0 && i < this.s) {
return this.x[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("attribute position must be 0..");
stringBuffer.append(this.s - 1);
stringBuffer.append(" and not ");
stringBuffer.append(i);
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getAttributePrefix(int i) {
if (this.i != 2) {
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
}
if (!this.b) {
return null;
}
if (i >= 0 && i < this.s) {
return this.v[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("attribute position must be 0..");
stringBuffer.append(this.s - 1);
stringBuffer.append(" and not ");
stringBuffer.append(i);
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getAttributeType(int i) {
if (this.i != 2) {
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
}
if (i >= 0 && i < this.s) {
return "CDATA";
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("attribute position must be 0..");
stringBuffer.append(this.s - 1);
stringBuffer.append(" and not ");
stringBuffer.append(i);
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getAttributeValue(int i) {
if (this.i != 2) {
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
}
if (i >= 0 && i < this.s) {
return this.y[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("attribute position must be 0..");
stringBuffer.append(this.s - 1);
stringBuffer.append(" and not ");
stringBuffer.append(i);
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public int getColumnNumber() {
return this.f;
}
@Override // org.xmlpull.v1.XmlPullParser
public int getDepth() {
return this.k;
}
@Override // org.xmlpull.v1.XmlPullParser
public int getEventType() throws XmlPullParserException {
return this.i;
}
@Override // org.xmlpull.v1.XmlPullParser
public boolean getFeature(String str) {
if (str == null) {
throw new IllegalArgumentException("feature name should not be null");
}
if (XmlPullParser.FEATURE_PROCESS_NAMESPACES.equals(str)) {
return this.b;
}
if ("http://xmlpull.org/v1/doc/features.html#names-interned".equals(str) || XmlPullParser.FEATURE_PROCESS_DOCDECL.equals(str) || !"http://xmlpull.org/v1/doc/features.html#xml-roundtrip".equals(str)) {
return false;
}
return this.c;
}
@Override // org.xmlpull.v1.XmlPullParser
public String getInputEncoding() {
return this.K;
}
@Override // org.xmlpull.v1.XmlPullParser
public int getLineNumber() {
return this.e;
}
@Override // org.xmlpull.v1.XmlPullParser
public String getName() {
int i = this.i;
if (i == 2) {
return this.o[this.k];
}
if (i == 3) {
return this.o[this.k];
}
if (i != 6) {
return null;
}
if (this.h0 == null) {
char[] cArr = this.M;
int i2 = this.T;
this.h0 = a(cArr, i2, this.U - i2);
}
return this.h0;
}
@Override // org.xmlpull.v1.XmlPullParser
public String getNamespace(String str) {
if (str == null) {
for (int i = this.z - 1; i >= 0; i--) {
if (this.A[i] == null) {
return this.C[i];
}
}
return null;
}
for (int i2 = this.z - 1; i2 >= 0; i2--) {
if (str.equals(this.A[i2])) {
return this.C[i2];
}
}
if ("xml".equals(str)) {
return "http://www.w3.org/XML/1998/namespace";
}
if ("xmlns".equals(str)) {
return "http://www.w3.org/2000/xmlns/";
}
return null;
}
@Override // org.xmlpull.v1.XmlPullParser
public int getNamespaceCount(int i) throws XmlPullParserException {
if (!this.b || i == 0) {
return 0;
}
if (i >= 0 && i <= this.k) {
return this.r[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("allowed namespace depth 0..");
stringBuffer.append(this.k);
stringBuffer.append(" not ");
stringBuffer.append(i);
throw new IllegalArgumentException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getNamespacePrefix(int i) throws XmlPullParserException {
if (i < this.z) {
return this.A[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("position ");
stringBuffer.append(i);
stringBuffer.append(" exceeded number of available namespaces ");
stringBuffer.append(this.z);
throw new XmlPullParserException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getNamespaceUri(int i) throws XmlPullParserException {
if (i < this.z) {
return this.C[i];
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("position ");
stringBuffer.append(i);
stringBuffer.append(" exceeded number of available namespaces ");
stringBuffer.append(this.z);
throw new XmlPullParserException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public String getPositionDescription() {
String str;
int i = this.T;
int i2 = this.S;
if (i <= i2) {
int a = a(0, this.M, i, i2);
int i3 = this.S;
r3 = a < i3 ? new String(this.M, a, i3 - a) : null;
if (this.P > 0 || a > 0) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("...");
stringBuffer.append(r3);
r3 = stringBuffer.toString();
}
}
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append(" ");
stringBuffer2.append(XmlPullParser.TYPES[this.i]);
if (r3 != null) {
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append(" seen ");
stringBuffer3.append(a(r3));
stringBuffer3.append("...");
str = stringBuffer3.toString();
} else {
str = "";
}
stringBuffer2.append(str);
stringBuffer2.append(" ");
String str2 = this.d;
if (str2 == null) {
str2 = "";
}
stringBuffer2.append(str2);
stringBuffer2.append("@");
stringBuffer2.append(getLineNumber());
stringBuffer2.append(":");
stringBuffer2.append(getColumnNumber());
return stringBuffer2.toString();
}
@Override // org.xmlpull.v1.XmlPullParser
public String getPrefix() {
int i = this.i;
if (i == 2) {
return this.p[this.k];
}
if (i == 3) {
return this.p[this.k];
}
return null;
}
@Override // org.xmlpull.v1.XmlPullParser
public Object getProperty(String str) {
if (str == null) {
throw new IllegalArgumentException("property name should not be null");
}
if ("http://xmlpull.org/v1/doc/properties.html#xmldecl-version".equals(str)) {
return this.i0;
}
if ("http://xmlpull.org/v1/doc/properties.html#xmldecl-standalone".equals(str)) {
return this.j0;
}
if ("http://xmlpull.org/v1/doc/properties.html#xmldecl-content".equals(str)) {
return this.k0;
}
if ("http://xmlpull.org/v1/doc/properties.html#location".equals(str)) {
return this.d;
}
return null;
}
@Override // org.xmlpull.v1.XmlPullParser
public String getText() {
int i = this.i;
if (i == 0 || i == 1) {
return null;
}
if (i == 6) {
return this.g0;
}
if (this.g0 == null) {
if (!this.Y || i == 2 || i == 3) {
char[] cArr = this.M;
int i2 = this.T;
this.g0 = new String(cArr, i2, this.U - i2);
} else {
char[] cArr2 = this.V;
int i3 = this.W;
this.g0 = new String(cArr2, i3, this.X - i3);
}
}
return this.g0;
}
@Override // org.xmlpull.v1.XmlPullParser
public char[] getTextCharacters(int[] iArr) {
int i = this.i;
if (i == 4) {
if (this.Y) {
int i2 = this.W;
iArr[0] = i2;
iArr[1] = this.X - i2;
return this.V;
}
int i3 = this.T;
iArr[0] = i3;
iArr[1] = this.U - i3;
return this.M;
}
if (i == 2 || i == 3 || i == 5 || i == 9 || i == 6 || i == 8 || i == 7 || i == 10) {
int i4 = this.T;
iArr[0] = i4;
iArr[1] = this.U - i4;
return this.M;
}
if (i == 0 || i == 1) {
iArr[1] = -1;
iArr[0] = -1;
return null;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("unknown text eventType: ");
stringBuffer.append(this.i);
throw new IllegalArgumentException(stringBuffer.toString());
}
/* JADX WARN: Code restructure failed: missing block: B:20:0x0030, code lost:
r4 = new java.lang.StringBuffer();
r4.append("in comment after two dashes (--) next character must be > not ");
r4.append(e(r10));
*/
/* JADX WARN: Code restructure failed: missing block: B:21:0x004a, code lost:
throw new org.xmlpull.v1.XmlPullParserException(r4.toString(), r13, null);
*/
/* JADX WARN: Code restructure failed: missing block: B:24:0x004d, code lost:
if (r8 != false) goto L25;
*/
/* JADX WARN: Code restructure failed: missing block: B:25:0x004f, code lost:
r8 = true;
*/
/* JADX WARN: Code restructure failed: missing block: B:43:0x00a8, code lost:
if (r10 != '\n') goto L72;
*/
/* JADX WARN: Code restructure failed: missing block: B:46:0x00ca, code lost:
if (r13.Y == false) goto L79;
*/
/* JADX WARN: Code restructure failed: missing block: B:49:0x00d1, code lost:
if (r13.X < r13.V.length) goto L62;
*/
/* JADX WARN: Code restructure failed: missing block: B:50:0x00d3, code lost:
c(r13.X);
*/
/* JADX WARN: Code restructure failed: missing block: B:51:0x00d8, code lost:
r9 = r13.V;
r11 = r13.X;
r13.X = r11 + 1;
r9[r11] = r10;
*/
/* JADX WARN: Code restructure failed: missing block: B:56:0x00aa, code lost:
if (r9 != false) goto L81;
*/
/* JADX WARN: Code restructure failed: missing block: B:59:0x00ae, code lost:
if (r13.Y == false) goto L82;
*/
/* JADX WARN: Code restructure failed: missing block: B:62:0x00b5, code lost:
if (r13.X < r13.V.length) goto L56;
*/
/* JADX WARN: Code restructure failed: missing block: B:63:0x00b7, code lost:
c(r13.X);
*/
/* JADX WARN: Code restructure failed: missing block: B:64:0x00bc, code lost:
r9 = r13.V;
r10 = r13.X;
r13.X = r10 + 1;
r9[r10] = '\n';
*/
/* JADX WARN: Code restructure failed: missing block: B:69:0x0051, code lost:
r7 = true;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected void h() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 273
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.h():void");
}
/* JADX WARN: Code restructure failed: missing block: B:50:0x0099, code lost:
if (r5 != '\n') goto L72;
*/
/* JADX WARN: Code restructure failed: missing block: B:53:0x00b8, code lost:
if (r8.Y == false) goto L79;
*/
/* JADX WARN: Code restructure failed: missing block: B:55:0x00ba, code lost:
r2 = r8.X;
*/
/* JADX WARN: Code restructure failed: missing block: B:56:0x00bf, code lost:
if (r2 < r8.V.length) goto L59;
*/
/* JADX WARN: Code restructure failed: missing block: B:57:0x00c1, code lost:
c(r2);
*/
/* JADX WARN: Code restructure failed: missing block: B:58:0x00c4, code lost:
r2 = r8.V;
r6 = r8.X;
r8.X = r6 + 1;
r2[r6] = r5;
*/
/* JADX WARN: Code restructure failed: missing block: B:63:0x009b, code lost:
if (r2 != false) goto L81;
*/
/* JADX WARN: Code restructure failed: missing block: B:66:0x009f, code lost:
if (r8.Y == false) goto L82;
*/
/* JADX WARN: Code restructure failed: missing block: B:68:0x00a1, code lost:
r2 = r8.X;
*/
/* JADX WARN: Code restructure failed: missing block: B:69:0x00a6, code lost:
if (r2 < r8.V.length) goto L53;
*/
/* JADX WARN: Code restructure failed: missing block: B:70:0x00a8, code lost:
c(r2);
*/
/* JADX WARN: Code restructure failed: missing block: B:71:0x00ab, code lost:
r2 = r8.V;
r5 = r8.X;
r8.X = r5 + 1;
r2[r5] = '\n';
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected void i() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 244
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.i():void");
}
@Override // org.xmlpull.v1.XmlPullParser
public boolean isAttributeDefault(int i) {
if (this.i != 2) {
throw new IndexOutOfBoundsException("only START_TAG can have attributes");
}
if (i >= 0 && i < this.s) {
return false;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("attribute position must be 0..");
stringBuffer.append(this.s - 1);
stringBuffer.append(" and not ");
stringBuffer.append(i);
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public boolean isEmptyElementTag() throws XmlPullParserException {
if (this.i == 2) {
return this.j;
}
throw new XmlPullParserException("parser must be on START_TAG to check for empty element", this, null);
}
@Override // org.xmlpull.v1.XmlPullParser
public boolean isWhitespace() throws XmlPullParserException {
int i = this.i;
if (i != 4 && i != 5) {
if (i == 7) {
return true;
}
throw new XmlPullParserException("no content available to check for white spaces");
}
if (this.Y) {
for (int i2 = this.W; i2 < this.X; i2++) {
if (!c(this.V[i2])) {
return false;
}
}
return true;
}
for (int i3 = this.T; i3 < this.U; i3++) {
if (!c(this.M[i3])) {
return false;
}
}
return true;
}
public int j() throws XmlPullParserException, IOException {
char e;
char e2 = e();
if (!b(e2)) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("expected name start and not ");
stringBuffer.append(e(e2));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
int i = this.S;
this.T = i - 3;
int i2 = this.P + (i - 1);
do {
e = e();
} while (a(e));
int i3 = i2 - this.P;
int i4 = (this.S - 1) - i3;
char[][] cArr = this.l;
int i5 = this.k;
char[] cArr2 = cArr[i5];
int[] iArr = this.m;
if (iArr[i5] != i4) {
String str = new String(cArr2, 0, iArr[i5]);
String str2 = new String(this.M, i3, i4);
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("end tag name </");
stringBuffer2.append(str2);
stringBuffer2.append("> must match start tag name <");
stringBuffer2.append(str);
stringBuffer2.append(">");
stringBuffer2.append(" from line ");
stringBuffer2.append(this.n[this.k]);
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
}
int i6 = i3;
int i7 = 0;
while (i7 < i4) {
int i8 = i6 + 1;
if (this.M[i6] != cArr2[i7]) {
String str3 = new String(cArr2, 0, i4);
String str4 = new String(this.M, (i8 - i7) - 1, i4);
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append("end tag name </");
stringBuffer3.append(str4);
stringBuffer3.append("> must be the same as start tag <");
stringBuffer3.append(str3);
stringBuffer3.append(">");
stringBuffer3.append(" from line ");
stringBuffer3.append(this.n[this.k]);
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
}
i7++;
i6 = i8;
}
while (c(e)) {
e = e();
}
if (e == '>') {
this.U = this.S;
this.b0 = true;
this.i = 3;
return 3;
}
StringBuffer stringBuffer4 = new StringBuffer();
stringBuffer4.append("expected > to finish end tag not ");
stringBuffer4.append(e(e));
stringBuffer4.append(" from line ");
stringBuffer4.append(this.n[this.k]);
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
}
protected char[] k() throws XmlPullParserException, IOException {
char e;
char c;
char e2;
int i;
int i2;
this.h0 = null;
this.T = this.S;
char e3 = e();
if (e3 == '#') {
char e4 = e();
if (e4 == 'x') {
c = 0;
while (true) {
e2 = e();
if (e2 >= '0' && e2 <= '9') {
i = c * 16;
i2 = e2 - '0';
} else if (e2 >= 'a' && e2 <= 'f') {
i = c * 16;
i2 = e2 - 'W';
} else {
if (e2 < 'A' || e2 > 'F') {
break;
}
i = c * 16;
i2 = e2 - '7';
}
c = (char) (i + i2);
}
if (e2 != ';') {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("character reference (with hex value) may not contain ");
stringBuffer.append(e(e2));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
} else {
char c2 = 0;
while (e4 >= '0' && e4 <= '9') {
c2 = (char) ((c2 * '\n') + (e4 - '0'));
e4 = e();
}
if (e4 != ';') {
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("character reference (with decimal value) may not contain ");
stringBuffer2.append(e(e4));
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
}
c = c2;
}
this.U = this.S - 1;
char[] cArr = this.l0;
cArr[0] = c;
if (this.f0) {
this.g0 = a(cArr, 0, 1);
}
return this.l0;
}
if (!b(e3)) {
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append("entity reference names can not start with character '");
stringBuffer3.append(e(e3));
stringBuffer3.append("'");
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
}
do {
e = e();
if (e == ';') {
this.U = this.S - 1;
int i3 = this.U;
int i4 = this.T;
int i5 = i3 - i4;
if (i5 == 2) {
char[] cArr2 = this.M;
if (cArr2[i4] == 'l' && cArr2[i4 + 1] == 't') {
if (this.f0) {
this.g0 = "<";
}
char[] cArr3 = this.l0;
cArr3[0] = '<';
return cArr3;
}
}
if (i5 == 3) {
char[] cArr4 = this.M;
int i6 = this.T;
if (cArr4[i6] == 'a' && cArr4[i6 + 1] == 'm' && cArr4[i6 + 2] == 'p') {
if (this.f0) {
this.g0 = "&";
}
char[] cArr5 = this.l0;
cArr5[0] = '&';
return cArr5;
}
}
if (i5 == 2) {
char[] cArr6 = this.M;
int i7 = this.T;
if (cArr6[i7] == 'g' && cArr6[i7 + 1] == 't') {
if (this.f0) {
this.g0 = ">";
}
char[] cArr7 = this.l0;
cArr7[0] = '>';
return cArr7;
}
}
if (i5 == 4) {
char[] cArr8 = this.M;
int i8 = this.T;
if (cArr8[i8] == 'a' && cArr8[i8 + 1] == 'p' && cArr8[i8 + 2] == 'o' && cArr8[i8 + 3] == 's') {
if (this.f0) {
this.g0 = "'";
}
char[] cArr9 = this.l0;
cArr9[0] = '\'';
return cArr9;
}
}
if (i5 == 4) {
char[] cArr10 = this.M;
int i9 = this.T;
if (cArr10[i9] == 'q' && cArr10[i9 + 1] == 'u' && cArr10[i9 + 2] == 'o' && cArr10[i9 + 3] == 't') {
if (this.f0) {
this.g0 = "\"";
}
char[] cArr11 = this.l0;
cArr11[0] = '\"';
return cArr11;
}
}
char[] d = d(i5);
if (d != null) {
return d;
}
if (this.f0) {
this.g0 = null;
}
return null;
}
} while (a(e));
StringBuffer stringBuffer4 = new StringBuffer();
stringBuffer4.append("entity reference name can not contain character ");
stringBuffer4.append(e(e));
stringBuffer4.append("'");
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
}
/* JADX WARN: Removed duplicated region for block: B:36:0x01b3 */
/* JADX WARN: Removed duplicated region for block: B:43:0x01c3 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected int l() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 467
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.l():int");
}
/* JADX WARN: Code restructure failed: missing block: B:81:0x0093, code lost:
if (r0 > 3) goto L58;
*/
/* JADX WARN: Code restructure failed: missing block: B:83:0x0099, code lost:
if (r16.M[r0] == 'x') goto L53;
*/
/* JADX WARN: Code restructure failed: missing block: B:85:0x009f, code lost:
if (r16.M[r15] == 'm') goto L53;
*/
/* JADX WARN: Code restructure failed: missing block: B:87:0x00a5, code lost:
if (r16.M[r11] != 'l') goto L51;
*/
/* JADX WARN: Code restructure failed: missing block: B:90:0x00b0, code lost:
throw new org.xmlpull.v1.XmlPullParserException("XMLDecl must have xml name in lowercase", r16, null);
*/
/* JADX WARN: Code restructure failed: missing block: B:91:0x00b1, code lost:
d(r7);
*/
/* JADX WARN: Code restructure failed: missing block: B:92:0x00b6, code lost:
if (r16.f0 == false) goto L56;
*/
/* JADX WARN: Code restructure failed: missing block: B:93:0x00b8, code lost:
r16.U = r16.S - 2;
*/
/* JADX WARN: Code restructure failed: missing block: B:94:0x00be, code lost:
r0 = (r0 - r16.P) + 3;
r16.k0 = a(r16.M, r0, (r16.S - 2) - r0);
*/
/* JADX WARN: Code restructure failed: missing block: B:95:0x00d0, code lost:
return false;
*/
/* JADX WARN: Code restructure failed: missing block: B:97:0x00d9, code lost:
throw new org.xmlpull.v1.XmlPullParserException("processing instruction can not have PITarget with reserveld xml name", r16, null);
*/
/* JADX WARN: Removed duplicated region for block: B:27:0x0109 A[Catch: EOFException -> 0x016a, TryCatch #0 {EOFException -> 0x016a, blocks: (B:10:0x001f, B:19:0x00e3, B:21:0x00e7, B:23:0x00f3, B:24:0x00f7, B:25:0x0102, B:27:0x0109, B:28:0x010e, B:30:0x0159, B:35:0x0120, B:37:0x0124, B:39:0x012b, B:40:0x0130, B:43:0x013c, B:45:0x0140, B:47:0x0147, B:48:0x014c, B:64:0x004e, B:66:0x0054, B:68:0x005f, B:70:0x0067, B:72:0x006f, B:74:0x0079, B:76:0x0081, B:78:0x008b, B:82:0x0095, B:84:0x009b, B:86:0x00a1, B:89:0x00a8, B:90:0x00b0, B:91:0x00b1, B:93:0x00b8, B:94:0x00be, B:96:0x00d1, B:97:0x00d9, B:99:0x0161, B:100:0x0169), top: B:9:0x001f }] */
/* JADX WARN: Type inference failed for: r6v0 */
/* JADX WARN: Type inference failed for: r6v2, types: [boolean, int] */
/* JADX WARN: Type inference failed for: r6v8 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected boolean m() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 399
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.m():boolean");
}
protected int n() throws XmlPullParserException, IOException {
char e = this.d0 ? this.M[this.S - 1] : e();
if (this.i == 0) {
if (e == 65534) {
throw new XmlPullParserException("first character in input was UNICODE noncharacter (0xFFFE)- input requires int swapping", this, null);
}
if (e == 65279) {
e = e();
}
}
this.d0 = false;
this.T = this.S - 1;
boolean z = this.f0 && !this.c;
boolean z2 = false;
boolean z3 = false;
while (true) {
if (e == '<') {
if (z2 && this.f0) {
this.U = this.S - 1;
this.d0 = true;
this.i = 7;
return 7;
}
char e2 = e();
if (e2 == '?') {
if (!m()) {
this.T = this.S;
z2 = false;
} else if (this.f0) {
this.i = 8;
return 8;
}
} else {
if (e2 != '!') {
if (e2 == '/') {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("expected start tag name and not ");
stringBuffer.append(e(e2));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
if (b(e2)) {
this.g = true;
return o();
}
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("expected start tag name and not ");
stringBuffer2.append(e(e2));
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
}
char e3 = e();
if (e3 == 'D') {
if (this.e0) {
throw new XmlPullParserException("only one docdecl allowed in XML document", this, null);
}
this.e0 = true;
i();
if (this.f0) {
this.i = 10;
return 10;
}
} else {
if (e3 != '-') {
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append("unexpected markup <!");
stringBuffer3.append(e(e3));
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
}
h();
if (this.f0) {
this.i = 9;
return 9;
}
}
}
} else {
if (!c(e)) {
StringBuffer stringBuffer4 = new StringBuffer();
stringBuffer4.append("only whitespace content allowed before start tag and not ");
stringBuffer4.append(e(e));
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
}
if (!z) {
z2 = true;
} else if (e == '\r') {
if (!this.Y) {
this.U = this.S - 1;
if (this.U > this.T) {
d();
} else {
this.Y = true;
this.X = 0;
this.W = 0;
}
}
int i = this.X;
if (i >= this.V.length) {
c(i);
}
char[] cArr = this.V;
int i2 = this.X;
this.X = i2 + 1;
cArr[i2] = '\n';
z2 = true;
z3 = true;
} else {
if (e == '\n') {
if (!z3 && this.Y) {
int i3 = this.X;
if (i3 >= this.V.length) {
c(i3);
}
char[] cArr2 = this.V;
int i4 = this.X;
this.X = i4 + 1;
cArr2[i4] = '\n';
}
} else if (this.Y) {
int i5 = this.X;
if (i5 >= this.V.length) {
c(i5);
}
char[] cArr3 = this.V;
int i6 = this.X;
this.X = i6 + 1;
cArr3[i6] = e;
}
z2 = true;
z3 = false;
}
}
e = e();
}
}
@Override // org.xmlpull.v1.XmlPullParser
public int next() throws XmlPullParserException, IOException {
this.f0 = false;
return f();
}
@Override // org.xmlpull.v1.XmlPullParser
public int nextTag() throws XmlPullParserException, IOException {
next();
if (this.i == 4 && isWhitespace()) {
next();
}
int i = this.i;
if (i == 2 || i == 3) {
return this.i;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("expected START_TAG or END_TAG not ");
stringBuffer.append(XmlPullParser.TYPES[getEventType()]);
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
@Override // org.xmlpull.v1.XmlPullParser
public String nextText() throws XmlPullParserException, IOException {
if (getEventType() != 2) {
throw new XmlPullParserException("parser must be on START_TAG to read next text", this, null);
}
int next = next();
if (next != 4) {
if (next == 3) {
return "";
}
throw new XmlPullParserException("parser must be on START_TAG or TEXT to read text", this, null);
}
String text = getText();
if (next() == 3) {
return text;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("TEXT must be immediately followed by END_TAG and not ");
stringBuffer.append(XmlPullParser.TYPES[getEventType()]);
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
@Override // org.xmlpull.v1.XmlPullParser
public int nextToken() throws XmlPullParserException, IOException {
this.f0 = true;
return f();
}
/* JADX WARN: Removed duplicated region for block: B:115:0x01e5 A[LOOP:5: B:115:0x01e5->B:138:0x0239, LOOP_START, PHI: r1
0x01e5: PHI (r1v1 int) = (r1v0 int), (r1v2 int) binds: [B:56:0x00ea, B:138:0x0239] A[DONT_GENERATE, DONT_INLINE]] */
/* JADX WARN: Removed duplicated region for block: B:145:0x00ca A[SYNTHETIC] */
/* JADX WARN: Removed duplicated region for block: B:37:0x00cf A[SYNTHETIC] */
/* JADX WARN: Removed duplicated region for block: B:57:0x00ec */
/* JADX WARN: Removed duplicated region for block: B:92:0x018c */
/* JADX WARN: Removed duplicated region for block: B:95:0x01ac */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
public int o() throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 688
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.o():int");
}
protected void p() {
this.d = null;
this.e = 1;
this.f = 0;
this.g = false;
this.h = false;
this.i = 0;
this.j = false;
this.k = 0;
this.s = 0;
this.z = 0;
this.D = 0;
this.J = null;
this.K = null;
this.O = false;
this.P = 0;
this.Q = 0;
this.R = 0;
this.U = 0;
this.T = 0;
this.S = 0;
this.W = 0;
this.X = 0;
this.Y = false;
this.Z = false;
this.a0 = false;
this.b0 = false;
this.c0 = false;
this.d0 = false;
this.e0 = false;
this.i0 = null;
this.j0 = null;
this.k0 = null;
q();
}
protected void q() {
}
@Override // org.xmlpull.v1.XmlPullParser
public void require(int i, String str, String str2) throws XmlPullParserException, IOException {
String str3;
String str4;
String str5;
String str6;
if (!this.b && str != null) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("processing namespaces must be enabled on parser (or factory) to have possible namespaces declared on elements");
stringBuffer.append(" (position:");
stringBuffer.append(getPositionDescription());
stringBuffer.append(")");
throw new XmlPullParserException(stringBuffer.toString());
}
if (i == getEventType() && ((str == null || str.equals(getNamespace())) && (str2 == null || str2.equals(getName())))) {
return;
}
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("expected event ");
stringBuffer2.append(XmlPullParser.TYPES[i]);
String str7 = "";
if (str2 != null) {
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append(" with name '");
stringBuffer3.append(str2);
stringBuffer3.append("'");
str3 = stringBuffer3.toString();
} else {
str3 = "";
}
stringBuffer2.append(str3);
stringBuffer2.append((str == null || str2 == null) ? "" : " and");
if (str != null) {
StringBuffer stringBuffer4 = new StringBuffer();
stringBuffer4.append(" with namespace '");
stringBuffer4.append(str);
stringBuffer4.append("'");
str4 = stringBuffer4.toString();
} else {
str4 = "";
}
stringBuffer2.append(str4);
stringBuffer2.append(" but got");
if (i != getEventType()) {
StringBuffer stringBuffer5 = new StringBuffer();
stringBuffer5.append(" ");
stringBuffer5.append(XmlPullParser.TYPES[getEventType()]);
str5 = stringBuffer5.toString();
} else {
str5 = "";
}
stringBuffer2.append(str5);
if (str2 == null || getName() == null || str2.equals(getName())) {
str6 = "";
} else {
StringBuffer stringBuffer6 = new StringBuffer();
stringBuffer6.append(" name '");
stringBuffer6.append(getName());
stringBuffer6.append("'");
str6 = stringBuffer6.toString();
}
stringBuffer2.append(str6);
stringBuffer2.append((str == null || str2 == null || getName() == null || str2.equals(getName()) || getNamespace() == null || str.equals(getNamespace())) ? "" : " and");
if (str != null && getNamespace() != null && !str.equals(getNamespace())) {
StringBuffer stringBuffer7 = new StringBuffer();
stringBuffer7.append(" namespace '");
stringBuffer7.append(getNamespace());
stringBuffer7.append("'");
str7 = stringBuffer7.toString();
}
stringBuffer2.append(str7);
stringBuffer2.append(" (position:");
stringBuffer2.append(getPositionDescription());
stringBuffer2.append(")");
throw new XmlPullParserException(stringBuffer2.toString());
}
@Override // org.xmlpull.v1.XmlPullParser
public void setFeature(String str, boolean z) throws XmlPullParserException {
if (str == null) {
throw new IllegalArgumentException("feature name should not be null");
}
if (XmlPullParser.FEATURE_PROCESS_NAMESPACES.equals(str)) {
if (this.i != 0) {
throw new XmlPullParserException("namespace processing feature can only be changed before parsing", this, null);
}
this.b = z;
} else if ("http://xmlpull.org/v1/doc/features.html#names-interned".equals(str)) {
if (z) {
throw new XmlPullParserException("interning names in this implementation is not supported");
}
} else if (XmlPullParser.FEATURE_PROCESS_DOCDECL.equals(str)) {
if (z) {
throw new XmlPullParserException("processing DOCDECL is not supported");
}
} else {
if ("http://xmlpull.org/v1/doc/features.html#xml-roundtrip".equals(str)) {
this.c = z;
return;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("unsupported feature ");
stringBuffer.append(str);
throw new XmlPullParserException(stringBuffer.toString());
}
}
@Override // org.xmlpull.v1.XmlPullParser
public void setInput(Reader reader) throws XmlPullParserException {
p();
this.J = reader;
}
@Override // org.xmlpull.v1.XmlPullParser
public void setProperty(String str, Object obj) throws XmlPullParserException {
if ("http://xmlpull.org/v1/doc/properties.html#location".equals(str)) {
this.d = (String) obj;
return;
}
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("unsupported property: '");
stringBuffer.append(str);
stringBuffer.append("'");
throw new XmlPullParserException(stringBuffer.toString());
}
protected void a() {
String[] strArr = this.o;
int length = strArr != null ? strArr.length : 0;
int i = this.k;
if (i + 1 >= length) {
int i2 = (i >= 7 ? i * 2 : 8) + 2;
boolean z = length > 0;
String[] strArr2 = new String[i2];
if (z) {
System.arraycopy(this.o, 0, strArr2, 0, length);
}
this.o = strArr2;
String[] strArr3 = new String[i2];
if (z) {
System.arraycopy(this.p, 0, strArr3, 0, length);
}
this.p = strArr3;
String[] strArr4 = new String[i2];
if (z) {
System.arraycopy(this.q, 0, strArr4, 0, length);
}
this.q = strArr4;
int[] iArr = new int[i2];
if (z) {
System.arraycopy(this.r, 0, iArr, 0, length);
} else {
iArr[0] = 0;
}
this.r = iArr;
int[] iArr2 = new int[i2];
if (z) {
System.arraycopy(this.m, 0, iArr2, 0, length);
}
this.m = iArr2;
int[] iArr3 = new int[i2];
if (z) {
System.arraycopy(this.n, 0, iArr3, 0, length);
}
this.n = iArr3;
char[][] cArr = new char[i2][];
if (z) {
System.arraycopy(this.l, 0, cArr, 0, length);
}
this.l = cArr;
}
}
protected void b(int i) {
String[] strArr = this.A;
if (i >= (strArr != null ? strArr.length : 0)) {
int i2 = i > 7 ? i * 2 : 8;
String[] strArr2 = new String[i2];
String[] strArr3 = new String[i2];
String[] strArr4 = this.A;
if (strArr4 != null) {
System.arraycopy(strArr4, 0, strArr2, 0, this.z);
System.arraycopy(this.C, 0, strArr3, 0, this.z);
}
this.A = strArr2;
this.C = strArr3;
if (this.a) {
return;
}
int[] iArr = new int[i2];
int[] iArr2 = this.B;
if (iArr2 != null) {
System.arraycopy(iArr2, 0, iArr, 0, this.z);
}
this.B = iArr;
}
}
@Override // org.xmlpull.v1.XmlPullParser
public void setInput(InputStream inputStream, String str) throws XmlPullParserException {
InputStreamReader inputStreamReader;
if (inputStream != null) {
try {
if (str != null) {
inputStreamReader = new InputStreamReader(inputStream, str);
} else {
inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
}
setInput(inputStreamReader);
this.K = str;
return;
} catch (UnsupportedEncodingException e) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("could not create reader for encoding ");
stringBuffer.append(str);
stringBuffer.append(" : ");
stringBuffer.append(e);
throw new XmlPullParserException(stringBuffer.toString(), this, e);
}
}
throw new IllegalArgumentException("input stream can not be null");
}
/* JADX WARN: Removed duplicated region for block: B:13:0x002a */
/* JADX WARN: Removed duplicated region for block: B:15:0x0035 */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected void c() throws java.io.IOException, org.xmlpull.v1.XmlPullParserException {
/*
Method dump skipped, instructions count: 404
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.c():void");
}
@Override // org.xmlpull.v1.XmlPullParser
public String getAttributeValue(String str, String str2) {
if (this.i != 2) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("only START_TAG can have attributes");
stringBuffer.append(getPositionDescription());
throw new IndexOutOfBoundsException(stringBuffer.toString());
}
if (str2 != null) {
int i = 0;
if (this.b) {
if (str == null) {
str = "";
}
while (i < this.s) {
String[] strArr = this.x;
if ((str == strArr[i] || str.equals(strArr[i])) && str2.equals(this.t[i])) {
return this.y[i];
}
i++;
}
} else {
if (str != null && str.length() == 0) {
str = null;
}
if (str == null) {
while (i < this.s) {
if (str2.equals(this.t[i])) {
return this.y[i];
}
i++;
}
} else {
throw new IllegalArgumentException("when namespaces processing is disabled attribute namespace must be null");
}
}
return null;
}
throw new IllegalArgumentException("attribute name can not be null");
}
protected String e(char c) {
if (c == '\n') {
return "\\n";
}
if (c == '\r') {
return "\\r";
}
if (c == '\t') {
return "\\t";
}
if (c == '\'') {
return "\\'";
}
if (c <= 127 && c >= ' ') {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("");
stringBuffer.append(c);
return stringBuffer.toString();
}
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("\\u");
stringBuffer2.append(Integer.toHexString(c));
return stringBuffer2.toString();
}
@Override // org.xmlpull.v1.XmlPullParser
public String getNamespace() {
int i = this.i;
if (i == 2) {
return this.b ? this.q[this.k] : "";
}
if (i == 3) {
return this.b ? this.q[this.k] : "";
}
return null;
}
protected void d(char c) throws XmlPullParserException, IOException {
this.O = true;
this.Q = 0;
char f = f(a(f(c), m0));
if (f == '=') {
char f2 = f(e());
if (f2 != '\'' && f2 != '\"') {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("expected apostrophe (') or quotation mark (\") after version and not ");
stringBuffer.append(e(f2));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
int i = this.S;
char e = e();
while (e != f2) {
if ((e < 'a' || e > 'z') && ((e < 'A' || e > 'Z') && ((e < '0' || e > '9') && e != '_' && e != '.' && e != ':' && e != '-'))) {
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("<?xml version value expected to be in ([a-zA-Z0-9_.:] | '-') not ");
stringBuffer2.append(e(e));
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
}
e = e();
}
a(i, this.S - 1);
this.O = false;
return;
}
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append("expected equals sign (=) after version and not ");
stringBuffer3.append(e(f));
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
}
protected void b() {
char[][] cArr = this.H;
int length = cArr != null ? cArr.length : 0;
int i = this.D;
if (i >= length) {
int i2 = i > 7 ? i * 2 : 8;
String[] strArr = new String[i2];
char[][] cArr2 = new char[i2][];
String[] strArr2 = new String[i2];
char[][] cArr3 = new char[i2][];
String[] strArr3 = this.E;
if (strArr3 != null) {
System.arraycopy(strArr3, 0, strArr, 0, this.D);
System.arraycopy(this.F, 0, cArr2, 0, this.D);
System.arraycopy(this.G, 0, strArr2, 0, this.D);
System.arraycopy(this.H, 0, cArr3, 0, this.D);
}
this.E = strArr;
this.F = cArr2;
this.G = strArr2;
this.H = cArr3;
if (this.a) {
return;
}
int[] iArr = new int[i2];
int[] iArr2 = this.I;
if (iArr2 != null) {
System.arraycopy(iArr2, 0, iArr, 0, this.D);
}
this.I = iArr;
}
}
protected void a(int i) {
String[] strArr = this.t;
int length = strArr != null ? strArr.length : 0;
if (i >= length) {
int i2 = i > 7 ? i * 2 : 8;
boolean z = length > 0;
String[] strArr2 = new String[i2];
if (z) {
System.arraycopy(this.t, 0, strArr2, 0, length);
}
this.t = strArr2;
String[] strArr3 = new String[i2];
if (z) {
System.arraycopy(this.v, 0, strArr3, 0, length);
}
this.v = strArr3;
String[] strArr4 = new String[i2];
if (z) {
System.arraycopy(this.x, 0, strArr4, 0, length);
}
this.x = strArr4;
String[] strArr5 = new String[i2];
if (z) {
System.arraycopy(this.y, 0, strArr5, 0, length);
}
this.y = strArr5;
if (this.a) {
return;
}
int[] iArr = new int[i2];
if (z) {
System.arraycopy(this.u, 0, iArr, 0, length);
}
this.u = iArr;
}
}
private static final void h(char c) {
r0[c] = true;
g(c);
}
protected void d() {
int i = this.U - this.T;
int i2 = this.X + i + 1;
if (i2 >= this.V.length) {
c(i2);
}
System.arraycopy(this.M, this.T, this.V, this.X, i);
this.X += i;
this.Y = true;
}
protected boolean b(char c) {
return (c < 1024 && r0[c]) || (c >= 1024 && c <= 8231) || ((c >= 8234 && c <= 8591) || (c >= 10240 && c <= 65519));
}
private static int a(int i, char[] cArr, int i2, int i3) {
if (i2 < i) {
return i > i3 ? i3 : i;
}
if (i3 - i2 > 65) {
i2 = i3 - 10;
}
int i4 = i2 + 1;
while (true) {
i4--;
if (i4 <= i || i3 - i4 > 65 || (cArr[i4] == '<' && i2 - i4 > 10)) {
break;
}
}
return i4;
}
protected void a(int i, int i2) throws XmlPullParserException, IOException {
char a;
int i3 = i2 - i;
if (i3 == 3) {
char[] cArr = this.M;
if (cArr[i] == '1' && cArr[i + 1] == '.') {
char c = '0';
if (cArr[i + 2] == '0') {
this.i0 = a(cArr, i, i3);
char f = f(e());
if (f == 'e') {
char f2 = f(a(e(), n0));
if (f2 == '=') {
char f3 = f(e());
if (f3 != '\'' && f3 != '\"') {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("expected apostrophe (') or quotation mark (\") after encoding and not ");
stringBuffer.append(e(f3));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
int i4 = this.S;
char e = e();
if ((e >= 'a' && e <= 'z') || (e >= 'A' && e <= 'Z')) {
char e2 = e();
while (e2 != f3) {
if ((e2 < 'a' || e2 > 'z') && ((e2 < 'A' || e2 > 'Z') && ((e2 < c || e2 > '9') && e2 != '.' && e2 != '_' && e2 != '-'))) {
StringBuffer stringBuffer2 = new StringBuffer();
stringBuffer2.append("<?xml encoding value expected to be in ([A-Za-z0-9._] | '-') not ");
stringBuffer2.append(e(e2));
throw new XmlPullParserException(stringBuffer2.toString(), this, null);
}
e2 = e();
c = '0';
}
this.K = a(this.M, i4, (this.S - 1) - i4);
f = e();
} else {
StringBuffer stringBuffer3 = new StringBuffer();
stringBuffer3.append("<?xml encoding name expected to start with [A-Za-z] not ");
stringBuffer3.append(e(e));
throw new XmlPullParserException(stringBuffer3.toString(), this, null);
}
} else {
StringBuffer stringBuffer4 = new StringBuffer();
stringBuffer4.append("expected equals sign (=) after encoding and not ");
stringBuffer4.append(e(f2));
throw new XmlPullParserException(stringBuffer4.toString(), this, null);
}
}
char f4 = f(f);
if (f4 == 's') {
char f5 = f(a(e(), o0));
if (f5 == '=') {
char f6 = f(e());
if (f6 != '\'' && f6 != '\"') {
StringBuffer stringBuffer5 = new StringBuffer();
stringBuffer5.append("expected apostrophe (') or quotation mark (\") after encoding and not ");
stringBuffer5.append(e(f6));
throw new XmlPullParserException(stringBuffer5.toString(), this, null);
}
char e3 = e();
if (e3 == 'y') {
a = a(e3, p0);
this.j0 = new Boolean(true);
} else if (e3 == 'n') {
a = a(e3, q0);
this.j0 = new Boolean(false);
} else {
StringBuffer stringBuffer6 = new StringBuffer();
stringBuffer6.append("expected 'yes' or 'no' after standalone and not ");
stringBuffer6.append(e(e3));
throw new XmlPullParserException(stringBuffer6.toString(), this, null);
}
if (a == f6) {
f4 = e();
} else {
StringBuffer stringBuffer7 = new StringBuffer();
stringBuffer7.append("expected ");
stringBuffer7.append(f6);
stringBuffer7.append(" after standalone value not ");
stringBuffer7.append(e(a));
throw new XmlPullParserException(stringBuffer7.toString(), this, null);
}
} else {
StringBuffer stringBuffer8 = new StringBuffer();
stringBuffer8.append("expected equals sign (=) after standalone and not ");
stringBuffer8.append(e(f5));
throw new XmlPullParserException(stringBuffer8.toString(), this, null);
}
}
char f7 = f(f4);
if (f7 == '?') {
char e4 = e();
if (e4 == '>') {
return;
}
StringBuffer stringBuffer9 = new StringBuffer();
stringBuffer9.append("expected ?> as last part of <?xml not ");
stringBuffer9.append(e(e4));
throw new XmlPullParserException(stringBuffer9.toString(), this, null);
}
StringBuffer stringBuffer10 = new StringBuffer();
stringBuffer10.append("expected ?> as last part of <?xml not ");
stringBuffer10.append(e(f7));
throw new XmlPullParserException(stringBuffer10.toString(), this, null);
}
}
}
StringBuffer stringBuffer11 = new StringBuffer();
stringBuffer11.append("only 1.0 is supported as <?xml version not '");
stringBuffer11.append(a(new String(this.M, i, i3)));
stringBuffer11.append("'");
throw new XmlPullParserException(stringBuffer11.toString(), this, null);
}
protected void c(int i) {
char[] cArr = new char[i > 8192 ? i * 2 : 16384];
System.arraycopy(this.V, 0, cArr, 0, this.X);
this.V = cArr;
}
/* JADX WARN: Code restructure failed: missing block: B:55:0x00d6, code lost:
if (r8 != '\n') goto L95;
*/
/* JADX WARN: Code restructure failed: missing block: B:58:0x00f8, code lost:
if (r11.Y == false) goto L102;
*/
/* JADX WARN: Code restructure failed: missing block: B:61:0x00ff, code lost:
if (r11.X < r11.V.length) goto L76;
*/
/* JADX WARN: Code restructure failed: missing block: B:62:0x0101, code lost:
c(r11.X);
*/
/* JADX WARN: Code restructure failed: missing block: B:63:0x0106, code lost:
r7 = r11.V;
r9 = r11.X;
r11.X = r9 + 1;
r7[r9] = r8;
*/
/* JADX WARN: Code restructure failed: missing block: B:68:0x00d8, code lost:
if (r7 != false) goto L104;
*/
/* JADX WARN: Code restructure failed: missing block: B:71:0x00dc, code lost:
if (r11.Y == false) goto L105;
*/
/* JADX WARN: Code restructure failed: missing block: B:74:0x00e3, code lost:
if (r11.X < r11.V.length) goto L70;
*/
/* JADX WARN: Code restructure failed: missing block: B:75:0x00e5, code lost:
c(r11.X);
*/
/* JADX WARN: Code restructure failed: missing block: B:76:0x00ea, code lost:
r7 = r11.V;
r8 = r11.X;
r11.X = r8 + 1;
r7[r8] = '\n';
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct code enable 'Show inconsistent code' option in preferences
*/
protected void a(boolean r12) throws org.xmlpull.v1.XmlPullParserException, java.io.IOException {
/*
Method dump skipped, instructions count: 349
To view this dump change 'Code comments level' option to 'DEBUG'
*/
throw new UnsupportedOperationException("Method not decompiled: org.xmlpull.mxp1.MXParser.a(boolean):void");
}
private static final void g(char c) {
s0[c] = true;
}
protected char f(char c) throws XmlPullParserException, IOException {
while (c(c)) {
c = e();
}
return c;
}
protected char a(char c, char[] cArr) throws XmlPullParserException, IOException {
for (int i = 0; i < cArr.length; i++) {
if (c == cArr[i]) {
c = e();
} else {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("expected ");
stringBuffer.append(e(cArr[i]));
stringBuffer.append(" in ");
stringBuffer.append(new String(cArr));
stringBuffer.append(" and not ");
stringBuffer.append(e(c));
throw new XmlPullParserException(stringBuffer.toString(), this, null);
}
}
return c;
}
protected boolean a(char c) {
return (c < 1024 && s0[c]) || (c >= 1024 && c <= 8231) || ((c >= 8234 && c <= 8591) || (c >= 10240 && c <= 65519));
}
protected String a(String str) {
if (str == null) {
return null;
}
int length = str.length();
StringBuffer stringBuffer = new StringBuffer(length + 10);
for (int i = 0; i < length; i++) {
stringBuffer.append(e(str.charAt(i)));
}
return stringBuffer.toString();
}
}