{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "definitions": {
        "patterns": {
            "type": "array",
            "items": {
                "type": "string"
            },
            "minItems": 1,
            "_uniqueItems": true
        },
        "filter": {
            "type": "object",
            "properties": {
                "include": {
                    "$ref": "#/definitions/patterns"
                },
                "exclude": {
                    "$ref": "#/definitions/patterns"
                }
            },
            "minProperties": 1
        }
    },
    "type": "object",
    "properties": {
        "elements": {
            "$ref": "#/definitions/filter"
        },
        "archives": {
            "$ref": "#/definitions/filter"
        }
    },
    "minProperties": 1
}