NJsonSchema 11.6.1

NJsonSchema for .NET

NSwag | NJsonSchema | Apimundo | Namotion.Reflection

Azure DevOps Nuget Discord StackOverflow Wiki Apimundo

NJsonSchema is a .NET library to read, generate and validate JSON Schema draft v4+ schemas. The library can read a schema from a file or string and validate JSON data against it. A schema can also be generated from an existing .NET class. With the code generation APIs you can generate C# and TypeScript classes or interfaces from a schema.

The library uses Json.NET to read and write JSON data and Namotion.Reflection for additional .NET reflection APIs.

NuGet packages:

Preview NuGet Feed: https://www.myget.org/F/njsonschema/api/v3/index.json

Features:

NJsonSchema is heavily used in NSwag, a Swagger API toolchain for .NET which generates client code for Web API services. NSwag also provides command line tools to use the NJsonSchema's JSON Schema generator (command types2swagger).

The project is developed and maintained by Rico Suter and other contributors.

Some code generators can directly be used via the Apimundo service.

NJsonSchema usage

The JsonSchema class can be used as follows:

var schema = JsonSchema.FromType<Person>();
var schemaData = schema.ToJson();
var errors = schema.Validate("{...}");

foreach (var error in errors)
    Console.WriteLine(error.Path + ": " + error.Kind);

schema = await JsonSchema.FromJsonAsync(schemaData);

The Person class:

public class Person
{
    [Required]
    public string FirstName { get; set; }

    public string MiddleName { get; set; }

    [Required]
    public string LastName { get; set; }

    public Gender Gender { get; set; }

    [Range(2, 5)]
    public int NumberWithRange { get; set; }

    public DateTime Birthday { get; set; }

    public Company Company { get; set; }

    public Collection<Car> Cars { get; set; }
}

public enum Gender
{
    Male,
    Female
}

public class Car
{
    public string Name { get; set; }

    public Company Manufacturer { get; set; }
}

public class Company
{
    public string Name { get; set; }
}

The generated JSON schema data stored in the schemaData variable:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Person",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "FirstName",
    "LastName"
  ],
  "properties": {
    "FirstName": {
      "type": "string",
      "minLength": 1
    },
    "MiddleName": {
      "type": [
        "null",
        "string"
      ]
    },
    "LastName": {
      "type": "string",
      "minLength": 1
    },
    "Gender": {
      "$ref": "#/definitions/Gender"
    },
    "NumberWithRange": {
      "type": "integer",
      "format": "int32",
      "maximum": 5.0,
      "minimum": 2.0
    },
    "Birthday": {
      "type": "string",
      "format": "date-time"
    },
    "Company": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/definitions/Company"
        }
      ]
    },
    "Cars": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/definitions/Car"
      }
    }
  },
  "definitions": {
    "Gender": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "Male",
        "Female"
      ],
      "enum": [
        0,
        1
      ]
    },
    "Company": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        }
      }
    },
    "Car": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "Name": {
          "type": [
            "null",
            "string"
          ]
        },
        "Manufacturer": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "$ref": "#/definitions/Company"
            }
          ]
        }
      }
    }
  }
}

NJsonSchema.CodeGeneration usage

The NJsonSchema.CodeGeneration can be used to generate C# or TypeScript code from a JSON schema:

var generator = new CSharpGenerator(schema);
var file = generator.GenerateFile();

The file variable now contains the C# code for all the classes defined in the JSON schema.

TypeScript

The previously generated JSON Schema would generate the following TypeScript interfaces.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Interface, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export interface Company {
    Name: string | undefined;
}

export interface Car {
    Name: string | undefined;
    Manufacturer: Company | undefined;
}

export interface Person {
    FirstName: string;
    MiddleName: string | undefined;
    LastName: string;
    Gender: Gender;
    NumberWithRange: number;
    Birthday: Date;
    Company: Company | undefined;
    Cars: Car[] | undefined;
}

... and the following TypeScript classes.

Settings:

new TypeScriptGeneratorSettings { TypeStyle = TypeScriptTypeStyle.Class, TypeScriptVersion = 4.3m }

Output:

export enum Gender {
    Male = 0, 
    Female = 1, 
}

export class Company implements ICompany {
    name: string | undefined;

    constructor(data?: ICompany) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
        }
    }

    static fromJS(data: any): Company {
        let result = new Company();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        return data; 
    }
}

export interface ICompany {
    name: string | undefined;
}

export class Car implements ICar {
    name: string | undefined;
    manufacturer: Company | undefined;

    constructor(data?: ICar) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.name = data["Name"];
            this.manufacturer = data["Manufacturer"] ? Company.fromJS(data["Manufacturer"]) : <any>undefined;
        }
    }

    static fromJS(data: any): Car {
        let result = new Car();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["Name"] = this.name;
        data["Manufacturer"] = this.manufacturer ? this.manufacturer.toJSON() : <any>undefined;
        return data; 
    }
}

export interface ICar {
    name: string | undefined;
    manufacturer: Company | undefined;
}

export class Person implements IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;

    constructor(data?: IPerson) {
        if (data) {
            for (var property in data) {
                if (data.hasOwnProperty(property))
                    (<any>this)[property] = (<any>data)[property];
            }
        }
    }

    init(data?: any) {
        if (data) {
            this.firstName = data["FirstName"];
            this.middleName = data["MiddleName"];
            this.lastName = data["LastName"];
            this.gender = data["Gender"];
            this.numberWithRange = data["NumberWithRange"];
            this.birthday = data["Birthday"] ? new Date(data["Birthday"].toString()) : <any>undefined;
            this.company = data["Company"] ? Company.fromJS(data["Company"]) : <any>undefined;
            if (data["Cars"] && data["Cars"].constructor === Array) {
                this.cars = [];
                for (let item of data["Cars"])
                    this.cars.push(Car.fromJS(item));
            }
        }
    }

    static fromJS(data: any): Person {
        let result = new Person();
        result.init(data);
        return result;
    }

    toJSON(data?: any) {
        data = typeof data === 'object' ? data : {};
        data["FirstName"] = this.firstName;
        data["MiddleName"] = this.middleName;
        data["LastName"] = this.lastName;
        data["Gender"] = this.gender;
        data["NumberWithRange"] = this.numberWithRange;
        data["Birthday"] = this.birthday ? this.birthday.toISOString() : <any>undefined;
        data["Company"] = this.company ? this.company.toJSON() : <any>undefined;
        if (this.cars && this.cars.constructor === Array) {
            data["Cars"] = [];
            for (let item of this.cars)
                data["Cars"].push(item.toJSON());
        }
        return data; 
    }
}

export interface IPerson {
    firstName: string;
    middleName: string | undefined;
    lastName: string;
    gender: Gender;
    numberWithRange: number;
    birthday: Date;
    company: Company | undefined;
    cars: Car[] | undefined;
}

NJsonSchema.SampleJsonSchemaGenerator usage

The NJsonSchema.SampleJsonSchemaGenerator can be used to generate a JSON Schema from sample JSON data:

JSON Schema Specification

By default, the NJsonSchema.SampleJsonSchemaGenerator generates a JSON Schema based on the JSON Schema specification. See: JSON Schema Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings());

var schema = generator.Generate("{...}");

Input:

{
  "int": 1,
  "float": 340282346638528859811704183484516925440.0,
  "str": "abc",
  "bool": true,
  "date": "2012-07-19",
  "datetime": "2012-07-19 10:11:11",
  "timespan": "10:11:11"
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer"
    },
    "float": {
      "type": "number"
    },
    "str": {
      "type": "string"
    },
    "bool": {
      "type": "boolean"
    },
    "date": {
      "type": "string",
      "format": "date"
    },
    "datetime": {
      "type": "string",
      "format": "date-time"
    },
    "timespan": {
      "type": "string",
      "format": "duration"
    }
  }
}

OpenApi Specification

To generate a JSON Schema for OpenApi, provide the SchemaType.OpenApi3 in the settings. See: OpenApi Specification

var generator = new SampleJsonSchemaGenerator(new SampleJsonSchemaGeneratorSettings { SchemaType = SchemaType.OpenApi3 });

var schema = generator.Generate("{...}");

Input:

{
  "int": 12345,
  "long": 1736347656630,
  "float": 340282346638528859811704183484516925440.0,
  "double": 340282346638528859811704183484516925440123456.0,
}

Output:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "int": {
      "type": "integer",
      "format": "int32"
    },
    "long": {
      "type": "integer",
      "format": "int64"
    },
    "float": {
      "type": "number",
      "format": "float"
    },
    "double": {
      "type": "number",
      "format": "double"
    }
  }
}

Final notes

Applications which use the library:

Showing the top 20 packages that depend on NJsonSchema.

Packages Downloads
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
187
NJsonSchema.NewtonsoftJson
JSON Schema reader, generator and validator for .NET
184
NSwag.Core.Yaml
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
183
NSwag.Generation
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
180
NSwag.Core
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
176
NSwag.Generation.AspNetCore
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
172
NSwag.AspNetCore
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
138
NSwag.Generation.AspNetCore
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
113
NSwag.Generation
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
104
NJsonSchema.NewtonsoftJson
JSON Schema reader, generator and validator for .NET
102
NSwag.AspNetCore
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
94
NJsonSchema.CodeGeneration
JSON Schema draft v4 reader, generator and validator for .NET
93
NSwag.Core.Yaml
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
93
NJsonSchema.Yaml
JSON Schema reader, generator and validator for .NET
90
NJsonSchema.CodeGeneration
JSON Schema draft v4 reader, generator and validator for .NET
88
NJsonSchema.CodeGeneration
JSON Schema draft v4 reader, generator and validator for .NET
87
NJsonSchema.CodeGeneration
JSON Schema draft v4 reader, generator and validator for .NET
86
NJsonSchema.CodeGeneration
JSON Schema draft v4 reader, generator and validator for .NET
85
NSwag.Core
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
84

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
11.6.1 185 04/23/2026
11.6.0 41 04/10/2026
11.5.2 91 12/16/2025
11.5.1 6 09/28/2026
11.5.0 45 12/18/2025
11.4.0 48 12/11/2025
11.3.2 42 12/11/2025
11.3.1 45 12/11/2025
11.3.0 52 12/11/2025
11.2.0 13 10/01/2026
11.1.0 4 10/09/2026
11.0.2 8 10/02/2026
11.0.1 5 10/03/2026
11.0.0 66 12/14/2025
11.0.0-preview008 9 09/30/2026
11.0.0-preview007 5 10/09/2026
11.0.0-preview006 5 10/08/2026
11.0.0-preview005 6 10/10/2026
11.0.0-preview004 9 10/09/2026
11.0.0-preview003 8 10/01/2026
11.0.0-preview002 7 10/03/2026
11.0.0-preview001 7 09/28/2026
10.9.0 7 09/29/2026
10.8.0 6 09/30/2026
10.7.2 9 09/28/2026
10.7.1 10 10/02/2026
10.7.0 8 10/07/2026
10.6.10 16 10/09/2026
10.6.9 7 10/05/2026
10.6.8 46 12/11/2025
10.6.7 10 10/09/2026
10.6.6 45 12/23/2025
10.6.5 10 10/10/2026
10.6.4 8 09/28/2026
10.6.3 6 09/30/2026
10.6.2 8 09/29/2026
10.6.1 7 10/07/2026
10.6.0 8 10/09/2026
10.5.2 6 09/28/2026
10.5.1 7 09/30/2026
10.5.0 7 09/28/2026
10.4.6 7 09/28/2026
10.4.5 5 10/09/2026
10.4.4 6 09/28/2026
10.4.3 8 09/28/2026
10.4.2 7 10/09/2026
10.4.1 5 09/28/2026
10.4.0 7 10/09/2026
10.3.11 37 12/13/2025
10.3.10 38 01/13/2026
10.3.9 39 01/13/2026
10.3.8 7 10/09/2026
10.3.7 7 10/10/2026
10.3.6 8 09/30/2026
10.3.5 5 10/10/2026
10.3.4 8 10/09/2026
10.3.3 9 09/30/2026
10.3.2 43 12/14/2025
10.3.1 6 10/10/2026
10.3.0 5 10/10/2026
10.2.2 7 10/10/2026
10.2.1 6 10/01/2026
10.2.0 6 10/09/2026
10.1.26 9 09/27/2026
10.1.25 40 12/15/2025
10.1.24 7 09/28/2026
10.1.23 5 10/09/2026
10.1.22 7 10/09/2026
10.1.21 5 10/09/2026
10.1.20 8 09/29/2026
10.1.19 42 12/14/2025
10.1.18 8 09/29/2026
10.1.17 8 09/29/2026
10.1.16 5 10/10/2026
10.1.15 5 10/09/2026
10.1.14 39 12/14/2025
10.1.13 5 10/09/2026
10.1.12 9 09/29/2026
10.1.11 7 10/10/2026
10.1.10 34 01/13/2026
10.1.9 5 10/09/2026
10.1.8 5 10/09/2026
10.1.7 43 12/22/2025
10.1.6 9 09/28/2026
10.1.5 6 09/28/2026
10.1.4 7 10/07/2026
10.1.3 42 12/16/2025
10.1.2 7 09/28/2026
10.1.1 9 10/09/2026
10.1.0 10 09/28/2026
10.0.28 37 12/21/2025
10.0.27 10 10/03/2026
10.0.26 9 10/10/2026
10.0.25 7 10/10/2026
10.0.24 6 09/30/2026
10.0.23 7 10/08/2026
10.0.22 7 10/10/2026
10.0.21 5 10/09/2026
10.0.20 5 10/10/2026
10.0.19 4 10/10/2026
10.0.18 9 09/28/2026
10.0.17 36 12/13/2025
10.0.16 6 09/29/2026
10.0.15 42 12/16/2025
10.0.14 35 01/13/2026
10.0.13 6 10/01/2026
10.0.12 45 12/14/2025
10.0.11 38 12/14/2025
10.0.10 7 10/09/2026
10.0.9 40 01/13/2026
10.0.8 5 10/10/2026
10.0.7 8 10/09/2026
10.0.6 6 10/10/2026
10.0.5 5 10/09/2026
10.0.4 7 09/29/2026
10.0.3 7 09/28/2026
10.0.1 6 10/09/2026
10.0.0 6 10/09/2026
9.14.1 9 09/30/2026
9.14.0 6 10/10/2026
9.13.37 9 09/28/2026
9.13.36 43 12/15/2025
9.13.35 5 10/10/2026
9.13.34 41 12/11/2025
9.13.33 7 10/05/2026
9.13.32 9 10/10/2026
9.13.31 48 12/18/2025
9.13.30 7 09/30/2026
9.13.29 31 12/13/2025
9.13.28 44 01/04/2026
9.13.27 42 01/13/2026
9.13.26 5 10/09/2026
9.13.25 8 10/09/2026
9.13.24 8 10/09/2026
9.13.23 10 10/07/2026
9.13.22 40 12/22/2025
9.13.19 7 10/05/2026
9.13.18 7 10/09/2026
9.13.17 44 12/11/2025
9.13.16 36 12/15/2025
9.13.15 11 10/09/2026
9.13.14 8 09/28/2026
9.13.13 13 10/09/2026
9.13.12 45 12/15/2025
9.13.11 6 10/09/2026
9.13.10 7 10/09/2026
9.13.9 8 09/28/2026
9.13.8 6 10/10/2026
9.13.7 6 10/05/2026
9.13.5 8 09/27/2026
9.13.4 8 10/09/2026
9.13.3 6 09/28/2026
9.13.2 37 12/14/2025
9.13.1 4 10/09/2026
9.13.0 45 12/11/2025
9.12.7 8 09/28/2026
9.12.6 36 12/30/2025
9.12.5 8 09/29/2026
9.12.4 7 10/10/2026
9.12.3 5 10/09/2026
9.12.2 9 10/04/2026
9.12.1 9 10/09/2026
9.12.0 6 09/28/2026
9.11.1 8 09/29/2026
9.11.0 8 09/30/2026
9.10.75 45 01/11/2026
9.10.74 7 10/09/2026
9.10.73 6 10/10/2026
9.10.72 7 09/28/2026
9.10.71 7 10/10/2026
9.10.70 33 12/22/2025
9.10.69 7 10/10/2026
9.10.68 10 09/27/2026
9.10.67 37 12/22/2025
9.10.66 6 10/08/2026
9.10.65 10 09/28/2026
9.10.64 8 09/28/2026
9.10.63 43 01/13/2026
9.10.62 7 09/28/2026
9.10.61 35 12/14/2025
9.10.60 42 12/11/2025
9.10.59 43 12/22/2025
9.10.58 9 09/30/2026
9.10.57 9 09/28/2026
9.10.56 7 09/28/2026
9.10.55 43 12/11/2025
9.10.54 36 12/23/2025
9.10.53 6 10/05/2026
9.10.52 6 09/27/2026
9.10.51 7 10/09/2026
9.10.50 7 10/09/2026
9.10.49 9 09/29/2026
9.10.48 7 10/09/2026
9.10.47 7 10/09/2026
9.10.46 8 10/03/2026
9.10.45 6 09/28/2026
9.10.44 5 10/10/2026
9.10.43 7 10/09/2026
9.10.42 6 09/28/2026
9.10.41 7 10/07/2026
9.10.40 7 10/09/2026
9.10.39 9 10/10/2026
9.10.38 7 10/05/2026
9.10.37 6 10/02/2026
9.10.36 6 09/30/2026
9.10.35 44 12/11/2025
9.10.34 8 09/28/2026
9.10.33 42 12/11/2025
9.10.32 10 10/10/2026
9.10.31 6 09/29/2026
9.10.30 7 09/28/2026
9.10.29 8 10/10/2026
9.10.28 9 10/09/2026
9.10.27 10 10/09/2026
9.10.26 8 10/08/2026
9.10.25 36 01/13/2026
9.10.24 6 10/09/2026
9.10.23 42 12/11/2025
9.10.22 6 09/30/2026
9.10.21 8 09/28/2026
9.10.20 36 12/11/2025
9.10.19 8 10/01/2026
9.10.18 7 10/10/2026
9.10.17 6 09/27/2026
9.10.16 39 12/15/2025
9.10.15 8 10/10/2026
9.10.14 35 12/14/2025
9.10.13 8 10/09/2026
9.10.12 39 12/13/2025
9.10.11 40 12/11/2025
9.10.10 5 10/09/2026
9.10.9 8 10/08/2026
9.10.8 41 01/13/2026
9.10.7 8 09/28/2026
9.10.6 13 10/10/2026
9.10.5 5 10/09/2026
9.10.4 8 10/01/2026
9.10.3 5 10/09/2026
9.10.2 9 09/28/2026
9.10.1 8 09/29/2026
9.10.0 8 10/04/2026
9.9.17 5 09/27/2026
9.9.16 6 09/29/2026
9.9.15 5 10/09/2026
9.9.14 6 09/29/2026
9.9.13 6 10/10/2026
9.9.12 8 09/28/2026
9.9.11 5 10/11/2026
9.9.10 8 09/29/2026
9.9.9 5 10/02/2026
9.9.8 5 10/09/2026
9.9.7 45 12/11/2025
9.9.6 6 10/07/2026
9.9.5 8 09/29/2026
9.9.4 8 09/28/2026
9.9.3 7 10/10/2026
9.9.2 40 12/21/2025
9.9.1 48 12/22/2025
9.9.0 7 09/28/2026
9.8.3 5 10/09/2026
9.8.2 8 10/03/2026
9.8.1 40 01/05/2026
9.8.0 6 09/29/2026
9.7.7 9 10/04/2026
9.7.6 7 10/09/2026
9.7.5 6 09/30/2026
9.7.3 6 10/09/2026
9.7.2 46 12/11/2025
9.7.1 8 10/02/2026
9.7.0 6 10/10/2026
9.6.5 44 12/15/2025
9.6.4 45 12/22/2025
9.6.3 45 12/13/2025
9.6.2 8 10/09/2026
9.6.1 5 10/09/2026
9.6.0 6 10/01/2026
9.5.4 5 10/10/2026
9.5.3 14 09/29/2026
9.5.2 5 10/10/2026
9.5.1 5 10/11/2026
9.5.0 6 10/10/2026
9.4.10 6 10/03/2026
9.4.9 8 10/09/2026
9.4.8 43 12/22/2025
9.4.7 6 10/01/2026
9.4.6 7 10/01/2026
9.4.5 8 10/07/2026
9.4.4 6 09/28/2026
9.4.3 5 10/09/2026
9.4.2 8 10/10/2026
9.4.1 9 10/02/2026
9.4.0 4 10/10/2026
9.3.2 7 10/10/2026
9.3.1 9 10/07/2026
9.3.0 44 12/13/2025
9.2.5 6 10/09/2026
9.2.4 8 10/10/2026
9.2.3 7 10/09/2026
9.2.2 8 10/11/2026
9.2.1 8 10/10/2026
9.2.0 7 10/08/2026
9.1.13 5 10/09/2026
9.1.12 39 12/28/2025
9.1.11 5 10/09/2026
9.1.10 5 10/09/2026
9.1.9 8 10/09/2026
9.1.8 6 09/30/2026
9.1.7 5 10/09/2026
9.1.6 5 10/09/2026
9.1.5 31 12/22/2025
9.1.4 8 10/08/2026
9.1.3 5 10/10/2026
9.1.2 9 10/06/2026
9.1.1 7 10/09/2026
9.1.0 7 10/07/2026
9.0.0 6 10/08/2026
8.34.6331.29178 41 12/11/2025
8.33.6323.36213 38 12/24/2025
8.32.6319.16936 6 10/08/2026
8.31.6318.20479 8 09/28/2026
8.30.6304.31883 6 10/09/2026
8.29.6304.29574 47 12/13/2025
8.28.6304.29303 5 10/09/2026
8.27.6302.16041 5 10/10/2026
8.26.6300.23786 5 10/10/2026
8.25.6298.25721 6 10/03/2026
8.24.6298.12169 7 10/09/2026
8.23.6298.10815 6 10/09/2026
8.22.6296.25100 8 10/11/2026
8.21.6296.23959 6 10/02/2026
8.20.6296.23138 7 10/09/2026
8.19.6295.40470 8 09/28/2026
8.18.6295.39644 8 10/09/2026
8.17.6295.16496 9 09/28/2026
8.16.6295.13527 6 10/09/2026
8.15.6294.28815 6 10/07/2026
8.14.6289.34345 10 09/28/2026
8.13.6288.31182 5 10/07/2026
8.12.6288.29353 10 10/02/2026
8.11.6284.26855 8 10/10/2026
8.10.6282.29572 39 12/11/2025
8.9.6275.22295 5 10/10/2026
8.8.6270.12833 5 10/10/2026
8.7.6267.38130 41 12/11/2025
8.6.6263.34621 7 10/02/2026
8.5.6255.20253 7 10/10/2026
8.4.6254.24648 8 10/09/2026
8.3.6252.27806 47 12/11/2025
8.2.6249.40688 7 10/09/2026
8.1.6249.15627 7 10/06/2026
8.0.6242.20238 9 09/30/2026
7.10.6235.25398 54 12/11/2025
7.9.6234.40167 7 10/10/2026
7.8.6234.39143 38 12/24/2025
7.7.6231.35489 7 10/02/2026
7.6.6221.22528 7 09/29/2026
7.5.6218.39574 50 12/11/2025
7.4.6218.34172 7 10/09/2026
7.3.6214.20986 50 12/23/2025
7.2.6206.27034 7 10/09/2026
7.1.6203.28289 5 10/09/2026
7.0.6201.32793 44 12/15/2025
6.8.6197.43075 6 10/09/2026
6.7.6197.28471 8 10/07/2026
6.6.6192.39835 39 12/22/2025
6.5.6190.16910 45 12/12/2025
6.4.6189.32875 5 10/09/2026
6.3.6185.19861 5 10/09/2026
6.2.6179.20107 6 10/09/2026
6.1.6179.17509 7 10/09/2026
6.0.6178.42031 37 12/11/2025
5.20.6175.31167 6 10/09/2026
5.19.6171.28316 5 10/09/2026
5.18.6170.22062 7 10/09/2026
5.17.6169.42629 48 12/22/2025
5.16.6156.29215 38 12/11/2025
5.15.6154.34583 7 09/30/2026
5.14.6153.20987 7 10/09/2026
5.13.6150.21322 8 10/09/2026
5.12.6149.949 5 10/07/2026
5.11.6148.42451 5 10/09/2026
5.10.6148.26188 8 10/09/2026
5.9.6144.17989 8 10/01/2026
5.8.6143.37541 6 10/03/2026
5.7.6142.39228 40 12/30/2025
5.6.6142.18206 5 10/09/2026
5.5.6138.25614 6 10/09/2026
5.5.6138.25231 5 10/10/2026
5.4.6138.25088 5 10/10/2026
5.4.6138.24413 11 10/06/2026
5.3.6137.40406 6 10/05/2026
5.2.6135.25892 8 10/09/2026
5.1.6130.30069 6 10/09/2026
5.0.6130.17623 5 10/09/2026
4.28.6128.27588 7 10/09/2026
4.27.6128.21479 6 09/28/2026
4.26.6123.28532 8 09/28/2026
4.25.6122.24179 8 09/28/2026
4.24.6122.15983 7 10/10/2026
4.23.6120.19206 7 10/08/2026
4.22.6120.18407 8 09/30/2026
4.21.6119.18328 7 10/10/2026
4.20.6119.18035 5 10/09/2026
4.19.6118.22551 6 10/02/2026
4.18.6117.31903 7 10/09/2026
4.17.6115.27875 9 09/30/2026
4.16.6115.26709 41 12/11/2025
4.15.6113.36675 6 10/09/2026
4.14.6108.28115 5 10/09/2026
4.13.6107.31015 7 10/09/2026
4.12.6103.41721 8 09/28/2026
4.11.6103.32935 7 09/28/2026
4.10.6103.22760 45 12/11/2025
4.9.6102.40549 8 10/01/2026
4.8.6094.34027 39 12/11/2025
4.7.6093.32380 6 09/28/2026
4.6.6093.13919 5 10/09/2026
4.5.6091.37159 6 09/28/2026
4.4.6091.25564 8 09/29/2026
4.3.6089.14049 8 10/01/2026
4.2.6085.38782 6 10/10/2026
4.1.6075.30950 7 10/01/2026
4.0.6074.30968 37 01/13/2026
3.4.6065.33501 8 09/29/2026
3.3.6061.16591 7 10/09/2026
3.2.6060.41150 9 10/01/2026
3.1.6058.33392 7 09/28/2026
3.0.6058.19297 6 10/09/2026
2.65.6055.39156 9 10/09/2026
2.64.6055.38772 7 10/01/2026
2.62.6049.40362 5 10/10/2026
2.61.6047.40644 35 12/16/2025
2.60.6043.38307 6 09/28/2026
2.59.6040.32732 9 09/28/2026
2.58.6038.30299 46 12/15/2025
2.57.6037.28393 6 09/30/2026
2.56.6036.39820 7 10/01/2026
2.55.6036.31332 6 09/28/2026
2.54.6032.25763 9 10/01/2026
2.53.6030.34284 5 10/09/2026
2.52.6030.13790 40 12/10/2025
2.51.6022.22786 52 12/22/2025
2.50.6019.27727 45 12/11/2025
2.49.6019.25463 5 10/09/2026
2.48.6012.40848 5 10/09/2026
2.47.6012.36609 41 12/10/2025
2.46.6012.18623 45 12/10/2025
2.45.6011.39984 5 10/10/2026
2.44.6011.37467 7 10/09/2026
2.43.6010.35600 5 10/10/2026
2.41.6006.20160 6 10/09/2026
2.40.6005.16496 6 10/10/2026
2.39.6004.37509 46 12/11/2025
2.38.6002.31137 47 12/11/2025
2.37.6002.13677 7 09/30/2026
2.36.6001.31066 7 10/10/2026
2.35.6000.32415 7 09/28/2026
2.34.6000.31959 6 10/09/2026
2.33.6000.30327 8 10/10/2026
2.32.6000.24907 6 09/28/2026
2.31.5998.34796 35 12/15/2025
2.30.5998.28512 41 12/11/2025
2.29.5997.39527 42 12/18/2025
2.28.5997.37671 7 10/11/2026
2.27.5995.31644 7 10/10/2026
2.26.5992.40823 5 10/11/2026
2.25.5989.40403 13 09/28/2026
2.24.5988.28092 49 12/13/2025
2.23.5984.32960 8 10/10/2026
2.22.5984.16716 8 09/28/2026
2.21.5981.35957 9 09/29/2026
2.20.5981.32981 10 10/03/2026
2.19.5978.21534 6 10/09/2026
2.18.5976.28450 6 10/02/2026
2.17.5976.27663 6 09/28/2026
2.16.5975.38441 5 10/10/2026
2.15.5970.28125 8 10/10/2026
2.14.5967.31319 5 10/09/2026
2.13.5966.35759 6 10/09/2026
2.12.5965.33914 5 10/03/2026
2.11.5963.474 5 10/11/2026
2.10.5958.25556 8 09/28/2026
2.9.5956.34078 5 10/09/2026
2.8.5956.13680 7 09/28/2026
2.7.5954.13235 5 10/10/2026
2.6.5946.13963 9 09/29/2026
2.5.5941.14558 5 10/10/2026
2.4.5940.38662 6 09/27/2026
2.3.5940.24969 7 10/09/2026
2.2.5940.22487 5 10/09/2026
2.1.5940.20329 8 10/02/2026
2.0.5928.2914 7 09/28/2026
1.39.5923.31343 8 09/30/2026
1.38.5920.30379 8 10/01/2026
1.37.5912.16399 9 09/28/2026
1.36.5908.3838 40 12/10/2025
1.35.5908.509 6 10/09/2026
1.34.5905.41329 7 09/28/2026
1.32.5904.40563 6 10/05/2026
1.31.5892.26482 7 10/08/2026
1.30.5878.31384 8 10/09/2026
1.29.5875.38535 5 10/09/2026
1.29.5875.38248 7 10/16/2026
1.29.5875.36302 6 10/07/2026
1.28.5872.19133 6 10/09/2026
1.27.5865.35296 6 10/09/2026
1.26.5864.35160 37 12/10/2025
1.25.5861.38102 7 10/09/2026
1.24.5858.29180 36 12/11/2025
1.23.5856.30577 7 10/09/2026
1.22.5836.1197 5 10/10/2026
1.21.5834.30412 5 10/09/2026
1.21.5831.34290 8 09/28/2026
1.21.5830.29524 7 09/28/2026
1.20.5829.20854 5 10/09/2026
1.20.5829.15818 8 10/07/2026
1.19.5828.20063 9 10/05/2026
1.19.5827.22433 40 12/22/2025
1.19.5824.3255 39 12/11/2025
1.18.5822.14857 40 12/22/2025
1.18.5821.36806 6 10/09/2026
1.17.5820.28487 34 12/22/2025
1.16.5820.27108 5 10/09/2026
1.15.5812.25745 5 10/09/2026
1.14.5811.24407 5 10/09/2026
1.13.5811.23634 38 12/11/2025
1.12.5801.29458 6 09/29/2026
1.11.5799.31777 6 10/09/2026
1.10.5779.31942 6 10/01/2026
1.9.5778.39697 5 10/09/2026
1.9.5778.38903 8 10/10/2026
1.9.5778.31077 42 01/13/2026
1.8.5777.37128 7 10/08/2026
1.8.5775.25809 6 10/09/2026
1.7.5770.30722 42 12/10/2025
1.6.5769.33301 6 10/09/2026
1.6.5765.33542 6 10/09/2026
1.6.5763.16697 5 10/10/2026
1.6.5760.32685 38 12/11/2025
1.6.5759.33134 7 09/27/2026
1.6.5758.30931 40 12/11/2025
1.6.5757.40238 7 10/09/2026
1.6.5751.15394 9 10/02/2026
1.5.5750.33915 7 10/09/2026
1.5.5750.33435 7 10/09/2026
1.4.5737.33581 6 10/10/2026
1.4.5732.34143 8 09/28/2026
1.4.5731.36729 9 09/28/2026
1.3.5731.34877 41 12/13/2025
1.2.5730.33570 42 12/11/2025
1.1.5729.33707 47 12/14/2025
1.0.5725.35303 6 09/28/2026
0.2.5707.34168 6 10/09/2026
0.2.5707.33649 5 10/09/2026
0.1.5585.25897 44 12/11/2025
0.1.5582.28800 6 10/10/2026
0.1.5524.6071 38 12/14/2025
0.1.5504.31964 50 12/11/2025
0.1.5494.16128 10 10/01/2026
0.1.5492.33014 5 10/02/2026
0.1.5479.38772 5 10/09/2026
0.1.5477.39622 6 09/27/2026
0.1.5477.36883 10 10/09/2026
0.1.5471.22558 6 09/28/2026
0.1.5470.42846 5 10/09/2026
0.1.5470.35375 35 12/11/2025
0.1.5470.35079 5 10/07/2026