using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Runtime.InteropServices; using System.Text; using Cpp2IlInjected; namespace BestHTTP.JSON { // Token: 0x020019A1 RID: 6561 [Token(Token = "0x20019A1")] [StructLayout(3)] public class Json { // Token: 0x0600B03E RID: 45118 RVA: 0x00293870 File Offset: 0x00291A70 [Token(Token = "0x600B03E")] [Address(RVA = "0x2687150", Offset = "0x2685B50", VA = "0x182687150")] public static object Decode(string json) { if (json == 0) { } char[] array = json.ToCharArray(); object obj; return obj; } // Token: 0x0600B03F RID: 45119 RVA: 0x0029388C File Offset: 0x00291A8C [Token(Token = "0x600B03F")] [Address(RVA = "0x26871A0", Offset = "0x2685BA0", VA = "0x1826871A0")] public static object Decode(string json, ref bool success) { if (json == 0) { } char[] array = json.ToCharArray(); object obj; return obj; } // Token: 0x0600B040 RID: 45120 RVA: 0x002938A8 File Offset: 0x00291AA8 [Token(Token = "0x600B040")] [Address(RVA = "0x2687280", Offset = "0x2685C80", VA = "0x182687280")] public static string Encode(object json) { StringBuilder stringBuilder = new StringBuilder(2000); if (Json.SerializeValue(json, stringBuilder)) { } throw new NullReferenceException(); } // Token: 0x0600B041 RID: 45121 RVA: 0x002938D4 File Offset: 0x00291AD4 [Token(Token = "0x600B041")] [Address(RVA = "0x26879B0", Offset = "0x26863B0", VA = "0x1826879B0")] protected static Dictionary ParseObject(char[] json, ref int index, ref bool success) { Dictionary dictionary = new Dictionary(); int num = Json.NextToken(json, ref index); int num2; if (num2 != 0) { if (num2 != 6) { if (num2 == 2) { goto IL_49; } string text = Json.ParseString(json, ref index, ref success); if (Json.NextToken(json, ref index) != 5) { goto IL_52; } object obj = Json.ParseValue(json, ref index, ref success); dictionary[text] = obj; } int num3 = Json.NextToken(json, ref index); IL_49: int num4 = Json.NextToken(json, ref index); } IL_52: throw new NullReferenceException(); } // Token: 0x0600B042 RID: 45122 RVA: 0x0029393C File Offset: 0x00291B3C [Token(Token = "0x600B042")] [Address(RVA = "0x2687740", Offset = "0x2686140", VA = "0x182687740")] protected static List ParseArray(char[] json, ref int index, ref bool success) { List list = new List(); int num = Json.NextToken(json, ref index); int num2; if (num2 != 0) { while (num2 == 6) { } if (num2 != 4) { object obj = Json.ParseValue(json, ref index, ref success); list.Add(obj); } } throw new NullReferenceException(); } // Token: 0x0600B043 RID: 45123 RVA: 0x0029397C File Offset: 0x00291B7C [Token(Token = "0x600B043")] [Address(RVA = "0x2687E00", Offset = "0x2686800", VA = "0x182687E00")] protected static object ParseValue(char[] json, ref int index, ref bool success) { int num; if (num <= 11) { Dictionary dictionary = new Dictionary(); int num2 = Json.NextToken(json, ref index); int num3; if (num3 != 0) { while (num3 == 6) { } if (num3 != 2) { string text = Json.ParseString(json, ref index, ref success); if (Json.NextToken(json, ref index) == 5) { object obj = Json.ParseValue(json, ref index, ref success); dictionary[text] = obj; } } } int num4 = 0; success.m_value = num4 != 0; List list = new List(); int num5 = Json.NextToken(json, ref index); int num6; if (num6 != 0) { while (num6 == 6) { } if (num6 != 4) { object obj2 = Json.ParseValue(json, ref index, ref success); list.Add(obj2); } } string text2 = Json.ParseString(json, ref index, ref success); Json.EatWhitespace(json, ref index); int length = json.Length; int num7; if (num7 != -1) { } CultureInfo invariantCulture = CultureInfo.InvariantCulture; bool flag; success.m_value = flag; } throw new NullReferenceException(); } // Token: 0x0600B044 RID: 45124 RVA: 0x00293A50 File Offset: 0x00291C50 [Token(Token = "0x600B044")] [Address(RVA = "0x2687AE0", Offset = "0x26864E0", VA = "0x182687AE0")] protected static string ParseString(char[] json, ref int index, ref bool success) { int num = 0; uint num2; StringBuilder stringBuilder = new StringBuilder((int)num2); Json.EatWhitespace(json, ref index); index.m_value = stringBuilder; index.m_value = stringBuilder; int length = json.Length; if (stringBuilder != length) { index.m_value = length; int num3 = json.Length; num3 -= length; CultureInfo invariantCulture = CultureInfo.InvariantCulture; bool flag; success.m_value = flag; if (flag) { string text = char.ConvertFromUtf32(num); StringBuilder stringBuilder2 = stringBuilder.Append(text); } return ""; } success.m_value = num != 0; throw new IndexOutOfRangeException(); } // Token: 0x0600B045 RID: 45125 RVA: 0x00293AE8 File Offset: 0x00291CE8 [Token(Token = "0x600B045")] [Address(RVA = "0x2687840", Offset = "0x2686240", VA = "0x182687840")] protected static double ParseNumber(char[] json, ref int index, ref bool success) { Json.EatWhitespace(json, ref index); int length = json.Length; int num; if (num != -1) { } CultureInfo invariantCulture = CultureInfo.InvariantCulture; bool flag; success.m_value = flag; throw new NullReferenceException(); } // Token: 0x0600B046 RID: 45126 RVA: 0x00293B24 File Offset: 0x00291D24 [Token(Token = "0x600B046")] [Address(RVA = "0x2687310", Offset = "0x2685D10", VA = "0x182687310")] protected static int GetLastIndexOfNumber(char[] json, int index) { int length = json.Length; if (index < length) { char c = json[index]; int num; if (num != -1) { } } return index - 1; } // Token: 0x0600B047 RID: 45127 RVA: 0x00293B54 File Offset: 0x00291D54 [Token(Token = "0x600B047")] [Address(RVA = "0x26871F0", Offset = "0x2685BF0", VA = "0x1826871F0")] protected static void EatWhitespace(char[] json, ref int index) { int length = json.Length; int num; if (num != -1) { } } // Token: 0x0600B048 RID: 45128 RVA: 0x00293B74 File Offset: 0x00291D74 [Token(Token = "0x600B048")] [Address(RVA = "0x26873A0", Offset = "0x2685DA0", VA = "0x1826873A0")] protected static int LookAhead(char[] json, int index) { return Json.NextToken(json, index); } // Token: 0x0600B049 RID: 45129 RVA: 0x00293B88 File Offset: 0x00291D88 [Token(Token = "0x600B049")] [Address(RVA = "0x26873C0", Offset = "0x2685DC0", VA = "0x1826873C0")] protected static int NextToken(char[] json, ref int index) { Json.EatWhitespace(json, ref index); char c; index.m_value = (int)c; uint num; index.m_value = (int)num; uint num2; index.m_value = (int)num2; uint num3; index.m_value = (int)num3; return 0; } // Token: 0x0600B04A RID: 45130 RVA: 0x00293BC4 File Offset: 0x00291DC4 [Token(Token = "0x600B04A")] [Address(RVA = "0x2688800", Offset = "0x2687200", VA = "0x182688800")] protected static bool SerializeValue(object value, StringBuilder builder) { for (;;) { int num = 0; if (value == 0 || value == 0 || value != 0) { if (value != 0) { if (value != 0) { StringBuilder stringBuilder = builder.Append("true"); } if (value != 0) { StringBuilder stringBuilder2 = builder.Append("false"); } } if (value != 0) { } StringBuilder stringBuilder3 = builder.Append("null"); double num2 = Convert.ToDouble(value); CultureInfo invariantCulture = CultureInfo.InvariantCulture; string text = Convert.ToString(num2, invariantCulture); StringBuilder stringBuilder4 = builder.Append("["); if (num < stringBuilder4) { if ((ulong)1L == 0UL) { StringBuilder stringBuilder5 = builder.Append(", "); } if (!Json.SerializeValue(stringBuilder4, builder)) { return true; } num++; } if (value != 0) { } StringBuilder stringBuilder6 = builder.Append("{"); if (stringBuilder6 == 0) { break; } int hashCode = stringBuilder6.GetHashCode(); if ((ulong)1L == 0UL) { StringBuilder stringBuilder7 = builder.Append(", "); } StringBuilder stringBuilder8 = builder.Append(":"); if (Json.SerializeValue(hashCode, builder)) { break; } } } StringBuilder stringBuilder9 = builder.Append("}"); return true; } // Token: 0x0600B04B RID: 45131 RVA: 0x00293CC0 File Offset: 0x00291EC0 [Token(Token = "0x600B04B")] [Address(RVA = "0x26883F0", Offset = "0x2686DF0", VA = "0x1826883F0")] protected static bool SerializeObject(IDictionary anObject, StringBuilder builder) { StringBuilder stringBuilder = builder.Append("{"); if (stringBuilder != 0) { int hashCode = stringBuilder.GetHashCode(); if ((ulong)1L == 0UL) { StringBuilder stringBuilder2 = builder.Append(", "); } StringBuilder stringBuilder3 = builder.Append(":"); if (Json.SerializeValue(hashCode, builder)) { } } StringBuilder stringBuilder4 = builder.Append("}"); throw new NullReferenceException(); } // Token: 0x0600B04C RID: 45132 RVA: 0x00293D24 File Offset: 0x00291F24 [Token(Token = "0x600B04C")] [Address(RVA = "0x2688230", Offset = "0x2686C30", VA = "0x182688230")] protected static bool SerializeArray(IList anArray, StringBuilder builder) { StringBuilder stringBuilder = builder.Append("["); int num = 0; if (num < stringBuilder) { if ((ulong)1L == 0UL) { StringBuilder stringBuilder2 = builder.Append(", "); } if (Json.SerializeValue(stringBuilder, builder)) { num++; } } StringBuilder stringBuilder3 = builder.Append("]"); throw new NullReferenceException(); } // Token: 0x0600B04D RID: 45133 RVA: 0x00293D78 File Offset: 0x00291F78 [Token(Token = "0x600B04D")] [Address(RVA = "0x2688560", Offset = "0x2686F60", VA = "0x182688560")] protected static bool SerializeString(string aString, StringBuilder builder) { StringBuilder stringBuilder = builder.Append("\""); char[] array = aString.ToCharArray(); int num = 0; int length = array.Length; if (num < length) { char c = array[num]; string text = Convert.ToString((int)Convert.ToChar((ushort)c), 16); string text3; string text2 = "\\u" + text3; StringBuilder stringBuilder2 = builder.Append(text2); num++; StringBuilder stringBuilder3 = builder.Append(c); num++; StringBuilder stringBuilder4 = builder.Append("\\t"); num++; StringBuilder stringBuilder5 = builder.Append("\\r"); num++; StringBuilder stringBuilder6 = builder.Append("\\n"); num++; StringBuilder stringBuilder7 = builder.Append("\\f"); num++; StringBuilder stringBuilder8 = builder.Append("\\b"); num++; StringBuilder stringBuilder9 = builder.Append("\\\\"); num++; StringBuilder stringBuilder10 = builder.Append("\\\""); num++; } StringBuilder stringBuilder11 = builder.Append("\""); return true; } // Token: 0x0600B04E RID: 45134 RVA: 0x00293E78 File Offset: 0x00292078 [Token(Token = "0x600B04E")] [Address(RVA = "0x2688340", Offset = "0x2686D40", VA = "0x182688340")] protected static bool SerializeNumber(double number, StringBuilder builder) { CultureInfo invariantCulture = CultureInfo.InvariantCulture; string text = Convert.ToString(number, invariantCulture); StringBuilder stringBuilder = builder.Append(text); return true; } // Token: 0x0600B04F RID: 45135 RVA: 0x00293EA4 File Offset: 0x002920A4 [Token(Token = "0x600B04F")] [Address(RVA = "0x3C1670", Offset = "0x3C0070", VA = "0x1803C1670")] public Json() { } // Token: 0x040073DA RID: 29658 [Token(Token = "0x40073DA")] private const int TOKEN_NONE = 0; // Token: 0x040073DB RID: 29659 [Token(Token = "0x40073DB")] private const int TOKEN_CURLY_OPEN = 1; // Token: 0x040073DC RID: 29660 [Token(Token = "0x40073DC")] private const int TOKEN_CURLY_CLOSE = 2; // Token: 0x040073DD RID: 29661 [Token(Token = "0x40073DD")] private const int TOKEN_SQUARED_OPEN = 3; // Token: 0x040073DE RID: 29662 [Token(Token = "0x40073DE")] private const int TOKEN_SQUARED_CLOSE = 4; // Token: 0x040073DF RID: 29663 [Token(Token = "0x40073DF")] private const int TOKEN_COLON = 5; // Token: 0x040073E0 RID: 29664 [Token(Token = "0x40073E0")] private const int TOKEN_COMMA = 6; // Token: 0x040073E1 RID: 29665 [Token(Token = "0x40073E1")] private const int TOKEN_STRING = 7; // Token: 0x040073E2 RID: 29666 [Token(Token = "0x40073E2")] private const int TOKEN_NUMBER = 8; // Token: 0x040073E3 RID: 29667 [Token(Token = "0x40073E3")] private const int TOKEN_TRUE = 9; // Token: 0x040073E4 RID: 29668 [Token(Token = "0x40073E4")] private const int TOKEN_FALSE = 10; // Token: 0x040073E5 RID: 29669 [Token(Token = "0x40073E5")] private const int TOKEN_NULL = 11; // Token: 0x040073E6 RID: 29670 [Token(Token = "0x40073E6")] private const int BUILDER_CAPACITY = 2000; } }