{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.transform.dft.output.json",
  "title": "Discrete Fourier transform — success output",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "status",
    "capability_id",
    "engine",
    "inputs",
    "result",
    "result_detail",
    "calculation_version",
    "verification"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Requested tool id"
    },
    "status": {
      "const": "success"
    },
    "capability_id": {
      "const": "math.transform.dft"
    },
    "tool": {
      "type": "string",
      "description": "Requested tool id"
    },
    "engine": {
      "type": "string"
    },
    "inputs": {
      "type": "object",
      "description": "Normalized calculation inputs (aliases resolved)"
    },
    "result": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "mode",
        "n",
        "algorithm",
        "normalization",
        "x_re",
        "x_im",
        "re",
        "im",
        "mag",
        "formula"
      ],
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "dft",
            "idft",
            "fft",
            "ifft"
          ]
        },
        "n": {
          "type": "integer",
          "minimum": 1,
          "maximum": 64
        },
        "algorithm": {
          "type": "string",
          "enum": [
            "direct",
            "radix2"
          ]
        },
        "normalization": {
          "const": "backward"
        },
        "x_re": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "number"
          }
        },
        "x_im": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "number"
          }
        },
        "re": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "number"
          }
        },
        "im": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "number"
          }
        },
        "mag": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "number",
            "minimum": 0
          }
        },
        "formula": {
          "type": "string"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "n": {
                "const": 1
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 1,
                "maxItems": 1
              },
              "x_im": {
                "minItems": 1,
                "maxItems": 1
              },
              "re": {
                "minItems": 1,
                "maxItems": 1
              },
              "im": {
                "minItems": 1,
                "maxItems": 1
              },
              "mag": {
                "minItems": 1,
                "maxItems": 1
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 2
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 2,
                "maxItems": 2
              },
              "x_im": {
                "minItems": 2,
                "maxItems": 2
              },
              "re": {
                "minItems": 2,
                "maxItems": 2
              },
              "im": {
                "minItems": 2,
                "maxItems": 2
              },
              "mag": {
                "minItems": 2,
                "maxItems": 2
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 3
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 3,
                "maxItems": 3
              },
              "x_im": {
                "minItems": 3,
                "maxItems": 3
              },
              "re": {
                "minItems": 3,
                "maxItems": 3
              },
              "im": {
                "minItems": 3,
                "maxItems": 3
              },
              "mag": {
                "minItems": 3,
                "maxItems": 3
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 4
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 4,
                "maxItems": 4
              },
              "x_im": {
                "minItems": 4,
                "maxItems": 4
              },
              "re": {
                "minItems": 4,
                "maxItems": 4
              },
              "im": {
                "minItems": 4,
                "maxItems": 4
              },
              "mag": {
                "minItems": 4,
                "maxItems": 4
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 5
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 5,
                "maxItems": 5
              },
              "x_im": {
                "minItems": 5,
                "maxItems": 5
              },
              "re": {
                "minItems": 5,
                "maxItems": 5
              },
              "im": {
                "minItems": 5,
                "maxItems": 5
              },
              "mag": {
                "minItems": 5,
                "maxItems": 5
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 6
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 6,
                "maxItems": 6
              },
              "x_im": {
                "minItems": 6,
                "maxItems": 6
              },
              "re": {
                "minItems": 6,
                "maxItems": 6
              },
              "im": {
                "minItems": 6,
                "maxItems": 6
              },
              "mag": {
                "minItems": 6,
                "maxItems": 6
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 7
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 7,
                "maxItems": 7
              },
              "x_im": {
                "minItems": 7,
                "maxItems": 7
              },
              "re": {
                "minItems": 7,
                "maxItems": 7
              },
              "im": {
                "minItems": 7,
                "maxItems": 7
              },
              "mag": {
                "minItems": 7,
                "maxItems": 7
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 8
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 8,
                "maxItems": 8
              },
              "x_im": {
                "minItems": 8,
                "maxItems": 8
              },
              "re": {
                "minItems": 8,
                "maxItems": 8
              },
              "im": {
                "minItems": 8,
                "maxItems": 8
              },
              "mag": {
                "minItems": 8,
                "maxItems": 8
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 9
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 9,
                "maxItems": 9
              },
              "x_im": {
                "minItems": 9,
                "maxItems": 9
              },
              "re": {
                "minItems": 9,
                "maxItems": 9
              },
              "im": {
                "minItems": 9,
                "maxItems": 9
              },
              "mag": {
                "minItems": 9,
                "maxItems": 9
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 10
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 10,
                "maxItems": 10
              },
              "x_im": {
                "minItems": 10,
                "maxItems": 10
              },
              "re": {
                "minItems": 10,
                "maxItems": 10
              },
              "im": {
                "minItems": 10,
                "maxItems": 10
              },
              "mag": {
                "minItems": 10,
                "maxItems": 10
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 11
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 11,
                "maxItems": 11
              },
              "x_im": {
                "minItems": 11,
                "maxItems": 11
              },
              "re": {
                "minItems": 11,
                "maxItems": 11
              },
              "im": {
                "minItems": 11,
                "maxItems": 11
              },
              "mag": {
                "minItems": 11,
                "maxItems": 11
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 12
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 12,
                "maxItems": 12
              },
              "x_im": {
                "minItems": 12,
                "maxItems": 12
              },
              "re": {
                "minItems": 12,
                "maxItems": 12
              },
              "im": {
                "minItems": 12,
                "maxItems": 12
              },
              "mag": {
                "minItems": 12,
                "maxItems": 12
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 13
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 13,
                "maxItems": 13
              },
              "x_im": {
                "minItems": 13,
                "maxItems": 13
              },
              "re": {
                "minItems": 13,
                "maxItems": 13
              },
              "im": {
                "minItems": 13,
                "maxItems": 13
              },
              "mag": {
                "minItems": 13,
                "maxItems": 13
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 14
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 14,
                "maxItems": 14
              },
              "x_im": {
                "minItems": 14,
                "maxItems": 14
              },
              "re": {
                "minItems": 14,
                "maxItems": 14
              },
              "im": {
                "minItems": 14,
                "maxItems": 14
              },
              "mag": {
                "minItems": 14,
                "maxItems": 14
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 15
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 15,
                "maxItems": 15
              },
              "x_im": {
                "minItems": 15,
                "maxItems": 15
              },
              "re": {
                "minItems": 15,
                "maxItems": 15
              },
              "im": {
                "minItems": 15,
                "maxItems": 15
              },
              "mag": {
                "minItems": 15,
                "maxItems": 15
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 16
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 16,
                "maxItems": 16
              },
              "x_im": {
                "minItems": 16,
                "maxItems": 16
              },
              "re": {
                "minItems": 16,
                "maxItems": 16
              },
              "im": {
                "minItems": 16,
                "maxItems": 16
              },
              "mag": {
                "minItems": 16,
                "maxItems": 16
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 17
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 17,
                "maxItems": 17
              },
              "x_im": {
                "minItems": 17,
                "maxItems": 17
              },
              "re": {
                "minItems": 17,
                "maxItems": 17
              },
              "im": {
                "minItems": 17,
                "maxItems": 17
              },
              "mag": {
                "minItems": 17,
                "maxItems": 17
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 18
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 18,
                "maxItems": 18
              },
              "x_im": {
                "minItems": 18,
                "maxItems": 18
              },
              "re": {
                "minItems": 18,
                "maxItems": 18
              },
              "im": {
                "minItems": 18,
                "maxItems": 18
              },
              "mag": {
                "minItems": 18,
                "maxItems": 18
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 19
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 19,
                "maxItems": 19
              },
              "x_im": {
                "minItems": 19,
                "maxItems": 19
              },
              "re": {
                "minItems": 19,
                "maxItems": 19
              },
              "im": {
                "minItems": 19,
                "maxItems": 19
              },
              "mag": {
                "minItems": 19,
                "maxItems": 19
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 20
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 20,
                "maxItems": 20
              },
              "x_im": {
                "minItems": 20,
                "maxItems": 20
              },
              "re": {
                "minItems": 20,
                "maxItems": 20
              },
              "im": {
                "minItems": 20,
                "maxItems": 20
              },
              "mag": {
                "minItems": 20,
                "maxItems": 20
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 21
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 21,
                "maxItems": 21
              },
              "x_im": {
                "minItems": 21,
                "maxItems": 21
              },
              "re": {
                "minItems": 21,
                "maxItems": 21
              },
              "im": {
                "minItems": 21,
                "maxItems": 21
              },
              "mag": {
                "minItems": 21,
                "maxItems": 21
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 22
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 22,
                "maxItems": 22
              },
              "x_im": {
                "minItems": 22,
                "maxItems": 22
              },
              "re": {
                "minItems": 22,
                "maxItems": 22
              },
              "im": {
                "minItems": 22,
                "maxItems": 22
              },
              "mag": {
                "minItems": 22,
                "maxItems": 22
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 23
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 23,
                "maxItems": 23
              },
              "x_im": {
                "minItems": 23,
                "maxItems": 23
              },
              "re": {
                "minItems": 23,
                "maxItems": 23
              },
              "im": {
                "minItems": 23,
                "maxItems": 23
              },
              "mag": {
                "minItems": 23,
                "maxItems": 23
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 24
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 24,
                "maxItems": 24
              },
              "x_im": {
                "minItems": 24,
                "maxItems": 24
              },
              "re": {
                "minItems": 24,
                "maxItems": 24
              },
              "im": {
                "minItems": 24,
                "maxItems": 24
              },
              "mag": {
                "minItems": 24,
                "maxItems": 24
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 25
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 25,
                "maxItems": 25
              },
              "x_im": {
                "minItems": 25,
                "maxItems": 25
              },
              "re": {
                "minItems": 25,
                "maxItems": 25
              },
              "im": {
                "minItems": 25,
                "maxItems": 25
              },
              "mag": {
                "minItems": 25,
                "maxItems": 25
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 26
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 26,
                "maxItems": 26
              },
              "x_im": {
                "minItems": 26,
                "maxItems": 26
              },
              "re": {
                "minItems": 26,
                "maxItems": 26
              },
              "im": {
                "minItems": 26,
                "maxItems": 26
              },
              "mag": {
                "minItems": 26,
                "maxItems": 26
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 27
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 27,
                "maxItems": 27
              },
              "x_im": {
                "minItems": 27,
                "maxItems": 27
              },
              "re": {
                "minItems": 27,
                "maxItems": 27
              },
              "im": {
                "minItems": 27,
                "maxItems": 27
              },
              "mag": {
                "minItems": 27,
                "maxItems": 27
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 28
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 28,
                "maxItems": 28
              },
              "x_im": {
                "minItems": 28,
                "maxItems": 28
              },
              "re": {
                "minItems": 28,
                "maxItems": 28
              },
              "im": {
                "minItems": 28,
                "maxItems": 28
              },
              "mag": {
                "minItems": 28,
                "maxItems": 28
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 29
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 29,
                "maxItems": 29
              },
              "x_im": {
                "minItems": 29,
                "maxItems": 29
              },
              "re": {
                "minItems": 29,
                "maxItems": 29
              },
              "im": {
                "minItems": 29,
                "maxItems": 29
              },
              "mag": {
                "minItems": 29,
                "maxItems": 29
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 30
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 30,
                "maxItems": 30
              },
              "x_im": {
                "minItems": 30,
                "maxItems": 30
              },
              "re": {
                "minItems": 30,
                "maxItems": 30
              },
              "im": {
                "minItems": 30,
                "maxItems": 30
              },
              "mag": {
                "minItems": 30,
                "maxItems": 30
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 31
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 31,
                "maxItems": 31
              },
              "x_im": {
                "minItems": 31,
                "maxItems": 31
              },
              "re": {
                "minItems": 31,
                "maxItems": 31
              },
              "im": {
                "minItems": 31,
                "maxItems": 31
              },
              "mag": {
                "minItems": 31,
                "maxItems": 31
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 32
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 32,
                "maxItems": 32
              },
              "x_im": {
                "minItems": 32,
                "maxItems": 32
              },
              "re": {
                "minItems": 32,
                "maxItems": 32
              },
              "im": {
                "minItems": 32,
                "maxItems": 32
              },
              "mag": {
                "minItems": 32,
                "maxItems": 32
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 33
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 33,
                "maxItems": 33
              },
              "x_im": {
                "minItems": 33,
                "maxItems": 33
              },
              "re": {
                "minItems": 33,
                "maxItems": 33
              },
              "im": {
                "minItems": 33,
                "maxItems": 33
              },
              "mag": {
                "minItems": 33,
                "maxItems": 33
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 34
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 34,
                "maxItems": 34
              },
              "x_im": {
                "minItems": 34,
                "maxItems": 34
              },
              "re": {
                "minItems": 34,
                "maxItems": 34
              },
              "im": {
                "minItems": 34,
                "maxItems": 34
              },
              "mag": {
                "minItems": 34,
                "maxItems": 34
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 35
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 35,
                "maxItems": 35
              },
              "x_im": {
                "minItems": 35,
                "maxItems": 35
              },
              "re": {
                "minItems": 35,
                "maxItems": 35
              },
              "im": {
                "minItems": 35,
                "maxItems": 35
              },
              "mag": {
                "minItems": 35,
                "maxItems": 35
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 36
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 36,
                "maxItems": 36
              },
              "x_im": {
                "minItems": 36,
                "maxItems": 36
              },
              "re": {
                "minItems": 36,
                "maxItems": 36
              },
              "im": {
                "minItems": 36,
                "maxItems": 36
              },
              "mag": {
                "minItems": 36,
                "maxItems": 36
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 37
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 37,
                "maxItems": 37
              },
              "x_im": {
                "minItems": 37,
                "maxItems": 37
              },
              "re": {
                "minItems": 37,
                "maxItems": 37
              },
              "im": {
                "minItems": 37,
                "maxItems": 37
              },
              "mag": {
                "minItems": 37,
                "maxItems": 37
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 38
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 38,
                "maxItems": 38
              },
              "x_im": {
                "minItems": 38,
                "maxItems": 38
              },
              "re": {
                "minItems": 38,
                "maxItems": 38
              },
              "im": {
                "minItems": 38,
                "maxItems": 38
              },
              "mag": {
                "minItems": 38,
                "maxItems": 38
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 39
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 39,
                "maxItems": 39
              },
              "x_im": {
                "minItems": 39,
                "maxItems": 39
              },
              "re": {
                "minItems": 39,
                "maxItems": 39
              },
              "im": {
                "minItems": 39,
                "maxItems": 39
              },
              "mag": {
                "minItems": 39,
                "maxItems": 39
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 40
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 40,
                "maxItems": 40
              },
              "x_im": {
                "minItems": 40,
                "maxItems": 40
              },
              "re": {
                "minItems": 40,
                "maxItems": 40
              },
              "im": {
                "minItems": 40,
                "maxItems": 40
              },
              "mag": {
                "minItems": 40,
                "maxItems": 40
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 41
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 41,
                "maxItems": 41
              },
              "x_im": {
                "minItems": 41,
                "maxItems": 41
              },
              "re": {
                "minItems": 41,
                "maxItems": 41
              },
              "im": {
                "minItems": 41,
                "maxItems": 41
              },
              "mag": {
                "minItems": 41,
                "maxItems": 41
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 42
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 42,
                "maxItems": 42
              },
              "x_im": {
                "minItems": 42,
                "maxItems": 42
              },
              "re": {
                "minItems": 42,
                "maxItems": 42
              },
              "im": {
                "minItems": 42,
                "maxItems": 42
              },
              "mag": {
                "minItems": 42,
                "maxItems": 42
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 43
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 43,
                "maxItems": 43
              },
              "x_im": {
                "minItems": 43,
                "maxItems": 43
              },
              "re": {
                "minItems": 43,
                "maxItems": 43
              },
              "im": {
                "minItems": 43,
                "maxItems": 43
              },
              "mag": {
                "minItems": 43,
                "maxItems": 43
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 44
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 44,
                "maxItems": 44
              },
              "x_im": {
                "minItems": 44,
                "maxItems": 44
              },
              "re": {
                "minItems": 44,
                "maxItems": 44
              },
              "im": {
                "minItems": 44,
                "maxItems": 44
              },
              "mag": {
                "minItems": 44,
                "maxItems": 44
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 45
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 45,
                "maxItems": 45
              },
              "x_im": {
                "minItems": 45,
                "maxItems": 45
              },
              "re": {
                "minItems": 45,
                "maxItems": 45
              },
              "im": {
                "minItems": 45,
                "maxItems": 45
              },
              "mag": {
                "minItems": 45,
                "maxItems": 45
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 46
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 46,
                "maxItems": 46
              },
              "x_im": {
                "minItems": 46,
                "maxItems": 46
              },
              "re": {
                "minItems": 46,
                "maxItems": 46
              },
              "im": {
                "minItems": 46,
                "maxItems": 46
              },
              "mag": {
                "minItems": 46,
                "maxItems": 46
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 47
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 47,
                "maxItems": 47
              },
              "x_im": {
                "minItems": 47,
                "maxItems": 47
              },
              "re": {
                "minItems": 47,
                "maxItems": 47
              },
              "im": {
                "minItems": 47,
                "maxItems": 47
              },
              "mag": {
                "minItems": 47,
                "maxItems": 47
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 48
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 48,
                "maxItems": 48
              },
              "x_im": {
                "minItems": 48,
                "maxItems": 48
              },
              "re": {
                "minItems": 48,
                "maxItems": 48
              },
              "im": {
                "minItems": 48,
                "maxItems": 48
              },
              "mag": {
                "minItems": 48,
                "maxItems": 48
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 49
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 49,
                "maxItems": 49
              },
              "x_im": {
                "minItems": 49,
                "maxItems": 49
              },
              "re": {
                "minItems": 49,
                "maxItems": 49
              },
              "im": {
                "minItems": 49,
                "maxItems": 49
              },
              "mag": {
                "minItems": 49,
                "maxItems": 49
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 50
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 50,
                "maxItems": 50
              },
              "x_im": {
                "minItems": 50,
                "maxItems": 50
              },
              "re": {
                "minItems": 50,
                "maxItems": 50
              },
              "im": {
                "minItems": 50,
                "maxItems": 50
              },
              "mag": {
                "minItems": 50,
                "maxItems": 50
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 51
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 51,
                "maxItems": 51
              },
              "x_im": {
                "minItems": 51,
                "maxItems": 51
              },
              "re": {
                "minItems": 51,
                "maxItems": 51
              },
              "im": {
                "minItems": 51,
                "maxItems": 51
              },
              "mag": {
                "minItems": 51,
                "maxItems": 51
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 52
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 52,
                "maxItems": 52
              },
              "x_im": {
                "minItems": 52,
                "maxItems": 52
              },
              "re": {
                "minItems": 52,
                "maxItems": 52
              },
              "im": {
                "minItems": 52,
                "maxItems": 52
              },
              "mag": {
                "minItems": 52,
                "maxItems": 52
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 53
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 53,
                "maxItems": 53
              },
              "x_im": {
                "minItems": 53,
                "maxItems": 53
              },
              "re": {
                "minItems": 53,
                "maxItems": 53
              },
              "im": {
                "minItems": 53,
                "maxItems": 53
              },
              "mag": {
                "minItems": 53,
                "maxItems": 53
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 54
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 54,
                "maxItems": 54
              },
              "x_im": {
                "minItems": 54,
                "maxItems": 54
              },
              "re": {
                "minItems": 54,
                "maxItems": 54
              },
              "im": {
                "minItems": 54,
                "maxItems": 54
              },
              "mag": {
                "minItems": 54,
                "maxItems": 54
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 55
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 55,
                "maxItems": 55
              },
              "x_im": {
                "minItems": 55,
                "maxItems": 55
              },
              "re": {
                "minItems": 55,
                "maxItems": 55
              },
              "im": {
                "minItems": 55,
                "maxItems": 55
              },
              "mag": {
                "minItems": 55,
                "maxItems": 55
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 56
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 56,
                "maxItems": 56
              },
              "x_im": {
                "minItems": 56,
                "maxItems": 56
              },
              "re": {
                "minItems": 56,
                "maxItems": 56
              },
              "im": {
                "minItems": 56,
                "maxItems": 56
              },
              "mag": {
                "minItems": 56,
                "maxItems": 56
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 57
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 57,
                "maxItems": 57
              },
              "x_im": {
                "minItems": 57,
                "maxItems": 57
              },
              "re": {
                "minItems": 57,
                "maxItems": 57
              },
              "im": {
                "minItems": 57,
                "maxItems": 57
              },
              "mag": {
                "minItems": 57,
                "maxItems": 57
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 58
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 58,
                "maxItems": 58
              },
              "x_im": {
                "minItems": 58,
                "maxItems": 58
              },
              "re": {
                "minItems": 58,
                "maxItems": 58
              },
              "im": {
                "minItems": 58,
                "maxItems": 58
              },
              "mag": {
                "minItems": 58,
                "maxItems": 58
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 59
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 59,
                "maxItems": 59
              },
              "x_im": {
                "minItems": 59,
                "maxItems": 59
              },
              "re": {
                "minItems": 59,
                "maxItems": 59
              },
              "im": {
                "minItems": 59,
                "maxItems": 59
              },
              "mag": {
                "minItems": 59,
                "maxItems": 59
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 60
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 60,
                "maxItems": 60
              },
              "x_im": {
                "minItems": 60,
                "maxItems": 60
              },
              "re": {
                "minItems": 60,
                "maxItems": 60
              },
              "im": {
                "minItems": 60,
                "maxItems": 60
              },
              "mag": {
                "minItems": 60,
                "maxItems": 60
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 61
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 61,
                "maxItems": 61
              },
              "x_im": {
                "minItems": 61,
                "maxItems": 61
              },
              "re": {
                "minItems": 61,
                "maxItems": 61
              },
              "im": {
                "minItems": 61,
                "maxItems": 61
              },
              "mag": {
                "minItems": 61,
                "maxItems": 61
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 62
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 62,
                "maxItems": 62
              },
              "x_im": {
                "minItems": 62,
                "maxItems": 62
              },
              "re": {
                "minItems": 62,
                "maxItems": 62
              },
              "im": {
                "minItems": 62,
                "maxItems": 62
              },
              "mag": {
                "minItems": 62,
                "maxItems": 62
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 63
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 63,
                "maxItems": 63
              },
              "x_im": {
                "minItems": 63,
                "maxItems": 63
              },
              "re": {
                "minItems": 63,
                "maxItems": 63
              },
              "im": {
                "minItems": 63,
                "maxItems": 63
              },
              "mag": {
                "minItems": 63,
                "maxItems": 63
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n": {
                "const": 64
              }
            },
            "required": [
              "n"
            ]
          },
          "then": {
            "properties": {
              "x_re": {
                "minItems": 64,
                "maxItems": 64
              },
              "x_im": {
                "minItems": 64,
                "maxItems": 64
              },
              "re": {
                "minItems": 64,
                "maxItems": 64
              },
              "im": {
                "minItems": 64,
                "maxItems": 64
              },
              "mag": {
                "minItems": 64,
                "maxItems": 64
              }
            }
          }
        }
      ]
    },
    "result_detail": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "value",
        "unit",
        "formatted"
      ],
      "properties": {
        "value": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "mode",
            "n",
            "algorithm",
            "normalization",
            "x_re",
            "x_im",
            "re",
            "im",
            "mag",
            "formula"
          ],
          "properties": {
            "mode": {
              "type": "string",
              "enum": [
                "dft",
                "idft",
                "fft",
                "ifft"
              ]
            },
            "n": {
              "type": "integer",
              "minimum": 1,
              "maximum": 64
            },
            "algorithm": {
              "type": "string",
              "enum": [
                "direct",
                "radix2"
              ]
            },
            "normalization": {
              "const": "backward"
            },
            "x_re": {
              "type": "array",
              "minItems": 1,
              "maxItems": 64,
              "items": {
                "type": "number"
              }
            },
            "x_im": {
              "type": "array",
              "minItems": 1,
              "maxItems": 64,
              "items": {
                "type": "number"
              }
            },
            "re": {
              "type": "array",
              "minItems": 1,
              "maxItems": 64,
              "items": {
                "type": "number"
              }
            },
            "im": {
              "type": "array",
              "minItems": 1,
              "maxItems": 64,
              "items": {
                "type": "number"
              }
            },
            "mag": {
              "type": "array",
              "minItems": 1,
              "maxItems": 64,
              "items": {
                "type": "number",
                "minimum": 0
              }
            },
            "formula": {
              "type": "string"
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 1
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 1,
                    "maxItems": 1
                  },
                  "x_im": {
                    "minItems": 1,
                    "maxItems": 1
                  },
                  "re": {
                    "minItems": 1,
                    "maxItems": 1
                  },
                  "im": {
                    "minItems": 1,
                    "maxItems": 1
                  },
                  "mag": {
                    "minItems": 1,
                    "maxItems": 1
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 2
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "x_im": {
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "re": {
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "im": {
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "mag": {
                    "minItems": 2,
                    "maxItems": 2
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 3
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 3,
                    "maxItems": 3
                  },
                  "x_im": {
                    "minItems": 3,
                    "maxItems": 3
                  },
                  "re": {
                    "minItems": 3,
                    "maxItems": 3
                  },
                  "im": {
                    "minItems": 3,
                    "maxItems": 3
                  },
                  "mag": {
                    "minItems": 3,
                    "maxItems": 3
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 4
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 4,
                    "maxItems": 4
                  },
                  "x_im": {
                    "minItems": 4,
                    "maxItems": 4
                  },
                  "re": {
                    "minItems": 4,
                    "maxItems": 4
                  },
                  "im": {
                    "minItems": 4,
                    "maxItems": 4
                  },
                  "mag": {
                    "minItems": 4,
                    "maxItems": 4
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 5
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 5,
                    "maxItems": 5
                  },
                  "x_im": {
                    "minItems": 5,
                    "maxItems": 5
                  },
                  "re": {
                    "minItems": 5,
                    "maxItems": 5
                  },
                  "im": {
                    "minItems": 5,
                    "maxItems": 5
                  },
                  "mag": {
                    "minItems": 5,
                    "maxItems": 5
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 6
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 6,
                    "maxItems": 6
                  },
                  "x_im": {
                    "minItems": 6,
                    "maxItems": 6
                  },
                  "re": {
                    "minItems": 6,
                    "maxItems": 6
                  },
                  "im": {
                    "minItems": 6,
                    "maxItems": 6
                  },
                  "mag": {
                    "minItems": 6,
                    "maxItems": 6
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 7
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 7,
                    "maxItems": 7
                  },
                  "x_im": {
                    "minItems": 7,
                    "maxItems": 7
                  },
                  "re": {
                    "minItems": 7,
                    "maxItems": 7
                  },
                  "im": {
                    "minItems": 7,
                    "maxItems": 7
                  },
                  "mag": {
                    "minItems": 7,
                    "maxItems": 7
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 8
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 8,
                    "maxItems": 8
                  },
                  "x_im": {
                    "minItems": 8,
                    "maxItems": 8
                  },
                  "re": {
                    "minItems": 8,
                    "maxItems": 8
                  },
                  "im": {
                    "minItems": 8,
                    "maxItems": 8
                  },
                  "mag": {
                    "minItems": 8,
                    "maxItems": 8
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 9
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 9,
                    "maxItems": 9
                  },
                  "x_im": {
                    "minItems": 9,
                    "maxItems": 9
                  },
                  "re": {
                    "minItems": 9,
                    "maxItems": 9
                  },
                  "im": {
                    "minItems": 9,
                    "maxItems": 9
                  },
                  "mag": {
                    "minItems": 9,
                    "maxItems": 9
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 10
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 10,
                    "maxItems": 10
                  },
                  "x_im": {
                    "minItems": 10,
                    "maxItems": 10
                  },
                  "re": {
                    "minItems": 10,
                    "maxItems": 10
                  },
                  "im": {
                    "minItems": 10,
                    "maxItems": 10
                  },
                  "mag": {
                    "minItems": 10,
                    "maxItems": 10
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 11
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 11,
                    "maxItems": 11
                  },
                  "x_im": {
                    "minItems": 11,
                    "maxItems": 11
                  },
                  "re": {
                    "minItems": 11,
                    "maxItems": 11
                  },
                  "im": {
                    "minItems": 11,
                    "maxItems": 11
                  },
                  "mag": {
                    "minItems": 11,
                    "maxItems": 11
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 12
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 12,
                    "maxItems": 12
                  },
                  "x_im": {
                    "minItems": 12,
                    "maxItems": 12
                  },
                  "re": {
                    "minItems": 12,
                    "maxItems": 12
                  },
                  "im": {
                    "minItems": 12,
                    "maxItems": 12
                  },
                  "mag": {
                    "minItems": 12,
                    "maxItems": 12
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 13
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 13,
                    "maxItems": 13
                  },
                  "x_im": {
                    "minItems": 13,
                    "maxItems": 13
                  },
                  "re": {
                    "minItems": 13,
                    "maxItems": 13
                  },
                  "im": {
                    "minItems": 13,
                    "maxItems": 13
                  },
                  "mag": {
                    "minItems": 13,
                    "maxItems": 13
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 14
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 14,
                    "maxItems": 14
                  },
                  "x_im": {
                    "minItems": 14,
                    "maxItems": 14
                  },
                  "re": {
                    "minItems": 14,
                    "maxItems": 14
                  },
                  "im": {
                    "minItems": 14,
                    "maxItems": 14
                  },
                  "mag": {
                    "minItems": 14,
                    "maxItems": 14
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 15
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 15,
                    "maxItems": 15
                  },
                  "x_im": {
                    "minItems": 15,
                    "maxItems": 15
                  },
                  "re": {
                    "minItems": 15,
                    "maxItems": 15
                  },
                  "im": {
                    "minItems": 15,
                    "maxItems": 15
                  },
                  "mag": {
                    "minItems": 15,
                    "maxItems": 15
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 16
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 16,
                    "maxItems": 16
                  },
                  "x_im": {
                    "minItems": 16,
                    "maxItems": 16
                  },
                  "re": {
                    "minItems": 16,
                    "maxItems": 16
                  },
                  "im": {
                    "minItems": 16,
                    "maxItems": 16
                  },
                  "mag": {
                    "minItems": 16,
                    "maxItems": 16
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 17
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 17,
                    "maxItems": 17
                  },
                  "x_im": {
                    "minItems": 17,
                    "maxItems": 17
                  },
                  "re": {
                    "minItems": 17,
                    "maxItems": 17
                  },
                  "im": {
                    "minItems": 17,
                    "maxItems": 17
                  },
                  "mag": {
                    "minItems": 17,
                    "maxItems": 17
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 18
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 18,
                    "maxItems": 18
                  },
                  "x_im": {
                    "minItems": 18,
                    "maxItems": 18
                  },
                  "re": {
                    "minItems": 18,
                    "maxItems": 18
                  },
                  "im": {
                    "minItems": 18,
                    "maxItems": 18
                  },
                  "mag": {
                    "minItems": 18,
                    "maxItems": 18
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 19
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 19,
                    "maxItems": 19
                  },
                  "x_im": {
                    "minItems": 19,
                    "maxItems": 19
                  },
                  "re": {
                    "minItems": 19,
                    "maxItems": 19
                  },
                  "im": {
                    "minItems": 19,
                    "maxItems": 19
                  },
                  "mag": {
                    "minItems": 19,
                    "maxItems": 19
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 20
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 20,
                    "maxItems": 20
                  },
                  "x_im": {
                    "minItems": 20,
                    "maxItems": 20
                  },
                  "re": {
                    "minItems": 20,
                    "maxItems": 20
                  },
                  "im": {
                    "minItems": 20,
                    "maxItems": 20
                  },
                  "mag": {
                    "minItems": 20,
                    "maxItems": 20
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 21
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 21,
                    "maxItems": 21
                  },
                  "x_im": {
                    "minItems": 21,
                    "maxItems": 21
                  },
                  "re": {
                    "minItems": 21,
                    "maxItems": 21
                  },
                  "im": {
                    "minItems": 21,
                    "maxItems": 21
                  },
                  "mag": {
                    "minItems": 21,
                    "maxItems": 21
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 22
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 22,
                    "maxItems": 22
                  },
                  "x_im": {
                    "minItems": 22,
                    "maxItems": 22
                  },
                  "re": {
                    "minItems": 22,
                    "maxItems": 22
                  },
                  "im": {
                    "minItems": 22,
                    "maxItems": 22
                  },
                  "mag": {
                    "minItems": 22,
                    "maxItems": 22
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 23
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 23,
                    "maxItems": 23
                  },
                  "x_im": {
                    "minItems": 23,
                    "maxItems": 23
                  },
                  "re": {
                    "minItems": 23,
                    "maxItems": 23
                  },
                  "im": {
                    "minItems": 23,
                    "maxItems": 23
                  },
                  "mag": {
                    "minItems": 23,
                    "maxItems": 23
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 24
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 24,
                    "maxItems": 24
                  },
                  "x_im": {
                    "minItems": 24,
                    "maxItems": 24
                  },
                  "re": {
                    "minItems": 24,
                    "maxItems": 24
                  },
                  "im": {
                    "minItems": 24,
                    "maxItems": 24
                  },
                  "mag": {
                    "minItems": 24,
                    "maxItems": 24
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 25
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 25,
                    "maxItems": 25
                  },
                  "x_im": {
                    "minItems": 25,
                    "maxItems": 25
                  },
                  "re": {
                    "minItems": 25,
                    "maxItems": 25
                  },
                  "im": {
                    "minItems": 25,
                    "maxItems": 25
                  },
                  "mag": {
                    "minItems": 25,
                    "maxItems": 25
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 26
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 26,
                    "maxItems": 26
                  },
                  "x_im": {
                    "minItems": 26,
                    "maxItems": 26
                  },
                  "re": {
                    "minItems": 26,
                    "maxItems": 26
                  },
                  "im": {
                    "minItems": 26,
                    "maxItems": 26
                  },
                  "mag": {
                    "minItems": 26,
                    "maxItems": 26
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 27
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 27,
                    "maxItems": 27
                  },
                  "x_im": {
                    "minItems": 27,
                    "maxItems": 27
                  },
                  "re": {
                    "minItems": 27,
                    "maxItems": 27
                  },
                  "im": {
                    "minItems": 27,
                    "maxItems": 27
                  },
                  "mag": {
                    "minItems": 27,
                    "maxItems": 27
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 28
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 28,
                    "maxItems": 28
                  },
                  "x_im": {
                    "minItems": 28,
                    "maxItems": 28
                  },
                  "re": {
                    "minItems": 28,
                    "maxItems": 28
                  },
                  "im": {
                    "minItems": 28,
                    "maxItems": 28
                  },
                  "mag": {
                    "minItems": 28,
                    "maxItems": 28
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 29
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 29,
                    "maxItems": 29
                  },
                  "x_im": {
                    "minItems": 29,
                    "maxItems": 29
                  },
                  "re": {
                    "minItems": 29,
                    "maxItems": 29
                  },
                  "im": {
                    "minItems": 29,
                    "maxItems": 29
                  },
                  "mag": {
                    "minItems": 29,
                    "maxItems": 29
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 30
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 30,
                    "maxItems": 30
                  },
                  "x_im": {
                    "minItems": 30,
                    "maxItems": 30
                  },
                  "re": {
                    "minItems": 30,
                    "maxItems": 30
                  },
                  "im": {
                    "minItems": 30,
                    "maxItems": 30
                  },
                  "mag": {
                    "minItems": 30,
                    "maxItems": 30
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 31
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 31,
                    "maxItems": 31
                  },
                  "x_im": {
                    "minItems": 31,
                    "maxItems": 31
                  },
                  "re": {
                    "minItems": 31,
                    "maxItems": 31
                  },
                  "im": {
                    "minItems": 31,
                    "maxItems": 31
                  },
                  "mag": {
                    "minItems": 31,
                    "maxItems": 31
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 32
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 32,
                    "maxItems": 32
                  },
                  "x_im": {
                    "minItems": 32,
                    "maxItems": 32
                  },
                  "re": {
                    "minItems": 32,
                    "maxItems": 32
                  },
                  "im": {
                    "minItems": 32,
                    "maxItems": 32
                  },
                  "mag": {
                    "minItems": 32,
                    "maxItems": 32
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 33
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 33,
                    "maxItems": 33
                  },
                  "x_im": {
                    "minItems": 33,
                    "maxItems": 33
                  },
                  "re": {
                    "minItems": 33,
                    "maxItems": 33
                  },
                  "im": {
                    "minItems": 33,
                    "maxItems": 33
                  },
                  "mag": {
                    "minItems": 33,
                    "maxItems": 33
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 34
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 34,
                    "maxItems": 34
                  },
                  "x_im": {
                    "minItems": 34,
                    "maxItems": 34
                  },
                  "re": {
                    "minItems": 34,
                    "maxItems": 34
                  },
                  "im": {
                    "minItems": 34,
                    "maxItems": 34
                  },
                  "mag": {
                    "minItems": 34,
                    "maxItems": 34
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 35
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 35,
                    "maxItems": 35
                  },
                  "x_im": {
                    "minItems": 35,
                    "maxItems": 35
                  },
                  "re": {
                    "minItems": 35,
                    "maxItems": 35
                  },
                  "im": {
                    "minItems": 35,
                    "maxItems": 35
                  },
                  "mag": {
                    "minItems": 35,
                    "maxItems": 35
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 36
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 36,
                    "maxItems": 36
                  },
                  "x_im": {
                    "minItems": 36,
                    "maxItems": 36
                  },
                  "re": {
                    "minItems": 36,
                    "maxItems": 36
                  },
                  "im": {
                    "minItems": 36,
                    "maxItems": 36
                  },
                  "mag": {
                    "minItems": 36,
                    "maxItems": 36
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 37
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 37,
                    "maxItems": 37
                  },
                  "x_im": {
                    "minItems": 37,
                    "maxItems": 37
                  },
                  "re": {
                    "minItems": 37,
                    "maxItems": 37
                  },
                  "im": {
                    "minItems": 37,
                    "maxItems": 37
                  },
                  "mag": {
                    "minItems": 37,
                    "maxItems": 37
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 38
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 38,
                    "maxItems": 38
                  },
                  "x_im": {
                    "minItems": 38,
                    "maxItems": 38
                  },
                  "re": {
                    "minItems": 38,
                    "maxItems": 38
                  },
                  "im": {
                    "minItems": 38,
                    "maxItems": 38
                  },
                  "mag": {
                    "minItems": 38,
                    "maxItems": 38
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 39
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 39,
                    "maxItems": 39
                  },
                  "x_im": {
                    "minItems": 39,
                    "maxItems": 39
                  },
                  "re": {
                    "minItems": 39,
                    "maxItems": 39
                  },
                  "im": {
                    "minItems": 39,
                    "maxItems": 39
                  },
                  "mag": {
                    "minItems": 39,
                    "maxItems": 39
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 40
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 40,
                    "maxItems": 40
                  },
                  "x_im": {
                    "minItems": 40,
                    "maxItems": 40
                  },
                  "re": {
                    "minItems": 40,
                    "maxItems": 40
                  },
                  "im": {
                    "minItems": 40,
                    "maxItems": 40
                  },
                  "mag": {
                    "minItems": 40,
                    "maxItems": 40
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 41
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 41,
                    "maxItems": 41
                  },
                  "x_im": {
                    "minItems": 41,
                    "maxItems": 41
                  },
                  "re": {
                    "minItems": 41,
                    "maxItems": 41
                  },
                  "im": {
                    "minItems": 41,
                    "maxItems": 41
                  },
                  "mag": {
                    "minItems": 41,
                    "maxItems": 41
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 42
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 42,
                    "maxItems": 42
                  },
                  "x_im": {
                    "minItems": 42,
                    "maxItems": 42
                  },
                  "re": {
                    "minItems": 42,
                    "maxItems": 42
                  },
                  "im": {
                    "minItems": 42,
                    "maxItems": 42
                  },
                  "mag": {
                    "minItems": 42,
                    "maxItems": 42
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 43
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 43,
                    "maxItems": 43
                  },
                  "x_im": {
                    "minItems": 43,
                    "maxItems": 43
                  },
                  "re": {
                    "minItems": 43,
                    "maxItems": 43
                  },
                  "im": {
                    "minItems": 43,
                    "maxItems": 43
                  },
                  "mag": {
                    "minItems": 43,
                    "maxItems": 43
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 44
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 44,
                    "maxItems": 44
                  },
                  "x_im": {
                    "minItems": 44,
                    "maxItems": 44
                  },
                  "re": {
                    "minItems": 44,
                    "maxItems": 44
                  },
                  "im": {
                    "minItems": 44,
                    "maxItems": 44
                  },
                  "mag": {
                    "minItems": 44,
                    "maxItems": 44
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 45
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 45,
                    "maxItems": 45
                  },
                  "x_im": {
                    "minItems": 45,
                    "maxItems": 45
                  },
                  "re": {
                    "minItems": 45,
                    "maxItems": 45
                  },
                  "im": {
                    "minItems": 45,
                    "maxItems": 45
                  },
                  "mag": {
                    "minItems": 45,
                    "maxItems": 45
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 46
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 46,
                    "maxItems": 46
                  },
                  "x_im": {
                    "minItems": 46,
                    "maxItems": 46
                  },
                  "re": {
                    "minItems": 46,
                    "maxItems": 46
                  },
                  "im": {
                    "minItems": 46,
                    "maxItems": 46
                  },
                  "mag": {
                    "minItems": 46,
                    "maxItems": 46
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 47
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 47,
                    "maxItems": 47
                  },
                  "x_im": {
                    "minItems": 47,
                    "maxItems": 47
                  },
                  "re": {
                    "minItems": 47,
                    "maxItems": 47
                  },
                  "im": {
                    "minItems": 47,
                    "maxItems": 47
                  },
                  "mag": {
                    "minItems": 47,
                    "maxItems": 47
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 48
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 48,
                    "maxItems": 48
                  },
                  "x_im": {
                    "minItems": 48,
                    "maxItems": 48
                  },
                  "re": {
                    "minItems": 48,
                    "maxItems": 48
                  },
                  "im": {
                    "minItems": 48,
                    "maxItems": 48
                  },
                  "mag": {
                    "minItems": 48,
                    "maxItems": 48
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 49
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 49,
                    "maxItems": 49
                  },
                  "x_im": {
                    "minItems": 49,
                    "maxItems": 49
                  },
                  "re": {
                    "minItems": 49,
                    "maxItems": 49
                  },
                  "im": {
                    "minItems": 49,
                    "maxItems": 49
                  },
                  "mag": {
                    "minItems": 49,
                    "maxItems": 49
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 50
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 50,
                    "maxItems": 50
                  },
                  "x_im": {
                    "minItems": 50,
                    "maxItems": 50
                  },
                  "re": {
                    "minItems": 50,
                    "maxItems": 50
                  },
                  "im": {
                    "minItems": 50,
                    "maxItems": 50
                  },
                  "mag": {
                    "minItems": 50,
                    "maxItems": 50
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 51
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 51,
                    "maxItems": 51
                  },
                  "x_im": {
                    "minItems": 51,
                    "maxItems": 51
                  },
                  "re": {
                    "minItems": 51,
                    "maxItems": 51
                  },
                  "im": {
                    "minItems": 51,
                    "maxItems": 51
                  },
                  "mag": {
                    "minItems": 51,
                    "maxItems": 51
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 52
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 52,
                    "maxItems": 52
                  },
                  "x_im": {
                    "minItems": 52,
                    "maxItems": 52
                  },
                  "re": {
                    "minItems": 52,
                    "maxItems": 52
                  },
                  "im": {
                    "minItems": 52,
                    "maxItems": 52
                  },
                  "mag": {
                    "minItems": 52,
                    "maxItems": 52
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 53
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 53,
                    "maxItems": 53
                  },
                  "x_im": {
                    "minItems": 53,
                    "maxItems": 53
                  },
                  "re": {
                    "minItems": 53,
                    "maxItems": 53
                  },
                  "im": {
                    "minItems": 53,
                    "maxItems": 53
                  },
                  "mag": {
                    "minItems": 53,
                    "maxItems": 53
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 54
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 54,
                    "maxItems": 54
                  },
                  "x_im": {
                    "minItems": 54,
                    "maxItems": 54
                  },
                  "re": {
                    "minItems": 54,
                    "maxItems": 54
                  },
                  "im": {
                    "minItems": 54,
                    "maxItems": 54
                  },
                  "mag": {
                    "minItems": 54,
                    "maxItems": 54
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 55
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 55,
                    "maxItems": 55
                  },
                  "x_im": {
                    "minItems": 55,
                    "maxItems": 55
                  },
                  "re": {
                    "minItems": 55,
                    "maxItems": 55
                  },
                  "im": {
                    "minItems": 55,
                    "maxItems": 55
                  },
                  "mag": {
                    "minItems": 55,
                    "maxItems": 55
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 56
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 56,
                    "maxItems": 56
                  },
                  "x_im": {
                    "minItems": 56,
                    "maxItems": 56
                  },
                  "re": {
                    "minItems": 56,
                    "maxItems": 56
                  },
                  "im": {
                    "minItems": 56,
                    "maxItems": 56
                  },
                  "mag": {
                    "minItems": 56,
                    "maxItems": 56
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 57
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 57,
                    "maxItems": 57
                  },
                  "x_im": {
                    "minItems": 57,
                    "maxItems": 57
                  },
                  "re": {
                    "minItems": 57,
                    "maxItems": 57
                  },
                  "im": {
                    "minItems": 57,
                    "maxItems": 57
                  },
                  "mag": {
                    "minItems": 57,
                    "maxItems": 57
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 58
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 58,
                    "maxItems": 58
                  },
                  "x_im": {
                    "minItems": 58,
                    "maxItems": 58
                  },
                  "re": {
                    "minItems": 58,
                    "maxItems": 58
                  },
                  "im": {
                    "minItems": 58,
                    "maxItems": 58
                  },
                  "mag": {
                    "minItems": 58,
                    "maxItems": 58
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 59
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 59,
                    "maxItems": 59
                  },
                  "x_im": {
                    "minItems": 59,
                    "maxItems": 59
                  },
                  "re": {
                    "minItems": 59,
                    "maxItems": 59
                  },
                  "im": {
                    "minItems": 59,
                    "maxItems": 59
                  },
                  "mag": {
                    "minItems": 59,
                    "maxItems": 59
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 60
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 60,
                    "maxItems": 60
                  },
                  "x_im": {
                    "minItems": 60,
                    "maxItems": 60
                  },
                  "re": {
                    "minItems": 60,
                    "maxItems": 60
                  },
                  "im": {
                    "minItems": 60,
                    "maxItems": 60
                  },
                  "mag": {
                    "minItems": 60,
                    "maxItems": 60
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 61
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 61,
                    "maxItems": 61
                  },
                  "x_im": {
                    "minItems": 61,
                    "maxItems": 61
                  },
                  "re": {
                    "minItems": 61,
                    "maxItems": 61
                  },
                  "im": {
                    "minItems": 61,
                    "maxItems": 61
                  },
                  "mag": {
                    "minItems": 61,
                    "maxItems": 61
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 62
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 62,
                    "maxItems": 62
                  },
                  "x_im": {
                    "minItems": 62,
                    "maxItems": 62
                  },
                  "re": {
                    "minItems": 62,
                    "maxItems": 62
                  },
                  "im": {
                    "minItems": 62,
                    "maxItems": 62
                  },
                  "mag": {
                    "minItems": 62,
                    "maxItems": 62
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 63
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 63,
                    "maxItems": 63
                  },
                  "x_im": {
                    "minItems": 63,
                    "maxItems": 63
                  },
                  "re": {
                    "minItems": 63,
                    "maxItems": 63
                  },
                  "im": {
                    "minItems": 63,
                    "maxItems": 63
                  },
                  "mag": {
                    "minItems": 63,
                    "maxItems": 63
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n": {
                    "const": 64
                  }
                },
                "required": [
                  "n"
                ]
              },
              "then": {
                "properties": {
                  "x_re": {
                    "minItems": 64,
                    "maxItems": 64
                  },
                  "x_im": {
                    "minItems": 64,
                    "maxItems": 64
                  },
                  "re": {
                    "minItems": 64,
                    "maxItems": 64
                  },
                  "im": {
                    "minItems": 64,
                    "maxItems": 64
                  },
                  "mag": {
                    "minItems": 64,
                    "maxItems": 64
                  }
                }
              }
            }
          ]
        },
        "unit": {
          "type": [
            "string",
            "null"
          ]
        },
        "formatted": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "formula": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "type": "string"
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "id": {
              "type": "string"
            },
            "expression": {
              "type": "string"
            },
            "label": {
              "type": "string"
            }
          }
        }
      ]
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "code"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "severity": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          },
          "suggestion": {
            "type": "string"
          }
        }
      }
    },
    "verification": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "tier",
        "engine_tested",
        "expert_reviewed",
        "source_checked",
        "reviewed_by",
        "reviewer_role",
        "last_reviewed"
      ],
      "properties": {
        "tier": {
          "type": "string",
          "enum": [
            "candidate",
            "engine_tested",
            "internally_reviewed",
            "expert_verified"
          ]
        },
        "engine_tested": {
          "type": "boolean"
        },
        "expert_reviewed": {
          "type": "boolean"
        },
        "internally_reviewed": {
          "type": "boolean"
        },
        "review_kind": {
          "type": [
            "string",
            "null"
          ]
        },
        "source_checked": {
          "type": "boolean"
        },
        "reviewed_by": {
          "type": [
            "string",
            "null"
          ]
        },
        "reviewer_role": {
          "type": [
            "string",
            "null"
          ]
        },
        "last_reviewed": {
          "type": [
            "string",
            "null"
          ]
        },
        "citation_kind": {
          "type": "string"
        },
        "expert_review": {
          "type": "string"
        },
        "domain_review": {
          "type": "string"
        },
        "calculation_version": {
          "type": "string"
        },
        "calc_tests": {
          "type": [
            "string",
            "null"
          ]
        },
        "tests_passed": {
          "type": [
            "integer",
            "null"
          ]
        },
        "tests_total": {
          "type": [
            "integer",
            "null"
          ]
        },
        "artifact_contract": {
          "type": [
            "string",
            "null"
          ]
        },
        "trust_peek": {
          "type": [
            "string",
            "null"
          ]
        },
        "verification_revision": {
          "type": "string"
        },
        "verified_scope": {
          "type": "string"
        },
        "evidence_digest": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "tier": {
                "const": "expert_verified"
              }
            },
            "required": [
              "tier"
            ]
          },
          "then": {
            "properties": {
              "engine_tested": {
                "const": true
              },
              "expert_reviewed": {
                "const": true
              },
              "source_checked": {
                "const": true
              },
              "reviewed_by": {
                "type": "string",
                "minLength": 1
              },
              "reviewer_role": {
                "type": "string",
                "minLength": 1
              },
              "last_reviewed": {
                "type": "string",
                "minLength": 1
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "tier": {
                "const": "internally_reviewed"
              }
            },
            "required": [
              "tier"
            ]
          },
          "then": {
            "properties": {
              "engine_tested": {
                "const": true
              },
              "internally_reviewed": {
                "const": true
              },
              "source_checked": {
                "const": true
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "tier": {
                "const": "engine_tested"
              }
            },
            "required": [
              "tier"
            ]
          },
          "then": {
            "properties": {
              "engine_tested": {
                "const": true
              }
            }
          }
        }
      ]
    },
    "calculation_version": {
      "type": "string",
      "const": "1.2.3"
    },
    "api_version": {
      "type": "string"
    },
    "api_contract_version": {
      "type": "string"
    },
    "spec_version": {
      "type": "string"
    },
    "page": {
      "type": [
        "string",
        "null"
      ],
      "description": "Canonical calculator page URL"
    },
    "links": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "schema_input": {
          "type": "string",
          "format": "uri"
        },
        "schema_output": {
          "type": "string",
          "format": "uri"
        },
        "evidence": {
          "type": "string",
          "format": "uri"
        },
        "openapi": {
          "type": "string",
          "format": "uri"
        },
        "capabilities": {
          "type": "string",
          "format": "uri"
        },
        "mcp": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}
