{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://www.calculatorx.com/schemas/math.complex/1.3.0/output.json",
  "title": "Complex numbers — 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.complex"
    },
    "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",
        "re",
        "im",
        "r",
        "arg_deg",
        "euler",
        "cis",
        "formula"
      ],
      "properties": {
        "re": {
          "type": "number",
          "anyOf": [
            {
              "const": 0
            },
            {
              "minimum": 2.2250738585072014e-308
            },
            {
              "maximum": -2.2250738585072014e-308
            }
          ]
        },
        "im": {
          "type": "number",
          "anyOf": [
            {
              "const": 0
            },
            {
              "minimum": 2.2250738585072014e-308
            },
            {
              "maximum": -2.2250738585072014e-308
            }
          ]
        },
        "r": {
          "type": "number",
          "minimum": 0,
          "anyOf": [
            {
              "const": 0
            },
            {
              "minimum": 2.2250738585072014e-308
            }
          ]
        },
        "arg_deg": {
          "type": "number",
          "exclusiveMinimum": -180,
          "maximum": 180,
          "x-unit": "deg",
          "x-unit-id": "cx:deg",
          "x-quantity-kind": "plane_angle",
          "x-role": "scalar",
          "x-dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "x-uuce-unit": {
            "unit_id": "cx:deg",
            "revision": "1.0.0",
            "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
            "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
            "quantity_kind": "plane_angle",
            "dimension": [
              0,
              0,
              0,
              0,
              0,
              0,
              0
            ],
            "registry_version": "0.3.0-preview.3",
            "digest_contract": "calculatorx-unit-definition-digests-v2",
            "registry_status": "preview",
            "definition_lifecycle": "candidate",
            "role": "scalar"
          }
        },
        "euler": {
          "type": "string"
        },
        "cis": {
          "type": "string"
        },
        "k": {
          "type": "integer",
          "minimum": 0,
          "maximum": 63
        },
        "mode": {
          "enum": [
            "add",
            "sub",
            "mul",
            "div",
            "rect_to_polar",
            "polar_to_rect",
            "conjugate",
            "modulus",
            "power",
            "root",
            "euler"
          ]
        },
        "formula": {
          "type": "string"
        },
        "n": {
          "type": "integer",
          "minimum": -1000,
          "maximum": 1000
        },
        "n_roots": {
          "type": "integer",
          "minimum": 1,
          "maximum": 64
        },
        "roots": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "re": {
                "type": "number",
                "anyOf": [
                  {
                    "const": 0
                  },
                  {
                    "minimum": 2.2250738585072014e-308
                  },
                  {
                    "maximum": -2.2250738585072014e-308
                  }
                ]
              },
              "im": {
                "type": "number",
                "anyOf": [
                  {
                    "const": 0
                  },
                  {
                    "minimum": 2.2250738585072014e-308
                  },
                  {
                    "maximum": -2.2250738585072014e-308
                  }
                ]
              },
              "r": {
                "type": "number",
                "minimum": 0,
                "anyOf": [
                  {
                    "const": 0
                  },
                  {
                    "minimum": 2.2250738585072014e-308
                  }
                ]
              },
              "arg_deg": {
                "type": "number",
                "exclusiveMinimum": -180,
                "maximum": 180,
                "x-unit": "deg",
                "x-unit-id": "cx:deg",
                "x-quantity-kind": "plane_angle",
                "x-role": "scalar",
                "x-dimension": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "x-uuce-unit": {
                  "unit_id": "cx:deg",
                  "revision": "1.0.0",
                  "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                  "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                  "quantity_kind": "plane_angle",
                  "dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "registry_version": "0.3.0-preview.3",
                  "digest_contract": "calculatorx-unit-definition-digests-v2",
                  "registry_status": "preview",
                  "definition_lifecycle": "candidate",
                  "role": "scalar"
                }
              },
              "euler": {
                "type": "string"
              },
              "cis": {
                "type": "string"
              },
              "k": {
                "type": "integer",
                "minimum": 0,
                "maximum": 63
              }
            },
            "required": [
              "re",
              "im",
              "r",
              "arg_deg",
              "euler",
              "cis",
              "k"
            ]
          }
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "root"
              }
            }
          },
          "then": {
            "required": [
              "n",
              "k",
              "n_roots",
              "roots"
            ],
            "properties": {
              "n": {
                "minimum": 2,
                "maximum": 64
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "mode": {
                "const": "power"
              }
            }
          },
          "then": {
            "required": [
              "n"
            ]
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 1
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 1,
                "maxItems": 1,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  }
                ]
              },
              "re": {
                "const": 0
              },
              "im": {
                "const": 0
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 2
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 2,
                "maxItems": 2,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 2
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 3
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 3,
                "maxItems": 3,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 3
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 4
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 4,
                "maxItems": 4,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 4
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 5
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 5,
                "maxItems": 5,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 5
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 6
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 6,
                "maxItems": 6,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 6
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 7
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 7,
                "maxItems": 7,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 7
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 8
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 8,
                "maxItems": 8,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 8
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 9
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 9,
                "maxItems": 9,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 9
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 10
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 10,
                "maxItems": 10,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 10
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 11
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 11,
                "maxItems": 11,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 11
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 12
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 12,
                "maxItems": 12,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 12
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 13
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 13,
                "maxItems": 13,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 13
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 14
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 14,
                "maxItems": 14,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 14
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 15
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 15,
                "maxItems": 15,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 15
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 16
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 16,
                "maxItems": 16,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 16
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 17
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 17,
                "maxItems": 17,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 17
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 18
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 18,
                "maxItems": 18,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 18
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 19
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 19,
                "maxItems": 19,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 19
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 20
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 20,
                "maxItems": 20,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 20
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 21
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 21,
                "maxItems": 21,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 21
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 22
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 22,
                "maxItems": 22,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 22
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 23
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 23,
                "maxItems": 23,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 23
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 24
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 24,
                "maxItems": 24,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 24
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 25
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 25,
                "maxItems": 25,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 25
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 26
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 26,
                "maxItems": 26,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 26
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 27
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 27,
                "maxItems": 27,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 27
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 28
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 28,
                "maxItems": 28,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 28
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 29
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 29,
                "maxItems": 29,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 29
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 30
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 30,
                "maxItems": 30,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 30
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 31
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 31,
                "maxItems": 31,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 31
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 32
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 32,
                "maxItems": 32,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 32
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 33
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 33,
                "maxItems": 33,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 33
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 34
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 34,
                "maxItems": 34,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 34
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 35
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 35,
                "maxItems": 35,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 35
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 36
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 36,
                "maxItems": 36,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 36
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 37
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 37,
                "maxItems": 37,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 37
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 38
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 38,
                "maxItems": 38,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 38
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 39
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 39,
                "maxItems": 39,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 39
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 40
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 40,
                "maxItems": 40,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 40
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 41
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 41,
                "maxItems": 41,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 41
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 42
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 42,
                "maxItems": 42,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 42
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 43
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 43,
                "maxItems": 43,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 43
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 44
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 44,
                "maxItems": 44,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 44
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 45
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 45,
                "maxItems": 45,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 45
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 46
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 46,
                "maxItems": 46,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 46
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 47
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 47,
                "maxItems": 47,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 47
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 48
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 48,
                "maxItems": 48,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 48
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 49
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 49,
                "maxItems": 49,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 49
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 50
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 50,
                "maxItems": 50,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 50
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 51
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 51,
                "maxItems": 51,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 51
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 52
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 52,
                "maxItems": 52,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 52
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 53
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 53,
                "maxItems": 53,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 53
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 54
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 54,
                "maxItems": 54,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 54
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 55
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 55,
                "maxItems": 55,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 55
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 56
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 56,
                "maxItems": 56,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 56
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 57
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 57,
                "maxItems": 57,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 57
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 58
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 58,
                "maxItems": 58,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 58
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 59
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 59,
                "maxItems": 59,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 58
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 59
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 60
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 60,
                "maxItems": 60,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 58
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 59
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 60
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 61
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 61,
                "maxItems": 61,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 58
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 59
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 60
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 61
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 62
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 62,
                "maxItems": 62,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 58
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 59
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 60
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 61
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 62
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 63
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 63,
                "maxItems": 63,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 58
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 59
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 60
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 61
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 62
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 63
              }
            }
          }
        },
        {
          "if": {
            "properties": {
              "n_roots": {
                "const": 64
              }
            },
            "required": [
              "n_roots"
            ]
          },
          "then": {
            "properties": {
              "roots": {
                "minItems": 64,
                "maxItems": 64,
                "prefixItems": [
                  {
                    "properties": {
                      "k": {
                        "const": 0
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 1
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 2
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 3
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 4
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 5
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 6
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 7
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 8
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 9
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 10
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 11
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 12
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 13
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 14
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 15
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 16
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 17
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 18
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 19
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 20
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 21
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 22
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 23
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 24
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 25
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 26
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 27
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 28
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 29
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 30
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 31
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 32
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 33
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 34
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 35
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 36
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 37
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 38
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 39
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 40
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 41
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 42
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 43
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 44
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 45
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 46
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 47
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 48
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 49
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 50
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 51
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 52
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 53
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 54
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 55
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 56
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 57
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 58
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 59
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 60
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 61
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 62
                      }
                    }
                  },
                  {
                    "properties": {
                      "k": {
                        "const": 63
                      }
                    }
                  }
                ]
              },
              "n": {
                "const": 64
              }
            }
          }
        }
      ]
    },
    "result_detail": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "value",
        "unit",
        "formatted"
      ],
      "properties": {
        "unit_contract": {
          "type": "object",
          "const": {
            "protocol": "calculatorx-field-unit-contract-v1",
            "capability_id": "math.complex",
            "registry_version": "0.3.0-preview.3",
            "declaration_scope": "Field/branch declarations only; inactive fields are not asserted to exist. No conversion-engine migration or new numerical certification.",
            "path_format": "Paths relative to inputs or result_detail.value; dot separates properties, * denotes array items, $ denotes a scalar result.",
            "inputs": {
              "arg_deg": {
                "unit": "deg",
                "reference": {
                  "unit_id": "cx:deg",
                  "revision": "1.0.0",
                  "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                  "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                  "quantity_kind": "plane_angle",
                  "dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "registry_version": "0.3.0-preview.3",
                  "digest_contract": "calculatorx-unit-definition-digests-v2",
                  "registry_status": "preview",
                  "definition_lifecycle": "candidate",
                  "role": "scalar"
                }
              },
              "arg": {
                "unit": "deg",
                "reference": {
                  "unit_id": "cx:deg",
                  "revision": "1.0.0",
                  "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                  "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                  "quantity_kind": "plane_angle",
                  "dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "registry_version": "0.3.0-preview.3",
                  "digest_contract": "calculatorx-unit-definition-digests-v2",
                  "registry_status": "preview",
                  "definition_lifecycle": "candidate",
                  "role": "scalar"
                }
              }
            },
            "outputs": {
              "arg_deg": {
                "unit": "deg",
                "reference": {
                  "unit_id": "cx:deg",
                  "revision": "1.0.0",
                  "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                  "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                  "quantity_kind": "plane_angle",
                  "dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "registry_version": "0.3.0-preview.3",
                  "digest_contract": "calculatorx-unit-definition-digests-v2",
                  "registry_status": "preview",
                  "definition_lifecycle": "candidate",
                  "role": "scalar"
                }
              },
              "roots.*.arg_deg": {
                "unit": "deg",
                "reference": {
                  "unit_id": "cx:deg",
                  "revision": "1.0.0",
                  "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                  "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                  "quantity_kind": "plane_angle",
                  "dimension": [
                    0,
                    0,
                    0,
                    0,
                    0,
                    0,
                    0
                  ],
                  "registry_version": "0.3.0-preview.3",
                  "digest_contract": "calculatorx-unit-definition-digests-v2",
                  "registry_status": "preview",
                  "definition_lifecycle": "candidate",
                  "role": "scalar"
                }
              }
            },
            "applicability": "Angular fields apply only when present in the selected complex operation; formatted euler/cis strings are not measured fields."
          }
        },
        "value": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "mode",
            "re",
            "im",
            "r",
            "arg_deg",
            "euler",
            "cis",
            "formula"
          ],
          "properties": {
            "re": {
              "type": "number",
              "anyOf": [
                {
                  "const": 0
                },
                {
                  "minimum": 2.2250738585072014e-308
                },
                {
                  "maximum": -2.2250738585072014e-308
                }
              ]
            },
            "im": {
              "type": "number",
              "anyOf": [
                {
                  "const": 0
                },
                {
                  "minimum": 2.2250738585072014e-308
                },
                {
                  "maximum": -2.2250738585072014e-308
                }
              ]
            },
            "r": {
              "type": "number",
              "minimum": 0,
              "anyOf": [
                {
                  "const": 0
                },
                {
                  "minimum": 2.2250738585072014e-308
                }
              ]
            },
            "arg_deg": {
              "type": "number",
              "exclusiveMinimum": -180,
              "maximum": 180,
              "x-unit": "deg",
              "x-unit-id": "cx:deg",
              "x-quantity-kind": "plane_angle",
              "x-role": "scalar",
              "x-dimension": [
                0,
                0,
                0,
                0,
                0,
                0,
                0
              ],
              "x-uuce-unit": {
                "unit_id": "cx:deg",
                "revision": "1.0.0",
                "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                "quantity_kind": "plane_angle",
                "dimension": [
                  0,
                  0,
                  0,
                  0,
                  0,
                  0,
                  0
                ],
                "registry_version": "0.3.0-preview.3",
                "digest_contract": "calculatorx-unit-definition-digests-v2",
                "registry_status": "preview",
                "definition_lifecycle": "candidate",
                "role": "scalar"
              }
            },
            "euler": {
              "type": "string"
            },
            "cis": {
              "type": "string"
            },
            "k": {
              "type": "integer",
              "minimum": 0,
              "maximum": 63
            },
            "mode": {
              "enum": [
                "add",
                "sub",
                "mul",
                "div",
                "rect_to_polar",
                "polar_to_rect",
                "conjugate",
                "modulus",
                "power",
                "root",
                "euler"
              ]
            },
            "formula": {
              "type": "string"
            },
            "n": {
              "type": "integer",
              "minimum": -1000,
              "maximum": 1000
            },
            "n_roots": {
              "type": "integer",
              "minimum": 1,
              "maximum": 64
            },
            "roots": {
              "type": "array",
              "minItems": 1,
              "maxItems": 64,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "re": {
                    "type": "number",
                    "anyOf": [
                      {
                        "const": 0
                      },
                      {
                        "minimum": 2.2250738585072014e-308
                      },
                      {
                        "maximum": -2.2250738585072014e-308
                      }
                    ]
                  },
                  "im": {
                    "type": "number",
                    "anyOf": [
                      {
                        "const": 0
                      },
                      {
                        "minimum": 2.2250738585072014e-308
                      },
                      {
                        "maximum": -2.2250738585072014e-308
                      }
                    ]
                  },
                  "r": {
                    "type": "number",
                    "minimum": 0,
                    "anyOf": [
                      {
                        "const": 0
                      },
                      {
                        "minimum": 2.2250738585072014e-308
                      }
                    ]
                  },
                  "arg_deg": {
                    "type": "number",
                    "exclusiveMinimum": -180,
                    "maximum": 180,
                    "x-unit": "deg",
                    "x-unit-id": "cx:deg",
                    "x-quantity-kind": "plane_angle",
                    "x-role": "scalar",
                    "x-dimension": [
                      0,
                      0,
                      0,
                      0,
                      0,
                      0,
                      0
                    ],
                    "x-uuce-unit": {
                      "unit_id": "cx:deg",
                      "revision": "1.0.0",
                      "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
                      "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
                      "quantity_kind": "plane_angle",
                      "dimension": [
                        0,
                        0,
                        0,
                        0,
                        0,
                        0,
                        0
                      ],
                      "registry_version": "0.3.0-preview.3",
                      "digest_contract": "calculatorx-unit-definition-digests-v2",
                      "registry_status": "preview",
                      "definition_lifecycle": "candidate",
                      "role": "scalar"
                    }
                  },
                  "euler": {
                    "type": "string"
                  },
                  "cis": {
                    "type": "string"
                  },
                  "k": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 63
                  }
                },
                "required": [
                  "re",
                  "im",
                  "r",
                  "arg_deg",
                  "euler",
                  "cis",
                  "k"
                ]
              }
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "mode": {
                    "const": "root"
                  }
                }
              },
              "then": {
                "required": [
                  "n",
                  "k",
                  "n_roots",
                  "roots"
                ],
                "properties": {
                  "n": {
                    "minimum": 2,
                    "maximum": 64
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "mode": {
                    "const": "power"
                  }
                }
              },
              "then": {
                "required": [
                  "n"
                ]
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 1
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 1,
                    "maxItems": 1,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      }
                    ]
                  },
                  "re": {
                    "const": 0
                  },
                  "im": {
                    "const": 0
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 2
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 2,
                    "maxItems": 2,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 2
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 3
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 3,
                    "maxItems": 3,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 3
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 4
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 4,
                    "maxItems": 4,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 4
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 5
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 5,
                    "maxItems": 5,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 5
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 6
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 6,
                    "maxItems": 6,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 6
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 7
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 7,
                    "maxItems": 7,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 7
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 8
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 8,
                    "maxItems": 8,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 8
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 9
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 9,
                    "maxItems": 9,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 9
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 10
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 10,
                    "maxItems": 10,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 10
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 11
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 11,
                    "maxItems": 11,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 11
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 12
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 12,
                    "maxItems": 12,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 12
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 13
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 13,
                    "maxItems": 13,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 13
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 14
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 14,
                    "maxItems": 14,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 14
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 15
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 15,
                    "maxItems": 15,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 15
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 16
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 16,
                    "maxItems": 16,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 16
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 17
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 17,
                    "maxItems": 17,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 17
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 18
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 18,
                    "maxItems": 18,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 18
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 19
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 19,
                    "maxItems": 19,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 19
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 20
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 20,
                    "maxItems": 20,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 20
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 21
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 21,
                    "maxItems": 21,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 21
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 22
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 22,
                    "maxItems": 22,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 22
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 23
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 23,
                    "maxItems": 23,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 23
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 24
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 24,
                    "maxItems": 24,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 24
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 25
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 25,
                    "maxItems": 25,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 25
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 26
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 26,
                    "maxItems": 26,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 26
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 27
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 27,
                    "maxItems": 27,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 27
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 28
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 28,
                    "maxItems": 28,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 28
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 29
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 29,
                    "maxItems": 29,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 29
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 30
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 30,
                    "maxItems": 30,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 30
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 31
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 31,
                    "maxItems": 31,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 31
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 32
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 32,
                    "maxItems": 32,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 32
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 33
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 33,
                    "maxItems": 33,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 33
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 34
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 34,
                    "maxItems": 34,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 34
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 35
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 35,
                    "maxItems": 35,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 35
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 36
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 36,
                    "maxItems": 36,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 36
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 37
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 37,
                    "maxItems": 37,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 37
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 38
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 38,
                    "maxItems": 38,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 38
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 39
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 39,
                    "maxItems": 39,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 39
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 40
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 40,
                    "maxItems": 40,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 40
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 41
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 41,
                    "maxItems": 41,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 41
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 42
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 42,
                    "maxItems": 42,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 42
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 43
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 43,
                    "maxItems": 43,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 43
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 44
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 44,
                    "maxItems": 44,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 44
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 45
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 45,
                    "maxItems": 45,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 45
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 46
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 46,
                    "maxItems": 46,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 46
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 47
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 47,
                    "maxItems": 47,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 47
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 48
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 48,
                    "maxItems": 48,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 48
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 49
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 49,
                    "maxItems": 49,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 49
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 50
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 50,
                    "maxItems": 50,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 50
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 51
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 51,
                    "maxItems": 51,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 51
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 52
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 52,
                    "maxItems": 52,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 52
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 53
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 53,
                    "maxItems": 53,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 53
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 54
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 54,
                    "maxItems": 54,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 54
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 55
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 55,
                    "maxItems": 55,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 55
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 56
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 56,
                    "maxItems": 56,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 56
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 57
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 57,
                    "maxItems": 57,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 57
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 58
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 58,
                    "maxItems": 58,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 58
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 59
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 59,
                    "maxItems": 59,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 58
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 59
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 60
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 60,
                    "maxItems": 60,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 58
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 59
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 60
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 61
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 61,
                    "maxItems": 61,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 58
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 59
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 60
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 61
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 62
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 62,
                    "maxItems": 62,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 58
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 59
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 60
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 61
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 62
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 63
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 63,
                    "maxItems": 63,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 58
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 59
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 60
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 61
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 62
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 63
                  }
                }
              }
            },
            {
              "if": {
                "properties": {
                  "n_roots": {
                    "const": 64
                  }
                },
                "required": [
                  "n_roots"
                ]
              },
              "then": {
                "properties": {
                  "roots": {
                    "minItems": 64,
                    "maxItems": 64,
                    "prefixItems": [
                      {
                        "properties": {
                          "k": {
                            "const": 0
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 1
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 2
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 3
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 4
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 5
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 6
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 7
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 8
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 9
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 10
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 11
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 12
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 13
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 14
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 15
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 16
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 17
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 18
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 19
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 20
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 21
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 22
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 23
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 24
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 25
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 26
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 27
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 28
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 29
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 30
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 31
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 32
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 33
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 34
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 35
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 36
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 37
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 38
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 39
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 40
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 41
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 42
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 43
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 44
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 45
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 46
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 47
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 48
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 49
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 50
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 51
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 52
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 53
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 54
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 55
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 56
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 57
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 58
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 59
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 60
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 61
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 62
                          }
                        }
                      },
                      {
                        "properties": {
                          "k": {
                            "const": 63
                          }
                        }
                      }
                    ]
                  },
                  "n": {
                    "const": 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.3.0"
    },
    "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"
        }
      }
    }
  },
  "x-unit-contract": {
    "protocol": "calculatorx-field-unit-contract-v1",
    "capability_id": "math.complex",
    "registry_version": "0.3.0-preview.3",
    "declaration_scope": "Field/branch declarations only; inactive fields are not asserted to exist. No conversion-engine migration or new numerical certification.",
    "path_format": "Paths relative to inputs or result_detail.value; dot separates properties, * denotes array items, $ denotes a scalar result.",
    "inputs": {
      "arg_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "arg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "outputs": {
      "arg_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      },
      "roots.*.arg_deg": {
        "unit": "deg",
        "reference": {
          "unit_id": "cx:deg",
          "revision": "1.0.0",
          "content_digest": "ebb31e3abee53f3bf57339c87949e1018d141739fba8a07f54c42ebfd219262b",
          "dependency_digest": "eef386126ec6524884c84bab06f2a96996df913376c0ce5ccdaca0e7faf7b9c3",
          "quantity_kind": "plane_angle",
          "dimension": [
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ],
          "registry_version": "0.3.0-preview.3",
          "digest_contract": "calculatorx-unit-definition-digests-v2",
          "registry_status": "preview",
          "definition_lifecycle": "candidate",
          "role": "scalar"
        }
      }
    },
    "applicability": "Angular fields apply only when present in the selected complex operation; formatted euler/cis strings are not measured fields."
  }
}
