NJsonSchema.CodeGeneration 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.CodeGeneration.

Packages Downloads
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
48
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
44
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
42
NJsonSchema.CodeGeneration.TypeScript
JSON Schema draft v4 reader, generator and validator for .NET
41
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
41
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
39
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
39
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
38
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
37
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
37
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
37
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
37
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
36
NJsonSchema.CodeGeneration.TypeScript
JSON Schema reader, generator and validator for .NET
36

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

Version Downloads Last updated
11.6.1 24 04/21/2026
11.6.0 15 04/08/2026
11.5.2 24 12/21/2025
11.5.1 22 12/21/2025
11.5.0 26 12/21/2025
11.4.0 30 12/21/2025
11.3.2 18 12/23/2025
11.3.1 21 12/20/2025
11.3.0 26 12/23/2025
11.2.0 16 12/21/2025
11.1.0 31 12/22/2025
11.0.2 26 01/01/2026
11.0.1 25 01/01/2026
11.0.0 20 12/18/2025
11.0.0-preview008 30 12/13/2025
11.0.0-preview007 29 12/21/2025
11.0.0-preview006 25 12/21/2025
11.0.0-preview005 16 12/21/2025
11.0.0-preview004 22 12/13/2025
11.0.0-preview003 20 12/13/2025
11.0.0-preview002 29 12/09/2025
11.0.0-preview001 27 12/09/2025
10.9.0 22 12/09/2025
10.8.0 21 12/14/2025
10.7.2 19 12/22/2025
10.7.1 19 12/21/2025
10.7.0 17 01/08/2026
10.6.10 22 12/21/2025
10.6.9 19 12/20/2025
10.6.8 14 12/09/2025
10.6.7 23 12/09/2025
10.6.6 26 12/09/2025
10.6.5 30 12/09/2025
10.6.4 20 12/09/2025
10.6.3 29 12/09/2025
10.6.2 19 12/10/2025
10.6.1 26 12/09/2025
10.6.0 25 01/03/2026
10.5.2 23 12/21/2025
10.5.1 18 12/23/2025
10.5.0 26 12/24/2025
10.4.6 29 12/09/2025
10.4.5 23 12/13/2025
10.4.4 26 01/11/2026
10.4.3 21 12/23/2025
10.4.2 29 01/01/2026
10.4.1 23 12/13/2025
10.4.0 22 12/16/2025
10.3.11 21 12/13/2025
10.3.10 26 12/09/2025
10.3.9 21 12/12/2025
10.3.8 18 12/31/2025
10.3.7 33 12/09/2025
10.3.6 19 12/11/2025
10.3.5 22 12/10/2025
10.3.4 22 12/09/2025
10.3.3 28 12/15/2025
10.3.2 27 12/22/2025
10.3.1 21 12/22/2025
10.3.0 25 12/23/2025
10.2.2 27 12/23/2025
10.2.1 18 12/09/2025
10.2.0 19 12/15/2025
10.1.26 35 12/13/2025
10.1.25 14 12/22/2025
10.1.24 31 12/09/2025
10.1.23 15 12/19/2025
10.1.22 31 12/09/2025
10.1.21 32 12/10/2025
10.1.20 20 12/21/2025
10.1.19 29 12/15/2025
10.1.18 26 12/21/2025
10.1.17 31 12/21/2025
10.1.16 29 12/09/2025
10.1.15 23 12/13/2025
10.1.14 19 12/09/2025
10.1.13 29 12/21/2025
10.1.12 25 12/21/2025
10.1.11 24 12/10/2025
10.1.10 20 12/21/2025
10.1.9 33 12/15/2025
10.1.8 17 12/20/2025
10.1.7 25 01/01/2026
10.1.6 17 12/23/2025
10.1.5 30 12/10/2025
10.1.4 27 01/11/2026
10.1.3 26 12/23/2025
10.1.2 19 12/22/2025
10.1.1 25 12/15/2025
10.1.0 18 12/22/2025
10.0.28 27 12/21/2025
10.0.27 20 12/21/2025
10.0.26 27 12/21/2025
10.0.25 33 12/09/2025
10.0.24 19 12/21/2025
10.0.23 19 12/12/2025
10.0.22 21 12/21/2025
10.0.21 26 12/21/2025
10.0.20 27 12/17/2025
10.0.19 20 12/09/2025
10.0.18 20 12/13/2025
10.0.17 34 12/09/2025
10.0.16 30 12/09/2025
10.0.15 20 12/09/2025
10.0.14 26 12/16/2025
10.0.13 24 12/21/2025
10.0.12 21 12/16/2025
10.0.11 14 12/21/2025
10.0.10 23 12/10/2025
10.0.9 24 12/09/2025
10.0.8 23 01/01/2026
10.0.7 29 12/23/2025
10.0.6 19 12/09/2025
10.0.5 14 12/22/2025
10.0.4 24 01/11/2026
10.0.3 20 12/23/2025
10.0.1 25 12/23/2025
10.0.0 19 12/13/2025
9.14.1 28 12/09/2025
9.14.0 28 12/09/2025
9.13.37 23 12/21/2025
9.13.36 17 12/21/2025
9.13.35 20 12/15/2025
9.13.34 20 12/21/2025
9.13.33 20 12/21/2025
9.13.32 18 12/09/2025
9.13.31 25 12/09/2025
9.13.30 29 12/21/2025
9.13.29 26 12/21/2025
9.13.28 25 12/21/2025
9.13.27 29 12/09/2025
9.13.26 21 12/10/2025
9.13.25 27 12/09/2025
9.13.24 28 12/09/2025
9.13.23 25 12/21/2025
9.13.22 27 12/09/2025
9.13.19 27 12/21/2025
9.13.18 19 12/21/2025
9.13.17 17 12/15/2025
9.13.16 20 12/09/2025
9.13.15 25 12/21/2025
9.13.14 23 12/09/2025
9.13.13 30 12/14/2025
9.13.12 31 12/11/2025
9.13.11 24 12/21/2025
9.13.10 17 12/21/2025
9.13.9 18 01/11/2026
9.13.8 20 12/22/2025
9.13.7 23 12/11/2025
9.13.5 21 12/09/2025
9.13.4 18 12/30/2025
9.13.3 25 12/21/2025
9.13.2 27 12/16/2025
9.13.1 20 12/21/2025
9.13.0 18 12/15/2025
9.12.7 22 12/24/2025
9.12.6 18 01/02/2026
9.12.5 23 12/29/2025
9.12.4 28 12/09/2025
9.12.3 22 12/13/2025
9.12.2 20 12/24/2025
9.12.1 25 12/13/2025
9.12.0 17 12/23/2025
9.11.1 17 12/22/2025
9.11.0 25 12/22/2025
9.10.75 28 12/09/2025
9.10.74 18 12/21/2025
9.10.73 17 12/15/2025
9.10.72 28 12/09/2025
9.10.71 29 12/14/2025
9.10.70 29 12/15/2025
9.10.69 17 12/21/2025
9.10.68 19 12/10/2025
9.10.67 16 12/21/2025
9.10.66 34 12/13/2025
9.10.65 24 12/09/2025
9.10.64 22 12/15/2025
9.10.63 24 12/11/2025
9.10.62 30 12/09/2025
9.10.61 29 12/21/2025
9.10.60 27 12/09/2025
9.10.59 22 12/21/2025
9.10.58 14 12/21/2025
9.10.57 27 12/15/2025
9.10.56 27 12/21/2025
9.10.55 22 12/10/2025
9.10.54 25 12/16/2025
9.10.53 21 12/21/2025
9.10.52 19 12/09/2025
9.10.51 32 12/21/2025
9.10.50 23 12/21/2025
9.10.49 26 12/21/2025
9.10.48 16 12/21/2025
9.10.47 16 12/15/2025
9.10.46 22 12/09/2025
9.10.45 20 12/21/2025
9.10.44 18 12/15/2025
9.10.43 22 12/09/2025
9.10.42 17 12/21/2025
9.10.41 28 12/09/2025
9.10.40 24 12/09/2025
9.10.39 26 12/21/2025
9.10.38 27 12/09/2025
9.10.37 24 12/09/2025
9.10.36 17 12/15/2025
9.10.35 29 12/09/2025
9.10.34 30 12/09/2025
9.10.33 19 12/09/2025
9.10.32 30 12/21/2025
9.10.31 27 12/21/2025
9.10.30 25 12/09/2025
9.10.29 22 12/21/2025
9.10.28 15 12/16/2025
9.10.27 20 12/21/2025
9.10.26 18 12/21/2025
9.10.25 28 12/21/2025
9.10.24 26 12/21/2025
9.10.23 30 12/21/2025
9.10.22 16 12/21/2025
9.10.21 28 12/21/2025
9.10.20 28 12/21/2025
9.10.19 21 12/21/2025
9.10.18 21 12/15/2025
9.10.17 29 12/20/2025
9.10.16 18 12/09/2025
9.10.15 20 12/09/2025
9.10.14 17 12/21/2025
9.10.13 28 12/09/2025
9.10.12 22 12/21/2025
9.10.11 25 12/21/2025
9.10.10 27 12/09/2025
9.10.9 22 12/21/2025
9.10.8 25 12/09/2025
9.10.7 30 12/09/2025
9.10.6 26 01/02/2026
9.10.5 22 12/15/2025
9.10.4 18 12/15/2025
9.10.3 28 12/23/2025
9.10.2 30 12/13/2025
9.10.1 15 12/22/2025
9.10.0 31 12/15/2025
9.9.17 31 12/15/2025
9.9.16 26 12/15/2025
9.9.15 17 12/23/2025
9.9.14 31 12/16/2025
9.9.13 28 12/13/2025
9.9.12 17 12/23/2025
9.9.11 30 12/30/2025
9.9.10 29 12/15/2025
9.9.9 20 12/09/2025
9.9.8 30 12/11/2025
9.9.7 22 01/01/2026
9.9.6 13 01/01/2026
9.9.5 15 12/09/2025
9.9.4 25 12/23/2025
9.9.3 17 12/21/2025
9.9.2 19 12/22/2025
9.9.1 18 12/23/2025
9.9.0 28 12/13/2025
9.8.3 24 12/09/2025
9.8.2 27 12/20/2025
9.8.1 23 12/09/2025
9.8.0 26 12/17/2025
9.7.7 26 12/13/2025
9.7.6 28 01/02/2026
9.7.5 21 12/21/2025
9.7.3 24 12/22/2025
9.7.2 27 12/22/2025
9.7.1 23 12/22/2025
9.7.0 25 12/09/2025
9.6.5 17 12/09/2025
9.6.4 18 12/24/2025
9.6.3 31 12/22/2025
9.6.2 24 12/09/2025
9.6.1 29 12/29/2025
9.6.0 22 12/09/2025
9.5.4 27 01/09/2026
9.5.3 24 12/15/2025
9.5.2 28 12/09/2025
9.5.1 22 12/20/2025
9.5.0 25 12/22/2025
9.4.10 26 01/11/2026
9.4.9 26 12/20/2025
9.4.8 18 12/20/2025
9.4.7 16 01/11/2026
9.4.6 21 12/09/2025
9.4.5 19 12/22/2025
9.4.4 31 12/23/2025
9.4.3 18 12/23/2025
9.4.2 15 12/23/2025
9.4.1 20 01/11/2026
9.4.0 20 12/09/2025
9.3.2 23 12/23/2025
9.3.1 23 12/22/2025
9.3.0 25 12/16/2025
9.2.5 28 12/09/2025
9.2.4 17 01/01/2026
9.2.3 21 12/13/2025
9.2.2 35 12/09/2025
9.2.1 23 12/10/2025
9.2.0 19 12/24/2025
9.1.13 18 12/09/2025
9.1.12 29 12/09/2025
9.1.11 14 12/15/2025
9.1.10 22 12/23/2025
9.1.9 14 12/28/2025
9.1.8 16 12/22/2025
9.1.7 14 12/21/2025
9.1.6 17 01/02/2026
9.1.5 27 12/23/2025
9.1.4 26 12/18/2025
9.1.3 26 12/24/2025
9.1.2 26 12/22/2025
9.1.1 28 12/13/2025
9.1.0 28 12/11/2025
9.0.0 17 12/15/2025
8.34.6331.29195 32 12/15/2025
8.33.6323.36234 19 12/30/2025
8.32.6319.16954 21 12/10/2025
8.31.6318.20496 14 12/21/2025
8.30.6304.31907 18 12/21/2025
8.29.6304.29598 18 12/21/2025
8.28.6304.29323 17 12/09/2025
8.27.6302.16061 17 12/11/2025
8.26.6300.23803 23 12/21/2025
8.25.6298.25745 25 12/14/2025
8.24.6298.12188 19 12/13/2025
8.23.6298.10833 17 12/21/2025
8.22.6296.25118 25 12/10/2025
8.21.6296.23976 19 12/14/2025
8.20.6296.23156 14 12/21/2025
8.19.6295.40488 27 12/21/2025
8.18.6295.39662 25 12/20/2025
8.17.6295.16512 27 12/18/2025
8.16.6295.13544 21 12/09/2025
8.15.6294.28833 19 12/21/2025
8.14.6289.34376 16 12/09/2025
8.13.6288.31202 23 12/10/2025
8.12.6288.29376 62 12/21/2025
8.11.6284.26878 61 12/13/2025
8.10.6282.29590 78 12/21/2025
8.9.6275.22314 15 12/21/2025
8.8.6270.12850 22 12/21/2025
8.7.6267.38146 22 12/10/2025
8.6.6263.34639 18 12/09/2025
8.5.6255.20272 31 12/15/2025
8.4.6254.24670 18 12/10/2025
8.3.6252.27823 20 12/10/2025
8.2.6249.40706 20 12/21/2025
8.1.6249.15650 72 12/10/2025
8.0.6242.20256 69 12/11/2025
7.10.6235.25418 19 12/18/2025
7.9.6234.40183 65 12/09/2025
7.8.6234.39161 65 12/13/2025
7.7.6231.35505 73 12/13/2025
7.6.6221.22554 21 12/10/2025
7.5.6218.39592 70 12/15/2025
7.4.6218.34187 75 12/21/2025
7.3.6214.21001 70 12/21/2025
7.2.6206.27052 20 12/09/2025
7.1.6203.28289 22 12/10/2025
7.0.6201.32794 26 12/16/2025
6.8.6197.43076 22 12/21/2025
6.7.6197.28472 23 12/21/2025
6.6.6192.39836 28 12/10/2025
6.5.6190.16910 30 12/11/2025
6.4.6189.32876 19 12/14/2025
6.3.6185.19861 70 12/21/2025
6.2.6179.20107 69 12/14/2025
6.1.6179.17509 74 12/21/2025
6.0.6178.42031 26 12/10/2025
5.20.6175.31167 24 12/10/2025
5.19.6171.28316 24 12/21/2025
5.18.6170.22063 19 12/19/2025
5.17.6169.42629 20 12/09/2025
5.16.6156.29215 24 12/21/2025
5.15.6154.34583 28 12/09/2025
5.14.6153.20988 25 12/09/2025
5.13.6150.21323 63 12/21/2025
5.12.6149.950 62 12/10/2025
5.11.6148.42451 66 12/15/2025
5.10.6148.26189 26 12/14/2025
5.9.6144.17990 25 12/21/2025
5.8.6143.37542 32 12/21/2025
5.7.6142.39228 17 12/10/2025
5.6.6142.18206 15 12/09/2025
5.5.6138.25615 26 12/13/2025
5.5.6138.25231 26 12/21/2025
5.4.6138.25088 21 12/21/2025
5.4.6138.24413 20 12/09/2025
5.3.6137.40406 17 12/21/2025
5.2.6135.25892 24 12/16/2025
5.1.6130.30070 16 12/13/2025
5.0.6130.17623 21 12/09/2025
4.28.6128.27589 19 12/21/2025
4.27.6128.21479 24 12/09/2025
4.26.6123.28533 30 12/21/2025
4.25.6122.24179 22 12/21/2025
4.24.6122.15984 23 12/09/2025
4.23.6120.19206 30 12/09/2025
4.22.6120.18408 24 12/09/2025
4.21.6119.18329 25 12/21/2025
4.20.6119.18035 16 12/13/2025
4.19.6118.22551 29 12/21/2025
4.18.6117.31903 28 12/09/2025
4.17.6115.27875 32 12/10/2025
4.16.6115.26710 21 12/21/2025
4.15.6113.36675 19 12/21/2025
4.14.6108.28116 23 12/21/2025
4.13.6107.31016 17 12/13/2025
4.12.6103.41722 27 12/16/2025
4.11.6103.32936 17 12/14/2025
4.10.6103.22761 18 12/21/2025
4.9.6102.40549 18 12/09/2025
4.8.6094.34028 30 12/09/2025
4.7.6093.32380 31 12/14/2025
4.6.6093.13919 28 12/09/2025
4.5.6091.37159 27 12/16/2025
4.4.6091.25565 15 12/21/2025
4.3.6089.14049 16 12/10/2025
4.2.6085.38782 23 12/10/2025
4.1.6075.30950 24 12/10/2025
4.0.6074.30968 27 12/21/2025
3.4.6065.33501 20 12/10/2025
3.3.6061.16591 17 12/17/2025
3.2.6060.41151 26 01/01/2026
3.1.6058.33392 19 12/21/2025
3.0.6058.19298 26 12/09/2025
2.65.6055.39156 28 12/21/2025
2.64.6055.38772 25 12/21/2025
2.62.6049.40363 25 12/21/2025
2.61.6047.40645 24 12/21/2025
2.60.6043.38308 21 12/21/2025
2.59.6040.32733 25 12/21/2025
2.58.6038.30301 25 12/21/2025
2.57.6037.28395 22 12/09/2025
2.56.6036.39821 20 12/21/2025
2.55.6036.31334 22 12/14/2025
2.54.6032.25764 27 12/21/2025
2.53.6030.34287 20 12/09/2025
2.52.6030.13791 25 12/13/2025
2.51.6022.22788 26 12/10/2025
2.50.6019.27728 30 12/11/2025
2.49.6019.25465 22 12/21/2025
2.48.6012.40850 23 12/09/2025
2.47.6012.36610 24 12/18/2025
2.46.6012.18625 17 12/19/2025
2.45.6011.39986 21 12/17/2025
2.44.6011.37468 18 12/21/2025
2.43.6010.35601 20 12/09/2025
2.41.6006.20162 19 12/10/2025
2.40.6005.16497 26 12/15/2025
2.39.6004.37510 24 12/10/2025
2.38.6002.31139 23 12/09/2025
2.37.6002.13678 18 12/21/2025
2.36.6001.31067 28 12/10/2025
2.35.6000.32416 20 12/09/2025
2.34.6000.31960 28 12/21/2025
2.33.6000.30328 17 12/21/2025
2.32.6000.24909 27 12/09/2025
2.31.5998.34797 20 12/15/2025
2.30.5998.28513 28 12/15/2025
2.29.5997.39529 27 12/10/2025
2.28.5997.37673 28 12/09/2025
2.27.5995.31646 22 12/09/2025
2.26.5992.40824 29 12/21/2025
2.25.5989.40404 19 12/21/2025
2.24.5988.28093 24 12/21/2025
2.23.5984.32961 17 12/09/2025
2.22.5984.16718 19 12/21/2025
2.21.5981.35959 24 12/21/2025
2.20.5981.32983 29 12/21/2025
2.19.5978.21535 13 12/21/2025
2.18.5976.28451 30 12/21/2025
2.17.5976.27664 20 12/09/2025
2.16.5975.38442 17 12/21/2025
2.15.5970.28126 30 12/20/2025
2.14.5967.31320 22 12/10/2025
2.13.5966.35760 23 12/10/2025
2.12.5965.33915 17 01/11/2026
2.11.5963.475 19 12/09/2025
2.10.5958.25557 31 12/21/2025
2.9.5956.34079 28 12/09/2025
2.8.5956.13681 25 12/09/2025
2.7.5954.13236 29 12/21/2025
2.6.5946.13963 16 12/21/2025
2.5.5941.14559 16 12/09/2025
2.4.5940.38663 25 12/18/2025
2.3.5940.24970 25 12/21/2025
2.2.5940.22488 15 12/16/2025
2.1.5940.20330 21 12/21/2025
2.0.5928.2915 19 12/11/2025
1.39.5923.31344 30 12/09/2025
1.38.5920.30380 18 12/19/2025
1.37.5912.16400 26 12/15/2025
1.36.5908.3839 28 12/09/2025
1.35.5908.510 18 12/22/2025
1.34.5905.41330 17 12/09/2025
1.32.5904.40564 17 12/21/2025
1.31.5892.26482 30 12/09/2025
1.30.5878.31385 27 12/14/2025
1.29.5875.38536 19 12/10/2025
1.29.5875.38249 26 12/10/2025
1.29.5875.36303 26 12/13/2025
1.28.5872.19133 28 12/09/2025
1.27.5865.35297 16 12/16/2025
1.26.5864.35161 22 12/09/2025
1.25.5861.38103 18 12/21/2025
1.24.5858.29181 20 12/19/2025
1.23.5856.30578 23 12/10/2025
1.22.5836.1198 27 12/21/2025
1.21.5834.30412 19 12/21/2025
1.21.5831.34291 30 12/21/2025
1.21.5830.29525 17 12/21/2025
1.20.5829.20855 29 12/09/2025
1.20.5829.15819 26 12/13/2025
1.19.5828.20064 18 12/21/2025
1.19.5827.22433 26 12/10/2025
1.19.5824.3256 15 12/21/2025
1.18.5822.14857 22 12/15/2025
1.18.5821.36807 16 12/21/2025
1.17.5820.28488 24 12/14/2025
1.16.5820.27109 24 12/18/2025
1.15.5812.25746 28 12/10/2025
1.14.5811.24408 27 12/21/2025
1.13.5811.23634 23 12/09/2025
1.12.5801.29459 30 12/13/2025
1.11.5799.31778 16 12/16/2025
1.10.5779.31943 22 12/09/2025
1.9.5778.39698 21 12/21/2025
1.9.5778.38906 27 12/21/2025
1.9.5778.31079 17 12/21/2025
1.8.5777.37129 27 12/21/2025
1.8.5775.25810 23 12/21/2025
1.7.5770.30723 29 12/12/2025
1.6.5769.33302 18 12/21/2025
1.6.5765.33542 19 12/09/2025
1.6.5763.16697 16 12/10/2025
1.6.5760.32685 23 12/09/2025
1.6.5759.33134 20 12/21/2025
1.6.5758.30931 26 12/09/2025
1.6.5757.40238 15 12/21/2025
1.6.5751.15394 20 12/09/2025
1.5.5750.33915 25 12/17/2025
1.5.5750.33435 28 12/09/2025
1.4.5737.33581 29 12/19/2025
1.4.5732.34143 17 12/14/2025
1.4.5731.36730 25 12/09/2025
1.3.5731.34877 19 12/21/2025
1.2.5730.33570 17 12/21/2025
1.1.5729.33708 26 12/13/2025
1.0.5725.35303 19 12/16/2025
0.2.5707.34168 28 12/21/2025
0.2.5707.33650 28 12/20/2025
0.1.5585.25898 23 12/21/2025
0.1.5582.28800 28 12/09/2025