Qualify Validation

Qualify is an award winning, cloud native, file based QC service designed for broadcasters, content creators and distributors who need to meet industry requirements for media delivery. Ideal for media QC checks for inbound content from creators or outbound content delivery to Netflix and Prime or public broadcasters who require strict compliance for:

  • Format (codec, resolution, frame rate)
  • Bitrate and audio channels configuration
  • Video range, black levels, color gamut
  • Specific layout (bars + black + program)
  • Loudness levels (ATSC A/85, EBU R128)
  • Quality levels (blockiness, letterboxing)

Custom Qualify test plan creation is available in the Encoding.com UI and complete API integration documentation is referenced below. Please see the Qualify User Guide for more test plan configuration details and a Complete List of Qualify QC Tests.

🚧

Media Format

Qualify Validation available only for mp4, cablelabs_mpegts, mainconcept_mxf, and mxf_op1a output formats. For qc_check format, You can use all single-bitrate media containers, Mpeg-DASH container, and all video and audio codecs.

❗️

Template name as identifier

Prior to 7.22 release Qualify Template parameter name used as identifier, after 7.22 release template identifier changed to the unique GUID.
Template name still can be used as identifier but it's not recommended because now name parameter isn't unique e.g. it will address the first template with provided name.

<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>AddMedia</action>
    <source>[SourceFile|SourcePlaylist]</source><!-- required -->
    <format>
        <output>[mp4|cablelabs_mpegts|mainconcept_mxf|mxf_op1a]</output><!-- required -->
        <qc> 
            <qc_qualify_validation>
                <template_id>[TemplateGUID]</template_id><!-- required if template_json not specified -->
                <template>[TemplateName]</template><!-- optional, deprecated -->
                <template_json><![CDATA[
                    {
                        "name": "[TemplateName]",
                        "tests": {
                            [TestsList]
                        },
                        "package_layout": {
                            // package_layout params
                        },
                        "audio_layout": {
                            // audio_layout params
                        }
                    }
                ]]></template_json>
                <sidecar>[SidecarURL_1]</sidecar>
                <sidecar>[SidecarURL_2]</sidecar>
                <!-- ... -->
                <sidecar>[SidecarURL_N]</sidecar>
                <report_destination>[ReportDestinationURL]</report_destination>
                <send_pdf>[yes|no]</send_pdf>
            </qc_qualify_validation>
        </qc>
        <!-- format params -->
    </format>
</query>
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "AddMedia", // required
        "source": "[SourceFile|SourcePlaylist]", // required
        "format": {
            "output": "[mp4|cablelabs_mpegts|mainconcept_mxf|mxf_op1a]", // required
            "qc": {
                "qc_qualify_validation": {
                    "template_id": "[TemplateGUID]", // required if template_json not specified
                    "template": "[TemplateName]", // optional, deprecated
                    "template_json": {
                        "name": "[TemplateName]",
                        "tests": {
                            [TestsList]
                        },
                        "package_layout": {
                            // package_layout params
                        },
                        "audio_layout": {
                            // audio_layout params
                        }
                    },
                    "sidecar": [
                        "SidecarURL_1",
                        "SidecarURL_2",
                        // ...
                        "SidecarURL_N"
                    ],
                    "report_destination": "[ReportDestinationURL]",
                    "send_pdf": "[yes|no]"
                }
            }
            // format params
        }
    }
}
<?xml version="1.0"?>
<query>
    <userid>[UserID]</userid> <!-- required-->
    <userkey>[UserKey]</userkey> <!-- required-->
    <action>AddMedia</action>
    <source>[SourceFile|SourcePlaylist]</source><!-- required -->
    <format>
        <output>qc_check</output><!-- required -->
        <source_options>
            <qc> 
                <qc_qualify_validation>
                    <template_id>[TemplateGUID]</template_id><!-- required if template_json not specified -->
                    <template>[TemplateName]</template><!-- optional, deprecated -->
                    <template_json><![CDATA[
                        {
                            "name": "[TemplateName]",
                            "tests": {
                                [TestsList]
                            },
                            "package_layout": {
                                // package_layout params
                            },
                            "audio_layout": {
                                // audio_layout params
                            }
                        }
                    ]]></template_json>
                    <sidecar>[SidecarURL_1]</sidecar>
                    <sidecar>[SidecarURL_2]</sidecar>
                    <!-- ... -->
                    <sidecar>[SidecarURL_N]</sidecar>
                    <report_destination>[ReportDestinationURL]</report_destination>
                    <send_pdf>[yes|no]</send_pdf>
                </qc_qualify_validation>
            </qc>
        </source_options>
    </format>
</query>
{
    "query": {
        "userid": "[UserID]", // required
        "userkey": "[UserKey]", // required
        "action": "AddMedia", // required
        "source": "[SourceFile|SourcePlaylist]", // required
        "format": {
            "output": "qc_check", // required
            "source_options": {
                "qc": {
                    "qc_qualify_validation": {
                        "template_id": "[TemplateGUID]", // required if template_json not specified
                        "template": "[TemplateName]", // optional, deprecated
                        "template_json": {
                            "name": "[TemplateName]",
                            "tests": {
                                [TestsList]
                            },
                            "package_layout": {
                                // package_layout params
                            },
                            "audio_layout": {
                                // audio_layout params
                            }
                        },
                        "sidecar": [
                            "SidecarURL_1",
                            "SidecarURL_2",
                            // ...
                            "SidecarURL_N"
                        ],
                        "report_destination": "[ReportDestinationURL]",
                        "send_pdf": "[yes|no]"
                    }
                }
            }
        }
    }
}
ParameterDecriptionAllowed ValuesDefault Value
template_idQualify Template GUID.Stringnone
templateQualify Template name.
Deprected
Stringnone
template_jsonQualify Template JSONValid JSONnone
sidecarTemplate sidecar files arrayValid URLnone
report_destinationQualify QC report destination URLValid URL
String can contain placeholder $media_id$ that will be replaced with ID of QC media
none
send_pdfAttach a PDF report to the email notification from "qc_notify"yes, nono

🚧

For template_json parameter

  • If parameter <template_json /> specified then <template_id /> and <template /> parameters will be ignored.
  • It's not possible to refer to saved audio and package layouts by <id /> parameter.
  • Template specified in <template_json /> parameter not saved in database.

Full Template Schema - Engine Version 2024.2.2

{
    "$schema": "http://json-schema.org/schema#",
    "title": "Templates Schema",
    "type": "object",
    "description": "Represents a Qualify job template",
    "definitions": {
        "gop_structure": {
            "type": "object",
            "required": [
                "open_closed"
            ],
            "additionalProperties": false,
            "properties": {
                "i_distance": {
                    "title": "I-Frame distance",
                    "type": "string",
                    "description": "The distance allowed between gop i-frames as a comma separated list, e.g. '<5,10,>=25'.",
                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                },
                "p_distance": {
                    "title": "P-Frame distance",
                    "type": "string",
                    "description": "The distance allowed between gop p-frames as a comma separated list, e.g. '<5,10,>=25'.",
                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                },
                "open_closed": {
                    "title": "Open/Closed",
                    "type": "integer",
                    "description": "Whether the gop structure should be open/closed or either.",
                    "enum": [
                        0,
                        1,
                        2
                    ],
                    "default": 0,
                    "titleMap": [
                        {
                            "value": 0,
                            "name": "Either"
                        },
                        {
                            "value": 1,
                            "name": "Open"
                        },
                        {
                            "value": 2,
                            "name": "Closed"
                        }
                    ]
                }
            }
        },
        "timecode": {
            "type": "string",
            "title": "Timecode",
            "description": "Timecode, E.g. HH:MM:SS:FF, HH:MM:SS;FF or HH:MM:SS.mmm.",
            "default": "00:00:00:00",
            "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}[;:.][0-9]{2,3}$"
        },
        "basic_timecode": {
            "type": "string",
            "default": "00:00:00.000",
            "title": "Timecode",
            "description": "Timecode, E.g. HH:MM:SS:FF or HH:MM:SS.mmm.",
            "pattern": "^[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}$"
        },
        "bool_false": {
            "type": "boolean",
            "title": "Value",
            "description": "Value.",
            "default": false
        },
        "bool_true": {
            "type": "boolean",
            "title": "Value",
            "description": "Value.",
            "default": true
        },
        "uint32": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "minimum": 0,
            "maximum": 4294967295
        },
        "int32": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "minimum": -2147483648,
            "maximum": 2147483647
        },
        "bool_optional": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 0
        },
        "bool_extended": {
            "type": "integer",
            "title": "Value",
            "description": "Value.",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "default": 2
        },
        "comma_separated_positive_numbers": {
            "type": "string",
            "title": "Comma separated positive numbers",
            "description": "A list of comma separated positive whole numbers or an empty string, e.g. '1', '1,2', '1,2,3'.",
            "pattern": "^$|^\\s*[0-9]+\\s*(,\\s*[0-9]+\\s*)*$"
        },
        "comma_separated_frame_sizes": {
            "type": "string",
            "title": "Comma separated frame sizes",
            "description": "Allowed frame sizes as a comma separated list or an empty string, e.g. '320x240', '1920x544,320x240'.",
            "pattern": "^$|^\\s*[0-9]+\\s*x\\s*[0-9]+\\s*(,\\s*[0-9]+\\s*x\\s*[0-9]+\\s*)*$"
        },
        "comma_separated_positive_numbers_with_operators": {
            "type": "string",
            "title": "Comma separated positive numbers/operators",
            "description": "A list of comma separated positive whole numbers with optional operators or an empty string, e.g. '1', '1-2', '>1,<=2,3'.",
            "pattern": "^$|^(\\s)*([<>]=?\\d+(\\.\\d+)?|\\d+(\\.\\d+)?|\\d+(\\.\\d+)?-\\d+(\\.\\d+)?)((\\s)*(,(\\s)*([<>]=?\\d+(\\.\\d+)?|\\d+(\\.\\d+)?|\\d+(\\.\\d+)?-\\d+(\\.\\d+)?))?)*$"
        },
        "allowed_disallowed_required": {
            "$ref": "#/definitions/bool_optional",
            "titleMap": [
                {
                    "value": 0,
                    "name": "Allowed"
                },
                {
                    "value": 1,
                    "name": "Disallowed"
                },
                {
                    "value": 2,
                    "name": "Required"
                }
            ]
        },
        "rational": {
            "type": "object",
            "required": [
                "num",
                "denom"
            ],
            "properties": {
                "num": {
                    "title": "Numerator",
                    "description": "Numerator.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "denom": {
                    "title": "Denominator",
                    "description": "Denominator.",
                    "type": "integer",
                    "minimum": 1,
                    "default": 1
                }
            }
        },
        "minmax": {
            "type": "object",
            "required": [
                "min",
                "max"
            ],
            "properties": {
                "min": {
                    "title": "Minimum",
                    "description": "Minimum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                },
                "max": {
                    "title": "Maximum",
                    "description": "Maximum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0
                }
            }
        },
        "minmax_bits": {
            "type": "object",
            "required": [
                "min",
                "max"
            ],
            "properties": {
                "min": {
                    "title": "Minimum",
                    "description": "Minimum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0,
                    "suffix": "bits per second"
                },
                "max": {
                    "title": "Maximum",
                    "description": "Maximum.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 0,
                    "suffix": "bits per second"
                }
            }
        },
        "video_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "treat_warnings_as": {
                    "$ref": "#/definitions/warnings_as"
                }
            }
        },
        "audio_config_silence": {
            "properties": {
                "audio_track": {
                    "$ref": "#/definitions/audio_track"
                },
                "audio_track_type": {
                    "$ref": "#/definitions/audio_track_type"
                },
                "dolbye_program": {
                    "$ref": "#/definitions/dolbye_program"
                },
                "channel_mask": {
                    "$ref": "#/definitions/channel_mask"
                }
            },
            "allOf": [
                {
                    "if": {
                        "properties": {
                            "silence": {
                                "const": true
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "audio_track",
                            "audio_track_type"
                        ],
                        "allOf": [
                            {
                                "if": {
                                    "properties": {
                                        "audio_track_type": {
                                            "const": 2
                                        }
                                    }
                                },
                                "then": {
                                    "required": [
                                        "dolbye_program"
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        },
        "audio_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "audio_track": {
                    "$ref": "#/definitions/audio_track"
                },
                "audio_track_type": {
                    "$ref": "#/definitions/audio_track_type"
                },
                "dolbye_program": {
                    "$ref": "#/definitions/dolbye_program"
                },
                "channel_mask": {
                    "$ref": "#/definitions/channel_mask"
                }
            },
            "required": [
                "audio_track",
                "audio_track_type"
            ],
            "allOf": [
                {
                    "if": {
                        "properties": {
                            "audio_track_type": {
                                "const": 2
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "dolbye_program"
                        ]
                    }
                }
            ]
        },
        "original_audio_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "audio_track": {
                    "$ref": "#/definitions/audio_track"
                },
                "channel_mask": {
                    "$ref": "#/definitions/channel_mask"
                }
            },
            "required": [
                "audio_track"
            ]
        },
        "audio_track": {
            "title": "Mix",
            "$ref": "#/definitions/uint32",
            "description": "Audio mix to test.",
            "minimum": 1,
            "default": 1
        },
        "audio_track_type": {
            "title": "Mix type",
            "type": "integer",
            "description": "Audio mix type to test.",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Any"
                },
                {
                    "value": 1,
                    "name": "PCM"
                },
                {
                    "value": 2,
                    "name": "DolbyE"
                },
                {
                    "value": 3,
                    "name": "Encoded"
                }
            ],
            "default": 0
        },
        "dolbye_program": {
            "title": "Dolby E Program",
            "$ref": "#/definitions/uint32",
            "description": "Dolby E program to test (only for Dolby E mixes).",
            "minimum": 1,
            "default": 1
        },
        "channel_mask": {
            "title": "Channel Selection",
            "type": "string",
            "pattern": "^$|^\\s*\\d+\\s*(,\\s*\\d+\\s*)*$",
            "description": "Select channels using comma separated numbers. Leave empty to select all."
        },
        "subtitle_config": {
            "properties": {
                "media_layout": {
                    "$ref": "#/definitions/media_layout_type"
                },
                "treat_warnings_as": {
                    "$ref": "#/definitions/warnings_as"
                }
            }
        },
        "time_units": {
            "type": "integer",
            "title": "Time Units",
            "description": "Test in seconds or frames.",
            "enum": [
                0,
                1
            ],
            "default": 0,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Seconds"
                },
                {
                    "value": 1,
                    "name": "Frames"
                }
            ]
        },
        "time_units_extended": {
            "type": "integer",
            "title": "Time Units",
            "description": "Define duration in seconds, frames or timecodes.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 0,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Seconds"
                },
                {
                    "value": 1,
                    "name": "Frames"
                },
                {
                    "value": 2,
                    "name": "Timecodes"
                }
            ]
        },
        "base_range_type": {
            "type": "integer",
            "title": "Range Type",
            "description": "Range Type.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 0
        },
        "range_limit": {
            "type": "number",
            "title": "Range Limit",
            "description": "Range Limit.",
            "default": 0,
            "minimum": 0
        },
        "base_range": {
            "type": "object",
            "required": [
                "layout"
            ],
            "properties": {
                "layout": {
                    "title": "Layout",
                    "description": "The media layout to test with.",
                    "type": "string",
                    "enum": [
                        "0",
                        "1"
                    ],
                    "default": "0",
                    "titleMap": [
                        {
                            "value": "0",
                            "name": "Test Fixed Duration"
                        },
                        {
                            "value": "1",
                            "name": "Test End Of File"
                        }
                    ]
                },
                "start": {
                    "title": "Starts At",
                    "description": "Starts At.",
                    "$ref": "#/definitions/range_limit"
                },
                "end": {
                    "title": "Ends At",
                    "description": "Ends At.",
                    "$ref": "#/definitions/range_limit"
                },
                "start_from_end": {
                    "title": "Test Last",
                    "description": "Test Last.",
                    "$ref": "#/definitions/range_limit"
                },
                "duration": {
                    "title": "With Duration",
                    "description": "With Duration.",
                    "$ref": "#/definitions/range_limit"
                },
                "units": {
                    "title": "Time Units",
                    "description": "Time Units.",
                    "$ref": "#/definitions/time_units"
                }
            }
        },
        "tolerant_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "tolerance": {
                            "title": "Tolerance +/-",
                            "description": "Tolerance +/-.",
                            "type": "number",
                            "default": 0,
                            "minimum": 0
                        }
                    }
                }
            ]
        },
        "video_bit_depth": {
            "type": "integer",
            "title": "Video Bit Depth",
            "description": "Video Bit Depth.",
            "enum": [
                8,
                10,
                12,
                14
            ],
            "default": 8
        },
        "level_8_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 8.",
            "type": "integer",
            "minimum": 0,
            "maximum": 255,
            "default": 16
        },
        "level_10_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 10.",
            "type": "integer",
            "minimum": 0,
            "maximum": 1023,
            "default": 64
        },
        "level_12_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 12.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4095,
            "default": 256
        },
        "level_14_bit": {
            "title": "Black Level",
            "description": "The black level to use when bit depth is 14.",
            "type": "integer",
            "minimum": 0,
            "maximum": 16383,
            "default": 1024
        },
        "max_black_level_8_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 255,
            "default": 235
        },
        "max_black_level_10_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 1023,
            "default": 940
        },
        "max_black_level_12_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 4095,
            "default": 3760
        },
        "max_black_level_14_bit": {
            "title": "Max Black Level",
            "description": "Max Black Level.",
            "type": "integer",
            "minimum": 0,
            "maximum": 16383,
            "default": 15040
        },
        "warnings_as": {
            "title": "Treat Warnings as",
            "description": "Treat Warnings As.",
            "type": "integer",
            "enum": [
                0,
                1,
                2
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Info"
                },
                {
                    "value": 1,
                    "name": "Warning"
                },
                {
                    "value": 2,
                    "name": "Error"
                }
            ],
            "default": 1
        },
        "sensitivity": {
            "title": "Sensitivity",
            "type": "integer",
            "description": "A High sensitivity will find more problems but could also find more false positives. A Low sensitivity will only detect more obvious problems.",
            "enum": [
                0,
                1,
                2
            ],
            "default": 1,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Low"
                },
                {
                    "value": 1,
                    "name": "Medium"
                },
                {
                    "value": 2,
                    "name": "High"
                }
            ]
        },
        "customizable_sensitivity": {
            "title": "Sensitivity",
            "description": "Sensitivity.",
            "type": "integer",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "default": 1,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Low"
                },
                {
                    "value": 1,
                    "name": "Medium"
                },
                {
                    "value": 2,
                    "name": "High"
                },
                {
                    "value": 3,
                    "name": "Custom"
                }
            ]
        },
        "drop_frame": {
            "type": "integer",
            "title": "Drop Frame",
            "description": "What type of drop frame is required.",
            "enum": [
                0,
                1
            ],
            "default": 0,
            "titleMap": [
                {
                    "value": 0,
                    "name": "Drop"
                },
                {
                    "value": 1,
                    "name": "Non-drop"
                }
            ]
        },
        "media_layout_type": {
            "type": "integer",
            "title": "Media Layout",
            "description": "The media layout to use for the test, global, whole file or user.",
            "enum": [
                0,
                1,
                2
            ],
            "titleMap": [
                {
                    "value": 0,
                    "name": "Global layout"
                },
                {
                    "value": 1,
                    "name": "Whole File"
                },
                {
                    "value": 2,
                    "name": "User layout"
                }
            ],
            "default": 0
        },
        "audio_program": {
            "type": "array",
            "items": {
                "type": "integer",
                "enum": [
                    0,
                    1,
                    2,
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15,
                    16,
                    17,
                    18,
                    19,
                    20,
                    65,
                    66,
                    68,
                    69,
                    70,
                    33,
                    34,
                    35
                ],
                "titleMap": [
                    {
                        "value": 0,
                        "name": "Unknown (U)"
                    },
                    {
                        "value": 1,
                        "name": "Left (L)"
                    },
                    {
                        "value": 2,
                        "name": "Right (R)"
                    },
                    {
                        "value": 3,
                        "name": "Center (C)"
                    },
                    {
                        "value": 4,
                        "name": "LFE (LFE)"
                    },
                    {
                        "value": 5,
                        "name": "Left Surround (Ls)"
                    },
                    {
                        "value": 6,
                        "name": "Right Surround (Rs)"
                    },
                    {
                        "value": 7,
                        "name": "Left Center (Lc)"
                    },
                    {
                        "value": 8,
                        "name": "Right Center (Rc)"
                    },
                    {
                        "value": 9,
                        "name": "Center Surround (Cs)"
                    },
                    {
                        "value": 10,
                        "name": "Left Side (Lsd)"
                    },
                    {
                        "value": 11,
                        "name": "Right Side (Rsd)"
                    },
                    {
                        "value": 12,
                        "name": "Top Center (Tcs)"
                    },
                    {
                        "value": 13,
                        "name": "Top Front Left (Tfl)"
                    },
                    {
                        "value": 14,
                        "name": "Top Front Center (Tfc)"
                    },
                    {
                        "value": 15,
                        "name": "Top Front Right (Tfr)"
                    },
                    {
                        "value": 16,
                        "name": "Top Back Left (Tbl)"
                    },
                    {
                        "value": 17,
                        "name": "Top Back Center (Tbc)"
                    },
                    {
                        "value": 18,
                        "name": "Top Back Right (Tbr)"
                    },
                    {
                        "value": 19,
                        "name": "Top Side Left (Tsl)"
                    },
                    {
                        "value": 20,
                        "name": "Top Side Right (Tsr)"
                    },
                    {
                        "value": 65,
                        "name": "Left Wide (Lw)"
                    },
                    {
                        "value": 66,
                        "name": "Right Wide (Rw)"
                    },
                    {
                        "value": 68,
                        "name": "LFE2 (LFE2)"
                    },
                    {
                        "value": 69,
                        "name": "Left Rear Surround (Lrs)"
                    },
                    {
                        "value": 70,
                        "name": "Right Rear Surround (Rrs)"
                    },
                    {
                        "value": 33,
                        "name": "Left Total (Lt)"
                    },
                    {
                        "value": 34,
                        "name": "Right Total (Rt)"
                    },
                    {
                        "value": 35,
                        "name": "Mono (M)"
                    }
                ]
            }
        },
        "audio_mapping": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/audio_program"
            }
        },
        "audio_layout": {
            "type": [
                "object",
                "null"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "layout": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/audio_mapping"
                    }
                }
            },
            "required": [
                "name",
                "layout"
            ]
        },
        "package_layout": {
            "type": [
                "object",
                "null"
            ],
            "properties": {
                "name": {
                    "type": "string"
                },
                "video_index": {
                    "description": "Index of video track from ABR manifest file that will be used in checks\n",
                    "type": "integer",
                    "minimum": 1
                },
                "audio_indexes": {
                    "description": "Index of audio track from ABR manifest file that will be  used in checks\n",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 1
                    }
                },
                "subtitle_indexes": {
                    "description": "Index of subtitle track from ABR manifest file that will be used in check\n",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 1
                    }
                }
            },
            "required": [
                "name",
                "video_index",
                "audio_indexes",
                "subtitle_indexes"
            ]
        },
        "media_layout": {
            "type": "object",
            "required": [
                "units"
            ],
            "properties": {
                "start": {
                    "title": "Start",
                    "$ref": "#/definitions/range_limit"
                },
                "end": {
                    "title": "End",
                    "$ref": "#/definitions/range_limit"
                },
                "start_timecode": {
                    "title": "Start Timecode",
                    "$ref": "#/definitions/timecode"
                },
                "end_timecode": {
                    "title": "End Timecode",
                    "$ref": "#/definitions/timecode"
                },
                "use_start_timecode_for_media_layout": {
                    "title": "Use Start Timecode For Media Layout",
                    "description": "Whether to use the start timecode of the media for the media layout.",
                    "type": [
                        "boolean",
                        "null"
                    ],
                    "nullable": true,
                    "default": false
                },
                "units": {
                    "title": "Layout boundary units",
                    "$ref": "#/definitions/time_units_extended"
                }
            },
            "if": {
                "properties": {
                    "units": {
                        "const": 2
                    }
                }
            },
            "then": {
                "required": [
                    "start_timecode",
                    "end_timecode"
                ]
            },
            "else": {
                "required": [
                    "start",
                    "end"
                ]
            }
        },
        "upgrade_note": {
            "type": "object",
            "title": "Upgrade Note",
            "description": "Upgrade Note(s).",
            "additonalProperties": false,
            "required": [
                "version",
                "notes"
            ],
            "properties": {
                "version": {
                    "type": "string",
                    "title": "Upgrade Version",
                    "description": "The engine version that the template has been upgraded to.",
                    "minLength": 1
                },
                "notes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "audio_description_test_config": {
            "type": "object",
            "required": [
                "description",
                "control"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "description": {
                            "title": "Audio Description Channel",
                            "description": "The channel where the Audio Description should be present.",
                            "$ref": "#/definitions/uint32",
                            "minimum": 1
                        },
                        "control": {
                            "title": "Control Channel",
                            "description": "The channel where the Audio Description Control should be present.",
                            "$ref": "#/definitions/uint32",
                            "minimum": 1
                        },
                        "advanced": {
                            "title": "Advanced",
                            "description": "Enable advanced options.",
                            "type": "boolean",
                            "default": false
                        },
                        "ctrl_frequency": {
                            "title": "Control channel Frequency",
                            "description": "The expected frequency of the Control channel.",
                            "type": "number",
                            "default": 1280,
                            "suffix": "Hz"
                        },
                        "ctrl_frequency_tolerance": {
                            "title": "Control channel Frequency Tolerance",
                            "description": "The tolerance of the Control channel frequency.",
                            "type": "number",
                            "default": 20,
                            "suffix": "Hz"
                        },
                        "ctrl_amplitude": {
                            "title": "Control channel Amplitude",
                            "description": "The expected amplitude of the Control channel.",
                            "type": "number",
                            "default": -36,
                            "suffix": "dBFS"
                        },
                        "ctrl_amplitude_tolerance": {
                            "title": "Control channel Amplitude Tolerance",
                            "description": "The tolerance of the Control channel amplitude.",
                            "type": "number",
                            "default": 3,
                            "suffix": "dB"
                        }
                    }
                }
            ]
        },
        "audio_hum_detection_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                }
            ]
        },
        "peak_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_peak_enable": {
                            "title": "Min Peak Enable",
                            "description": "Whether the min peak test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "min_peak_level": {
                            "title": "Min Peak Level",
                            "description": "Minimum acceptable peak level.",
                            "type": "number"
                        },
                        "max_peak_enable": {
                            "title": "Max Peak Enable",
                            "description": "Whether the max peak test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_peak_level": {
                            "title": "Max Peak Level",
                            "description": "Maximum acceptable peak level.",
                            "type": "number"
                        },
                        "peak_type": {
                            "title": "Peak Type",
                            "description": "dbTP (True Peak) as per Annex 2 of ITU-R BS.1770-1 or in dbFS (Full Scale).",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "dBFS"
                                },
                                {
                                    "value": 1,
                                    "name": "dBTP"
                                }
                            ],
                            "default": 0
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_peak_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_peak_level"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_peak_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_peak_level"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "phase_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_instant_phase_enable": {
                            "title": "Min Instant Phase Enable",
                            "description": "Whether the min instant phase test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "min_instant_phase": {
                            "title": "Min Instant Phase",
                            "description": "Taken over a window period (defined by the min instant phase duration), the lowest value for the stream is recorded.",
                            "type": "number"
                        },
                        "min_instant_phase_duration": {
                            "title": "Min Instant Phase Duration",
                            "description": "The window period for the min instance phase in seconds. Uses 0.1 seconds if unspecified.",
                            "type": "number",
                            "default": 0.1,
                            "minimum": 0.01
                        },
                        "min_mean_phase_enable": {
                            "title": "Min Mean Phase Enable",
                            "description": "Whether the min mean phase test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "min_mean_phase": {
                            "title": "Min Mean Phase",
                            "description": "Measured over the whole audio stream.",
                            "type": "number"
                        },
                        "max_mean_phase_enable": {
                            "title": "Max Mean Phase Enable",
                            "description": "Whether the max mean phase test is enabled.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_mean_phase": {
                            "title": "Max Mean Phase",
                            "description": "Measured over the whole audio stream.",
                            "type": "number"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_instant_phase_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_instant_phase"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_mean_phase_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_mean_phase"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_mean_phase_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_mean_phase"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "dualmono_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "max_allowed": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "duration": {
                                    "type": "number",
                                    "title": "Max Allowed Duration",
                                    "description": "The total amount of dual mono allowed in the file.",
                                    "default": 1
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Max Allowed",
                                    "description": "Whether the max dual mono allowed test is enabled.",
                                    "default": false
                                },
                                "units": {
                                    "type": "integer",
                                    "title": "Max Allowed Units",
                                    "description": "The units for the max dual mono allowed duration.",
                                    "default": 2,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Samples",
                                            "value": 0
                                        },
                                        {
                                            "name": "Milliseconds",
                                            "value": 1
                                        },
                                        {
                                            "name": "Seconds",
                                            "value": 2
                                        },
                                        {
                                            "name": "Percentage",
                                            "value": 3
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "duration",
                                    "units"
                                ]
                            }
                        },
                        "tolerance_window": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "duration": {
                                    "type": "number",
                                    "title": "Tolerance Window Duration",
                                    "description": "A dual mono section lasting less than this time window will be ignored.",
                                    "default": 1
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Tolerance Window",
                                    "description": "Whether to enable the dual mono tolerance window test.",
                                    "default": false
                                },
                                "units": {
                                    "type": "integer",
                                    "title": "Tolerance Window Units",
                                    "description": "The units for the tolerance window duration.",
                                    "default": 2,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Samples",
                                            "value": 0
                                        },
                                        {
                                            "name": "Milliseconds",
                                            "value": 1
                                        },
                                        {
                                            "name": "Seconds",
                                            "value": 2
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "duration",
                                    "units"
                                ]
                            }
                        }
                    }
                }
            ]
        },
        "clicksandpops_test_config": {
            "type": "object",
            "required": [
                "sensitivity"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "ignore_silence": {
                            "type": "boolean",
                            "title": "Ignore silence",
                            "description": "When turned on, silent parts will be ignored.",
                            "default": true
                        },
                        "sensitivity": {
                            "$ref": "#/definitions/customizable_sensitivity",
                            "title": "Sensitivity",
                            "description": "Determines how sensitive the test will be in detecting clicks and pops."
                        },
                        "custom_sensitivity": {
                            "type": "number",
                            "title": "Custom Sensitivity",
                            "description": "Custom sensitivity percentage. Higher is more sensitive.",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 68.75
                        }
                    }
                },
                {
                    "if": {
                        "properties": {
                            "sensitivity": {
                                "const": 3
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "custom_sensitivity"
                        ]
                    }
                }
            ]
        },
        "clipping_test_config": {
            "type": "object",
            "required": [
                "sensitivity",
                "percentage_check"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_threshold": {
                            "type": "number",
                            "title": "Minimum Threshold",
                            "description": "Specify custom value where samples are suppressed and do not count towards the clipping test.",
                            "suffix": "dB",
                            "default": -60,
                            "minimum": -100
                        },
                        "sensitivity": {
                            "$ref": "#/definitions/customizable_sensitivity",
                            "title": "Sensitivity",
                            "description": "Determines the number of successive samples which must be equal before the sequence is deemed to contain clipping. Choose between High (least number of samples), Medium, and Low (most number of samples)."
                        },
                        "custom_sensitivity": {
                            "type": "number",
                            "title": "Custom Sensitivity",
                            "description": "Specify custom value for successive samples which must be equal before the sequence is deemed to contain clipping."
                        },
                        "units": {
                            "type": "integer",
                            "title": "Custom Sensitivity Units",
                            "description": "Custom Sensitivity Units.",
                            "enum": [
                                0,
                                1
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Samples"
                                },
                                {
                                    "value": 1,
                                    "name": "Milliseconds"
                                }
                            ]
                        },
                        "percentage_check": {
                            "title": "Percentage Check",
                            "description": "Whether to enable the percentage clipping check. This applies to the entire file/layout.",
                            "type": "boolean",
                            "default": false
                        },
                        "percentage": {
                            "title": "Percentage",
                            "description": "The maximum percentage of clipping allowed. 100% means the entire file/layout can be clipped.",
                            "type": "number",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 1,
                            "suffix": "%"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "sensitivity": {
                                        "const": 3
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "custom_sensitivity",
                                    "units"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "percentage_check": {
                                        "const": true
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "percentage"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "units": {
                                        "const": 0
                                    }
                                }
                            },
                            "then": {
                                "properties": {
                                    "custom_sensitivity": {
                                        "minimum": 2
                                    }
                                }
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "units": {
                                        "const": 1
                                    }
                                }
                            },
                            "then": {
                                "properties": {
                                    "custom_sensitivity": {
                                        "minimum": 0.1
                                    }
                                }
                            }
                        }
                    ]
                }
            ]
        },
        "channel_position_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "min_center_freq": {
                            "title": "Minimum center channel frequency",
                            "type": "number",
                            "description": "Minimum center frequency.",
                            "default": 80,
                            "minimum": 0
                        },
                        "max_center_freq": {
                            "title": "Maximum center channel frequency",
                            "type": "number",
                            "description": "Maximum center frequency.",
                            "default": 6000,
                            "minimum": 0
                        },
                        "min_lfe_freq": {
                            "title": "Minimum LFE channel frequency",
                            "type": "number",
                            "description": "Minimum LFE frequency.",
                            "default": 3,
                            "minimum": 0
                        },
                        "max_lfe_freq": {
                            "title": "Maximum LFE channel frequency",
                            "type": "number",
                            "description": "Maximum LFE frequency.",
                            "default": 120,
                            "minimum": 0
                        }
                    }
                }
            ]
        },
        "integrated_loudness_test_config": {
            "type": "object",
            "required": [
                "level",
                "tolerance",
                "mode",
                "dialog_gating"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "level": {
                            "title": "Loudness Level",
                            "description": "Specify the loudness (and tolerance range) within which loudness must lie.",
                            "type": "number",
                            "default": -20,
                            "suffix": "dB"
                        },
                        "tolerance": {
                            "title": "Loudness Tolerance",
                            "description": "Specify the loudness (and tolerance range) within which loudness must lie.",
                            "type": "number",
                            "default": 2,
                            "minimum": 0,
                            "suffix": "dB"
                        },
                        "mode": {
                            "title": "Loudness Mode",
                            "description": "Select standard to use for measuring integrated loudness.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "ITU 1770-4 / EBU I"
                                },
                                {
                                    "value": 1,
                                    "name": "ITU 1770-1"
                                },
                                {
                                    "value": 3,
                                    "name": "ITU 1770-2"
                                },
                                {
                                    "value": 4,
                                    "name": "ITU 1770-3"
                                },
                                {
                                    "value": 2,
                                    "name": "ARIB TR-B32"
                                }
                            ]
                        },
                        "dialog_gating": {
                            "title": "Dialog Gating",
                            "description": "Measure loudness only when dialog is present.",
                            "type": "boolean",
                            "default": false
                        }
                    }
                }
            ]
        },
        "comparative_loudness_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "required": [
                        "second_audio_track",
                        "second_audio_track_type",
                        "mode",
                        "dialog_gating",
                        "tolerance"
                    ],
                    "properties": {
                        "second_audio_track": {
                            "title": "Mix 2",
                            "type": "integer",
                            "description": "Audio mix to compare with other mix.",
                            "minimum": 1,
                            "default": 1
                        },
                        "second_audio_track_type": {
                            "title": "Mix 2 type",
                            "type": "integer",
                            "description": "Audio mix type to test.",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Any"
                                },
                                {
                                    "value": 1,
                                    "name": "PCM"
                                },
                                {
                                    "value": 2,
                                    "name": "DolbyE"
                                },
                                {
                                    "value": 3,
                                    "name": "Encoded"
                                }
                            ],
                            "default": 0
                        },
                        "tolerance": {
                            "title": "Loudness Tolerance",
                            "description": "Specify the loudness (and tolerance range) within which the mixes' loudness must be in.",
                            "type": "number",
                            "default": 2,
                            "minimum": 0,
                            "suffix": "LU"
                        },
                        "mode": {
                            "title": "Loudness Mode",
                            "description": "Select standard to use for measuring comparative loudness.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "ITU 1770-4 / EBU I"
                                },
                                {
                                    "value": 1,
                                    "name": "ITU 1770-1"
                                },
                                {
                                    "value": 3,
                                    "name": "ITU 1770-2"
                                },
                                {
                                    "value": 4,
                                    "name": "ITU 1770-3"
                                },
                                {
                                    "value": 2,
                                    "name": "ARIB TR-B32"
                                }
                            ]
                        },
                        "dialog_gating": {
                            "title": "Dialog Gating",
                            "description": "Measure loudness only when dialog is present.",
                            "type": "boolean",
                            "default": false
                        }
                    }
                }
            ]
        },
        "shortterm_loudness_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "level": {
                            "title": "Loudness Level",
                            "description": "Loudness Level.",
                            "type": "number",
                            "default": -20,
                            "suffix": "dB"
                        },
                        "window": {
                            "title": "Loudness Window",
                            "description": "Default window length of 3 seconds corresponds to EBU-Tech 3341 Short-term mode.",
                            "type": "number",
                            "suffix": "seconds",
                            "default": 3,
                            "minimum": 0
                        },
                        "violations": {
                            "title": "Report Violations",
                            "description": "Max Violations will report only the worst violation.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Max Only"
                                },
                                {
                                    "value": 1,
                                    "name": "All Violations"
                                }
                            ],
                            "default": 0
                        }
                    }
                }
            ]
        },
        "momentary_loudness_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "level": {
                            "title": "Loudness Level",
                            "description": "Loudness Level.",
                            "type": "number",
                            "default": -20,
                            "suffix": "dB"
                        },
                        "violations": {
                            "title": "Report Violations",
                            "description": "Max Violations will report only the worst violation.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Max Only"
                                },
                                {
                                    "value": 1,
                                    "name": "All Violations"
                                }
                            ],
                            "default": 0
                        }
                    }
                }
            ]
        },
        "loudness_range_test_config": {
            "type": "object",
            "title": "Loudness Range",
            "description": "Measure the variation in loudness over the duration of a file. The algorithm is specified in EBU-Tech 3342 and produces an output Loudness Range ('LRA') in terms of Loudness Units ('LU').",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "check_min": {
                            "title": "Check Minimum",
                            "type": "boolean",
                            "description": "Whether to enable the minimum loudness test.",
                            "default": false
                        },
                        "min_range": {
                            "title": "Min",
                            "description": "The minimum permitted loudness range.",
                            "type": "number",
                            "suffix": "LU"
                        },
                        "check_max": {
                            "title": "Check Maximum",
                            "description": "Whether to enable the maximum loudness test.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_range": {
                            "title": "Max",
                            "description": "Maximum permitted loudness range.",
                            "type": "number",
                            "suffix": "LU"
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_min": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_range"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_max": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_range"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "dialnorm_test_config": {
            "type": "object",
            "required": [
                "minimum",
                "maximum"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "minimum": {
                            "title": "Minimum Dialnorm Value",
                            "description": "Minimum valid dialnorm value is 1.",
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 31
                        },
                        "maximum": {
                            "title": "Maximum Dialnorm Value",
                            "description": "Maximum valid dialnorm value is 31.",
                            "type": "integer",
                            "minimum": 1,
                            "maximum": 31
                        }
                    }
                }
            ]
        },
        "blackframe_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "Must Be.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Black"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Black"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "colorbar_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The color bar must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "ColorBars"
                                },
                                {
                                    "value": 1,
                                    "name": "Not ColorBars"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "audio_identification_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/original_audio_config"
                },
                {
                    "properties": {
                        "language": {
                            "title": "Expected language",
                            "description": "Checks that identified language is the same as this one.",
                            "type": "string",
                            "enum": [
                                "ara",
                                "rus",
                                "hin",
                                "spa",
                                "por",
                                "eng",
                                "zho",
                                "fra",
                                "deu",
                                "ita",
                                "ell",
                                "tur",
                                "ukr",
                                "nld",
                                "jpn",
                                "kor",
                                "swe",
                                "pol",
                                "ben",
                                "urd",
                                "ces"
                            ],
                            "titleMap": [
                                {
                                    "value": "ara",
                                    "name": "Arabic - ara"
                                },
                                {
                                    "value": "rus",
                                    "name": "Russian - rus"
                                },
                                {
                                    "value": "hin",
                                    "name": "Hindi - hin"
                                },
                                {
                                    "value": "spa",
                                    "name": "Castilian, Spanish - spa"
                                },
                                {
                                    "value": "por",
                                    "name": "Portuguese - por"
                                },
                                {
                                    "value": "eng",
                                    "name": "English - eng"
                                },
                                {
                                    "value": "zho",
                                    "name": "Chinese - zho"
                                },
                                {
                                    "value": "fra",
                                    "name": "French - fra"
                                },
                                {
                                    "value": "deu",
                                    "name": "German - deu"
                                },
                                {
                                    "value": "ita",
                                    "name": "Italian - ita"
                                },
                                {
                                    "value": "ell",
                                    "name": "Greek - ell"
                                },
                                {
                                    "value": "tur",
                                    "name": "Turkish - tur"
                                },
                                {
                                    "value": "ukr",
                                    "name": "Ukrainian - ukr"
                                },
                                {
                                    "value": "nld",
                                    "name": "Dutch, Flemish - nld"
                                },
                                {
                                    "value": "jpn",
                                    "name": "Japanese - jpn"
                                },
                                {
                                    "value": "kor",
                                    "name": "Korean - kor"
                                },
                                {
                                    "value": "swe",
                                    "name": "Swedish - swe"
                                },
                                {
                                    "value": "pol",
                                    "name": "Polish - pol"
                                },
                                {
                                    "value": "ben",
                                    "name": "Bengali - ben"
                                },
                                {
                                    "value": "urd",
                                    "name": "Urdu - urd"
                                },
                                {
                                    "value": "ces",
                                    "name": "Czech - ces"
                                }
                            ],
                            "default": "eng"
                        },
                        "same_as_metadata": {
                            "title": "Identified language should be same as metadata",
                            "description": "Checks identified language against metadata, overrides chosen language.",
                            "type": "boolean",
                            "default": false
                        }
                    }
                }
            ],
            "anyOf": [
                {
                    "required": [
                        "language"
                    ]
                },
                {
                    "required": [
                        "same_as_metadata"
                    ],
                    "properties": {
                        "same_as_metadata": {
                            "title": "Identified language should be same as metadata",
                            "description": "Checks identified language against metadata, overrides chosen language.",
                            "type": "boolean",
                            "default": true,
                            "const": true
                        }
                    }
                }
            ]
        },
        "freezeframe_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The freeze frame range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Freeze"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Freeze"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "minlevel_test_config": {
            "type": "object",
            "required": [
                "audio_track",
                "dolbye_program",
                "minlevel_elsewhere",
                "level",
                "duration",
                "units"
            ],
            "title": "Minimum Level",
            "description": "Checks if the RMS level for a given channel drops below the given level for a window longer than the given duration.",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "minlevel_elsewhere": {
                            "title": "Test whole file",
                            "description": "Evaluate minimum level across the whole file.",
                            "type": "boolean",
                            "default": true
                        },
                        "level": {
                            "title": "Min Level Threshold (dBFS)",
                            "type": "number",
                            "default": -70,
                            "description": "The minimum acceptable level over the window duration, in dBFS RMS."
                        },
                        "duration": {
                            "title": "Window Duration",
                            "description": "Window Duration in time units.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "units": {
                            "title": "Time Units",
                            "description": "The time units to use.",
                            "$ref": "#/definitions/time_units"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The minimum level ranges to use.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/minlevel_range"
                            }
                        }
                    }
                }
            ]
        },
        "minlevel_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Test for minimum level",
                            "description": "Test for minimum level.",
                            "type": "integer",
                            "enum": [
                                0,
                                2
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Should be below"
                                },
                                {
                                    "value": 2,
                                    "name": "Don't care"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "location_test": {
            "type": "object",
            "required": [
                "exclude_first",
                "is_repeated",
                "present"
            ],
            "additionalProperties": false,
            "properties": {
                "body": {
                    "title": "Body Partition(s)",
                    "description": "Body Partition(s).",
                    "$ref": "#/definitions/allowed_disallowed_required"
                },
                "exclude_first": {
                    "type": "boolean",
                    "title": "Exclude First Body Partition",
                    "description": "Exclude First Body Partition.",
                    "default": false
                },
                "footer": {
                    "title": "Footer Partition",
                    "description": "Footer Partition.",
                    "$ref": "#/definitions/allowed_disallowed_required"
                },
                "header": {
                    "title": "Header Partition",
                    "description": "Header Partition.",
                    "$ref": "#/definitions/allowed_disallowed_required"
                },
                "is_repeated": {
                    "type": "boolean",
                    "title": "Repeated footer partition",
                    "description": "Repeated footer partition.",
                    "default": false
                },
                "present": {
                    "type": "boolean",
                    "title": "Present In At Least One",
                    "description": "Present In At Least One.",
                    "default": false
                }
            }
        },
        "partition_status_test": {
            "type": "object",
            "required": [
                "closedcomplete",
                "closedincomplete",
                "notpresent",
                "opencomplete",
                "openincomplete"
            ],
            "additionalProperties": false,
            "properties": {
                "closedcomplete": {
                    "type": "boolean",
                    "title": "Closed / Complete",
                    "description": "Closed / Complete.",
                    "default": false
                },
                "closedincomplete": {
                    "type": "boolean",
                    "title": "Closed / Incomplete",
                    "description": "Closed / Incomplete.",
                    "default": false
                },
                "notpresent": {
                    "type": "boolean",
                    "title": "Not Present",
                    "description": "Not Present.",
                    "default": false
                },
                "opencomplete": {
                    "type": "boolean",
                    "title": "Open / Complete",
                    "description": "Open / Complete.",
                    "default": false
                },
                "openincomplete": {
                    "type": "boolean",
                    "title": "Open / Incomplete",
                    "description": "Open / Incomplete.",
                    "default": false
                }
            }
        },
        "timecode_track_test": {
            "type": "object",
            "required": [
                "continuity"
            ],
            "additionalProperties": false,
            "properties": {
                "continuity": {
                    "type": "boolean",
                    "title": "Structural Continuity",
                    "description": "Structural Continuity.",
                    "default": false
                },
                "dropframe": {
                    "title": "Drop Frame",
                    "description": "The drop frame type required.",
                    "default": 0,
                    "$ref": "#/definitions/bool_optional",
                    "titleMap": [
                        {
                            "name": "Don't Test",
                            "value": 0
                        },
                        {
                            "name": "False",
                            "value": 1
                        },
                        {
                            "name": "True",
                            "value": 2
                        }
                    ]
                }
            }
        },
        "silence_test_config": {
            "type": "object",
            "required": [
                "silent_elsewhere"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "silent_elsewhere": {
                            "title": "Test whole file",
                            "description": "Test whole file for the presence of silence.",
                            "type": "boolean",
                            "default": true
                        },
                        "silent": {
                            "type": "boolean",
                            "title": "Silent",
                            "description": "Whether the audio must be silent or not.",
                            "default": true,
                            "titleMap": [
                                {
                                    "value": true,
                                    "name": "Must Be Silent"
                                },
                                {
                                    "value": false,
                                    "name": "Must Not Be Silent"
                                }
                            ]
                        },
                        "digital": {
                            "title": "Digital Silence",
                            "type": "boolean",
                            "description": "The track is checked for the presence or absence of audio samples.",
                            "default": false
                        },
                        "threshold": {
                            "title": "Silence Threshold",
                            "type": "number",
                            "default": -70,
                            "description": "The threshold below which an audio track is considered silent."
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges where silence is expected to be or not.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/silence_range"
                            }
                        },
                        "quiet": {
                            "type": "boolean",
                            "title": "Quiet",
                            "description": "Whether to enable quiet mode.",
                            "default": false
                        }
                    }
                }
            ]
        },
        "silence_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The silence range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Silent"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Silent"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "singlecolor_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/tolerant_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The single color range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Single Color"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Single Color"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "allOf": [
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "0"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start",
                                    "end",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        },
                        {
                            "if": {
                                "properties": {
                                    "layout": {
                                        "enum": [
                                            "1"
                                        ]
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "start_from_end",
                                    "duration",
                                    "tolerance",
                                    "units",
                                    "range_type"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "sid": {
            "type": "string",
            "pattern": "^$|^\\s*\\d+\\s*(,\\s*\\d+\\s*)*$",
            "title": "Sid",
            "description": "The sid to find. Leave blank for any."
        },
        "nielsen_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "naes2": {
                            "title": "NAES 2",
                            "type": "boolean",
                            "default": false,
                            "description": "Detects and reports N2 watermarks."
                        },
                        "naes2_sids": {
                            "$ref": "#/definitions/sid"
                        },
                        "naes6": {
                            "title": "NAES 6",
                            "type": "boolean",
                            "default": false,
                            "description": "Detects and reports Nielsen Watermark TAM** Codes (NW) and Nielsen Watermark Commercial Codes (NWCC)."
                        },
                        "naes6_sids": {
                            "$ref": "#/definitions/sid"
                        }
                    }
                }
            ]
        },
        "tone_type": {
            "title": "Tone Type",
            "type": "string",
            "description": "Check for presence of sine wave tone at level given in dBFS peak-to-peak (to convert from RMS add 3dB).",
            "enum": [
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
            ],
            "default": "0",
            "titleMap": [
                {
                    "value": "0",
                    "name": "Continuous"
                },
                {
                    "value": "1",
                    "name": "Ebu1000Hz"
                },
                {
                    "value": "2",
                    "name": "Ebu440Hz"
                },
                {
                    "value": "3",
                    "name": "Glits1000Hz"
                },
                {
                    "value": "4",
                    "name": "Glits2000Hz"
                },
                {
                    "value": "5",
                    "name": "Blits"
                },
                {
                    "value": "6",
                    "name": "EAS (Emergency Alert System)"
                }
            ]
        },
        "tone_test_config": {
            "type": "object",
            "required": [
                "tone_type"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "tone_type": {
                            "$ref": "#/definitions/tone_type"
                        },
                        "tone_elsewhere": {
                            "title": "Test whole file",
                            "description": "Test whole file for the presence of a test tone.",
                            "type": "boolean",
                            "default": true
                        },
                        "tone": {
                            "type": "boolean",
                            "title": "Tone",
                            "description": "Whether the tone must be present or not.",
                            "default": false,
                            "titleMap": [
                                {
                                    "value": true,
                                    "name": "Must Be Present"
                                },
                                {
                                    "value": false,
                                    "name": "Must Be Absent"
                                }
                            ]
                        },
                        "frequency": {
                            "title": "Tone frequency",
                            "description": "The expected frequency of the test tone.",
                            "type": "number",
                            "default": 1000,
                            "suffix": "Hz"
                        },
                        "power": {
                            "title": "Tone level",
                            "description": "The power level required of the tone.",
                            "type": "number",
                            "default": -6,
                            "suffix": "dBFS"
                        },
                        "tolerance": {
                            "title": "Level tolerance",
                            "description": "The tolerance of the power allowed when detecting the tone.",
                            "type": "number",
                            "default": 0.5,
                            "suffix": "dB"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The tone ranges allowed.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/tone_range"
                            }
                        },
                        "segment": {
                            "$ref": "#/definitions/tone_segment"
                        }
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "0"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "frequency",
                            "power",
                            "tone_elsewhere"
                        ],
                        "allOf": [
                            {
                                "if": {
                                    "properties": {
                                        "tone_elsewhere": {
                                            "const": true
                                        }
                                    }
                                },
                                "then": {
                                    "required": [
                                        "tone"
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "1"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "2"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "3"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "4"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "tone_type": {
                                "const": "5"
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "tolerance",
                            "segment"
                        ]
                    }
                }
            ]
        },
        "tone_range": {
            "allOf": [
                {
                    "$ref": "#/definitions/base_range"
                },
                {
                    "properties": {
                        "range_type": {
                            "title": "Must Be",
                            "description": "The tone range must be type.",
                            "$ref": "#/definitions/base_range_type",
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Present"
                                },
                                {
                                    "value": 1,
                                    "name": "Not Present"
                                },
                                {
                                    "value": 2,
                                    "name": "Any"
                                }
                            ]
                        }
                    }
                },
                {
                    "if": {
                        "properties": {
                            "layout": {
                                "enum": [
                                    "0"
                                ]
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "start",
                            "end",
                            "units",
                            "range_type"
                        ]
                    }
                },
                {
                    "if": {
                        "properties": {
                            "layout": {
                                "enum": [
                                    "1"
                                ]
                            }
                        }
                    },
                    "then": {
                        "required": [
                            "start_from_end",
                            "duration",
                            "units",
                            "range_type"
                        ]
                    }
                }
            ]
        },
        "tone_segment": {
            "type": "object",
            "required": [
                "start",
                "duration",
                "units"
            ],
            "properties": {
                "start": {
                    "title": "Start At",
                    "description": "Start At.",
                    "$ref": "#/definitions/range_limit"
                },
                "duration": {
                    "title": "Duration",
                    "description": "Duration.",
                    "$ref": "#/definitions/range_limit"
                },
                "units": {
                    "title": "Time Units",
                    "description": "The time units to use.",
                    "$ref": "#/definitions/time_units"
                }
            }
        },
        "ppm_level_test_config": {
            "type": "object",
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "max_ppm_enable": {
                            "type": "boolean",
                            "title": "Max PPM Level Enable",
                            "description": "Whether the max PPM level test is enabled.",
                            "default": false
                        },
                        "max_ppm_level": {
                            "type": "number",
                            "title": "Max PPM Level",
                            "description": "The maximum acceptable PPM level."
                        },
                        "min_ppm_enable": {
                            "type": "boolean",
                            "title": "Min PPM Level Enable",
                            "description": "Whether the minimum PPM level test is enabled.",
                            "default": false
                        },
                        "min_ppm_level": {
                            "type": "number",
                            "title": "Min PPM Level",
                            "description": "The minimum acceptable PPM level."
                        },
                        "ppm_mode": {
                            "type": "integer",
                            "title": "PPM Mode",
                            "description": "The PPM (Peak Programme Meter) Mode to test with.",
                            "default": 0,
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "titleMap": [
                                {
                                    "name": "M3",
                                    "value": 0
                                },
                                {
                                    "name": "M6",
                                    "value": 1
                                },
                                {
                                    "name": "AB",
                                    "value": 2
                                }
                            ]
                        }
                    },
                    "allOf": [
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "min_ppm_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "min_ppm_level"
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_ppm_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_ppm_level"
                                ]
                            }
                        }
                    ]
                }
            ]
        },
        "channelmapping_test_config": {
            "type": "object",
            "required": [
                "mapping"
            ],
            "allOf": [
                {
                    "$ref": "#/definitions/audio_config"
                },
                {
                    "properties": {
                        "mapping": {
                            "title": "Channel Mapping",
                            "type": "string",
                            "pattern": "^$|^\\s*(?:U|L|R|C|LFE|Ls|Rs|Lc|Rc|Cs|Lsd|Rsd|Tcs|Tfl|Tfc|Tfr|Tbl|Tbc|Tbr|Tsl|Tsr|Lw|Rw|LFE2|Lrs|Rrs|Lt|Rt|M|,|\\s)*\\s*$",
                            "description": "Expected channel mapping. Use comma separated channel labels."
                        }
                    }
                }
            ]
        }
    },
    "properties": {
        "name": {
            "description": "User given name of a template",
            "type": "string",
            "nullable": false
        },
        "id": {
            "description": "Cloud ID",
            "type": [
                "string",
                "null"
            ],
            "nullable": true
        },
        "created_at": {
            "description": "Cloud Created at",
            "type": [
                "string",
                "null"
            ],
            "regex": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
            "nullable": true
        },
        "updated_at": {
            "description": "Cloud Updated at",
            "type": [
                "string",
                "null"
            ],
            "regex": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
            "nullable": true
        },
        "audio_layout": {
            "description": "Audio layout to use",
            "$ref": "#/definitions/audio_layout"
        },
        "package_layout": {
            "description": "Package layout to use",
            "$ref": "#/definitions/package_layout"
        },
        "engine_version": {
            "description": "Engine version",
            "type": "string",
            "regex": "^[0-9]{4}.[0-9]{1,2}.[1-9]{1,2}$"
        },
        "tests": {
            "description": "List of tests to run",
            "type": "object",
            "additionalProperties": {
                "type": [
                    "object",
                    "string"
                ]
            },
            "properties": {
                "audio_description": {
                    "test_name": "audio_description",
                    "name": "Audio Description",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        {
                            "type": "help",
                            "helpvalue": "<p>Audio Description Test.</p>"
                        },
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].description",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].control",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].advanced",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].ctrl_frequency",
                                                    "flex": "2 2 50%",
                                                    "condition": "audioconfigs[arrayIndex].advanced"
                                                },
                                                {
                                                    "key": "audioconfigs[].ctrl_frequency_tolerance",
                                                    "flex": "2 2 50%",
                                                    "condition": "audioconfigs[arrayIndex].advanced"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].ctrl_amplitude",
                                                    "flex": "1 1 100%",
                                                    "condition": "audioconfigs[arrayIndex].advanced"
                                                },
                                                {
                                                    "key": "audioconfigs[].ctrl_amplitude_tolerance",
                                                    "flex": "2 2 50%",
                                                    "condition": "audioconfigs[arrayIndex].advanced"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Audio Description Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/audio_description_test_config"
                            }
                        }
                    }
                },
                "audio_hum_detection": {
                    "test_name": "audio_hum_detection",
                    "name": "Audio Hum Detection",
                    "category": "Audio Quality",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "type": "array",
                            "key": "audioconfigs",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "type": "number",
                                                    "key": "audioconfigs[].audio_track",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "type": "number",
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Audio Hum Detection",
                    "description": "The Verification Unit applies a high pass filter to the frequency domain of the audio waveform to determine if 50 Hz or 60 Hz hum (mono tone frequency) is present (+/- 1 Hz) anywhere within the clip.",
                    "properties": {
                        "audioconfigs": {
                            "type": "array",
                            "title": "Audio Hum Detection Test Configuration",
                            "description": "The audio configurations to test.",
                            "items": {
                                "$ref": "#/definitions/audio_hum_detection_test_config"
                            }
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    }
                },
                "peak_level": {
                    "test_name": "peak_level",
                    "name": "Peak Level",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].min_peak_enable",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].min_peak_level",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].max_peak_enable",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].max_peak_level",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].peak_type",
                                                    "flex": "1 1 100%",
                                                    "type": "select"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Peak Level",
                    "description": "Measure the instantaneous audio level on the selected audio Channel(s).",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Peak Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/peak_test_config"
                            }
                        }
                    }
                },
                "phase_coherence": {
                    "test_name": "phase_coherence",
                    "name": "Phase Coherence",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].min_instant_phase_enable",
                                                    "flex": "1 1 100%"
                                                },
                                                {
                                                    "key": "audioconfigs[].min_instant_phase",
                                                    "flex": "1 1 100%",
                                                    "required": true
                                                },
                                                {
                                                    "key": "audioconfigs[].min_instant_phase_duration",
                                                    "flex": "1 1 100%",
                                                    "required": true
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].min_mean_phase_enable",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].min_mean_phase",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].max_mean_phase_enable",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].max_mean_phase",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Phase Coherence",
                    "description": "Measure how similar the left and right channels are.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Phase Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/phase_test_config"
                            }
                        }
                    }
                },
                "dual_mono": {
                    "test_name": "dual_mono",
                    "name": "Dual Mono",
                    "category": "Audio Quality",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "type": "array",
                            "key": "audioconfigs",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].tolerance_window.enable",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "condition": {
                                                "functionBody": "return model.audioconfigs[arrayIndices[0]].tolerance_window.enable == true"
                                            },
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].tolerance_window.duration",
                                                    "flex": "1 1 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].tolerance_window.units",
                                                    "flex": "1 1 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].max_allowed.enable",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "condition": {
                                                "functionBody": "return model.audioconfigs[arrayIndices[0]].max_allowed.enable == true"
                                            },
                                            "flex": "1 1 100%",
                                            "flex-flow": "row wrap",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].max_allowed.duration",
                                                    "flex": "1 1 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].max_allowed.units",
                                                    "flex": "1 1 50%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Dual Mono",
                    "description": "Compares 2 audio streams and reports back if dual mono sections are detected between them.",
                    "additionalProperties": false,
                    "properties": {
                        "audioconfigs": {
                            "type": "array",
                            "title": "DualMono Test Configuration",
                            "description": "The audio configurations to test.",
                            "items": {
                                "$ref": "#/definitions/dualmono_test_config"
                            }
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    }
                },
                "clicks_and_pops": {
                    "test_name": "clicks_and_pops",
                    "name": "Clicks and Pops",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].ignore_silence",
                                                    "flex": "1 1 100%",
                                                    "type": "checkbox"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].sensitivity",
                                                    "flex": "1 1 100%",
                                                    "type": "select"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "condition": {
                                                "functionBody": "return model.audioconfigs[arrayIndices[0]].sensitivity == 3"
                                            },
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].custom_sensitivity",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Clicks and Pops",
                    "description": "Detect transients or sudden changes in amplitude, such as those caused by noise on an analog or digital audio line.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Clicks and Pops Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/clicksandpops_test_config"
                            }
                        }
                    }
                },
                "clipping": {
                    "test_name": "clipping",
                    "name": "Clipping",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].min_threshold",
                                                    "flex": "1 1 100%",
                                                    "description": "The minimum threshold of a sample to process, e.g. -60 for very strict."
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].sensitivity",
                                                    "flex": "1 1 100%",
                                                    "type": "select"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "condition": {
                                                "functionBody": "return model.audioconfigs[arrayIndices[0]].sensitivity == 3"
                                            },
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].custom_sensitivity",
                                                    "flex": "1 1 100%",
                                                    "description": "The number of equal samples required to trigger the warning."
                                                },
                                                {
                                                    "key": "audioconfigs[].units",
                                                    "flex": "1 1 50%",
                                                    "description": "Custom Sensitivity Units."
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].percentage_check",
                                                    "flex": "1 1 50%",
                                                    "description": "Whether to enable the warning based on the percentage of the file clipped."
                                                },
                                                {
                                                    "key": "audioconfigs[].percentage",
                                                    "flex": "1 1 50%",
                                                    "condition": {
                                                        "functionBody": "return model.audioconfigs[arrayIndices[0]].percentage_check == true"
                                                    },
                                                    "description": "The percentage of clipping to trigger the warning.",
                                                    "suffix": "%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Clipping",
                    "description": "Detect audio clipping by testing for successive samples of equal value. Quiet samples (those below a fixed small value) are suppressed and do not count towards the clipping test.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Clipping Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/clipping_test_config"
                            }
                        }
                    }
                },
                "channel_position": {
                    "test_name": "channel_position",
                    "name": "Channel Position",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].min_center_freq",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].max_center_freq",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].min_lfe_freq",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].max_lfe_freq",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Channel Position",
                    "description": "Test whether 5.1 channels are in the correct place by analyzing base band and checking against what it should be.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Channel Position Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/channel_position_test_config"
                            }
                        }
                    }
                },
                "dolby_vision_metadata": {
                    "test_name": "dolby_vision_metadata",
                    "name": "Dolby Vision Metadata",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "treat_warnings_as"
                    ],
                    "type": "object",
                    "title": "Dolby Vision Metadata",
                    "description": "Dolby Vision metadata validation version 2.0.5, 4.0.2 or 5.1.0.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    }
                },
                "integrated_loudness": {
                    "test_name": "integrated_loudness",
                    "name": "Integrated Loudness (inc Dialog Gating)",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].level",
                                                    "flex": "2 2 25%"
                                                },
                                                {
                                                    "key": "audioconfigs[].tolerance",
                                                    "flex": "2 2 25%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].mode",
                                                    "flex": "2 2 100%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dialog_gating",
                                                    "flex": "2 2 100%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Integrated Loudness",
                    "description": "Measure Integrated loudness over the duration of the file.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Integrated Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/integrated_loudness_test_config"
                            }
                        }
                    }
                },
                "comparative_loudness": {
                    "test_name": "comparative_loudness",
                    "name": "Comparative Loudness",
                    "category": "Audio Quality",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].second_audio_track",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].second_audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].tolerance",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].mode",
                                                    "flex": "3 3 33%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dialog_gating",
                                                    "flex": "3 3 33%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "required": [
                        "audioconfigs"
                    ],
                    "title": "Comparative Loudness",
                    "description": "Detect mismatch in program loudness across multiple audio tracks.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Comparative Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "minItems": 1,
                            "items": {
                                "$ref": "#/definitions/comparative_loudness_test_config"
                            }
                        }
                    }
                },
                "short_term_loudness": {
                    "test_name": "short_term_loudness",
                    "name": "Short-term Loudness",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].level",
                                                    "flex": "2 2 35%"
                                                },
                                                {
                                                    "key": "audioconfigs[].window",
                                                    "flex": "2 2 35%"
                                                },
                                                {
                                                    "key": "audioconfigs[].violations",
                                                    "flex": "2 2 30%",
                                                    "type": "select"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Short-term Loudness",
                    "description": "Measure short-term loudness over a sliding rectangular time window. The measurement is not gated.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Short-term Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/shortterm_loudness_test_config"
                            }
                        }
                    }
                },
                "momentary_loudness": {
                    "test_name": "momentary_loudness",
                    "name": "Momentary Loudness",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].level",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].violations",
                                                    "flex": "2 2 50%",
                                                    "type": "select"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Momentary Loudness",
                    "description": "Measure Momentary Loudness over a 400ms sliding rectangular time window as per EBU-Tech 3341 Momentary mode. The measurement is not gated.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Momentary Loudness Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/momentary_loudness_test_config"
                            }
                        }
                    }
                },
                "loudness_range": {
                    "test_name": "loudness_range",
                    "name": "Loudness Range (LUFS)",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].check_min",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].min_range",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].check_max",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].max_range",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Loudness Range",
                    "description": "Measure the variation in loudness over the duration of a file.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Loudness Range Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/loudness_range_test_config"
                            }
                        }
                    }
                },
                "dialnorm": {
                    "test_name": "dialnorm",
                    "name": "Dialnorm",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-metadata",
                    "category": "Audio Metadata",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].minimum",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].maximum",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Dialnorm",
                    "description": "Test the dialnorm value of Dolby AC-3 and Dolby Digital Plus audio tracks. Valid values are from 1 to 31.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Dialnorm Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dialnorm_test_config"
                            }
                        }
                    }
                },
                "black_frame": {
                    "test_name": "black_frame",
                    "name": "Black Frame",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        "custom_level",
                        {
                            "key": "bit_depth",
                            "required": true,
                            "condition": "model.custom_level"
                        },
                        {
                            "key": "level_8_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==8} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_10_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==10} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_12_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==12} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_14_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==14} catch(e){return false}"
                            }
                        },
                        "percentage",
                        "max_allowed_enable",
                        {
                            "key": "max_allowed_duration",
                            "condition": "model.max_allowed_enable",
                            "required": true
                        },
                        {
                            "key": "max_allowed_units",
                            "condition": "model.max_allowed_enable",
                            "required": true
                        },
                        "silence",
                        {
                            "key": "audio_track",
                            "condition": "model.silence",
                            "required": true
                        },
                        {
                            "key": "audio_track_type",
                            "condition": "model.silence",
                            "required": true
                        },
                        {
                            "key": "dolbye_program",
                            "type": "number",
                            "condition": "model.silence",
                            "required": true
                        },
                        {
                            "key": "channel_mask",
                            "condition": "model.silence"
                        },
                        {
                            "key": "ranges",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].layout",
                                                    "flex": "1 1 100%",
                                                    "type": "select"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].start",
                                                    "default": 0,
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                },
                                                {
                                                    "key": "ranges[].end",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                },
                                                {
                                                    "key": "ranges[].tolerance",
                                                    "flex": "2 2 30%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].start_from_end",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                },
                                                {
                                                    "key": "ranges[].duration",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                },
                                                {
                                                    "key": "ranges[].tolerance",
                                                    "flex": "2 2 30%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].units",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                },
                                                {
                                                    "key": "ranges[].range_type",
                                                    "flex": "2 2 50%",
                                                    "type": "select",
                                                    "required": true
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "required": [
                        "silence",
                        "custom_level"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "$ref": "#/definitions/audio_config_silence"
                        },
                        {
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "custom_level": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "bit_depth",
                                            "level_8_bit",
                                            "level_10_bit",
                                            "level_12_bit",
                                            "level_14_bit"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "max_allowed_enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "max_allowed_duration",
                                            "max_allowed_units"
                                        ]
                                    }
                                }
                            ]
                        }
                    ],
                    "properties": {
                        "custom_level": {
                            "title": "Custom Level",
                            "type": "boolean",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "percentage": {
                            "title": "Percentage Of Frame",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 100,
                            "description": "Percentage of frame required to be black."
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of black frames.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max Black Video Allowed",
                            "description": "The maximum black video allowed (frames/seconds).",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "The maximum allowed time units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "silence": {
                            "title": "Must Also Be Digitally Silent",
                            "description": "Test for digital silence in conjunction with black frames.",
                            "type": "boolean",
                            "default": false
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/blackframe_range"
                            }
                        }
                    }
                },
                "caption_subtitle": {
                    "test_name": "caption_subtitle",
                    "name": "Caption/Subtitle Test",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#caption--subtitle-checks",
                    "category": "Caption Checks",
                    "form": [
                        "treat_warnings_as",
                        "caption_present_test.enable",
                        {
                            "key": "caption_present_test.cc1",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.cc2",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.cc3",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.cc4",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.service1",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.service2",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.service3",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.service4",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.service5",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_present_test.service6",
                            "condition": "caption_present_test.enable",
                            "required": true
                        },
                        "caption_dropout_test.enable",
                        {
                            "key": "caption_dropout_test.no_caption_threshold",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.duration_units",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.cc1",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.cc2",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.cc3",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.cc4",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.service1",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.service2",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.service3",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.service4",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.service5",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        {
                            "key": "caption_dropout_test.service6",
                            "condition": "caption_dropout_test.enable",
                            "required": true
                        },
                        "teletext_presence_test.enable",
                        {
                            "key": "teletext_presence_test.pages",
                            "condition": "teletext_presence_test.enable",
                            "required": true
                        }
                    ],
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "caption_present_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Detect and report the presence of Closed Captions",
                                    "description": "Will test for the absence of captions.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "cc1": {
                                    "title": "CC1 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC1.",
                                    "default": false
                                },
                                "cc2": {
                                    "title": "CC2 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC2.",
                                    "default": false
                                },
                                "cc3": {
                                    "title": "CC3 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC3.",
                                    "default": false
                                },
                                "cc4": {
                                    "title": "CC4 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in CC4.",
                                    "default": false
                                },
                                "service1": {
                                    "title": "Service 1 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 1.",
                                    "default": false
                                },
                                "service2": {
                                    "title": "Service 2 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 2.",
                                    "default": false
                                },
                                "service3": {
                                    "title": "Service 3 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 3.",
                                    "default": false
                                },
                                "service4": {
                                    "title": "Service 4 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 4.",
                                    "default": false
                                },
                                "service5": {
                                    "title": "Service 5 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 5.",
                                    "default": false
                                },
                                "service6": {
                                    "title": "Service 6 Presence",
                                    "type": "boolean",
                                    "description": "Find captions in Service 6.",
                                    "default": false
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "cc1",
                                    "cc2",
                                    "cc3",
                                    "cc4",
                                    "service1",
                                    "service2",
                                    "service3",
                                    "service4",
                                    "service5",
                                    "service6"
                                ]
                            }
                        },
                        "caption_dropout_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Detect and report any Closed Caption Dropouts",
                                    "type": "boolean",
                                    "description": "Will test for the absence of captions in the given interval.",
                                    "default": false
                                },
                                "no_caption_threshold": {
                                    "title": "Max time allowed with no caption data",
                                    "type": "number",
                                    "minimum": 0,
                                    "maximum": 3600,
                                    "description": "The minimum threshold for which captions must be updated.",
                                    "default": 10
                                },
                                "duration_units": {
                                    "$ref": "#/definitions/time_units"
                                },
                                "cc1": {
                                    "title": "CC1 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC1.",
                                    "default": false
                                },
                                "cc2": {
                                    "title": "CC2 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC2.",
                                    "default": false
                                },
                                "cc3": {
                                    "title": "CC3 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC3.",
                                    "default": false
                                },
                                "cc4": {
                                    "title": "CC4 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in CC4.",
                                    "default": false
                                },
                                "service1": {
                                    "title": "Service 1 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 1.",
                                    "default": false
                                },
                                "service2": {
                                    "title": "Service 2 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 2.",
                                    "default": false
                                },
                                "service3": {
                                    "title": "Service 3 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 3.",
                                    "default": false
                                },
                                "service4": {
                                    "title": "Service 4 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 4.",
                                    "default": false
                                },
                                "service5": {
                                    "title": "Service 5 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 5.",
                                    "default": false
                                },
                                "service6": {
                                    "title": "Service 6 Dropout",
                                    "type": "boolean",
                                    "description": "Find caption gaps in Service 6.",
                                    "default": false
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "no_caption_threshold",
                                    "duration_units",
                                    "cc1",
                                    "cc2",
                                    "cc3",
                                    "cc4",
                                    "service1",
                                    "service2",
                                    "service3",
                                    "service4",
                                    "service5",
                                    "service6"
                                ]
                            }
                        },
                        "teletext_presence_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Detect and report the presence of Teletext subtitles",
                                    "type": "boolean",
                                    "description": "Find Teletext in specified page number.",
                                    "default": false
                                },
                                "pages": {
                                    "title": "Teletext page(s)",
                                    "type": "string",
                                    "description": "The specified page number(s) as a comma separated list, e.g. '888', '888,889'.",
                                    "allOf": [
                                        {
                                            "$ref": "#/definitions/comma_separated_positive_numbers"
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "pages"
                                ]
                            }
                        }
                    }
                },
                "caption_word_detection": {
                    "test_name": "caption_word_detection",
                    "name": "Caption Word Detection",
                    "category": "Caption Checks",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#caption--subtitle-checks",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "words",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "words[]",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Caption Word Detection",
                    "description": "Enable checking for words in captions.",
                    "required": [
                        "words"
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "words": {
                            "title": "Words to detect",
                            "description": "The list of words or phrases to detect.",
                            "type": "array",
                            "minItems": 1,
                            "items": {
                                "type": "string",
                                "minLength": 1
                            }
                        }
                    }
                },
                "color_bars": {
                    "test_name": "color_bars",
                    "name": "Color Bars",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        "standard",
                        "color_tolerance",
                        "max_allowed_enable",
                        {
                            "key": "max_allowed_duration",
                            "condition": "model.max_allowed_enable",
                            "required": true
                        },
                        {
                            "key": "max_allowed_units",
                            "condition": "model.max_allowed_enable",
                            "required": true
                        },
                        {
                            "key": "ranges",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].layout",
                                                    "flex": "1 1 100%",
                                                    "type": "select"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].start",
                                                    "default": 0,
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                },
                                                {
                                                    "key": "ranges[].end",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                },
                                                {
                                                    "key": "ranges[].tolerance",
                                                    "flex": "2 2 30%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].start_from_end",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                },
                                                {
                                                    "key": "ranges[].duration",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                },
                                                {
                                                    "key": "ranges[].tolerance",
                                                    "flex": "2 2 30%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].units",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                },
                                                {
                                                    "key": "ranges[].range_type",
                                                    "flex": "2 2 50%",
                                                    "type": "select",
                                                    "required": true
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "title": "Color Bar",
                    "description": "Detect the presence of color bars in the video to determine that they are of the correct type and/or that they are present when they should be and not present when they should not be.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "standard": {
                            "title": "Color Bar Standard",
                            "description": "The color bar standard to test against.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4,
                                5
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Any"
                                },
                                {
                                    "value": 1,
                                    "name": "SMPTE SD"
                                },
                                {
                                    "value": 2,
                                    "name": "SMPTE HD"
                                },
                                {
                                    "value": 3,
                                    "name": "EBU 75"
                                },
                                {
                                    "value": 4,
                                    "name": "EBU 100"
                                },
                                {
                                    "value": 5,
                                    "name": "EBU UHD"
                                }
                            ]
                        },
                        "color_tolerance": {
                            "title": "Color Level Tolerance (%)",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 3,
                            "description": "Percentage of allowed deviation from colorbar specification colors."
                        },
                        "details": {
                            "title": "Provide extra details",
                            "description": "Provides information on why a frame is not a colorbar.",
                            "type": "boolean",
                            "default": false
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of colorbars.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max ColorBars Allowed",
                            "description": "The maximum number of colorbars allowed.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "The maximum allowed time units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/colorbar_range"
                            }
                        }
                    }
                },
                "field_order": {
                    "test_name": "field_order",
                    "name": "Field Order",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        {
                            "key": "encoded_flag",
                            "type": "select",
                            "required": true
                        },
                        {
                            "key": "check_baseband",
                            "required": true
                        },
                        {
                            "key": "baseband_mode",
                            "condition": "check_baseband"
                        },
                        {
                            "key": "field_order_must_be",
                            "condition": "check_baseband"
                        }
                    ],
                    "type": "object",
                    "required": [
                        "encoded_flag"
                    ],
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_baseband": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "if": {
                                    "properties": {
                                        "baseband_mode": {
                                            "const": "Will play correctly with this flag"
                                        }
                                    }
                                },
                                "then": {
                                    "disabled": [
                                        "field_order_must_be"
                                    ]
                                }
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "check_baseband": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "if": {
                                    "properties": {
                                        "baseband_mode": {
                                            "const": "Field order must be"
                                        }
                                    }
                                },
                                "then": {
                                    "enabled": [
                                        "field_order_must_be"
                                    ],
                                    "required": [
                                        "field_order_must_be"
                                    ]
                                }
                            }
                        }
                    ],
                    "properties": {
                        "encoded_flag": {
                            "title": "Encoded Flag",
                            "type": "integer",
                            "description": "Field order that should be flagged in the stream.",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Top field first"
                                },
                                {
                                    "value": 1,
                                    "name": "Bottom field first"
                                },
                                {
                                    "value": 2,
                                    "name": "Progressive"
                                },
                                {
                                    "value": 3,
                                    "name": "Any"
                                }
                            ],
                            "default": 0
                        },
                        "check_baseband": {
                            "title": "Analyze Baseband",
                            "type": "boolean",
                            "description": "Analyze baseband against given field order.",
                            "default": false
                        },
                        "baseband_mode": {
                            "type": "integer",
                            "title": "Baseband Mode",
                            "description": "Check that the video will play without problems or that the video is a specific field order.",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Will play correctly with this flag"
                                },
                                {
                                    "value": 1,
                                    "name": "Field order must be"
                                }
                            ]
                        },
                        "field_order_must_be": {
                            "title": "Field Order expected",
                            "description": "The expected field order of the video.",
                            "type": "integer",
                            "enum": [
                                0,
                                1,
                                2,
                                3
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "Top field first"
                                },
                                {
                                    "value": 1,
                                    "name": "Bottom field first"
                                },
                                {
                                    "value": 2,
                                    "name": "Progressive"
                                },
                                {
                                    "value": 3,
                                    "name": "Same as encoded flag"
                                }
                            ],
                            "default": 0
                        }
                    }
                },
                "file_checks": {
                    "test_name": "file_checks",
                    "name": "File Checks",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#file-checks",
                    "category": "File Checks",
                    "form": [
                        {
                            "widget": "message",
                            "message": "<h2>Container Checks</h2>"
                        },
                        "treat_warnings_as",
                        "container_bitrate_test.enable",
                        {
                            "key": "container_bitrate_test.mode",
                            "condition": "model.container_bitrate_test.enable",
                            "type": "radios"
                        },
                        {
                            "key": "container_bitrate_test.options",
                            "condition": {
                                "functionBody": "try { return model.container_bitrate_test.enable && model.container_bitrate_test.mode == 'value'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "container_bitrate_test.minimum",
                            "condition": {
                                "functionBody": "try { return model.container_bitrate_test.enable && model.container_bitrate_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "container_bitrate_test.maximum",
                            "condition": {
                                "functionBody": "try { return model.container_bitrate_test.enable && model.container_bitrate_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        "comparestreamlengths_test.enable",
                        {
                            "key": "comparestreamlengths_test.tolerance",
                            "condition": "comparestreamlengths_test.enable"
                        },
                        "container_duration_test.enable",
                        {
                            "key": "container_duration_test.maximum",
                            "condition": "container_duration_test.enable"
                        },
                        {
                            "key": "container_duration_test.minimum",
                            "condition": "container_duration_test.enable"
                        },
                        "container_ebpmarker_test.enable",
                        {
                            "key": "container_ebpmarker_test.mode",
                            "condition": "container_ebpmarker_test.enable"
                        },
                        {
                            "key": "container_ebpmarker_test.distance",
                            "condition": "container_ebpmarker_test.enable"
                        },
                        {
                            "key": "container_ebpmarker_test.distance.minimum",
                            "condition": "container_ebpmarker_test.enable"
                        },
                        {
                            "key": "container_ebpmarker_test.distance.maximum",
                            "condition": "container_ebpmarker_test.enable"
                        },
                        "container_format_test.enable",
                        {
                            "key": "container_format_test.options",
                            "condition": "model.container_format_test.enable",
                            "type": "checkboxes",
                            "required": true
                        },
                        "container_filesize_test.enable",
                        {
                            "key": "container_filesize_test.maximum",
                            "condition": "container_filesize_test.enable",
                            "required": true
                        },
                        {
                            "key": "container_filesize_test.minimum",
                            "condition": "container_filesize_test.enable",
                            "required": true
                        },
                        "moov_atom.enable",
                        "container_numberoftracks_test.enable",
                        {
                            "key": "container_numberoftracks_test.video_tracks",
                            "condition": "container_numberoftracks_test.enable"
                        },
                        {
                            "key": "container_numberoftracks_test.audio_tracks",
                            "condition": "container_numberoftracks_test.enable"
                        },
                        {
                            "key": "container_numberoftracks_test.subtitle_tracks",
                            "condition": "container_numberoftracks_test.enable"
                        },
                        {
                            "key": "container_numberoftracks_test.timecode_tracks",
                            "condition": "container_numberoftracks_test.enable"
                        },
                        "container_starttimecode_test.enable",
                        {
                            "key": "container_starttimecode_test.timecode",
                            "condition": "container_starttimecode_test.enable",
                            "required": true
                        },
                        {
                            "key": "container_starttimecode_test.tolerance",
                            "condition": "container_starttimecode_test.enable",
                            "required": false
                        },
                        "container_endtimecode_test.enable",
                        {
                            "key": "container_endtimecode_test.timecode",
                            "condition": "container_endtimecode_test.enable",
                            "required": true
                        },
                        {
                            "key": "container_endtimecode_test.tolerance",
                            "condition": "container_endtimecode_test.enable",
                            "required": false
                        },
                        "container_dropframe_test.enable",
                        {
                            "key": "container_dropframe_test.drop_frame",
                            "condition": "container_dropframe_test.enable",
                            "required": true
                        },
                        "container_essence_test.enable",
                        {
                            "key": "container_essence_test.tolerance",
                            "condition": "container_essence_test.enable",
                            "required": false
                        },
                        {
                            "key": "container_essence_test.units",
                            "condition": "container_essence_test.enable",
                            "required": false
                        },
                        "transportstream_bitrate_test.enable",
                        {
                            "key": "transportstream_bitrate_test.check_instantaneous.enable",
                            "condition": "transportstream_bitrate_test.enable"
                        },
                        {
                            "key": "transportstream_bitrate_test.check_instantaneous.enable.minimum",
                            "condition": "transportstream_bitrate_test.check_instantaneous.enable"
                        },
                        {
                            "key": "transportstream_bitrate_test.check.instantaneous.enable.maximum",
                            "condition": "transportstream_bitrate_test.check_instantaneous.enable"
                        },
                        {
                            "key": "transportstream_bitrate_test.check_average.enable",
                            "condition": "transportstream_bitrate_test.enable"
                        },
                        {
                            "key": "transportstream_bitrate_test.check_average.average",
                            "condition": "transportstream_bitrate_test.check_average.enable"
                        },
                        {
                            "widget": "message",
                            "message": "<h2>Video Checks</h2>"
                        },
                        "video_cleanaperture_test.enable",
                        "video_goplength_test.enable",
                        {
                            "key": "video_goplength_test.length",
                            "condition": "video_goplength_test.enable"
                        },
                        "video_advancedgop_test.enable",
                        {
                            "key": "video_advancedgop_test.order",
                            "condition": "video_advancedgop_test.enable"
                        },
                        {
                            "key": "video_advancedgop_test.report",
                            "condition": "video_advancedgop_test.enable"
                        },
                        {
                            "key": "video_advancedgop_test.first_gop",
                            "condition": "video_advancedgop_test.enable"
                        },
                        {
                            "key": "video_advancedgop_test.first_gop_options",
                            "condition": "video_advancedgop_test.first_gop"
                        },
                        {
                            "key": "video_advancedgop_test.first_gop_options.i_distance",
                            "condition": "video_advancedgop_test.first_gop"
                        },
                        {
                            "key": "video_advancedgop_test.first_gop_options.p_distance",
                            "condition": "video_advancedgop_test.first_gop"
                        },
                        {
                            "key": "video_advancedgop_test.first_gop_options.open_closed",
                            "condition": "video_advancedgop_test.first_gop"
                        },
                        {
                            "key": "video_advancedgop_test.other_gop",
                            "condition": "video_advancedgop_test.enable"
                        },
                        {
                            "key": "video_advancedgop_test.other_gop_options.i_distance",
                            "condition": "video_advancedgop_test.other_gop"
                        },
                        {
                            "key": "video_advancedgop_test.other_gop_options.p_distance",
                            "condition": "video_advancedgop_test.other_gop"
                        },
                        {
                            "key": "video_advancedgop_test.other_gop_options.open_closed",
                            "condition": "video_advancedgop_test.other_gop"
                        },
                        {
                            "key": "video_advancedgop_test.last_2gop",
                            "condition": "video_advancedgop_test.enable"
                        },
                        {
                            "key": "video_advancedgop_test.last_2gop_options.i_distance",
                            "condition": "video_advancedgop_test.last_2gop"
                        },
                        {
                            "key": "video_advancedgop_test.last_2gop_options.p_distance",
                            "condition": "video_advancedgop_test.last_2gop"
                        },
                        {
                            "key": "video_advancedgop_test.last_2gop_options.open_closed",
                            "condition": "video_advancedgop_test.last_2gop"
                        },
                        "video_starttimecode_test.enable",
                        {
                            "key": "video_starttimecode_test.matches_container",
                            "condition": "video_starttimecode_test.enable"
                        },
                        {
                            "key": "video_starttimecode_test.timecode",
                            "condition": "video_starttimecode_test.enable",
                            "required": true
                        },
                        {
                            "key": "video_starttimecode_test.tolerance",
                            "condition": "video_starttimecode_test.enable",
                            "required": false
                        },
                        "video_endtimecode_test.enable",
                        {
                            "key": "video_endtimecode_test.timecode",
                            "condition": "video_endtimecode_test.enable",
                            "required": true
                        },
                        {
                            "key": "video_endtimecode_test.tolerance",
                            "condition": "video_endtimecode_test.enable",
                            "required": false
                        },
                        "video_dropframe_test.enable",
                        {
                            "key": "video_dropframe_test.drop_frame",
                            "condition": "video_dropframe_test.enable",
                            "required": true
                        }
                    ],
                    "type": "object",
                    "additionalProperties": false,
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "container_duration_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Duration",
                                    "description": "Check the video duration (if a video track is present) falls within the Min/Max parameters.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum duration allowed.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum duration allowed.",
                                    "$ref": "#/definitions/timecode"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "enable": {
                                                "const": false
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_ebpmarker_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "EBP Metadata Checks",
                                    "description": "Whether to enable EBP Metadata checks.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mode": {
                                    "title": "Mode",
                                    "description": "The mode to test.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Explicit"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Implicit"
                                        }
                                    ],
                                    "default": 0
                                },
                                "distance": {
                                    "type": "object",
                                    "title": "EBP Marker Distance",
                                    "description": "EBP Marker Distance.",
                                    "required": [
                                        "minimum",
                                        "maximum"
                                    ],
                                    "properties": {
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum distance allowed.",
                                            "type": "integer",
                                            "suffix": "seconds",
                                            "minimum": 0,
                                            "default": 1
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum distance allowed.",
                                            "type": "integer",
                                            "suffix": "seconds",
                                            "minimum": 0,
                                            "default": 10
                                        }
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "enable": {
                                                "const": false
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode",
                                            "distance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_filesize_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Size",
                                    "description": "Check that the total file size falls within the Min/Max parameters.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "maximum": {
                                    "title": "Maximum (bytes)",
                                    "description": "The maximum (bytes) allowed.",
                                    "type": "number",
                                    "default": 0
                                },
                                "minimum": {
                                    "title": "Minimum (bytes)",
                                    "description": "The minimum (bytes) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "enable": {
                                                "const": false
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_format_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container Format",
                                    "description": "Check the 'wrapper' or container file used to hold the video and/or audio matches the user defined value.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "All formats",
                                    "description": "Which formats to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "3gpp",
                                            "asf ",
                                            "avi ",
                                            "avs",
                                            "dcp ",
                                            "dpx ",
                                            "flv ",
                                            "gxf ",
                                            "imf ",
                                            "lxf ",
                                            "m2ps",
                                            "m2ts",
                                            "mkv ",
                                            "mov ",
                                            "mp4 ",
                                            "mpga",
                                            "mxf ",
                                            "oexr",
                                            "wav "
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "3gpp",
                                                "name": "3GPP"
                                            },
                                            {
                                                "value": "asf ",
                                                "name": "ASF"
                                            },
                                            {
                                                "value": "avi ",
                                                "name": "AVI"
                                            },
                                            {
                                                "value": "avs",
                                                "name": "AVS"
                                            },
                                            {
                                                "value": "dcp ",
                                                "name": "DCP"
                                            },
                                            {
                                                "value": "dpx ",
                                                "name": "DPX"
                                            },
                                            {
                                                "value": "flv ",
                                                "name": "Flash/FLV"
                                            },
                                            {
                                                "value": "gxf ",
                                                "name": "GXF"
                                            },
                                            {
                                                "value": "imf ",
                                                "name": "IMF"
                                            },
                                            {
                                                "value": "lxf ",
                                                "name": "LXF"
                                            },
                                            {
                                                "value": "m2ps",
                                                "name": "Mpeg-2 PS"
                                            },
                                            {
                                                "value": "m2ts",
                                                "name": "Mpeg-2 TS"
                                            },
                                            {
                                                "value": "mkv ",
                                                "name": "MKV"
                                            },
                                            {
                                                "value": "mov ",
                                                "name": "MOV"
                                            },
                                            {
                                                "value": "mp4 ",
                                                "name": "MP4"
                                            },
                                            {
                                                "value": "mpga",
                                                "name": "MPEG Audio"
                                            },
                                            {
                                                "value": "mxf ",
                                                "name": "MXF"
                                            },
                                            {
                                                "value": "oexr",
                                                "name": "OpenEXR"
                                            },
                                            {
                                                "value": "wav ",
                                                "name": "Windows Audio Format"
                                            }
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                }
                            ]
                        },
                        "container_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "File Bit Rate",
                                    "description": "Check the calculated bit rate of the file.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "Test specific value(s) or that bit rate lies within given range.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "description": "The allowed bit rates as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "type": "string",
                                    "suffix": "Mbit/s"
                                },
                                "minimum": {
                                    "title": "Minimum (Mbit/s)",
                                    "description": "The minimum allowed bit rate.",
                                    "type": "number",
                                    "suffix": "Mbit/s",
                                    "default": 0
                                },
                                "maximum": {
                                    "title": "Maximum (Mbit/s)",
                                    "description": "The maximum allowed bit rate.",
                                    "type": "number",
                                    "suffix": "Mbit/s",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode"
                                        ],
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "value"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "options"
                                                    ]
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "range"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "minimum",
                                                        "maximum"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "comparestreamlengths_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Compare Stream Lengths",
                                    "description": "Check whether the audio track is present throughout the duration of the video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "tolerance": {
                                    "title": "Tolerance",
                                    "description": "The tolerance allowed.",
                                    "type": "number",
                                    "default": 2,
                                    "suffix": "seconds",
                                    "minimum": 0
                                },
                                "mismatch_units": {
                                    "title": "Mismatch Units",
                                    "description": "Whether to show the mismatch between stream durations in milliseconds or frames. With milliseconds the duration would be shown as 'HH:MM:SS.mmm'. With frames the duration would be shown as 'HH:MM:SS:ff' (for non drop-frame) or 'HH:MM:SS;ff' (for drop-frame).",
                                    "type": "number",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "default": 0,
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Milliseconds"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Frames"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "tolerance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "moov_atom": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "MOOV Atom",
                                    "type": "boolean",
                                    "default": false,
                                    "description": "Check that there is only 1 MOOV atom in a mov/mp4 file."
                                }
                            }
                        },
                        "container_starttimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container Start Timecode",
                                    "description": "Check the Container Start Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_endtimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container End Timecode",
                                    "description": "Check the Container End Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode",
                                            "tolerance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_dropframe_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container Drop Frame",
                                    "description": "Check that the container's start timecode is either drop-frame or non-drop as specified.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "drop_frame": {
                                    "$ref": "#/definitions/drop_frame"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "drop_frame"
                                ]
                            }
                        },
                        "container_essence_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Container/Header agrees with Essence",
                                    "type": "boolean",
                                    "description": "Checks that the video duration in the container metadata is correct (within a small margin of error). This can indicate truncation. For MOV and MP4 files, checks that the media samples described in the header do not exceed the file's length, and is therefore also useful in detecting truncation in these file types.",
                                    "default": false
                                },
                                "tolerance": {
                                    "title": "Tolerance (seconds/frames)",
                                    "description": "The tolerance (seconds/frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                },
                                "units": {
                                    "title": "Tolerance Units",
                                    "description": "Tolerance Units.",
                                    "$ref": "#/definitions/time_units"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "tolerance",
                                            "units"
                                        ]
                                    }
                                }
                            ]
                        },
                        "container_numberoftracks_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Number of Tracks",
                                    "type": "boolean",
                                    "description": "Check the number of tracks in the file.",
                                    "default": false
                                },
                                "video_tracks": {
                                    "title": "Video Tracks",
                                    "description": "Check the number of Video tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                },
                                "audio_tracks": {
                                    "title": "Audio Tracks",
                                    "description": "Check the number of Audio tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                },
                                "subtitle_tracks": {
                                    "title": "Subtitle Tracks",
                                    "description": "Check the number of Subtitle tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                },
                                "timecode_tracks": {
                                    "title": "TimeCode Tracks",
                                    "description": "Check the number of TimeCode tracks in the file, e.g. '1,>=3' for 1 or >=3 tracks.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "video_tracks",
                                    "audio_tracks",
                                    "subtitle_tracks",
                                    "timecode_tracks"
                                ]
                            }
                        },
                        "video_cleanaperture_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Clean Aperture",
                                    "description": "Check Clean Aperture is equal to Production Aperture.",
                                    "type": "boolean",
                                    "default": false
                                }
                            }
                        },
                        "video_goplength_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "GOP Length",
                                    "description": "Check the distance between successive I-frames in the encoded video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "length": {
                                    "title": "I-Frame distance",
                                    "description": "Distance between I-frames.",
                                    "type": "number",
                                    "default": 1,
                                    "minimum": 1
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "length"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_starttimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Essence Start Timecode",
                                    "description": "Check the Essence Start Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                },
                                "matches_container": {
                                    "title": "Matches container",
                                    "description": "If the file is MXF and video is H.262, compare the video start-timecode against the Material Package start-timecode.",
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_endtimecode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Essence End Timecode",
                                    "description": "Check the Essence End Timecode.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "timecode": {
                                    "title": "Timecode",
                                    "description": "The expected timecode.",
                                    "$ref": "#/definitions/timecode"
                                },
                                "tolerance": {
                                    "title": "Tolerance (+/- frames)",
                                    "description": "The timecode tolerance (+/- frames) allowed.",
                                    "type": "number",
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "timecode",
                                            "tolerance"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_dropframe_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Essence Drop Frame",
                                    "description": "Check that the essence's start timecode is either drop-frame or non-drop as specified.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "drop_frame": {
                                    "$ref": "#/definitions/drop_frame"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "drop_frame"
                                ]
                            }
                        },
                        "video_advancedgop_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Advanced GOP Length",
                                    "description": "A more thorough GOP test for MPEG-2 and H.264 that can test for a range of GOP lengths, test for open and closed GOPs (MPEG-2 only), and allow special handling of first and last GOPs.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "order": {
                                    "title": "Test order",
                                    "description": "The expected test order.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "default": 1,
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Coded"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Display"
                                        }
                                    ]
                                },
                                "report": {
                                    "title": "Report",
                                    "description": "Report each unique GOP structure or all errors as specified.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "default": 0,
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Each unique GOP structure"
                                        },
                                        {
                                            "value": 1,
                                            "name": "All errors"
                                        }
                                    ]
                                },
                                "first_gop": {
                                    "title": "First GOP",
                                    "description": "Enable specific values to be given for the first GOP structure.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "first_gop_options": {
                                    "title": "Options",
                                    "description": "The first GOP options allowed.",
                                    "type": "object",
                                    "$ref": "#/definitions/gop_structure"
                                },
                                "other_gop": {
                                    "title": "Other GOPs",
                                    "description": "Enable specific values to be given for other GOP structures. This will apply to first and last GOPs if their specific sections are not selected.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "other_gop_options": {
                                    "type": "object",
                                    "$ref": "#/definitions/gop_structure"
                                },
                                "last_2gop": {
                                    "title": "Last 2 GOPs",
                                    "description": "Enable specific values to be given for the last two GOP structures.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "last_2gop_options": {
                                    "type": "object",
                                    "$ref": "#/definitions/gop_structure"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "order",
                                            "report",
                                            "first_gop",
                                            "other_gop",
                                            "last_2gop"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "first_gop": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "first_gop_options"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "other_gop": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "other_gop_options"
                                        ]
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "last_2gop": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "last_2gop_options"
                                        ]
                                    }
                                }
                            ]
                        },
                        "transportstream_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Transport Stream Bit Rate",
                                    "description": "Check stream bitrate using PCRs which accounts for various stuffing methods.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "check_instantaneous": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Instantaneous Bitrate",
                                            "description": "Enable the Instantaneous Bitrate test.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum instantaneous bit-rate threshold.",
                                            "type": "number",
                                            "default": 1000000,
                                            "minimum": 0,
                                            "suffix": "bits/s"
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum instantaneous bit-rate threshold.",
                                            "type": "number",
                                            "default": 1000000,
                                            "minimum": 0,
                                            "suffix": "bits/s"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                },
                                "check_average": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Average Bitrate",
                                            "description": "Enable the Average Bitrate test.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "average": {
                                            "title": "Average",
                                            "description": "The average container bit rate (over the entire stream, from first to last PCR).",
                                            "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                            "default": "1000000",
                                            "suffix": "bits/s"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "average"
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "anyOf": [
                                            {
                                                "required": [
                                                    "check_instantaneous"
                                                ]
                                            },
                                            {
                                                "required": [
                                                    "check_average"
                                                ]
                                            }
                                        ]
                                    }
                                }
                            ]
                        }
                    }
                },
                "video_metadata": {
                    "test_name": "video_metadata",
                    "name": "Video Metadata",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-metadata",
                    "category": "Video Metadata",
                    "form": [
                        {
                            "widget": "message",
                            "message": "<h2>Video Checks</h2>"
                        },
                        "treat_warnings_as",
                        "afd_test.enable",
                        {
                            "key": "afd_test.value",
                            "condition": "model.afd_test.enable"
                        },
                        {
                            "key": "afd_test.changes",
                            "condition": "model.afd_test.enable"
                        },
                        "video_bitdepth_test.enable",
                        {
                            "key": "video_bitdepth_test.options",
                            "condition": "model.video_bitdepth_test.enable"
                        },
                        "video_alphachannelpresence_test.enable",
                        {
                            "key": "video_alphachannelpresence_test.value",
                            "condition": "model.video_alphachannelpresence_test.enable",
                            "type": "select"
                        },
                        "video_bitrate_test.enable",
                        {
                            "key": "video_bitrate_test.mode",
                            "condition": "model.video_bitrate_test.enable",
                            "type": "radios"
                        },
                        {
                            "key": "video_bitrate_test.minimum",
                            "condition": {
                                "functionBody": "try { return model.video_bitrate_test.enable && model.video_bitrate_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "video_bitrate_test.options",
                            "condition": {
                                "functionBody": "try { return model.video_bitrate_test.enable && model.video_bitrate_test.mode == 'value'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "video_bitrate_test.maximum",
                            "condition": {
                                "functionBody": "try { return model.video_bitrate_test.enable && model.video_bitrate_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        "video_bitratemode_test.enable",
                        {
                            "key": "video_bitratemode_test.option",
                            "condition": "video_bitratemode_test.enable"
                        },
                        "video_codec_test.enable",
                        {
                            "key": "video_codec_test.options",
                            "condition": "model.video_codec_test.enable",
                            "type": "checkboxes",
                            "required": true
                        },
                        {
                            "key": "video_codec_test.mpeg2_profile",
                            "condition": {
                                "functionBody": "try {return model.video_codec_test.enable && model.video_codec_test.options.includes('mp2v')} catch(e) {return false}"
                            }
                        },
                        {
                            "key": "video_codec_test.mpeg2_level",
                            "condition": {
                                "functionBody": "try {return model.video_codec_test.enable && model.video_codec_test.options.includes('mp2v')} catch(e) {return false}"
                            }
                        },
                        {
                            "key": "video_codec_test.prores_profile",
                            "condition": {
                                "functionBody": "try {return model.video_codec_test.enable && model.video_codec_test.options.includes('ap  ')} catch(e) {return false}"
                            }
                        },
                        {
                            "key": "video_codec_test.video_entropymode_test.enable",
                            "condition": "model.video_codec_test.enable",
                            "type": "checkbox"
                        },
                        {
                            "key": "video_codec_test.video_entropymode_test.options",
                            "condition": "model.video_codec_test.video_entropymode_test.enable",
                            "type": "select",
                            "required": true
                        },
                        {
                            "key": "video_codec_test.video_codedinterlacemode_test.enable",
                            "condition": "model.video_codec_test.enable",
                            "type": "checkbox"
                        },
                        {
                            "key": "video_codec_test.video_codedinterlacemode_test.options",
                            "condition": "model.video_codec_test.video_codedinterlacemode_test.enable",
                            "type": "checkboxes",
                            "required": true
                        },
                        "video_buffersize_test.enable",
                        {
                            "key": "video_buffersize_test.mode",
                            "condition": "model.video_buffersize_test.enable",
                            "type": "radios"
                        },
                        {
                            "key": "video_buffersize_test.minimum",
                            "condition": {
                                "functionBody": "return model.video_buffersize_test.enable && model.video_buffersize_test.mode == 'range'"
                            }
                        },
                        {
                            "key": "video_buffersize_test.options",
                            "condition": {
                                "functionBody": "return model.video_buffersize_test.enable && model.video_buffersize_test.mode == 'value'"
                            }
                        },
                        {
                            "key": "video_buffersize_test.maximum",
                            "condition": {
                                "functionBody": "return model.video_buffersize_test.enable && model.video_buffersize_test.mode == 'range'"
                            }
                        },
                        "video_colourspace_test.enable",
                        {
                            "key": "video_colourspace_test.color_primaries",
                            "condition": "video_colourspace_test.enable"
                        },
                        {
                            "key": "video_colourspace_test.transfer_characteristics",
                            "condition": "video_colourspace_test.enable"
                        },
                        {
                            "key": "video_colourspace_test.matrix_coefficients",
                            "condition": "video_colourspace_test.enable"
                        },
                        "video_essenceduration_test.enable",
                        {
                            "key": "video_essenceduration_test.duration_value.enable",
                            "condition": "video_essenceduration_test.enable"
                        },
                        {
                            "key": "video_essenceduration_test.duration_value.value",
                            "condition": "video_essenceduration_test.duration_value.enable"
                        },
                        {
                            "key": "video_essenceduration_test.duration_value.spread",
                            "condition": "video_essenceduration_test.duration_value.enable"
                        },
                        {
                            "key": "video_essenceduration_test.duration_range.enable",
                            "condition": "video_essenceduration_test.enable"
                        },
                        {
                            "key": "video_essenceduration_test.duration_range.minimum",
                            "condition": "video_essenceduration_test.duration_range.enable"
                        },
                        {
                            "key": "video_essenceduration_test.duration_range.maximum",
                            "condition": "video_essenceduration_test.duration_range.enable"
                        },
                        "video_framerate_test.enable",
                        {
                            "key": "video_framerate_test.options",
                            "condition": "model.video_framerate_test.enable",
                            "type": "checkboxes",
                            "required": true
                        },
                        {
                            "key": "video_framerate_test.custom",
                            "condition": "model.video_framerate_test.enable",
                            "required": false
                        },
                        "video_framesize_test.enable",
                        {
                            "key": "video_framesize_test.options",
                            "condition": "model.video_framesize_test.enable",
                            "type": "checkboxes",
                            "required": true
                        },
                        {
                            "key": "video_framesize_test.custom",
                            "condition": "model.video_framesize_test.enable",
                            "required": false
                        },
                        "video_frameaspectratio_test.enable",
                        {
                            "key": "video_frameaspectratio_test.ratios",
                            "condition": "video_frameaspectratio_test.enable"
                        },
                        {
                            "key": "video_frameaspectratio_test.custom",
                            "condition": "video_frameaspectratio_test.enable"
                        },
                        "video_pixelaspectratio_test.enable",
                        {
                            "key": "video_pixelaspectratio_test.ratios",
                            "condition": "video_pixelaspectratio_test.enable"
                        },
                        {
                            "key": "video_pixelaspectratio_test.custom",
                            "condition": "video_pixelaspectratio_test.enable"
                        },
                        "video_smpte328trackpresent_test.enable",
                        "video_parfarcompare_test.enable",
                        {
                            "type": "help",
                            "helpvalue": "<p>Test to look for possible anamorphic video in a 4:3 frame</p>",
                            "condition": "video_parfarcompare_test.enable"
                        },
                        "video_referenceframes_test.enable",
                        {
                            "key": "video_referenceframes_test.maximum",
                            "condition": "video_referenceframes_test.enable"
                        },
                        "video_singlesampledescription_test.enable",
                        "video_subsampling_test.enable",
                        {
                            "key": "video_subsampling_test.subsampling",
                            "condition": "video_subsampling_test.enable"
                        },
                        "video_trackid_test.enable",
                        {
                            "key": "video_trackid_test.option",
                            "condition": "video_trackid_test.enable"
                        },
                        "video_tvmpaarating_test.enable",
                        {
                            "key": "video_tvmpaarating_test.mpaa.enable",
                            "condition": "video_tvmpaarating_test.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.mpaa.options",
                            "condition": "video_tvmpaarating_test.mpaa.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.ustv.enable",
                            "condition": "video_tvmpaarating_test.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.ustv.options",
                            "condition": "video_tvmpaarating_test.ustv.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.can_eng_lang.enable",
                            "condition": "video_tvmpaarating_test.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.can_eng_lang.options",
                            "condition": "video_tvmpaarating_test.can_eng_lang.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.can_fre_lang.enable",
                            "condition": "video_tvmpaarating_test.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.can_fre_lang.options",
                            "condition": "video_tvmpaarating_test.can_fre_lang.enable"
                        },
                        {
                            "key": "video_tvmpaarating_test.reserved.enable",
                            "condition": "video_tvmpaarating_test.enable"
                        }
                    ],
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "afd_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Active Format Description",
                                    "description": "Test the value of the Active Format Description (AFD) as sent in the User Data of an MPEG-2 video sequence.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "value": {
                                    "title": "AFD must be",
                                    "description": "What the Active Format Description (AFD) must be.",
                                    "type": "integer",
                                    "enum": [
                                        -1,
                                        2,
                                        3,
                                        4,
                                        8,
                                        9,
                                        10,
                                        11,
                                        13,
                                        14,
                                        15
                                    ],
                                    "titleMap": [
                                        {
                                            "value": -1,
                                            "name": "Not present in stream"
                                        },
                                        {
                                            "value": 2,
                                            "name": "(2) Top-aligned 16:9 image"
                                        },
                                        {
                                            "value": 3,
                                            "name": "(3) Top-aligned 14:9 image"
                                        },
                                        {
                                            "value": 4,
                                            "name": "(4) Letterbox aspect > 16:9"
                                        },
                                        {
                                            "value": 8,
                                            "name": "(8) Full frame"
                                        },
                                        {
                                            "value": 9,
                                            "name": "(9) 4:3 image"
                                        },
                                        {
                                            "value": 10,
                                            "name": "(10) 16:9 image"
                                        },
                                        {
                                            "value": 11,
                                            "name": "(11) 14:9 image"
                                        },
                                        {
                                            "value": 13,
                                            "name": "(13) 4:3 image with alternative 14:9 center"
                                        },
                                        {
                                            "value": 14,
                                            "name": "(14) 16:9 image with alternative 14:9 center"
                                        },
                                        {
                                            "value": 15,
                                            "name": "(15) 16:9 image with alternative 4:3 center"
                                        }
                                    ]
                                },
                                "changes": {
                                    "title": "Report Dynamic AFD Changes",
                                    "description": "Report Dynamic AFD Changes.",
                                    "type": "boolean",
                                    "default": false
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "value",
                                    "changes"
                                ]
                            }
                        },
                        "video_alphachannelpresence_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Alpha Channel Presence",
                                    "type": "boolean",
                                    "description": "This checks the presence or absence of Alpha (transparency) Component in the color space of the video for the following stream formats: ProRes, FFV1, TIFF, DPX.",
                                    "default": false
                                },
                                "value": {
                                    "title": "Alpha channel must be",
                                    "description": "Whether the alpha channel must be present or not.",
                                    "type": "boolean",
                                    "enum": [
                                        false,
                                        true
                                    ],
                                    "default": false,
                                    "titleMap": [
                                        {
                                            "value": false,
                                            "name": "not present"
                                        },
                                        {
                                            "value": true,
                                            "name": "present"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_buffersize_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Buffer Size",
                                    "description": "Video Buffer Size.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "Test mode.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "type": "string",
                                    "description": "The allowed buffer sizes as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "KiB"
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum value allowed.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "KiB"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum value allowed.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "KiB"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "if": {
                                            "properties": {
                                                "mode": {
                                                    "const": "value"
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "options"
                                            ]
                                        }
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "if": {
                                            "properties": {
                                                "mode": {
                                                    "const": "range"
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "minimum",
                                                "maximum"
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "video_bitratemode_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Bit Rate Mode",
                                    "description": "Check whether the bit rate mode is variable (VBR) or constant (CBR).",
                                    "type": "boolean",
                                    "default": false
                                },
                                "option": {
                                    "title": "Mode",
                                    "description": "The video bitrate mode to allow.",
                                    "type": "string",
                                    "enum": [
                                        "cbr",
                                        "vbr"
                                    ],
                                    "titleMap": [
                                        {
                                            "value": "cbr",
                                            "name": "CBR"
                                        },
                                        {
                                            "value": "vbr",
                                            "name": "VBR"
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "option"
                                ]
                            }
                        },
                        "video_codec_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Codec",
                                    "description": "Test the format of the video elementary stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "All codecs",
                                    "description": "Which video codecs are allowed.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "ap  ",
                                            "AVDJ",
                                            "AVdn",
                                            "AVdh",
                                            "dv  ",
                                            "dvp ",
                                            "dv50",
                                            "dv1 ",
                                            "dvh1",
                                            "avc1",
                                            "hvc1",
                                            "mp2v",
                                            "mp4v",
                                            "mjpg",
                                            "mjp2",
                                            "RGB ",
                                            "SRAW",
                                            "YUV ",
                                            "WVC1"
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "ap  ",
                                                "name": "Apple ProRes"
                                            },
                                            {
                                                "value": "AVDJ",
                                                "name": "Avid Meridien"
                                            },
                                            {
                                                "value": "AVdn",
                                                "name": "Avid DNxHD"
                                            },
                                            {
                                                "value": "AVdh",
                                                "name": "Avid DNxHR"
                                            },
                                            {
                                                "value": "dvp ",
                                                "name": "DVCPRO25"
                                            },
                                            {
                                                "value": "dv50",
                                                "name": "DVCPRO50"
                                            },
                                            {
                                                "value": "dv1 ",
                                                "name": "DVCPRO100"
                                            },
                                            {
                                                "value": "dvh1",
                                                "name": "DVCPROHD"
                                            },
                                            {
                                                "value": "dv  ",
                                                "name": "DVC25"
                                            },
                                            {
                                                "value": "avc1",
                                                "name": "H.264/AVC"
                                            },
                                            {
                                                "value": "hvc1",
                                                "name": "H.265/HEVC"
                                            },
                                            {
                                                "value": "mjpg",
                                                "name": "M-JPEG"
                                            },
                                            {
                                                "value": "mjp2",
                                                "name": "JPEG 2000"
                                            },
                                            {
                                                "value": "mp2v",
                                                "name": "MPEG-2"
                                            },
                                            {
                                                "value": "mp4v",
                                                "name": "MPEG-4"
                                            },
                                            {
                                                "value": "RGB ",
                                                "name": "Uncompressed RGB"
                                            },
                                            {
                                                "value": "SRAW",
                                                "name": "Sony Raw"
                                            },
                                            {
                                                "value": "YUV ",
                                                "name": "Uncompressed YUV"
                                            },
                                            {
                                                "value": "WVC1",
                                                "name": "VC-1"
                                            }
                                        ]
                                    }
                                },
                                "video_entropymode_test": {
                                    "type": "object",
                                    "properties": {
                                        "enable": {
                                            "title": "Entropy Coding Mode",
                                            "description": "Test whether an H.264 video stream uses 'CABAC'.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "options": {
                                            "title": "Mode",
                                            "description": "Which Entropy Coding Mode to allow.",
                                            "type": "integer",
                                            "enum": [
                                                0,
                                                1
                                            ],
                                            "titleMap": [
                                                {
                                                    "value": 0,
                                                    "name": "CABAC"
                                                },
                                                {
                                                    "value": 1,
                                                    "name": "CAVLC"
                                                }
                                            ]
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                },
                                "video_codedinterlacemode_test": {
                                    "type": "object",
                                    "properties": {
                                        "enable": {
                                            "title": "Coded Interlace Mode",
                                            "description": "Check the coded interlaced mode. E.g. interlaced or progressive.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "options": {
                                            "title": "Mode",
                                            "description": "The coded interlace mode to allow.",
                                            "type": "array",
                                            "items": {
                                                "type": "integer",
                                                "enum": [
                                                    0,
                                                    1,
                                                    2,
                                                    3
                                                ],
                                                "titleMap": [
                                                    {
                                                        "value": 0,
                                                        "name": "FMBS"
                                                    },
                                                    {
                                                        "value": 1,
                                                        "name": "MBAFF"
                                                    },
                                                    {
                                                        "value": 2,
                                                        "name": "PAFF"
                                                    },
                                                    {
                                                        "value": 3,
                                                        "name": "PSF"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                },
                                "mpeg2_profile": {
                                    "title": "MPEG-2 Profile",
                                    "description": "The MPEG-2 Profile to allow.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5,
                                        6
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 1,
                                            "name": "High"
                                        },
                                        {
                                            "value": 2,
                                            "name": "Spatially Scalable"
                                        },
                                        {
                                            "value": 3,
                                            "name": "SNR Scalable"
                                        },
                                        {
                                            "value": 4,
                                            "name": "Main"
                                        },
                                        {
                                            "value": 5,
                                            "name": "Simple"
                                        },
                                        {
                                            "value": 6,
                                            "name": "422"
                                        }
                                    ],
                                    "default": 0
                                },
                                "mpeg2_level": {
                                    "title": "MPEG-2 Level",
                                    "description": "The MPEG-2 Level to allow.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        2,
                                        4,
                                        6,
                                        8,
                                        10
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 2,
                                            "name": "HighP"
                                        },
                                        {
                                            "value": 4,
                                            "name": "High"
                                        },
                                        {
                                            "value": 6,
                                            "name": "High-1440"
                                        },
                                        {
                                            "value": 8,
                                            "name": "Main"
                                        },
                                        {
                                            "value": 10,
                                            "name": "Low"
                                        }
                                    ],
                                    "default": 0
                                },
                                "prores_profile": {
                                    "title": "ProRes Profile",
                                    "description": "The ProRes Profile to allow.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5,
                                        6
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 1,
                                            "name": "422"
                                        },
                                        {
                                            "value": 2,
                                            "name": "422 (HQ)"
                                        },
                                        {
                                            "value": 3,
                                            "name": "422 (LT)"
                                        },
                                        {
                                            "value": 4,
                                            "name": "422 (Proxy)"
                                        },
                                        {
                                            "value": 5,
                                            "name": "4444"
                                        },
                                        {
                                            "value": 6,
                                            "name": "4444 XQ"
                                        }
                                    ],
                                    "default": 0
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minItems": 1
                                    }
                                },
                                "allOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "options": {
                                                    "contains": {
                                                        "enum": [
                                                            "mp2v"
                                                        ]
                                                    }
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "mpeg2_profile",
                                                "mpeg2_level"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "options": {
                                                    "contains": {
                                                        "enum": [
                                                            "ap  "
                                                        ]
                                                    }
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "prores_profile"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        "video_essenceduration_test": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Essence Duration",
                                    "description": "Test if the essence is shorter/longer than specified value/range.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "duration_value": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Value",
                                            "description": "Whether the duration value test is enabled.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "value": {
                                            "title": "Value",
                                            "description": "The duration value to allow.",
                                            "$ref": "#/definitions/timecode"
                                        },
                                        "spread": {
                                            "title": "Spread (+ or -)",
                                            "description": "The spread (+ or -) to allow.",
                                            "$ref": "#/definitions/timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value",
                                            "spread"
                                        ]
                                    }
                                },
                                "duration_range": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Range",
                                            "description": "Test for a duration range between a minimum and maximum value allowed.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum duration allowed.",
                                            "$ref": "#/definitions/timecode"
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum duration allowed.",
                                            "$ref": "#/definitions/timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "oneOf": [
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_value": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_range": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_framerate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Frame Rate",
                                    "description": "Check the frame rate of the video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Standard frame rates",
                                    "description": "Which standard frame rates to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "24fps"
                                            },
                                            {
                                                "value": 1,
                                                "name": "24fps (NTSC)"
                                            },
                                            {
                                                "value": 2,
                                                "name": "25fps"
                                            },
                                            {
                                                "value": 3,
                                                "name": "30fps"
                                            },
                                            {
                                                "value": 4,
                                                "name": "30fps (NTSC)"
                                            },
                                            {
                                                "value": 5,
                                                "name": "48fps"
                                            },
                                            {
                                                "value": 6,
                                                "name": "50fps"
                                            },
                                            {
                                                "value": 7,
                                                "name": "60fps"
                                            },
                                            {
                                                "value": 8,
                                                "name": "60fps (NTSC)"
                                            }
                                        ]
                                    }
                                },
                                "custom": {
                                    "title": "Custom frame rate(s)",
                                    "description": "Which custom frame rates to allow.",
                                    "type": "string",
                                    "suffix": "fps"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "anyOf": [
                                    {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    },
                                    {
                                        "required": [
                                            "custom"
                                        ],
                                        "properties": {
                                            "custom": {
                                                "minLength": 1
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "video_framesize_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Frame Size",
                                    "description": "Check the frame size of the video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Standard frame sizes",
                                    "description": "The allowed standard frame sizes.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "UHD8K",
                                            "UHD4K",
                                            "DCI4K",
                                            "DCI2K",
                                            "QHD",
                                            "FHD",
                                            "HD",
                                            "SDNTSC",
                                            "SDPAL",
                                            "SDNTSCVBI",
                                            "SDPALVBI"
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "UHD8K",
                                                "name": "7680 x 4320 (8K UHD)"
                                            },
                                            {
                                                "value": "UHD4K",
                                                "name": "3840 x 2160 (4K UHD)"
                                            },
                                            {
                                                "value": "DCI4K",
                                                "name": "4096 x 2160 (DCI 4K)"
                                            },
                                            {
                                                "value": "DCI2K",
                                                "name": "2048 x 1080 (DCI 2K)"
                                            },
                                            {
                                                "value": "QHD",
                                                "name": "2560 x 1440"
                                            },
                                            {
                                                "value": "FHD",
                                                "name": "1920 x 1080"
                                            },
                                            {
                                                "value": "HD",
                                                "name": "1280 x 720"
                                            },
                                            {
                                                "value": "SDNTSC",
                                                "name": "720 x 480"
                                            },
                                            {
                                                "value": "SDPAL",
                                                "name": "720 x 576"
                                            },
                                            {
                                                "value": "SDNTSCVBI",
                                                "name": "720 x 512"
                                            },
                                            {
                                                "value": "SDPALVBI",
                                                "name": "720 x 608"
                                            }
                                        ]
                                    }
                                },
                                "custom": {
                                    "title": "Custom frame size(s)",
                                    "description": "The allowed custom frame size(s) as a comma separated list, e.g. '1920x1020,800x600'.",
                                    "type": "string",
                                    "pattern": "^([0-9]+[ \t]*x[ \t]*[0-9]+)([ \t]*,[ \t]*[0-9]+[ \t]*x[ \t]*[0-9]+)*$",
                                    "suffix": "wxh"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "oneOf": [
                                    {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        },
                                        "not": {
                                            "required": [
                                                "custom"
                                            ]
                                        }
                                    },
                                    {
                                        "required": [
                                            "custom"
                                        ],
                                        "not": {
                                            "required": [
                                                "options"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        "video_smpte328trackpresent_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "SMPTE 328 Track Present",
                                    "type": "boolean",
                                    "description": "Check for presence of a SMPTE 328 track in all video frames of the file.",
                                    "default": false
                                }
                            }
                        },
                        "video_bitdepth_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Bit Depth",
                                    "description": "Check the number of bits per video sample.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "type": "string",
                                    "title": "Which bit depth to allow",
                                    "description": "The allowed bit depths as a comma separted list, e.g. '8,12,16'.",
                                    "default": "8",
                                    "suffix": "bits per sample"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "properties": {
                                    "options": {
                                        "minLength": 1
                                    }
                                },
                                "required": [
                                    "options"
                                ]
                            }
                        },
                        "video_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Bit Rate",
                                    "description": "Check the bit rate of the video track.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "The test mode to use.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "type": "string",
                                    "description": "The allowed bit rates as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "Mbit/s"
                                },
                                "minimum": {
                                    "title": "Minimum (Mbit/s)",
                                    "description": "The minimum (Mbit/s) allowed.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "Mbit/s"
                                },
                                "maximum": {
                                    "title": "Maximum (Mbit/s)",
                                    "description": "The maximum (Mbit/s) allowed.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "Mbit/s"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "if": {
                                            "properties": {
                                                "mode": {
                                                    "const": "value"
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "options"
                                            ]
                                        }
                                    }
                                },
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "if": {
                                            "properties": {
                                                "mode": {
                                                    "const": "range"
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "minimum",
                                                "maximum"
                                            ]
                                        }
                                    }
                                }
                            ]
                        },
                        "video_colourspace_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Color Space Information",
                                    "description": "Check the video has certain color space properties.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "color_primaries": {
                                    "title": "Color Primaries",
                                    "description": "The Color Primaries allowed.",
                                    "type": "integer",
                                    "enum": [
                                        -1,
                                        1,
                                        2,
                                        4,
                                        5,
                                        6,
                                        7,
                                        8,
                                        9,
                                        10,
                                        11,
                                        12,
                                        22,
                                        128,
                                        129,
                                        130,
                                        131
                                    ],
                                    "default": -1,
                                    "titleMap": [
                                        {
                                            "value": -1,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 1,
                                            "name": "ITU-R BT.709"
                                        },
                                        {
                                            "value": 2,
                                            "name": "Unspecified"
                                        },
                                        {
                                            "value": 4,
                                            "name": "ITU-R BT.470-6 System M"
                                        },
                                        {
                                            "value": 5,
                                            "name": "ITU-R BT.601 (625)"
                                        },
                                        {
                                            "value": 6,
                                            "name": "ITU-R BT.601 (525)"
                                        },
                                        {
                                            "value": 7,
                                            "name": "SMPTE 240M"
                                        },
                                        {
                                            "value": 8,
                                            "name": "Generic film"
                                        },
                                        {
                                            "value": 9,
                                            "name": "ITU-R BT.2020"
                                        },
                                        {
                                            "value": 10,
                                            "name": "SMPTE ST 428-1"
                                        },
                                        {
                                            "value": 11,
                                            "name": "SMPTE RP 431-2 (P3-DCI)"
                                        },
                                        {
                                            "value": 12,
                                            "name": "SMPTE EG 432-1 (P3-D65)"
                                        },
                                        {
                                            "value": 22,
                                            "name": "EBU Tech. 3213-E"
                                        },
                                        {
                                            "value": 128,
                                            "name": "S-Gamut3"
                                        },
                                        {
                                            "value": 129,
                                            "name": "S-Gamut3.Cine"
                                        },
                                        {
                                            "value": 130,
                                            "name": "SMPTE ST 2065 (ACES)"
                                        },
                                        {
                                            "value": 131,
                                            "name": "P3-D60 (ACES Cinema)"
                                        }
                                    ]
                                },
                                "transfer_characteristics": {
                                    "title": "Transfer Characteristics",
                                    "description": "The Transfer Characteristics allowed.",
                                    "type": "integer",
                                    "enum": [
                                        -1,
                                        1,
                                        2,
                                        4,
                                        5,
                                        6,
                                        7,
                                        8,
                                        9,
                                        10,
                                        11,
                                        12,
                                        13,
                                        14,
                                        15,
                                        16,
                                        17,
                                        18,
                                        128,
                                        136,
                                        152,
                                        160
                                    ],
                                    "default": -1,
                                    "titleMap": [
                                        {
                                            "value": -1,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 1,
                                            "name": "ITU-R BT.709-5"
                                        },
                                        {
                                            "value": 2,
                                            "name": "Unspecified"
                                        },
                                        {
                                            "value": 4,
                                            "name": "ITU-R BT.470-6 System M"
                                        },
                                        {
                                            "value": 5,
                                            "name": "ITU-R BT.470-6 System B, G"
                                        },
                                        {
                                            "value": 6,
                                            "name": "ITU-R BT.601-6"
                                        },
                                        {
                                            "value": 7,
                                            "name": "SMPTE 240M"
                                        },
                                        {
                                            "value": 8,
                                            "name": "Linear"
                                        },
                                        {
                                            "value": 9,
                                            "name": "Log 100:1"
                                        },
                                        {
                                            "value": 10,
                                            "name": "Log 316:1"
                                        },
                                        {
                                            "value": 11,
                                            "name": "IEC 61966-2-4"
                                        },
                                        {
                                            "value": 12,
                                            "name": "ITU-R BT.1361"
                                        },
                                        {
                                            "value": 13,
                                            "name": "IEC 61966-2-1"
                                        },
                                        {
                                            "value": 14,
                                            "name": "ITU-R BT.2020 (10bit)"
                                        },
                                        {
                                            "value": 15,
                                            "name": "ITU-R BT.2020 (12bit)"
                                        },
                                        {
                                            "value": 16,
                                            "name": "SMPTE ST 2084"
                                        },
                                        {
                                            "value": 17,
                                            "name": "SMPTE ST 428-1"
                                        },
                                        {
                                            "value": 18,
                                            "name": "STD-B67 HLG"
                                        },
                                        {
                                            "value": 128,
                                            "name": "SONY S-Log"
                                        },
                                        {
                                            "value": 136,
                                            "name": "ARRI LogC"
                                        },
                                        {
                                            "value": 152,
                                            "name": "Canon Log"
                                        },
                                        {
                                            "value": 160,
                                            "name": "Panasonic V-Log"
                                        }
                                    ]
                                },
                                "matrix_coefficients": {
                                    "title": "Matrix Coefficients",
                                    "description": "The Matrix Coefficients allowed.",
                                    "type": "integer",
                                    "enum": [
                                        -1,
                                        0,
                                        1,
                                        2,
                                        4,
                                        5,
                                        6,
                                        7,
                                        9,
                                        10,
                                        11,
                                        12,
                                        13,
                                        14,
                                        128,
                                        129
                                    ],
                                    "default": -1,
                                    "titleMap": [
                                        {
                                            "value": -1,
                                            "name": "Any"
                                        },
                                        {
                                            "value": 0,
                                            "name": "SMPTE ST 428-1"
                                        },
                                        {
                                            "value": 1,
                                            "name": "ITU-R Rec. BT.709-5"
                                        },
                                        {
                                            "value": 2,
                                            "name": "Unspecified"
                                        },
                                        {
                                            "value": 4,
                                            "name": "FCC"
                                        },
                                        {
                                            "value": 5,
                                            "name": "ITU-R Rec. BT.601-6 (625)"
                                        },
                                        {
                                            "value": 6,
                                            "name": "ITU-R Rec. BT.601-6 (525)"
                                        },
                                        {
                                            "value": 7,
                                            "name": "SMPTE 240M"
                                        },
                                        {
                                            "value": 9,
                                            "name": "ITU-R Rec. BT.2020 (non-constant luminance)"
                                        },
                                        {
                                            "value": 10,
                                            "name": "ITU-R Rec. BT.2020 (constant luminance)"
                                        },
                                        {
                                            "value": 11,
                                            "name": "SMPTE ST 2085"
                                        },
                                        {
                                            "value": 12,
                                            "name": "Chromaticity-derived (non-constant luminance)"
                                        },
                                        {
                                            "value": 13,
                                            "name": "Chromaticity-derived (constant luminance)"
                                        },
                                        {
                                            "value": 14,
                                            "name": "ITU-R BT.2100-0 ICtCp"
                                        },
                                        {
                                            "value": 128,
                                            "name": "S-Gamut3"
                                        },
                                        {
                                            "value": 129,
                                            "name": "S-Gamut3.Cine"
                                        }
                                    ]
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "color_primaries",
                                    "transfer_characteristics",
                                    "matrix_coefficients"
                                ]
                            }
                        },
                        "video_frameaspectratio_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Frame Aspect Ratio",
                                    "description": "Check the aspect ratio of the displayed video frame.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "ratios": {
                                    "title": "All",
                                    "description": "The allowed aspect ratios.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "1.33 (4:3)"
                                            },
                                            {
                                                "value": 1,
                                                "name": "1.78 (16:9)"
                                            },
                                            {
                                                "value": 2,
                                                "name": "1.85"
                                            },
                                            {
                                                "value": 3,
                                                "name": "2.21"
                                            }
                                        ]
                                    }
                                },
                                "custom": {
                                    "title": "Custom",
                                    "description": "The custom allowed aspect ratio.",
                                    "type": "number"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "oneOf": [
                                    {
                                        "required": [
                                            "ratios"
                                        ],
                                        "properties": {
                                            "ratios": {
                                                "minItems": 1
                                            }
                                        },
                                        "not": {
                                            "required": [
                                                "custom"
                                            ]
                                        }
                                    },
                                    {
                                        "required": [
                                            "custom"
                                        ],
                                        "not": {
                                            "required": [
                                                "ratios"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        "video_pixelaspectratio_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Pixel Aspect Ratio",
                                    "description": "Check the aspect ratio of each luminance sample in the coded stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "ratios": {
                                    "title": "All",
                                    "description": "The allowed pixel aspect ratios.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "0.89 (8:9)"
                                            },
                                            {
                                                "value": 1,
                                                "name": "0.91 (10:11)"
                                            },
                                            {
                                                "value": 2,
                                                "name": "1.00 (1:1)"
                                            },
                                            {
                                                "value": 3,
                                                "name": "1.07 (16:15)"
                                            },
                                            {
                                                "value": 4,
                                                "name": "1.19 (64:54)"
                                            },
                                            {
                                                "value": 5,
                                                "name": "1.21 (40:33)"
                                            },
                                            {
                                                "value": 6,
                                                "name": "1.33 (4:3)"
                                            },
                                            {
                                                "value": 7,
                                                "name": "1.42 (64:45)"
                                            }
                                        ]
                                    }
                                },
                                "custom": {
                                    "title": "Custom",
                                    "description": "The allowed custom pixel aspect ratio.",
                                    "type": "number"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "oneOf": [
                                    {
                                        "required": [
                                            "ratios"
                                        ],
                                        "properties": {
                                            "ratios": {
                                                "minItems": 1
                                            }
                                        },
                                        "not": {
                                            "required": [
                                                "custom"
                                            ]
                                        }
                                    },
                                    {
                                        "required": [
                                            "custom"
                                        ],
                                        "not": {
                                            "required": [
                                                "ratios"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        "video_parfarcompare_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Pixel to Frame Aspect Ratio Comparison",
                                    "description": "Check for possible anamorphic video in a 4:3 frame.",
                                    "type": "boolean",
                                    "default": false
                                }
                            }
                        },
                        "video_singlesampledescription_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Single Sample Description",
                                    "description": "Check for the presence of multiple Sample Descriptions in the MOV/MP4 track metadata.",
                                    "type": "boolean",
                                    "default": false
                                }
                            }
                        },
                        "video_referenceframes_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Video Reference Frames",
                                    "description": "Check for the the maximum number of reference frames in AVC or HEVC video streams.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "maximum": {
                                    "title": "Maximum Reference frame count",
                                    "description": "The maximum reference frame count allowed.",
                                    "type": "integer",
                                    "default": 1,
                                    "minimum": 1
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "maximum"
                                ]
                            }
                        },
                        "video_subsampling_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Chroma Subsampling Format",
                                    "description": "Check the chroma subsampling format used in the input file. Only applicable for YUV-based video.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "subsampling": {
                                    "title": "All",
                                    "description": "The subsampling type.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "4:1:1"
                                            },
                                            {
                                                "value": 1,
                                                "name": "4:2:0"
                                            },
                                            {
                                                "value": 2,
                                                "name": "4:2:2"
                                            },
                                            {
                                                "value": 3,
                                                "name": "4:4:4"
                                            }
                                        ]
                                    }
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "subsampling"
                                ],
                                "properties": {
                                    "subsampling": {
                                        "minItems": 1
                                    }
                                }
                            }
                        },
                        "video_trackid_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Track ID",
                                    "description": "Check the ID of the video track within its container format.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "option": {
                                    "title": "Video Track ID",
                                    "description": "The Video Track ID allowed.",
                                    "type": "integer"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "option"
                                        ]
                                    }
                                }
                            ]
                        },
                        "video_tvmpaarating_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "TV/MPAA Rating",
                                    "description": "Check the Content Advisory Packet from the caption data packet in the video stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mpaa": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Enable MPAA Rating Check",
                                            "description": "Check the Content Advisory Packet from the caption data packet in the video stream.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "options": {
                                            "title": "MPAA",
                                            "description": "The allowed MPAA ratings.",
                                            "type": "array",
                                            "items": {
                                                "type": "integer",
                                                "enum": [
                                                    0,
                                                    1,
                                                    2,
                                                    3,
                                                    4,
                                                    5,
                                                    6,
                                                    7
                                                ],
                                                "minItems": 1,
                                                "titleMap": [
                                                    {
                                                        "value": 0,
                                                        "name": "N/A"
                                                    },
                                                    {
                                                        "value": 1,
                                                        "name": "G"
                                                    },
                                                    {
                                                        "value": 2,
                                                        "name": "PG"
                                                    },
                                                    {
                                                        "value": 3,
                                                        "name": "PG-13"
                                                    },
                                                    {
                                                        "value": 4,
                                                        "name": "R"
                                                    },
                                                    {
                                                        "value": 5,
                                                        "name": "NC-17"
                                                    },
                                                    {
                                                        "value": 6,
                                                        "name": "X"
                                                    },
                                                    {
                                                        "value": 7,
                                                        "name": "Not Rated"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                },
                                "ustv": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Enable USTV Rating Check",
                                            "description": "Check the Content Advisory Packet from the caption data packet in the video stream.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "options": {
                                            "title": "USTV",
                                            "description": "The allowed USTV ratings.",
                                            "type": "array",
                                            "items": {
                                                "type": "integer",
                                                "enum": [
                                                    0,
                                                    1,
                                                    2,
                                                    3,
                                                    4,
                                                    5,
                                                    6
                                                ],
                                                "minItems": 1,
                                                "titleMap": [
                                                    {
                                                        "value": 0,
                                                        "name": "None"
                                                    },
                                                    {
                                                        "value": 1,
                                                        "name": "TV-Y"
                                                    },
                                                    {
                                                        "value": 2,
                                                        "name": "TV-Y7"
                                                    },
                                                    {
                                                        "value": 3,
                                                        "name": "TV-G"
                                                    },
                                                    {
                                                        "value": 4,
                                                        "name": "TV-PG"
                                                    },
                                                    {
                                                        "value": 5,
                                                        "name": "TV-14"
                                                    },
                                                    {
                                                        "value": 6,
                                                        "name": "TV-MA"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                },
                                "can_eng_lang": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Enable Canadian English Rating Check",
                                            "description": "Check the Content Advisory Packet from the caption data packet in the video stream.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "options": {
                                            "title": "Canadian English",
                                            "description": "The allowed Canadian English ratings.",
                                            "type": "array",
                                            "minItems": 1,
                                            "items": {
                                                "type": "integer",
                                                "enum": [
                                                    0,
                                                    1,
                                                    2,
                                                    3,
                                                    4,
                                                    5,
                                                    6
                                                ],
                                                "titleMap": [
                                                    {
                                                        "value": 0,
                                                        "name": "Canadian English E"
                                                    },
                                                    {
                                                        "value": 1,
                                                        "name": "Canadian English C"
                                                    },
                                                    {
                                                        "value": 2,
                                                        "name": "Canadian English C8+"
                                                    },
                                                    {
                                                        "value": 3,
                                                        "name": "Canadian English G"
                                                    },
                                                    {
                                                        "value": 4,
                                                        "name": "Canadian English PG"
                                                    },
                                                    {
                                                        "value": 5,
                                                        "name": "Canadian English 14+"
                                                    },
                                                    {
                                                        "value": 6,
                                                        "name": "Canadian English 18+"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                },
                                "can_fre_lang": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Enable Canadian French Rating Check",
                                            "description": "Check the Content Advisory Packet from the caption data packet in the video stream.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "options": {
                                            "title": "Canadian French",
                                            "description": "The allowed Canadian French ratings.",
                                            "type": "array",
                                            "minItems": 1,
                                            "items": {
                                                "type": "integer",
                                                "enum": [
                                                    0,
                                                    1,
                                                    2,
                                                    3,
                                                    4,
                                                    5
                                                ],
                                                "titleMap": [
                                                    {
                                                        "value": 0,
                                                        "name": "Canadian French E"
                                                    },
                                                    {
                                                        "value": 1,
                                                        "name": "Canadian French G"
                                                    },
                                                    {
                                                        "value": 2,
                                                        "name": "Canadian French 8 ans +"
                                                    },
                                                    {
                                                        "value": 3,
                                                        "name": "Canadian French 13 ans +"
                                                    },
                                                    {
                                                        "value": 4,
                                                        "name": "Canadian French 16 ans +"
                                                    },
                                                    {
                                                        "value": 5,
                                                        "name": "Canadian French 18 ans +"
                                                    }
                                                ]
                                            }
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                },
                                "reserved": {
                                    "type": "object",
                                    "required": [
                                        "enable"
                                    ],
                                    "additionalProperties": false,
                                    "properties": {
                                        "enable": {
                                            "title": "Reserved for Non-North American ratings",
                                            "description": "Check the Content Advisory Packet from the caption data packet in the video stream.",
                                            "type": "boolean",
                                            "default": false
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "audio_metadata": {
                    "test_name": "audio_metadata",
                    "name": "Audio Metadata",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-metadata",
                    "category": "Audio Metadata",
                    "form": [
                        {
                            "widget": "message",
                            "message": "<h2>Audio Checks</h2>"
                        },
                        "treat_warnings_as",
                        "audio_bitdepth_test.enable",
                        {
                            "key": "audio_bitdepth_test.options",
                            "condition": "model.audio_bitdepth_test.enable"
                        },
                        "audio_bitrate_test.enable",
                        {
                            "key": "audio_bitrate_test.mode",
                            "condition": "model.audio_bitrate_test.enable",
                            "type": "radios"
                        },
                        {
                            "key": "audio_bitrate_test.options",
                            "condition": {
                                "functionBody": "try { return model.audio_bitrate_test.enable && model.audio_bitrate_test.mode == 'value'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_bitrate_test.minimum",
                            "condition": {
                                "functionBody": "try { return model.audio_bitrate_test.enable && model.audio_bitrate_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_bitrate_test.maximum",
                            "condition": {
                                "functionBody": "try { return model.audio_bitrate_test.enable && model.audio_bitrate_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        "audio_codec_test.enable",
                        {
                            "key": "audio_codec_test.codec",
                            "condition": "audio_codec_test.enable"
                        },
                        {
                            "key": "audio_codec_test.aac_profile",
                            "condition": {
                                "functionBody": "try { return model.audio_codec_test.enable && model.audio_codec_test.codec.indexOf(0) != -1} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_codec_test.mpeg_layer",
                            "condition": {
                                "functionBody": "try { return model.audio_codec_test.enable && model.audio_codec_test.codec.indexOf(4) != -1} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_codec_test.pcm_type",
                            "condition": {
                                "functionBody": "try { return model.audio_codec_test.enable && model.audio_codec_test.codec.indexOf(5) != -1} catch(e){return false}"
                            }
                        },
                        "audio_essenceduration_test.enable",
                        {
                            "key": "audio_essenceduration_test.duration_value.enable",
                            "condition": "audio_essenceduration_test.enable"
                        },
                        {
                            "key": "audio_essenceduration_test.duration_value.value",
                            "condition": "audio_essenceduration_test.duration_value.enable"
                        },
                        {
                            "key": "audio_essenceduration_test.duration_value.spread",
                            "condition": "audio_essenceduration_test.duration_value.enable"
                        },
                        {
                            "key": "audio_essenceduration_test.duration_range.enable",
                            "condition": "audio_essenceduration_test.enable"
                        },
                        {
                            "key": "audio_essenceduration_test.duration_range.minimum",
                            "condition": "audio_essenceduration_test.duration_range.enable"
                        },
                        {
                            "key": "audio_essenceduration_test.duration_range.maximum",
                            "condition": "audio_essenceduration_test.duration_range.enable"
                        },
                        "audio_endianness_test.enable",
                        {
                            "key": "audio_endianness_test.options",
                            "condition": "audio_endianness_test.enable"
                        },
                        "audio_languageid_test.enable",
                        {
                            "key": "audio_languageid_test.options",
                            "condition": "audio_languageid_test.enable"
                        },
                        "audio_numberofchannels_test.enable",
                        {
                            "key": "audio_numberofchannels_test.mode",
                            "condition": "model.audio_numberofchannels_test.enable",
                            "type": "radios"
                        },
                        {
                            "key": "audio_numberofchannels_test.maximum",
                            "condition": {
                                "functionBody": "try { return model.audio_numberofchannels_test.enable && model.audio_numberofchannels_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_numberofchannels_test.minimum",
                            "condition": {
                                "functionBody": "try { return model.audio_numberofchannels_test.enable && model.audio_numberofchannels_test.mode == 'range'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_numberofchannels_test.equals",
                            "condition": {
                                "functionBody": "try { return model.audio_numberofchannels_test.enable && model.audio_numberofchannels_test.mode == 'value'} catch(e){return false}"
                            }
                        },
                        {
                            "key": "audio_numberofchannels_test.source",
                            "condition": "audio_numberofchannels_test.enable"
                        },
                        "audio_samplerate_test.enable",
                        {
                            "key": "audio_samplerate_test.options",
                            "condition": "audio_samplerate_test.enable"
                        }
                    ],
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audio_bitdepth_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Bit Depth",
                                    "description": "Check the number of bits per audio sample per channel.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "type": "string",
                                    "title": "Options",
                                    "description": "Select multiple by using comma separated values.",
                                    "default": "16",
                                    "pattern": "^([0-9]+)(\\s*,\\s*[0-9]+)*\\s*$",
                                    "suffix": "bits per sample"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minLength": 1
                                    }
                                }
                            }
                        },
                        "audio_bitrate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Bit Rate",
                                    "description": "Check the bit rate of the audio track as it appears in the input file.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "description": "Test specific value(s) or that bit rate lies within given range.",
                                    "type": "string",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "options": {
                                    "title": "Value(s)",
                                    "type": "string",
                                    "description": "The allowed bit rates as a comma separated list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "kbps"
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum allowed bit rate.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "kbps"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum allowed bit rate.",
                                    "type": "number",
                                    "minimum": 0,
                                    "suffix": "kbps"
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode"
                                        ],
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "value"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "options"
                                                    ],
                                                    "properties": {
                                                        "options": {
                                                            "minLength": 1
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "range"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "minimum",
                                                        "maximum"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_essenceduration_test": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                                "enable"
                            ],
                            "properties": {
                                "enable": {
                                    "title": "Audio Essence Duration",
                                    "description": "Test if the essence is shorter/longer than specified value/range.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "duration_value": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Value",
                                            "description": "Whether the duration value test is enabled.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "value": {
                                            "title": "Value",
                                            "description": "The duration value allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        },
                                        "spread": {
                                            "title": "Spread (+ or -)",
                                            "description": "The spread (+ or -) allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "value",
                                            "spread"
                                        ]
                                    }
                                },
                                "duration_range": {
                                    "type": "object",
                                    "additionalProperties": false,
                                    "required": [
                                        "enable"
                                    ],
                                    "properties": {
                                        "enable": {
                                            "title": "Range",
                                            "description": "Whether the duration range test is enabled.",
                                            "type": "boolean",
                                            "default": false
                                        },
                                        "minimum": {
                                            "title": "Minimum",
                                            "description": "The minimum duration allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        },
                                        "maximum": {
                                            "title": "Maximum",
                                            "description": "The maximum duration allowed.",
                                            "$ref": "#/definitions/basic_timecode"
                                        }
                                    },
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "minimum",
                                            "maximum"
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "oneOf": [
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_value": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "not": {
                                                    "properties": {
                                                        "duration_range": {
                                                            "properties": {
                                                                "enable": {
                                                                    "const": false
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_endianness_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Check endianness of LPCM",
                                    "type": "boolean",
                                    "default": false,
                                    "description": "Check the endianness of the audio LPCM data against the original audio."
                                },
                                "options": {
                                    "title": "Endianness Required",
                                    "description": "The endianness required.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "Little Endian"
                                        },
                                        {
                                            "value": 1,
                                            "name": "Big Endian"
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "options"
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_codec_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Codec",
                                    "description": "Check the format of the audio elementary stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "codec": {
                                    "title": "All",
                                    "description": "Which codecs to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "AAC"
                                            },
                                            {
                                                "value": 1,
                                                "name": "Dolby AC-3"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Dolby Digital Plus"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Dolby E"
                                            },
                                            {
                                                "value": 4,
                                                "name": "MPEG-1 / MPEG-2"
                                            },
                                            {
                                                "value": 5,
                                                "name": "PCM"
                                            },
                                            {
                                                "value": 7,
                                                "name": "SMPTE 331M"
                                            },
                                            {
                                                "value": 6,
                                                "name": "WMA"
                                            }
                                        ]
                                    }
                                },
                                "mpeg_layer": {
                                    "title": "MPEG Layer",
                                    "description": "Which MPEG Audio Layer to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            1,
                                            2,
                                            3
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 1,
                                                "name": "Layer 1"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Layer 2"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Layer 3"
                                            }
                                        ]
                                    }
                                },
                                "aac_profile": {
                                    "title": "AAC profiles",
                                    "description": "Which AAC profiles to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "HE-AAC"
                                            },
                                            {
                                                "value": 1,
                                                "name": "HE-AACv2"
                                            },
                                            {
                                                "value": 2,
                                                "name": "LC"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Main"
                                            },
                                            {
                                                "value": 4,
                                                "name": "SSR"
                                            },
                                            {
                                                "value": 5,
                                                "name": "LTP"
                                            }
                                        ]
                                    }
                                },
                                "pcm_type": {
                                    "title": "PCM types",
                                    "description": "Which PCM types to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "integer",
                                        "enum": [
                                            0,
                                            1,
                                            2,
                                            3,
                                            4,
                                            5,
                                            6,
                                            7,
                                            8,
                                            9,
                                            10,
                                            11,
                                            12
                                        ],
                                        "titleMap": [
                                            {
                                                "value": 0,
                                                "name": "Frame (BWF)"
                                            },
                                            {
                                                "value": 1,
                                                "name": "Clip (BWF)"
                                            },
                                            {
                                                "value": 2,
                                                "name": "Frame (AES)"
                                            },
                                            {
                                                "value": 3,
                                                "name": "Clip (AES)"
                                            },
                                            {
                                                "value": 4,
                                                "name": "Custom (BWF)"
                                            },
                                            {
                                                "value": 5,
                                                "name": "Custom (AES)"
                                            },
                                            {
                                                "value": 6,
                                                "name": "Frame"
                                            },
                                            {
                                                "value": 7,
                                                "name": "Clip"
                                            },
                                            {
                                                "value": 8,
                                                "name": "D-10"
                                            },
                                            {
                                                "value": 9,
                                                "name": "Custom"
                                            },
                                            {
                                                "value": 10,
                                                "name": "Custom: Fixed Audio Size"
                                            },
                                            {
                                                "value": 11,
                                                "name": "Frame (D-10)"
                                            },
                                            {
                                                "value": 12,
                                                "name": "Wav (BWF)"
                                            }
                                        ]
                                    }
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "codec"
                                        ],
                                        "properties": {
                                            "codec": {
                                                "minItems": 1
                                            }
                                        },
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "codec": {
                                                            "contains": {
                                                                "enum": [
                                                                    0
                                                                ]
                                                            }
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "aac_profile"
                                                    ],
                                                    "properties": {
                                                        "aac_profile": {
                                                            "minItems": 1
                                                        }
                                                    }
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "codec": {
                                                            "contains": {
                                                                "enum": [
                                                                    5
                                                                ]
                                                            }
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "pcm_type"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_languageid_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Language ID",
                                    "description": "Check the audio language ID in the audio stream.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "title": "Languages",
                                    "description": "Which languages to allow.",
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "abk",
                                            "ady",
                                            "aar",
                                            "afr",
                                            "aka",
                                            "sqi",
                                            "amh",
                                            "ara",
                                            "arg",
                                            "arp",
                                            "aae",
                                            "hye",
                                            "rup",
                                            "asm",
                                            "ina",
                                            "ava",
                                            "ave",
                                            "aym",
                                            "aze",
                                            "bam",
                                            "bak",
                                            "eus",
                                            "bar",
                                            "bel",
                                            "ben",
                                            "bih",
                                            "bis",
                                            "bos",
                                            "bre",
                                            "bul",
                                            "mya",
                                            "spa",
                                            "cat",
                                            "cha",
                                            "che",
                                            "zho",
                                            "chv",
                                            "cim",
                                            "cor",
                                            "cos",
                                            "cre",
                                            "crh",
                                            "hrv",
                                            "ces",
                                            "dan",
                                            "div",
                                            "nld",
                                            "dzo",
                                            "eng",
                                            "enm",
                                            "myv",
                                            "epo",
                                            "est",
                                            "ewe",
                                            "fao",
                                            "fij",
                                            "fin",
                                            "fra",
                                            "frm",
                                            "fur",
                                            "frr",
                                            "fry",
                                            "ful",
                                            "gla",
                                            "glg",
                                            "lug",
                                            "kat",
                                            "deu",
                                            "ell",
                                            "grn",
                                            "guj",
                                            "hat",
                                            "hau",
                                            "heb",
                                            "her",
                                            "hin",
                                            "hmo",
                                            "hun",
                                            "isl",
                                            "ido",
                                            "ibo",
                                            "ind",
                                            "inh",
                                            "ile",
                                            "iku",
                                            "ipk",
                                            "gle",
                                            "ita",
                                            "jpn",
                                            "jav",
                                            "lad",
                                            "kbd",
                                            "kal",
                                            "xal",
                                            "kan",
                                            "kau",
                                            "krc",
                                            "krl",
                                            "kas",
                                            "csb",
                                            "kaz",
                                            "khm",
                                            "kik",
                                            "kin",
                                            "kir",
                                            "kom",
                                            "kon",
                                            "kor",
                                            "kua",
                                            "kur",
                                            "lao",
                                            "lat",
                                            "lav",
                                            "ast",
                                            "lim",
                                            "lin",
                                            "lit",
                                            "lub",
                                            "ltz",
                                            "mkd",
                                            "mlg",
                                            "msa",
                                            "mal",
                                            "mlt",
                                            "glv",
                                            "mri",
                                            "mar",
                                            "chm",
                                            "mah",
                                            "mwl",
                                            "mdf",
                                            "ron",
                                            "mon",
                                            "nau",
                                            "nav",
                                            "ndo",
                                            "nap",
                                            "nep",
                                            "nde",
                                            "sme",
                                            "nor",
                                            "nob",
                                            "nno",
                                            "nya",
                                            "oci",
                                            "oji",
                                            "ori",
                                            "orm",
                                            "oss",
                                            "pli",
                                            "pan",
                                            "fas",
                                            "pol",
                                            "por",
                                            "pus",
                                            "que",
                                            "roh",
                                            "rom",
                                            "run",
                                            "rus",
                                            "smo",
                                            "sag",
                                            "san",
                                            "srd",
                                            "sco",
                                            "srp",
                                            "sna",
                                            "scn",
                                            "snd",
                                            "sin",
                                            "slk",
                                            "slv",
                                            "som",
                                            "wen",
                                            "sot",
                                            "nbl",
                                            "sma",
                                            "sun",
                                            "swa",
                                            "ssw",
                                            "swe",
                                            "gsw",
                                            "tgl",
                                            "tah",
                                            "tgk",
                                            "tam",
                                            "tat",
                                            "tel",
                                            "tha",
                                            "bod",
                                            "tir",
                                            "ton",
                                            "tso",
                                            "tsn",
                                            "tur",
                                            "tuk",
                                            "twi",
                                            "udm",
                                            "uig",
                                            "ukr",
                                            "mis",
                                            "urd",
                                            "uzb",
                                            "ven",
                                            "vie",
                                            "vol",
                                            "wln",
                                            "cym",
                                            "wol",
                                            "xho",
                                            "yid",
                                            "yor",
                                            "zha",
                                            "zul",
                                            "none"
                                        ],
                                        "titleMap": [
                                            {
                                                "value": "abk",
                                                "name": "Abkhazian - abk"
                                            },
                                            {
                                                "value": "ady",
                                                "name": "Adygei, Adyghe - ady"
                                            },
                                            {
                                                "value": "aar",
                                                "name": "Afar - aar"
                                            },
                                            {
                                                "value": "afr",
                                                "name": "Afrikaans - afr"
                                            },
                                            {
                                                "value": "aka",
                                                "name": "Akan - aka"
                                            },
                                            {
                                                "value": "sqi",
                                                "name": "Albanian - sqi"
                                            },
                                            {
                                                "value": "amh",
                                                "name": "Amharic - amh"
                                            },
                                            {
                                                "value": "ara",
                                                "name": "Arabic - ara"
                                            },
                                            {
                                                "value": "arg",
                                                "name": "Aragonese - arg"
                                            },
                                            {
                                                "value": "arp",
                                                "name": "Arapaho - arp"
                                            },
                                            {
                                                "value": "aae",
                                                "name": "Arbereshe Albanian - aae"
                                            },
                                            {
                                                "value": "hye",
                                                "name": "Armenian - hye"
                                            },
                                            {
                                                "value": "rup",
                                                "name": "Aromanian, Arumanian, Macedo-Romanian - rup"
                                            },
                                            {
                                                "value": "asm",
                                                "name": "Assamese - asm"
                                            },
                                            {
                                                "value": "ina",
                                                "name": "Auxiliary Language Association - ina"
                                            },
                                            {
                                                "value": "ava",
                                                "name": "Avaric - ava"
                                            },
                                            {
                                                "value": "ave",
                                                "name": "Avestan - ave"
                                            },
                                            {
                                                "value": "aym",
                                                "name": "Aymara - aym"
                                            },
                                            {
                                                "value": "aze",
                                                "name": "Azerbaijani - aze"
                                            },
                                            {
                                                "value": "bam",
                                                "name": "Bambara - bam"
                                            },
                                            {
                                                "value": "bak",
                                                "name": "Bashkir - bak"
                                            },
                                            {
                                                "value": "eus",
                                                "name": "Basque - eus"
                                            },
                                            {
                                                "value": "bar",
                                                "name": "Bavarian - bar"
                                            },
                                            {
                                                "value": "bel",
                                                "name": "Belarusian - bel"
                                            },
                                            {
                                                "value": "ben",
                                                "name": "Bengali - ben"
                                            },
                                            {
                                                "value": "bih",
                                                "name": "Bihari - bih"
                                            },
                                            {
                                                "value": "bis",
                                                "name": "Bislama - bis"
                                            },
                                            {
                                                "value": "bos",
                                                "name": "Bosnian - bos"
                                            },
                                            {
                                                "value": "bre",
                                                "name": "Breton - bre"
                                            },
                                            {
                                                "value": "bul",
                                                "name": "Bulgarian - bul"
                                            },
                                            {
                                                "value": "mya",
                                                "name": "Burmese - mya"
                                            },
                                            {
                                                "value": "spa",
                                                "name": "Castilian, Spanish - spa"
                                            },
                                            {
                                                "value": "cat",
                                                "name": "Catalan, Valencian - cat"
                                            },
                                            {
                                                "value": "cha",
                                                "name": "Chamorro - cha"
                                            },
                                            {
                                                "value": "che",
                                                "name": "Chechen - che"
                                            },
                                            {
                                                "value": "zho",
                                                "name": "Chinese - zho"
                                            },
                                            {
                                                "value": "chv",
                                                "name": "Chuvash - chv"
                                            },
                                            {
                                                "value": "cim",
                                                "name": "Cimbrian - cim"
                                            },
                                            {
                                                "value": "cor",
                                                "name": "Cornish - cor"
                                            },
                                            {
                                                "value": "cos",
                                                "name": "Corsican - cos"
                                            },
                                            {
                                                "value": "cre",
                                                "name": "Cree - cre"
                                            },
                                            {
                                                "value": "crh",
                                                "name": "Crimean Tatar, Crimean Turkish - crh"
                                            },
                                            {
                                                "value": "hrv",
                                                "name": "Croatian - hrv"
                                            },
                                            {
                                                "value": "ces",
                                                "name": "Czech - ces"
                                            },
                                            {
                                                "value": "dan",
                                                "name": "Danish - dan"
                                            },
                                            {
                                                "value": "div",
                                                "name": "Dhivehi, Divehi, Maldivian - div"
                                            },
                                            {
                                                "value": "nld",
                                                "name": "Dutch, Flemish - nld"
                                            },
                                            {
                                                "value": "dzo",
                                                "name": "Dzongkha - dzo"
                                            },
                                            {
                                                "value": "eng",
                                                "name": "English - eng"
                                            },
                                            {
                                                "value": "enm",
                                                "name": "Middle English - enm"
                                            },
                                            {
                                                "value": "myv",
                                                "name": "Erzya - myv"
                                            },
                                            {
                                                "value": "epo",
                                                "name": "Esperanto - epo"
                                            },
                                            {
                                                "value": "est",
                                                "name": "Estonian - est"
                                            },
                                            {
                                                "value": "ewe",
                                                "name": "Ewe - ewe"
                                            },
                                            {
                                                "value": "fao",
                                                "name": "Faroese - fao"
                                            },
                                            {
                                                "value": "fij",
                                                "name": "Fijian - fij"
                                            },
                                            {
                                                "value": "fin",
                                                "name": "Finnish - fin"
                                            },
                                            {
                                                "value": "fra",
                                                "name": "French - fra"
                                            },
                                            {
                                                "value": "frm",
                                                "name": "Middle French - frm"
                                            },
                                            {
                                                "value": "fur",
                                                "name": "Friulian - fur"
                                            },
                                            {
                                                "value": "frr",
                                                "name": "Northern Frisian - frr"
                                            },
                                            {
                                                "value": "fry",
                                                "name": "Western Frisian - fry"
                                            },
                                            {
                                                "value": "ful",
                                                "name": "Fulah - ful"
                                            },
                                            {
                                                "value": "gla",
                                                "name": "Gaelic, Scottish Gaelic - gla"
                                            },
                                            {
                                                "value": "glg",
                                                "name": "Galician - glg"
                                            },
                                            {
                                                "value": "lug",
                                                "name": "Ganda - lug"
                                            },
                                            {
                                                "value": "kat",
                                                "name": "Georgian - kat"
                                            },
                                            {
                                                "value": "deu",
                                                "name": "German - deu"
                                            },
                                            {
                                                "value": "ell",
                                                "name": "Greek - ell"
                                            },
                                            {
                                                "value": "grn",
                                                "name": "Guarani - grn"
                                            },
                                            {
                                                "value": "guj",
                                                "name": "Gujarati - guj"
                                            },
                                            {
                                                "value": "hat",
                                                "name": "Haitian, Haitian Creole - hat"
                                            },
                                            {
                                                "value": "hau",
                                                "name": "Hausa - hau"
                                            },
                                            {
                                                "value": "heb",
                                                "name": "Hebrew - heb"
                                            },
                                            {
                                                "value": "her",
                                                "name": "Herero - her"
                                            },
                                            {
                                                "value": "hin",
                                                "name": "Hindi - hin"
                                            },
                                            {
                                                "value": "hmo",
                                                "name": "Hiri Motu - hmo"
                                            },
                                            {
                                                "value": "hun",
                                                "name": "Hungarian - hun"
                                            },
                                            {
                                                "value": "isl",
                                                "name": "Icelandic - isl"
                                            },
                                            {
                                                "value": "ido",
                                                "name": "Ido - ido"
                                            },
                                            {
                                                "value": "ibo",
                                                "name": "Igbo - ibo"
                                            },
                                            {
                                                "value": "ind",
                                                "name": "Indonesian - ind"
                                            },
                                            {
                                                "value": "inh",
                                                "name": "Ingush - inh"
                                            },
                                            {
                                                "value": "ile",
                                                "name": "Interlingue, Occidental - ile"
                                            },
                                            {
                                                "value": "iku",
                                                "name": "Inuktitut - iku"
                                            },
                                            {
                                                "value": "ipk",
                                                "name": "Inupiaq - ipk"
                                            },
                                            {
                                                "value": "gle",
                                                "name": "Irish - gle"
                                            },
                                            {
                                                "value": "ita",
                                                "name": "Italian - ita"
                                            },
                                            {
                                                "value": "jpn",
                                                "name": "Japanese - jpn"
                                            },
                                            {
                                                "value": "jav",
                                                "name": "Javanese - jav"
                                            },
                                            {
                                                "value": "lad",
                                                "name": "Ladino - lad"
                                            },
                                            {
                                                "value": "kbd",
                                                "name": "Kabardian - kbd"
                                            },
                                            {
                                                "value": "kal",
                                                "name": "Greenlandic, Kalaallisut - kal"
                                            },
                                            {
                                                "value": "xal",
                                                "name": "Kalmyk, Oirat - xal"
                                            },
                                            {
                                                "value": "kan",
                                                "name": "Kannada - kan"
                                            },
                                            {
                                                "value": "kau",
                                                "name": "Kanuri - kau"
                                            },
                                            {
                                                "value": "krc",
                                                "name": "Karachay-Balkar - krc"
                                            },
                                            {
                                                "value": "krl",
                                                "name": "Karelian - krl"
                                            },
                                            {
                                                "value": "kas",
                                                "name": "Kashmiri - kas"
                                            },
                                            {
                                                "value": "csb",
                                                "name": "Kashubian - csb"
                                            },
                                            {
                                                "value": "kaz",
                                                "name": "Kazakh - kaz"
                                            },
                                            {
                                                "value": "khm",
                                                "name": "Central Khmer, Khmer - khm"
                                            },
                                            {
                                                "value": "kik",
                                                "name": "Gikuyu, Kikuyu - kik"
                                            },
                                            {
                                                "value": "kin",
                                                "name": "Kinyarwanda - kin"
                                            },
                                            {
                                                "value": "kir",
                                                "name": "Kirghiz, Kyrgyz - kir"
                                            },
                                            {
                                                "value": "kom",
                                                "name": "Komi - kom"
                                            },
                                            {
                                                "value": "kon",
                                                "name": "Kongo - kon"
                                            },
                                            {
                                                "value": "kor",
                                                "name": "Korean - kor"
                                            },
                                            {
                                                "value": "kua",
                                                "name": "Kuanyama, Kwanyama - kua"
                                            },
                                            {
                                                "value": "kur",
                                                "name": "Kurdish - kur"
                                            },
                                            {
                                                "value": "lao",
                                                "name": "Lao - lao"
                                            },
                                            {
                                                "value": "lat",
                                                "name": "Latin - lat"
                                            },
                                            {
                                                "value": "lav",
                                                "name": "Latvian - lav"
                                            },
                                            {
                                                "value": "ast",
                                                "name": "Leonese, Asturian, Asturleonese, Bable - ast"
                                            },
                                            {
                                                "value": "lim",
                                                "name": "Limburgan, Limburger, Limburgish - lim"
                                            },
                                            {
                                                "value": "lin",
                                                "name": "Lingala - lin"
                                            },
                                            {
                                                "value": "lit",
                                                "name": "Lithuanian - lit"
                                            },
                                            {
                                                "value": "lub",
                                                "name": "Luba-Katanga - lub"
                                            },
                                            {
                                                "value": "ltz",
                                                "name": "Letzeburgesch, Luxembourgish - ltz"
                                            },
                                            {
                                                "value": "mkd",
                                                "name": "Macedonian - mkd"
                                            },
                                            {
                                                "value": "mlg",
                                                "name": "Malagasy - mlg"
                                            },
                                            {
                                                "value": "msa",
                                                "name": "Malay - msa"
                                            },
                                            {
                                                "value": "mal",
                                                "name": "Malayalam - mal"
                                            },
                                            {
                                                "value": "mlt",
                                                "name": "Maltese - mlt"
                                            },
                                            {
                                                "value": "glv",
                                                "name": "Manx - glv"
                                            },
                                            {
                                                "value": "mri",
                                                "name": "Maori - mri"
                                            },
                                            {
                                                "value": "mar",
                                                "name": "Marathi - mar"
                                            },
                                            {
                                                "value": "chm",
                                                "name": "Mari (Russia) - chm"
                                            },
                                            {
                                                "value": "mah",
                                                "name": "Marshallese - mah"
                                            },
                                            {
                                                "value": "mwl",
                                                "name": "Mirandese - mwl"
                                            },
                                            {
                                                "value": "mdf",
                                                "name": "Moksha  - mdf"
                                            },
                                            {
                                                "value": "ron",
                                                "name": "Moldavian, Moldovan, Romanian - ron"
                                            },
                                            {
                                                "value": "mon",
                                                "name": "Mongolian - mon"
                                            },
                                            {
                                                "value": "nau",
                                                "name": "Nauru - nau"
                                            },
                                            {
                                                "value": "nav",
                                                "name": "Navaho, Navajo - nav"
                                            },
                                            {
                                                "value": "ndo",
                                                "name": "Ndonga - ndo"
                                            },
                                            {
                                                "value": "nap",
                                                "name": "Neapolitan - nap"
                                            },
                                            {
                                                "value": "nep",
                                                "name": "Nepali - nep"
                                            },
                                            {
                                                "value": "nde",
                                                "name": "North Ndebele - nde"
                                            },
                                            {
                                                "value": "sme",
                                                "name": "Northern Sami - sme"
                                            },
                                            {
                                                "value": "nor",
                                                "name": "Norwegian - nor"
                                            },
                                            {
                                                "value": "nob",
                                                "name": "Norwegian Bokmal - nob"
                                            },
                                            {
                                                "value": "nno",
                                                "name": "Norwegian Nynorsk - nno"
                                            },
                                            {
                                                "value": "nya",
                                                "name": "Nyanja, Chewa, Chichewa - nya"
                                            },
                                            {
                                                "value": "oci",
                                                "name": "Occitan - oci"
                                            },
                                            {
                                                "value": "oji",
                                                "name": "Ojibwa - oji"
                                            },
                                            {
                                                "value": "ori",
                                                "name": "Oriya - ori"
                                            },
                                            {
                                                "value": "orm",
                                                "name": "Oromo - orm"
                                            },
                                            {
                                                "value": "oss",
                                                "name": "Ossetian, Ossetic - oss"
                                            },
                                            {
                                                "value": "pli",
                                                "name": "Pali - pli"
                                            },
                                            {
                                                "value": "pan",
                                                "name": "Panjabi, Punjabi - pan"
                                            },
                                            {
                                                "value": "fas",
                                                "name": "Persian - fas"
                                            },
                                            {
                                                "value": "pol",
                                                "name": "Polish - pol"
                                            },
                                            {
                                                "value": "por",
                                                "name": "Portuguese - por"
                                            },
                                            {
                                                "value": "pus",
                                                "name": "Pashto, Pushto - pus"
                                            },
                                            {
                                                "value": "que",
                                                "name": "Quechua - que"
                                            },
                                            {
                                                "value": "roh",
                                                "name": "Romansh - roh"
                                            },
                                            {
                                                "value": "rom",
                                                "name": "Romany - rom"
                                            },
                                            {
                                                "value": "run",
                                                "name": "Rundi - run"
                                            },
                                            {
                                                "value": "rus",
                                                "name": "Russian - rus"
                                            },
                                            {
                                                "value": "smo",
                                                "name": "Samoan - smo"
                                            },
                                            {
                                                "value": "sag",
                                                "name": "Sango - sag"
                                            },
                                            {
                                                "value": "san",
                                                "name": "Sanskrit - san"
                                            },
                                            {
                                                "value": "srd",
                                                "name": "Sardinian - srd"
                                            },
                                            {
                                                "value": "sco",
                                                "name": "Scots - sco"
                                            },
                                            {
                                                "value": "srp",
                                                "name": "Serbian - srp"
                                            },
                                            {
                                                "value": "sna",
                                                "name": "Shona - sna"
                                            },
                                            {
                                                "value": "scn",
                                                "name": "Sicilian - scn"
                                            },
                                            {
                                                "value": "snd",
                                                "name": "Sindhi - snd"
                                            },
                                            {
                                                "value": "sin",
                                                "name": "Sinhala, Sinhalese - sin"
                                            },
                                            {
                                                "value": "slk",
                                                "name": "Slovak - slk"
                                            },
                                            {
                                                "value": "slv",
                                                "name": "Slovenian - slv"
                                            },
                                            {
                                                "value": "som",
                                                "name": "Somali - som"
                                            },
                                            {
                                                "value": "wen",
                                                "name": "Sorbian languages - wen"
                                            },
                                            {
                                                "value": "sot",
                                                "name": "Southern Sotho - sot"
                                            },
                                            {
                                                "value": "nbl",
                                                "name": "South Ndebele - nbl"
                                            },
                                            {
                                                "value": "sma",
                                                "name": "Southern Sami - sma"
                                            },
                                            {
                                                "value": "sun",
                                                "name": "Sundanese - sun"
                                            },
                                            {
                                                "value": "swa",
                                                "name": "Swahili - swa"
                                            },
                                            {
                                                "value": "ssw",
                                                "name": "Swati - ssw"
                                            },
                                            {
                                                "value": "swe",
                                                "name": "Swedish - swe"
                                            },
                                            {
                                                "value": "gsw",
                                                "name": "Swiss German, Alemannic, Alsatian - gsw"
                                            },
                                            {
                                                "value": "tgl",
                                                "name": "Tagalog - tgl"
                                            },
                                            {
                                                "value": "tah",
                                                "name": "Tahitian - tah"
                                            },
                                            {
                                                "value": "tgk",
                                                "name": "Tajik - tgk"
                                            },
                                            {
                                                "value": "tam",
                                                "name": "Tamil - tam"
                                            },
                                            {
                                                "value": "tat",
                                                "name": "Tatar - tat"
                                            },
                                            {
                                                "value": "tel",
                                                "name": "Telugu - tel"
                                            },
                                            {
                                                "value": "tha",
                                                "name": "Thai - tha"
                                            },
                                            {
                                                "value": "bod",
                                                "name": "Tibetan - bod"
                                            },
                                            {
                                                "value": "tir",
                                                "name": "Tigrinya - tir"
                                            },
                                            {
                                                "value": "ton",
                                                "name": "Tonga - ton"
                                            },
                                            {
                                                "value": "tso",
                                                "name": "Tsonga - tso"
                                            },
                                            {
                                                "value": "tsn",
                                                "name": "Tswana - tsn"
                                            },
                                            {
                                                "value": "tur",
                                                "name": "Turkish - tur"
                                            },
                                            {
                                                "value": "tuk",
                                                "name": "Turkmen - tuk"
                                            },
                                            {
                                                "value": "twi",
                                                "name": "Twi - twi"
                                            },
                                            {
                                                "value": "udm",
                                                "name": "Udmurt - udm"
                                            },
                                            {
                                                "value": "uig",
                                                "name": "Uighur, Uyghur - uig"
                                            },
                                            {
                                                "value": "ukr",
                                                "name": "Ukrainian - ukr"
                                            },
                                            {
                                                "value": "mis",
                                                "name": "Uncoded languages - mis"
                                            },
                                            {
                                                "value": "urd",
                                                "name": "Urdu - urd"
                                            },
                                            {
                                                "value": "uzb",
                                                "name": "Uzbek - uzb"
                                            },
                                            {
                                                "value": "ven",
                                                "name": "Venda - ven"
                                            },
                                            {
                                                "value": "vie",
                                                "name": "Vietnamese - vie"
                                            },
                                            {
                                                "value": "vol",
                                                "name": "Volapuk - vol"
                                            },
                                            {
                                                "value": "wln",
                                                "name": "Walloon - wln"
                                            },
                                            {
                                                "value": "cym",
                                                "name": "Welsh - cym"
                                            },
                                            {
                                                "value": "wol",
                                                "name": "Wolof - wol"
                                            },
                                            {
                                                "value": "xho",
                                                "name": "Xhosa - xho"
                                            },
                                            {
                                                "value": "yid",
                                                "name": "Yiddish - yid"
                                            },
                                            {
                                                "value": "yor",
                                                "name": "Yoruba - yor"
                                            },
                                            {
                                                "value": "zha",
                                                "name": "Zhuang, Chuang - zha"
                                            },
                                            {
                                                "value": "zul",
                                                "name": "Zulu - zul"
                                            },
                                            {
                                                "value": "none",
                                                "name": "None"
                                            }
                                        ]
                                    }
                                },
                                "audioconfigs": {
                                    "title": "Audio Identification Test Configuration",
                                    "description": "The audio configurations to test.",
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/audio_identification_test_config"
                                    }
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "anyOf": [
                                    {
                                        "required": [
                                            "options"
                                        ],
                                        "properties": {
                                            "options": {
                                                "minItems": 1
                                            }
                                        }
                                    },
                                    {
                                        "required": [
                                            "audioconfigs"
                                        ],
                                        "properties": {
                                            "audioconfigs": {
                                                "minItems": 1
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        "audio_numberofchannels_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Number of Channels",
                                    "description": "Check the number of audio channels in the track.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "mode": {
                                    "title": "Test mode",
                                    "type": "string",
                                    "description": "Test specific value(s) or that number of channels lie within given range.",
                                    "enum": [
                                        "value",
                                        "range"
                                    ],
                                    "default": "value"
                                },
                                "maximum": {
                                    "title": "Maximum",
                                    "description": "The maximum allowed number of channels.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "default": 0
                                },
                                "minimum": {
                                    "title": "Minimum",
                                    "description": "The minimum allowed number of channels.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "default": 0
                                },
                                "equals": {
                                    "title": "Equal to",
                                    "description": "Test the channel count is equal to given value.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "default": 0
                                },
                                "source": {
                                    "title": "Source",
                                    "description": "Test the number of channels per audio stream or across all audio streams.",
                                    "type": "integer",
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "value": 0,
                                            "name": "channels per audio stream"
                                        },
                                        {
                                            "value": 1,
                                            "name": "channels across all streams"
                                        }
                                    ],
                                    "default": 0
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "mode",
                                            "source"
                                        ],
                                        "allOf": [
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "value"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "equals"
                                                    ]
                                                }
                                            },
                                            {
                                                "if": {
                                                    "properties": {
                                                        "mode": {
                                                            "const": "range"
                                                        }
                                                    }
                                                },
                                                "then": {
                                                    "required": [
                                                        "minimum",
                                                        "maximum"
                                                    ]
                                                }
                                            }
                                        ]
                                    }
                                }
                            ]
                        },
                        "audio_samplerate_test": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "title": "Sample rate",
                                    "description": "Check the number of audio samples per channel per second.",
                                    "type": "boolean",
                                    "default": false
                                },
                                "options": {
                                    "type": "string",
                                    "title": "Options",
                                    "description": "The allowed sample rates as a comma separted list, e.g. '<5,10,>=25'.",
                                    "$ref": "#/definitions/comma_separated_positive_numbers_with_operators",
                                    "suffix": "kHz"
                                }
                            },
                            "if": {
                                "not": {
                                    "properties": {
                                        "enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "options"
                                ],
                                "properties": {
                                    "options": {
                                        "minLength": 1
                                    }
                                }
                            }
                        }
                    }
                },
                "freeze_frame": {
                    "test_name": "freeze_frame",
                    "name": "Freeze Frame",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        "ignore_black_frames",
                        {
                            "key": "custom_level",
                            "condition": "model.ignore_black_frames"
                        },
                        {
                            "key": "bit_depth",
                            "required": true,
                            "condition": "model.custom_level"
                        },
                        {
                            "key": "level_8_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==8} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_10_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==10} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_12_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==12} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_14_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==14} catch(e){return false}"
                            }
                        },
                        "percentage",
                        "max_allowed_enable",
                        {
                            "key": "max_allowed_duration",
                            "condition": "model.max_allowed_enable",
                            "required": true
                        },
                        {
                            "key": "max_allowed_units",
                            "condition": "model.max_allowed_enable",
                            "required": true
                        },
                        "silence",
                        {
                            "key": "audio_track",
                            "condition": "model.silence",
                            "required": true
                        },
                        {
                            "key": "audio_track_type",
                            "condition": "model.silence",
                            "required": true
                        },
                        {
                            "key": "dolbye_program",
                            "type": "number",
                            "condition": "model.silence",
                            "required": true
                        },
                        {
                            "key": "channel_mask",
                            "condition": "model.silence"
                        },
                        {
                            "key": "ranges",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].layout",
                                                    "flex": "1 1 100%",
                                                    "type": "select"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].start",
                                                    "default": 0,
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                },
                                                {
                                                    "key": "ranges[].end",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                },
                                                {
                                                    "key": "ranges[].tolerance",
                                                    "flex": "2 2 30%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==0"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].start_from_end",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                },
                                                {
                                                    "key": "ranges[].duration",
                                                    "flex": "2 2 35%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                },
                                                {
                                                    "key": "ranges[].tolerance",
                                                    "flex": "2 2 30%",
                                                    "required": true,
                                                    "condition": "ranges[arrayIndex].layout==1"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "ranges[].units",
                                                    "flex": "2 2 50%",
                                                    "required": true
                                                },
                                                {
                                                    "key": "ranges[].range_type",
                                                    "flex": "2 2 50%",
                                                    "type": "select",
                                                    "required": true
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "$ref": "#/definitions/audio_config_silence"
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "custom_level": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "bit_depth"
                                ],
                                "anyOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 8
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_8_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 10
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_10_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 12
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_12_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 14
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_14_bit"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "max_allowed_enable": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "max_allowed_duration",
                                    "max_allowed_units"
                                ]
                            }
                        }
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "ignore_black_frames": {
                            "title": "Ignore Black Frames",
                            "description": "Whether to ignore black frames.",
                            "type": "boolean",
                            "default": false
                        },
                        "custom_level": {
                            "title": "Custom Level",
                            "type": "boolean",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "percentage": {
                            "title": "Percentage Of Frame",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 100,
                            "default": 100,
                            "description": "Percentage of frame required to be frozen."
                        },
                        "max_allowed_enable": {
                            "title": "Test Whole File",
                            "description": "Test whole file for the presence of frozen frames.",
                            "type": "boolean",
                            "default": true
                        },
                        "max_allowed_duration": {
                            "title": "Max Frozen Video Allowed",
                            "description": "The maximum frozen video (in frames/seconds) allowed.",
                            "$ref": "#/definitions/range_limit"
                        },
                        "max_allowed_units": {
                            "title": "Max Allowed Time Units",
                            "description": "The maximum allowed time units.",
                            "$ref": "#/definitions/time_units"
                        },
                        "silence": {
                            "title": "Must Also Be Digitally Silent",
                            "description": "Test for digital silence in conjunction with frozen frames.",
                            "type": "boolean",
                            "default": false
                        },
                        "ranges": {
                            "title": "Range",
                            "description": "The ranges to test against.",
                            "type": "array",
                            "default": [],
                            "items": {
                                "$ref": "#/definitions/freezeframe_range"
                            }
                        }
                    },
                    "required": [
                        "silence",
                        "ignore_black_frames"
                    ]
                },
                "hdr_area": {
                    "test_name": "hdr_area",
                    "name": "HDR Area",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        {
                            "key": "luminance",
                            "required": true
                        },
                        {
                            "key": "area_threshold",
                            "required": true
                        },
                        {
                            "key": "continues_for",
                            "required": true
                        },
                        {
                            "key": "luminance_units",
                            "type": "select",
                            "required": true
                        }
                    ],
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "luminance": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 203,
                            "description": "Minimum desired Luminance value greater than 0."
                        },
                        "luminance_units": {
                            "title": "Luminance Units",
                            "description": "The luminance units to use.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "NITS"
                                },
                                {
                                    "value": 1,
                                    "name": "Code Values"
                                }
                            ],
                            "default": 0
                        },
                        "area_threshold": {
                            "title": "Area Threshold",
                            "type": "number",
                            "default": 20,
                            "minimum": 0,
                            "maximum": 100,
                            "suffix": "%",
                            "description": "Area threshold in percentage (0 to 100)."
                        },
                        "continues_for": {
                            "title": "Continues For",
                            "type": "number",
                            "default": 5,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Value in number of measurements."
                        }
                    },
                    "required": [
                        "luminance",
                        "area_threshold",
                        "continues_for"
                    ]
                },
                "hdr_change_detection": {
                    "test_name": "hdr_change_detection",
                    "name": "HDR Change Detection",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as"
                    ],
                    "type": "object",
                    "title": "HDR Change Detection",
                    "description": "Check each frame for changes in the HDR metadata encoded as SEI messages in the HEVC bit-stream.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ]
                },
                "hdr_limit": {
                    "test_name": "hdr_limit",
                    "name": "HDR Limit",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        {
                            "key": "limit_brightest_percentage",
                            "required": true
                        },
                        {
                            "key": "limit_threshold_luminance",
                            "required": true
                        },
                        {
                            "key": "limit_brightest_percentage_top",
                            "required": true
                        },
                        {
                            "key": "limit_threshold_luminance_top",
                            "required": true
                        },
                        {
                            "key": "limit_darkest_percentage",
                            "required": true
                        },
                        {
                            "key": "limit_threshold_luminance_dark",
                            "required": true
                        },
                        {
                            "key": "luminance_units",
                            "type": "select",
                            "required": true
                        },
                        {
                            "key": "continues_for",
                            "required": true
                        }
                    ],
                    "type": "object",
                    "title": "HDR Limit",
                    "description": "Check the luminance level that marks the boundary such that (x) percentile of pixels in a frame lie above this level and the remaining, (100-x) percentile of pixels, lie below this level. Both PQ and HLG-1000 gradings are supported.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "limit_brightest_percentage": {
                            "title": "First Brightest Check",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Percentage of Pixels in a frame above luminance threshold."
                        },
                        "limit_threshold_luminance": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 320,
                            "minimum": 0,
                            "maximum": 10000,
                            "description": "The luminance threshold."
                        },
                        "limit_brightest_percentage_top": {
                            "title": "Second Brightest Check",
                            "type": "number",
                            "default": 10,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Percentage of Pixels in a frame above luminance threshold."
                        },
                        "limit_threshold_luminance_top": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 150,
                            "minimum": 0,
                            "maximum": 10000,
                            "description": "The luminance threshold."
                        },
                        "limit_darkest_percentage": {
                            "title": "Darkest",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Percentage of Pixels in a frame below luminance threshold."
                        },
                        "limit_threshold_luminance_dark": {
                            "title": "Luminance",
                            "type": "number",
                            "default": 10,
                            "minimum": 0,
                            "maximum": 10000,
                            "description": "The luminance threshold."
                        },
                        "luminance_units": {
                            "title": "Luminance Units",
                            "description": "The luminance units to use.",
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ],
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "NITS"
                                },
                                {
                                    "value": 1,
                                    "name": "CODE VALUES"
                                }
                            ],
                            "default": 0
                        },
                        "continues_for": {
                            "title": "Continues for",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "description": "Measurements."
                        }
                    },
                    "required": [
                        "limit_brightest_percentage",
                        "limit_threshold_luminance",
                        "limit_brightest_percentage_top",
                        "limit_threshold_luminance_top",
                        "limit_darkest_percentage",
                        "limit_threshold_luminance_dark",
                        "luminance_units",
                        "continues_for"
                    ]
                },
                "hdr_measurement": {
                    "test_name": "hdr_measurement",
                    "name": "HDR Measurement",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as"
                    ],
                    "type": "object",
                    "title": "HDR Measurement",
                    "description": "Check each decoded frame in its native bit depth to calculate the MaxCLL and MaxFALL.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ]
                },
                "letterboxing": {
                    "test_name": "letterboxing",
                    "name": "LetterboxingTest",
                    "category": "Video Quality",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        "letterboxing_pillarboxing",
                        {
                            "type": "radios",
                            "key": "aspect_ratio",
                            "condition": "model.letterboxing_pillarboxing",
                            "required": true
                        },
                        {
                            "key": "active_picture_ratio_value",
                            "condition": {
                                "functionBody": "try { return model.letterboxing_pillarboxing && model.aspect_ratio==0} catch(e){return false}"
                            },
                            "required": true
                        },
                        {
                            "key": "custom_aspect_ratio_numerator",
                            "condition": {
                                "functionBody": "try { return model.letterboxing_pillarboxing && model.aspect_ratio==1} catch(e){return false}"
                            },
                            "required": true
                        },
                        {
                            "key": "custom_aspect_ratio_denominator",
                            "condition": {
                                "functionBody": "try { return model.letterboxing_pillarboxing && model.aspect_ratio==1} catch(e){return false}"
                            },
                            "required": true
                        },
                        {
                            "key": "lines_required_top_bottom",
                            "condition": {
                                "functionBody": "try { return model.letterboxing_pillarboxing && model.aspect_ratio==2} catch(e){return false}"
                            },
                            "required": true
                        },
                        {
                            "key": "lines_required_left_right",
                            "condition": {
                                "functionBody": "try { return model.letterboxing_pillarboxing && model.aspect_ratio==2} catch(e){return false}"
                            },
                            "required": true
                        },
                        {
                            "key": "tolerance",
                            "condition": "model.letterboxing_pillarboxing",
                            "required": true
                        },
                        "report_blanking",
                        "custom_level",
                        {
                            "key": "bit_depth",
                            "condition": "model.custom_level",
                            "required": true
                        },
                        {
                            "key": "level_8_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==8} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_10_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==10} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_12_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==12} catch(e){return false}"
                            }
                        },
                        {
                            "key": "level_14_bit",
                            "condition": {
                                "functionBody": "try { return model.custom_level && model.bit_depth==14} catch(e){return false}"
                            }
                        }
                    ],
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "letterboxing_pillarboxing": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "aspect_ratio",
                                    "tolerance"
                                ],
                                "allOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "aspect_ratio": {
                                                    "const": 0
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "active_picture_ratio_value"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "aspect_ratio": {
                                                    "const": 1
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "custom_aspect_ratio_numerator",
                                                "custom_aspect_ratio_denominator"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "aspect_ratio": {
                                                    "const": 2
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "lines_required_top_bottom",
                                                "lines_required_left_right"
                                            ]
                                        }
                                    }
                                ]
                            }
                        },
                        {
                            "if": {
                                "not": {
                                    "properties": {
                                        "custom_level": {
                                            "const": false
                                        }
                                    }
                                }
                            },
                            "then": {
                                "required": [
                                    "bit_depth"
                                ],
                                "anyOf": [
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 8
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_8_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 10
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_10_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 12
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_12_bit"
                                            ]
                                        }
                                    },
                                    {
                                        "if": {
                                            "properties": {
                                                "bit_depth": {
                                                    "const": 14
                                                }
                                            }
                                        },
                                        "then": {
                                            "required": [
                                                "level_14_bit"
                                            ]
                                        }
                                    }
                                ]
                            }
                        }
                    ],
                    "properties": {
                        "active_picture_ratio_value": {
                            "type": "integer",
                            "title": "Active picture aspect ratio must be :",
                            "description": "Select from a number of common aspect ratios.",
                            "default": 0,
                            "enum": [
                                0,
                                1,
                                2,
                                3,
                                4,
                                5,
                                6
                            ],
                            "titleMap": [
                                {
                                    "name": "4:3",
                                    "value": 0
                                },
                                {
                                    "name": "14:9",
                                    "value": 1
                                },
                                {
                                    "name": "16:9",
                                    "value": 2
                                },
                                {
                                    "name": "1.85:1",
                                    "value": 3
                                },
                                {
                                    "name": "2.35:1",
                                    "value": 4
                                },
                                {
                                    "name": "2.39:1",
                                    "value": 5
                                },
                                {
                                    "name": "2.40:1",
                                    "value": 6
                                }
                            ]
                        },
                        "aspect_ratio": {
                            "type": "integer",
                            "title": "Aspect ratio",
                            "description": "The number of black lines needed at the edges is automatically calculated based on this ratio, the frame size and the pixel aspect ratio.",
                            "default": 0,
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "titleMap": [
                                {
                                    "name": "Defined aspect ratio",
                                    "value": 0
                                },
                                {
                                    "name": "Custom aspect ratio",
                                    "value": 1
                                },
                                {
                                    "name": "Defined number of lines",
                                    "value": 2
                                }
                            ]
                        },
                        "bit_depth": {
                            "$ref": "#/definitions/video_bit_depth"
                        },
                        "custom_aspect_ratio_denominator": {
                            "type": "integer",
                            "title": "Custom aspect ratio denominator",
                            "description": "Specify the required custom aspect ratio.",
                            "default": 1,
                            "minimum": 1
                        },
                        "custom_aspect_ratio_numerator": {
                            "type": "number",
                            "title": "Custom aspect ratio numerator",
                            "description": "Specify the required custom aspect ratio.",
                            "default": 1,
                            "minimum": 0
                        },
                        "custom_level": {
                            "type": "boolean",
                            "title": "Custom Black Level",
                            "description": "Use custom luminance level (Y) for non-active picture area.",
                            "default": false
                        },
                        "letterboxing_pillarboxing": {
                            "type": "boolean",
                            "title": "Detect and report letterboxing/pillarboxing violations",
                            "description": "This test is used to detect if video content has the correct letterboxing and/or pillarboxing.",
                            "default": false
                        },
                        "level_10_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 10.",
                            "$ref": "#/definitions/level_10_bit"
                        },
                        "level_12_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 12.",
                            "$ref": "#/definitions/level_12_bit"
                        },
                        "level_14_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 14.",
                            "$ref": "#/definitions/level_14_bit"
                        },
                        "level_8_bit": {
                            "title": "Black Level",
                            "description": "The black level to use when bit depth is 8.",
                            "$ref": "#/definitions/level_8_bit"
                        },
                        "lines_required_left_right": {
                            "type": "integer",
                            "title": "Set the number of required black lines at the left/right",
                            "description": "This allows the number of required black lines at the left/right to be set to any value.",
                            "default": 0,
                            "minimum": 0
                        },
                        "lines_required_top_bottom": {
                            "type": "integer",
                            "title": "Set the number of required black lines at the top/bottom",
                            "description": "This allows the number of required black lines at the top/bottom to be set to any value.",
                            "default": 0,
                            "minimum": 0
                        },
                        "report_blanking": {
                            "type": "boolean",
                            "title": "Detect and report all changes in blanking",
                            "description": "Will raise info alerts detailing the number of black lines bordering the active picture content.",
                            "default": false
                        },
                        "tolerance": {
                            "type": "integer",
                            "title": "Tolerance",
                            "description": "If the number of lines to give the selected active picture varies by +/- Tolerance lines then no error or warning will be given. This can be set to zero if required.",
                            "default": 0,
                            "minimum": 0
                        },
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    }
                },
                "luma_chroma_levels": {
                    "test_name": "luma_chroma_levels",
                    "name": "Luma/Chroma Levels",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        "luma_range_from",
                        "luma_range_to",
                        "luma_max_area_outside",
                        "luma_low_pass_filter",
                        "chroma_range_from",
                        "chroma_range_to",
                        "chroma_max_area_outside"
                    ],
                    "type": "object",
                    "title": "Luma/Chroma Levels",
                    "description": "Check the Y, U and V levels of the video are within the given limits.",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "properties": {
                        "luma_range_from": {
                            "title": "Low Luma Limit (%)",
                            "type": "number",
                            "default": -1,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 1%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "luma_range_to": {
                            "title": "High Luma Limit (%)",
                            "type": "number",
                            "default": 103,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 3%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "luma_max_area_outside": {
                            "title": "Luma Max area outside (%)",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "The maximum area of the video picture that can be outside the given range without generating an error. Typically set to 1% (as per EBU R103-2000 recommendation)."
                        },
                        "luma_low_pass_filter": {
                            "title": "Luma Low-pass filter",
                            "type": "integer",
                            "description": "When EBU R103 2000 is selected, a horizontal signal filter (as described in EBU R103-2000) is applied to the luma component before testing to remove transient violations. When EBU R103-2016 is selected, a quarter band signal filter is applied horizontally and a half band signal filter is applied vertically (as described in EBU R103-2016) to the luma component before testing to remove transient violations.",
                            "enum": [
                                0,
                                1,
                                2
                            ],
                            "default": 0,
                            "titleMap": [
                                {
                                    "value": 0,
                                    "name": "None"
                                },
                                {
                                    "value": 1,
                                    "name": "EBU R103 2000"
                                },
                                {
                                    "value": 2,
                                    "name": "EBU R103 2016"
                                }
                            ]
                        },
                        "chroma_range_from": {
                            "title": "Low Chroma Limit (%)",
                            "type": "number",
                            "default": -1,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 1%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "chroma_range_to": {
                            "title": "High Chroma Limit (%)",
                            "type": "number",
                            "default": 103,
                            "minimum": -9,
                            "maximum": 109,
                            "description": "Default value is 3%, as suggested in EBU R103-2000. Use 0-100 for no tolerance."
                        },
                        "chroma_max_area_outside": {
                            "title": "Chroma max area outside (%)",
                            "type": "number",
                            "default": 1,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "The maximum area of the video picture that can be outside the given range without generating an error. Typically set to 1% (as per EBU R103-2000 recommendation)."
                        }
                    },
                    "required": [
                        "luma_range_from",
                        "luma_range_to",
                        "luma_max_area_outside",
                        "luma_low_pass_filter",
                        "chroma_range_from",
                        "chroma_range_to",
                        "chroma_max_area_outside"
                    ]
                },
                "macro_block": {
                    "test_name": "macro_block",
                    "name": "MacroBlockTest",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as",
                        {
                            "key": "quality_score",
                            "required": true
                        },
                        {
                            "key": "averaged_over",
                            "required": true
                        },
                        {
                            "key": "duration_units",
                            "type": "select",
                            "required": true
                        }
                    ],
                    "type": "object",
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ],
                    "title": "Macro Block Test",
                    "description": "Check for macroblocking artifacts where the macroblock edge is clearly visible.",
                    "properties": {
                        "quality_score": {
                            "title": "Quality Score",
                            "type": "number",
                            "default": 80,
                            "minimum": 0,
                            "maximum": 100,
                            "description": "Minimum desired quality score, varies from 0 (poor/blocky) to 99 (excellent)."
                        },
                        "averaged_over": {
                            "title": "Averaged Over",
                            "type": "number",
                            "default": 5,
                            "description": "Duration over which the quality scores are averaged."
                        },
                        "duration_units": {
                            "title": "Duration Units",
                            "description": "The duration units to use.",
                            "$ref": "#/definitions/time_units"
                        }
                    },
                    "required": [
                        "quality_score",
                        "averaged_over",
                        "duration_units"
                    ]
                },
                "media_offline": {
                    "test_name": "media_offline",
                    "name": "Media Offline",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#video-quality",
                    "category": "Video Quality",
                    "form": [
                        "media_layout",
                        "treat_warnings_as"
                    ],
                    "type": "object",
                    "title": "Media Offline",
                    "description": "Test for the presence of a media offline slate.",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        }
                    },
                    "allOf": [
                        {
                            "$ref": "#/definitions/video_config"
                        }
                    ]
                },
                "minimum_level": {
                    "test_name": "minimum_level",
                    "name": "Minimum Level",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#audio-quality",
                    "category": "Audio Quality",
                    "form": [
                        "treat_warnings_as",
                        {
                            "key": "audioconfigs",
                            "type": "array",
                            "items": [
                                {
                                    "type": "section",
                                    "items": [
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].media_layout",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].audio_track",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].audio_track_type",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].channel_mask",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].dolbye_program",
                                                    "type": "number",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].level",
                                                    "flex": "2 2 50%"
                                                },
                                                {
                                                    "key": "audioconfigs[].duration",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].minlevel_elsewhere",
                                                    "flex": "2 2 50%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].units",
                                                    "flex": "1 1 100%"
                                                }
                                            ]
                                        },
                                        {
                                            "type": "flex",
                                            "flex-flow": "row wrap",
                                            "flex": "1 1 100%",
                                            "items": [
                                                {
                                                    "key": "audioconfigs[].ranges",
                                                    "type": "array",
                                                    "items": [
                                                        {
                                                            "type": "section",
                                                            "items": [
                                                                {
                                                                    "type": "flex",
                                                                    "flex-flow": "row wrap",
                                                                    "flex": "1 1 100%",
                                                                    "items": [
                                                                        {
                                                                            "key": "audioconfigs[].ranges[].layout",
                                                                            "flex": "1 1 100%",
                                                                            "type": "select"
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "flex",
                                                                    "flex-flow": "row wrap",
                                                                    "flex": "1 1 100%",
                                                                    "items": [
                                                                        {
                                                                            "key": "audioconfigs[].ranges[].start",
                                                                            "default": 0,
                                                                            "flex": "2 2 35%",
                                                                            "required": true,
                                                                            "condition": "audioconfigs[].ranges[arrayIndex].layout==0"
                                                                        },
                                                                        {
                                                                            "key": "audioconfigs[].ranges[].end",
                                                                            "flex": "2 2 35%",
                                                                            "required": true,
                                                                            "condition": "audioconfigs[].ranges[arrayIndex].layout==0"
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "flex",
                                                                    "flex-flow": "row wrap",
                                                                    "flex": "1 1 100%",
                                                                    "items": [
                                                                        {
                                                                            "key": "audioconfigs[].ranges[].start_from_end",
                                                                            "flex": "2 2 35%",
                                                                            "required": true,
                                                                            "condition": "ranges[arrayIndex].layout==1"
                                                                        },
                                                                        {
                                                                            "key": "audioconfigs[].ranges[].duration",
                                                                            "flex": "2 2 35%",
                                                                            "required": true,
                                                                            "condition": "ranges[arrayIndex].layout==1"
                                                                        }
                                                                    ]
                                                                },
                                                                {
                                                                    "type": "flex",
                                                                    "flex-flow": "row wrap",
                                                                    "flex": "1 1 100%",
                                                                    "items": [
                                                                        {
                                                                            "key": "audioconfigs[].ranges[].units",
                                                                            "flex": "2 2 50%",
                                                                            "required": true
                                                                        }
                                                                    ]
                                                                }
                                                            ]
                                                        }
                                                    ]
                                                }
                                            ]
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "type": "object",
                    "properties": {
                        "treat_warnings_as": {
                            "$ref": "#/definitions/warnings_as"
                        },
                        "audioconfigs": {
                            "title": "Minimum Level Test Configuration",
                            "description": "The audio configurations to test.",
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/minlevel_test_config"
                            }
                        }
                    }
                },
                "deep_mxf": {
                    "test_name": "deep_mxf",
                    "name": "Deep MXF Tests",
                    "category": "Deep MXF Tests",
                    "link": "https://docs.telestream.dev/docs/qualify-user-guide#deep-mxf-tests",
                    "form": [
                        "treat_warnings_as",
                        "basic_operational_pattern.enable",
                        {
                            "key": "basic_operational_pattern.pattern",
                            "condition": "model.basic_operational_pattern.enable"
                        },
                        {
                            "key": "basic_operational_pattern.partition_closed",
                            "condition": "model.basic_operational_pattern.enable"
                        },
                        {
                            "key": "basic_operational_pattern.partition_complete",
                            "condition": "model.basic_operational_pattern.enable"
                        },
                        "basic_avc_sps_pps.enable",
                        "as11_uk_dpp_metadata.enable",
                        {
                            "type": "select",
                            "key": "as11_uk_dpp_metadata.shim",
                            "condition": "model.as11_uk_dpp_metadata.enable"
                        },
                        "as11_xprofile.enable",
                        {
                            "type": "checkboxes",
                            "key": "as11_xprofile.rules",
                            "condition": "model.as11_xprofile.enable"
                        },
                        {
                            "type": "select",
                            "key": "as11_xprofile.embedded_xml_documents",
                            "condition": "model.as11_xprofile.enable"
                        },
                        {
                            "type": "select",
                            "key": "as11_xprofile.extra_audio_layout_modes",
                            "condition": "model.as11_xprofile.enable"
                        },
                        {
                            "type": "select",
                            "key": "as11_xprofile.file_format_specification_identification_label",
                            "condition": "model.as11_xprofile.enable"
                        },
                        {
                            "type": "select",
                            "key": "as11_xprofile.picture_essence_constraints",
                            "condition": "model.as11_xprofile.enable"
                        },
                        {
                            "message": "<h2>MXF Container</h2>",
                            "widget": "message"
                        },
                        "operational_pattern.enable",
                        {
                            "condition": "operational_pattern.enable",
                            "message": "<h4>Generalized</h4>",
                            "widget": "message"
                        },
                        {
                            "key": "operational_pattern.generalized",
                            "condition": "operational_pattern.enable"
                        },
                        {
                            "type": "select",
                            "key": "operational_pattern.essence_reference",
                            "condition": "operational_pattern.enable"
                        },
                        {
                            "type": "select",
                            "key": "operational_pattern.essence_streaming",
                            "condition": "operational_pattern.enable"
                        },
                        {
                            "type": "select",
                            "key": "operational_pattern.essence_containers",
                            "condition": "operational_pattern.enable"
                        },
                        {
                            "condition": "operational_pattern.enable",
                            "message": "<h4>Specialized</h4>",
                            "widget": "message"
                        },
                        {
                            "key": "operational_pattern.specialized",
                            "condition": "operational_pattern.enable"
                        },
                        {
                            "type": "select",
                            "key": "operational_pattern.material_package",
                            "condition": "operational_pattern.enable"
                        },
                        {
                            "type": "select",
                            "key": "operational_pattern.essence_tracks",
                            "condition": "operational_pattern.enable"
                        },
                        "version.enable",
                        {
                            "key": "version.mxf_version",
                            "condition": "version.enable"
                        },
                        "kagsize.enable",
                        {
                            "key": "kagsize.size",
                            "condition": "kagsize.enable"
                        },
                        "runin.enable",
                        {
                            "key": "runin.max_bytes",
                            "condition": "runin.enable"
                        },
                        "essence_wrapping.enable",
                        {
                            "key": "essence_wrapping.type",
                            "condition": "essence_wrapping.enable"
                        },
                        "source_package_timecode.enable",
                        {
                            "key": "source_package_timecode.test.continuity",
                            "condition": "source_package_timecode.enable"
                        },
                        {
                            "key": "source_package_timecode.test.dropframe",
                            "condition": "source_package_timecode.enable"
                        },
                        "material_package_timecode.enable",
                        {
                            "key": "material_package_timecode.test.continuity",
                            "condition": "material_package_timecode.enable"
                        },
                        {
                            "key": "material_package_timecode.test.dropframe",
                            "condition": "material_package_timecode.enable"
                        },
                        "sdti_timecode_continuity.enable",
                        {
                            "message": "<h3>Index table</h3>",
                            "widget": "message"
                        },
                        "index_table.enable",
                        {
                            "key": "index_table.edit_rate.num",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.edit_rate.denom",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.duration.min",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.duration.max",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.editunit_bytecount.min",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.editunit_bytecount.max",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.editunit_bytecount_constant",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.slicecount",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.single_index_location",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.single_essence_location",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.forward_index_direction",
                            "condition": "index_table.enable"
                        },
                        {
                            "key": "index_table.index_entry_array",
                            "condition": "index_table.enable"
                        },
                        "index_table_location.enable",
                        {
                            "key": "index_table_location.test.header",
                            "condition": "index_table_location.enable"
                        },
                        {
                            "key": "index_table_location.test.body",
                            "condition": "index_table_location.enable"
                        },
                        {
                            "key": "index_table_location.test.exclude_first",
                            "condition": "index_table_location.enable"
                        },
                        {
                            "key": "index_table_location.test.footer",
                            "condition": "index_table_location.enable"
                        },
                        {
                            "key": "index_table_location.test.is_repeated",
                            "condition": "index_table_location.enable"
                        },
                        {
                            "key": "index_table_location.test.present",
                            "condition": "index_table_location.enable"
                        },
                        {
                            "message": "<h3>Header Partition</h3>",
                            "widget": "message"
                        },
                        "header_partition_status.enable",
                        {
                            "key": "header_partition_status.test.closedcomplete",
                            "condition": "header_partition_status.enable"
                        },
                        {
                            "key": "header_partition_status.test.openincomplete",
                            "condition": "header_partition_status.enable"
                        },
                        {
                            "key": "header_partition_status.test.closedincomplete",
                            "condition": "header_partition_status.enable"
                        },
                        {
                            "key": "header_partition_status.test.opencomplete",
                            "condition": "header_partition_status.enable"
                        },
                        {
                            "key": "header_partition_status.test.notpresent",
                            "condition": "header_partition_status.enable"
                        },
                        "header_fill.enable",
                        {
                            "key": "header_fill.bytes",
                            "condition": "header_fill.enable",
                            "required": true
                        },
                        "header_metadata.enable",
                        {
                            "key": "header_metadata.bytes",
                            "condition": "header_metadata.enable",
                            "required": true
                        },
                        {
                            "message": "<h3>Body Partition</h3>",
                            "widget": "message"
                        },
                        "body_partition_status.enable",
                        {
                            "key": "body_partition_status.test.closedcomplete",
                            "condition": "body_partition_status.enable"
                        },
                        {
                            "key": "body_partition_status.test.openincomplete",
                            "condition": "body_partition_status.enable"
                        },
                        {
                            "key": "body_partition_status.test.closedincomplete",
                            "condition": "body_partition_status.enable"
                        },
                        {
                            "key": "body_partition_status.test.opencomplete",
                            "condition": "body_partition_status.enable"
                        },
                        {
                            "key": "body_partition_status.test.notpresent",
                            "condition": "body_partition_status.enable"
                        },
                        "body_partition_count.enable",
                        {
                            "key": "body_partition_count.test.min",
                            "condition": "body_partition_count.enable"
                        },
                        {
                            "key": "body_partition_count.test.max",
                            "condition": "body_partition_count.enable"
                        },
                        "body_partition_duration.enable",
                        {
                            "key": "body_partition_duration.test.min",
                            "condition": "body_partition_duration.enable"
                        },
                        {
                            "key": "body_partition_duration.test.max",
                            "condition": "body_partition_duration.enable"
                        },
                        "body_partition_length.enable",
                        {
                            "key": "body_partition_length.test.min",
                            "condition": "body_partition_length.enable"
                        },
                        {
                            "key": "body_partition_length.test.max",
                            "condition": "body_partition_length.enable"
                        },
                        {
                            "message": "<h3>Footer Partition</h3>",
                            "widget": "message"
                        },
                        "footer_partition_status.enable",
                        {
                            "key": "footer_partition_status.test.closedcomplete",
                            "condition": "footer_partition_status.enable"
                        },
                        {
                            "key": "footer_partition_status.test.openincomplete",
                            "condition": "footer_partition_status.enable"
                        },
                        {
                            "key": "footer_partition_status.test.closedincomplete",
                            "condition": "footer_partition_status.enable"
                        },
                        {
                            "key": "footer_partition_status.test.opencomplete",
                            "condition": "footer_partition_status.enable"
                        },
                        {
                            "key": "footer_partition_status.test.notpresent",
                            "condition": "footer_partition_status.enable"
                        },
                        "rip_presence.enable",
                        "essence_location.enable",
                        {
                            "key": "essence_location.test.header",
                            "condition": "essence_location.enable"
                        },
                        {
                            "key": "essence_location.test.body",
                            "condition": "essence_location.enable"
                        },
                        {
                            "type": "hidden",
                            "key": "essence_location.test.exclude_first"
                        },
                        {
                            "key": "essence_location.test.footer",
                            "condition": "essence_location.enable"
                        },
                        {
                            "type": "hidden",
                            "key": "essence_location.test.is_repeated"
                        },
                        {
                            "key": "essence_location.test.present",
                            "condition": "essence_location.enable"
                        },
                        {
                            "message": "<h2>Picture Track</h2>",
                            "widget": "message"
                        },
                        "essence_container_label.enable",
                        {
                            "key": "essence_container_label.predefined",
                            "condition": "essence_container_label.enable"
                        },
                        {
                            "key": "essence_container_label.usecustom",
                            "condition": "essence_container_label.enable"
                        },
                        {
                            "key": "essence_container_label.custom",
                            "condition": "essence_container_label.usecustom"
                        },
                        "element_key.enable",
                        {
                            "key": "element_key.predefined",
                            "condition": "element_key.enable"
                        },
                        {
                            "key": "element_key.usecustom",
                            "condition": "element_key.enable"
                        },
                        {
                            "key": "element_key.custom",
                            "condition": "element_key.usecustom"
                        },
                        "picture_essence_coding.enable",
                        {
                            "type": "checkboxes",
                            "key": "picture_essence_coding.codings",
                            "condition": "picture_essence_coding.enable"
                        },
                        "field_dominance.enable",
                        {
                            "key": "field_dominance.firstfield",
                            "condition": "field_dominance.enable"
                        },
                        "signal_standard.enable",
                        {
                            "key": "signal_standard.standard",
                            "condition": "signal_standard.enable"
                        },
                        "picture_offsets.enable",
                        {
                            "key": "picture_offsets.storedftwo",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.displayftwo",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.sampledx",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.sampledy",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.displayx",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.displayy",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.imagestart",
                            "condition": "picture_offsets.enable"
                        },
                        {
                            "key": "picture_offsets.imageend",
                            "condition": "picture_offsets.enable"
                        },
                        "active_format_descriptor.enable",
                        {
                            "key": "active_format_descriptor.allowed_formats",
                            "condition": "active_format_descriptor.enable"
                        },
                        "colorsiting.enable",
                        {
                            "key": "colorsiting.colorsiting",
                            "condition": "colorsiting.enable"
                        },
                        "padding_bits.enable",
                        {
                            "key": "padding_bits.bits",
                            "condition": "padding_bits.enable"
                        },
                        "color_range.enable",
                        {
                            "key": "color_range.range",
                            "condition": "color_range.enable"
                        },
                        "subsampling.enable",
                        {
                            "key": "subsampling.horizontal",
                            "condition": "subsampling.enable"
                        },
                        {
                            "key": "subsampling.vertical",
                            "condition": "subsampling.enable"
                        },
                        "component_depth.enable",
                        {
                            "key": "component_depth.depth",
                            "condition": "component_depth.enable"
                        },
                        "stored_frame_size.enable",
                        {
                            "key": "stored_frame_size.frame_size",
                            "condition": "stored_frame_size.enable"
                        },
                        "sampled_frame_size.enable",
                        {
                            "key": "sampled_frame_size.frame_size",
                            "condition": "sampled_frame_size.enable"
                        },
                        "display_frame_size.enable",
                        {
                            "key": "display_frame_size.frame_size",
                            "condition": "display_frame_size.enable"
                        },
                        "aspect_ratio.enable",
                        {
                            "key": "aspect_ratio.ratio.num",
                            "condition": "aspect_ratio.enable"
                        },
                        {
                            "key": "aspect_ratio.ratio.denom",
                            "condition": "aspect_ratio.enable"
                        },
                        "edit_rate.enable",
                        {
                            "key": "edit_rate.ratio.num",
                            "condition": "edit_rate.enable"
                        },
                        {
                            "key": "edit_rate.ratio.denom",
                            "condition": "edit_rate.enable"
                        },
                        "reference_levels.enable",
                        {
                            "key": "reference_levels.black",
                            "condition": "reference_levels.enable"
                        },
                        {
                            "key": "reference_levels.white",
                            "condition": "reference_levels.enable"
                        },
                        "video_line_map.enable",
                        {
                            "key": "video_line_map.linemaps",
                            "condition": "video_line_map.enable"
                        },
                        "video_descriptor.enable",
                        {
                            "key": "video_descriptor.type",
                            "condition": "video_descriptor.enable"
                        },
                        {
                            "condition": "video_descriptor.enable",
                            "message": "<h3>MPEG Video Descriptor</h3>",
                            "widget": "message"
                        },
                        {
                            "key": "mpeg_bit_rate.enable",
                            "condition": "video_descriptor.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_bit_rate.test.min",
                            "condition": "mpeg_bit_rate.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_bit_rate.test.max",
                            "condition": "mpeg_bit_rate.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_identical_gop.enable",
                            "condition": "video_descriptor.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_identical_gop.test",
                            "condition": "mpeg_identical_gop.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_max_gop.enable",
                            "condition": "video_descriptor.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_max_gop.test.min",
                            "condition": "mpeg_max_gop.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_max_gop.test.max",
                            "condition": "mpeg_max_gop.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_max_bpicture_count.enable",
                            "condition": "video_descriptor.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_max_bpicture_count.test.min",
                            "condition": "mpeg_max_bpicture_count.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_max_bpicture_count.test.max",
                            "condition": "mpeg_max_bpicture_count.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_constant_bpicture_flag.enable",
                            "condition": "video_descriptor.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_constant_bpicture_flag.test",
                            "condition": "mpeg_constant_bpicture_flag.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_coded_content.enable",
                            "condition": "video_descriptor.enable",
                            "required": true
                        },
                        {
                            "key": "mpeg_coded_content.kind",
                            "condition": "mpeg_coded_content.enable",
                            "required": true
                        },
                        "video_subdescriptor.enable",
                        {
                            "key": "video_subdescriptor.type",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "condition": "video_subdescriptor.enable",
                            "message": "<h2>AVC SubDescriptor</h2>",
                            "widget": "message"
                        },
                        {
                            "key": "avc_decoding_delay.enable",
                            "condition": "video_subdescriptor.enable"
                        },
                        {
                            "key": "avc_decoding_delay.delay",
                            "condition": "avc_decoding_delay.enable"
                        },
                        {
                            "key": "avc_coded_content.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "key": "avc_coded_content.kind",
                            "condition": "avc_coded_content.enable",
                            "required": true
                        },
                        {
                            "key": "avc_identical_gop.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "type": "select",
                            "key": "avc_identical_gop.value",
                            "condition": "avc_identical_gop.enable",
                            "required": true
                        },
                        {
                            "key": "avc_max_gop.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "key": "avc_max_gop.max",
                            "condition": "avc_max_gop.enable",
                            "required": true
                        },
                        {
                            "key": "avc_max_bpicture_count.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "key": "avc_max_bpicture_count.max",
                            "condition": "avc_max_bpicture_count.enable",
                            "required": true
                        },
                        {
                            "key": "avc_bit_rate.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "key": "avc_bit_rate.test.min",
                            "condition": "avc_bit_rate.enable",
                            "required": true
                        },
                        {
                            "key": "avc_bit_rate.test.max",
                            "condition": "avc_bit_rate.enable",
                            "required": true
                        },
                        {
                            "key": "avc_average_bit_rate.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "key": "avc_average_bit_rate.test.min",
                            "condition": "avc_average_bit_rate.enable",
                            "required": true
                        },
                        {
                            "key": "avc_average_bit_rate.test.max",
                            "condition": "avc_average_bit_rate.enable",
                            "required": true
                        },
                        {
                            "key": "avc_sps_pps.enable",
                            "condition": "video_subdescriptor.enable",
                            "required": true
                        },
                        {
                            "key": "avc_sps_pps.profile",
                            "condition": "avc_sps_pps.enable"
                        },
                        {
                            "key": "avc_sps_pps.profileconstraint",
                            "condition": "avc_sps_pps.enable"
                        },
                        {
                            "key": "avc_sps_pps.spsflag",
                            "condition": "avc_sps_pps.enable"
                        },
                        {
                            "key": "avc_sps_pps.ppsflag",
                            "condition": "avc_sps_pps.enable"
                        },
                        {
                            "key": "avc_sps_pps.level",
                            "condition": "avc_sps_pps.enable"
                        },
                        {
                            "message": "<h2>Sound Track</h2>",
                            "widget": "message"
                        },
                        "sound_essence_container_label.enable",
                        {
                            "key": "sound_essence_container_label.predefined",
                            "condition": "sound_essence_container_label.enable"
                        },
                        {
                            "key": "sound_essence_container_label.usecustom",
                            "condition": "sound_essence_container_label.enable"
                        },
                        {
                            "key": "sound_essence_container_label.custom",
                            "condition": "sound_essence_container_label.usecustom"
                        },
                        "sound_element_key.enable",
                        {
                            "key": "sound_element_key.predefined",
                            "condition": "sound_element_key.enable"
                        },
                        {
                            "key": "sound_element_key.usecustom",
                            "condition": "sound_element_key.enable"
                        },
                        {
                            "key": "sound_element_key.custom",
                            "condition": "sound_element_key.usecustom"
                        },
                        "sound_essence_coding.enable",
                        {
                            "type": "checkboxes",
                            "key": "sound_essence_coding.codings",
                            "condition": "sound_essence_coding.enable"
                        },
                        "audio_sampling_rate.enable",
                        {
                            "key": "audio_sampling_rate.options",
                            "condition": "audio_sampling_rate.enable"
                        },
                        "audio_locked.enable",
                        {
                            "type": "select",
                            "key": "audio_locked.value",
                            "condition": "audio_locked.enable"
                        },
                        "dialnorm.enable",
                        {
                            "key": "dialnorm.test.min",
                            "condition": "dialnorm.enable"
                        },
                        {
                            "key": "dialnorm.test.max",
                            "condition": "dialnorm.enable"
                        },
                        "audio_ref_level.enable",
                        {
                            "key": "audio_ref_level.test.min",
                            "condition": "audio_ref_level.enable"
                        },
                        {
                            "key": "audio_ref_level.test.max",
                            "condition": "audio_ref_level.enable"
                        },
                        "channel_count.enable",
                        {
                            "key": "channel_count.channels",
                            "condition": "channel_count.enable"
                        },
                        "quantization_bits.enable",
                        {
                            "key": "quantization_bits.bits",
                            "condition": "quantization_bits.enable"
                        },
                        "average_bytes_per_second.enable",
                        {
                            "key": "average_bytes_per_second.test.min",
                            "condition": "average_bytes_per_second.enable"
                        },
                        {
                            "key": "average_bytes_per_second.test.max",
                            "condition": "average_bytes_per_second.enable"
                        }
                    ],
                    "type": "object",
                    "properties": {
                        "active_format_descriptor": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "allowed_formats": {
                                    "type": "string",
                                    "title": "AFD Information Byte Values",
                                    "description": "A comma separated list can be provided for multiple values e.g. 4,36,68,76."
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "Active Format Descriptor",
                                    "description": "Examine the AFD information byte, present in the Generic Picture Essence Descriptor and specified in SMPTE S2016-1. This is not the 4-bit AFD code, but the whole AFD information byte which also includes an Aspect Ratio (AR) bit.",
                                    "default": false
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "allowed_formats"
                                        ]
                                    }
                                }
                            ]
                        },
                        "as11_uk_dpp_metadata": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "enable": {
                                    "type": "boolean",
                                    "title": "AS-11 UK DPP Metadata",
                                    "description": "Test MXF structural and descriptive metadata against selected shim.",
                                    "default": false
                                },
                                "shim": {
                                    "type": "integer",
                                    "title": "AS-11 UK DPP Shim",
                                    "description": "AS-11 UK DPP Shim.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "Auto",
                                            "value": 0
                                        },
                                        {
                                            "name": "SD",
                                            "value": 1
                                        },
                                        {
                                            "name": "HD",
                                            "value": 2
                                        }
                                    ]
                                }
                            },
                            "allOf": [
                                {
                                    "if": {
                                        "not": {
                                            "properties": {
                                                "enable": {
                                                    "const": false
                                                }
                                            }
                                        }
                                    },
                                    "then": {
                                        "required": [
                                            "shim"
                                        ]
                                    }
                                }
                            ]
                        },
                        "as11_xprofile": {
                            "type": "object",
                            "required": [
                                "enable"
                            ],
                            "additionalProperties": false,
                            "properties": {
                                "embedded_xml_documents": {
                                    "type": "integer",
                                    "title": "Embedded XML Documents",
                                    "description": "Embedded XML Documents.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "XML DM for Programmes",
                                            "value": 1
                                        }
                                    ]
                                },
                                "enable": {
                                    "type": "boolean",
                                    "title": "AMWA AS-11 Rule Blocks",
                                    "default": false,
                                    "description": "Compliance checking to AMWA AS-11 X profile specifications."
                                },
                                "extra_audio_layout_modes": {
                                    "type": "integer",
                                    "title": "Extra Audio Layout Modes",
                                    "description": "Extra Audio Layout Modes.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "Mode 1",
                                            "value": 1
                                        },
                                        {
                                            "name": "Modes 1 and 2",
                                            "value": 2
                                        }
                                    ]
                                },
                                "file_format_specification_identification_label": {
                                    "type": "integer",
                                    "title": "Specification Identification",
                                    "description": "Specification Identification.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        2,
                                        3,
                                        4,
                                        5
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "Blocks_FF_1",
                                            "value": 1
                                        },
                                        {
                                            "name": "Blocks_FF_2",
                                            "value": 2
                                        },
                                        {
                                            "name": "Blocks_FF_5_WIP",
                                            "value": 3
                                        },
                                        {
                                            "name": "Blocks_FF_6_WIP",
                                            "value": 4
                                        },
                                        {
                                            "name": "Blocks_FF_11_WIP",
                                            "value": 5
                                        }
                                    ]
                                },
                                "picture_essence_constraints": {
                                    "type": "integer",
                                    "title": "Picture Essence Constraints",
                                    "description": "Picture Essence Constraints.",
                                    "default": 0,
                                    "enum": [
                                        0,
                                        1,
                                        5
                                    ],
                                    "titleMap": [
                                        {
                                            "name": "None",
                                            "value": 0
                                        },
                                        {
                                            "name": "X1 (AVC)",
                                            "value": 1
                                        },
                                        {
                                            "name": "X9 (AVC)",
                                            "value": 5
                                        }
                                    ]
                                },
                                "rules": {
                                    "type": "array",
                                    "title": "AMWA AS-11 Rules",
                                    "description": "AMWA AS-11 Rules.",
                                    "items": {
                                        "type": "string",
                                        "enum": [
                                            "STRICT_FRAME_WRAPPING",
                                            "ONE_TO_ONE_TRACK_MAPPING",
                                            "SEGMENT_THE_ESSENCE_CONTAINER",
                                            "INDEX_EACH_ESSENCE_CONTAINER_SEGMENT",
                                            "GENERIC_CONTAINER",
                                            "MXF_INDEXING_AND_PARTITIONING",
                                            "MXF_INDEXING_AND_PARTITIONING_FOR_VBE_ESSENCE",
                                            "MXF_INDEXING_AND_PARTITIONING_FOR_CBE_ESSENCE",
                                            "ONE_PICTURE_TRACK",
                                            "AVC_BYTE_STREAM_FORMAT_PICTURE_ESSENCE",
                                            "ST831_3_MAPPING",
                                            "ONE_SOUNDFIELD_GROUP_PER_SOUND_TRACK",
                                            "UNCOMPRESSED_24BIT_PCM_AUDIO_AT_48KHZ",
                                            "CONSTRAINED_ST382_WAVE_PCM_MAPPING",
                                            "AUDIO_LAYOUT",
                                            "AUDIO_LAYOUT_X8",
                                            "AS11_SEGMENTATION_DM",
                                            "SPECIFICATION_IDENTIFICATION",
                                            "SPECIFICATION_IDENTIFICATION_X7",
                                            "SPECIFICATION_IDENTIFICATION_X8",
                                            "SPECIFICATION_IDENTIFICATION_X9",
                                            "TIMECODE_TRACK_PRESENCE",
                                            "CONSTRAINED_TIMECODE_TRACK_IN_MATERIAL_PACKAGE",
                                            "TIMECODE_MODE_SIGNALLING"
                                        ]
                                    },
                                    "titleMap": [
                                        {
                                            "name": "Strict Frame Wrapping",
                                            "value": "STRICT_FRAME_WRAPPING"
                                        },
                                        {
                                            "name": "One-to-one Track Mapping",
                                            "value": "ONE_TO_ONE_TRACK_MAPPING"
                                        },
                                        {
                                            "name": "Segment The Essence Container",
                                            "value": "SEGMENT_THE_ESSENCE_CONTAINER"
                                        },
                                        {
                                            "name": "Index Each Essence Container Segment",
                                            "value": "INDEX_EACH_ESSENCE_CONTAINER_SEGMENT"
                                        },
                                        {
                                            "name": "Generic Container",
                                            "value": "GENERIC_CONTAINER"
                                        },
                                        {
                                            "name": "MXF Indexing and Partitioning (VBE or CBE)",
                                            "value": "MXF_INDEXING_AND_PARTITIONING"
                                        },
                                        {
                                            "name": "MXF Indexing and Partitioning for VBE Essence",
                                            "value": "MXF_INDEXING_AND_PARTITIONING_FOR_VBE_ESSENCE"
                                        },
                                        {
                                            "name": "MXF Indexing and Partitioning for CBE Essence",
                                            "value": "MXF_INDEXING_AND_PARTITIONING_FOR_CBE_ESSENCE"
                                        },
                                        {
                                            "name": "One Picture Track",