NJsonSchema.CodeGeneration 11.6.0

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.CSharp
JSON Schema reader, generator and validator for .NET
25
NSwag.CodeGeneration
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
23
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET
23
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
23
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
24
NSwag.CodeGeneration
NSwag: The Swagger API toolchain for .NET and TypeScript
25
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
23
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
24
NSwag.Commands
NSwag: The OpenAPI/Swagger API toolchain for .NET and TypeScript
26
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
23
NSwag.Commands
NSwag: The Swagger API toolchain for .NET and TypeScript
24

.NET Framework 4.6.2

.NET 8.0

.NET Standard 2.0

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