{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "contract": {
      "type": "string",
      "const": "RenderNode"
    },
    "nodeId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "kind": {
      "type": "string",
      "enum": [
        "shell",
        "page",
        "navigation",
        "view",
        "record",
        "control",
        "detail",
        "action",
        "overlay",
        "professional-provider"
      ]
    },
    "version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "ownerRepo": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "parentNodeId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "children": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 256
      }
    },
    "slot": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "pageRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "semanticRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "dataContextRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "capabilityRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "runtimeContractVersion": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "providerRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "stateRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "surface": {
      "type": "object",
      "properties": {
        "frameOwner": {
          "type": "string",
          "enum": [
            "host",
            "provider",
            "none"
          ]
        },
        "tone": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "density": {
          "type": "string",
          "enum": [
            "compact",
            "default",
            "comfortable"
          ]
        }
      },
      "required": [
        "frameOwner",
        "density"
      ],
      "additionalProperties": false
    },
    "scroll": {
      "type": "object",
      "properties": {
        "owner": {
          "type": "string",
          "enum": [
            "page",
            "surface",
            "provider"
          ]
        },
        "axis": {
          "type": "string",
          "enum": [
            "x",
            "y",
            "both",
            "none"
          ]
        },
        "restoreKey": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "virtualizationBoundary": {
          "type": "boolean"
        }
      },
      "required": [
        "owner",
        "axis",
        "virtualizationBoundary"
      ],
      "additionalProperties": false
    },
    "activation": {
      "type": "object",
      "properties": {
        "activationId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "mode": {
          "type": "string",
          "enum": [
            "navigate",
            "select",
            "drawer",
            "modal",
            "fullscreen",
            "inline"
          ]
        },
        "targetPath": {
          "type": "string",
          "pattern": "^\\/(?!\\/)"
        },
        "history": {
          "type": "string",
          "enum": [
            "push",
            "replace"
          ]
        }
      },
      "required": [
        "activationId",
        "mode"
      ],
      "additionalProperties": false
    },
    "lifecycle": {
      "type": "object",
      "properties": {
        "mountPolicy": {
          "type": "string",
          "enum": [
            "always",
            "when-visible",
            "when-active"
          ]
        },
        "queryPolicy": {
          "type": "string",
          "enum": [
            "always",
            "when-visible",
            "when-active",
            "manual"
          ]
        },
        "retainOnDeactivate": {
          "type": "boolean"
        },
        "deepLink": {
          "type": "boolean"
        },
        "focusReturn": {
          "type": "boolean"
        }
      },
      "required": [
        "mountPolicy",
        "queryPolicy",
        "retainOnDeactivate",
        "deepLink",
        "focusReturn"
      ],
      "additionalProperties": false
    },
    "layout": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "contents",
            "block",
            "flex",
            "grid",
            "absolute"
          ]
        },
        "direction": {
          "type": "string",
          "enum": [
            "row",
            "column"
          ]
        },
        "columns": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "align": {
          "type": "string",
          "enum": [
            "start",
            "center",
            "end",
            "stretch"
          ]
        },
        "justify": {
          "type": "string",
          "enum": [
            "start",
            "center",
            "end",
            "between",
            "around"
          ]
        },
        "gapTokenRef": {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            },
            "version": {
              "anyOf": [
                {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                {
                  "type": "string",
                  "minLength": 1
                }
              ]
            },
            "ownerRepo": {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          },
          "required": [
            "kind",
            "id"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "mode"
      ],
      "additionalProperties": false
    },
    "style": {
      "type": "object",
      "properties": {
        "width": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "height": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "minWidth": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "maxWidth": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "minHeight": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "maxHeight": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "padding": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "paddingBlock": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "paddingInline": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "margin": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "marginBlockStart": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "marginBlockEnd": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "marginInlineStart": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "marginInlineEnd": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "display": {
          "type": "string",
          "enum": [
            "none",
            "block",
            "inline",
            "inline-block",
            "flex",
            "inline-flex",
            "grid",
            "contents"
          ]
        },
        "gap": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "rowGap": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "columnGap": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "background": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "color": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "borderColor": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "borderWidth": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "borderStyle": {
          "type": "string",
          "enum": [
            "none",
            "solid",
            "dashed",
            "dotted"
          ]
        },
        "borderRadius": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "boxShadow": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "fontSize": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "fontFamily": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "fontWeight": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "lineHeight": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "textAlign": {
          "type": "string",
          "enum": [
            "start",
            "center",
            "end",
            "left",
            "right"
          ]
        },
        "whiteSpace": {
          "type": "string",
          "enum": [
            "normal",
            "nowrap",
            "pre",
            "pre-wrap",
            "pre-line",
            "break-spaces"
          ]
        },
        "overflow": {
          "type": "string",
          "enum": [
            "visible",
            "hidden",
            "auto",
            "scroll",
            "clip"
          ]
        },
        "overflowX": {
          "type": "string",
          "enum": [
            "visible",
            "hidden",
            "auto",
            "scroll",
            "clip"
          ]
        },
        "overflowY": {
          "type": "string",
          "enum": [
            "visible",
            "hidden",
            "auto",
            "scroll",
            "clip"
          ]
        },
        "position": {
          "type": "string",
          "enum": [
            "static",
            "relative",
            "absolute",
            "sticky",
            "fixed"
          ]
        },
        "inset": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "top": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "right": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "bottom": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "left": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "gridTemplateColumns": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "gridColumn": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "gridRow": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "flex": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 256
            }
          ]
        },
        "flexDirection": {
          "type": "string",
          "enum": [
            "row",
            "row-reverse",
            "column",
            "column-reverse"
          ]
        },
        "flexWrap": {
          "type": "string",
          "enum": [
            "nowrap",
            "wrap",
            "wrap-reverse"
          ]
        },
        "alignItems": {
          "type": "string",
          "enum": [
            "start",
            "center",
            "end",
            "stretch",
            "baseline"
          ]
        },
        "justifyContent": {
          "type": "string",
          "enum": [
            "start",
            "center",
            "end",
            "space-between",
            "space-around",
            "space-evenly"
          ]
        },
        "flexGrow": {
          "type": "number",
          "minimum": 0
        },
        "flexShrink": {
          "type": "number",
          "minimum": 0
        },
        "alignSelf": {
          "type": "string",
          "enum": [
            "auto",
            "start",
            "center",
            "end",
            "stretch"
          ]
        },
        "justifySelf": {
          "type": "string",
          "enum": [
            "auto",
            "start",
            "center",
            "end",
            "stretch"
          ]
        },
        "objectFit": {
          "type": "string",
          "enum": [
            "contain",
            "cover",
            "fill",
            "none",
            "scale-down"
          ]
        },
        "opacity": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        }
      },
      "additionalProperties": false
    },
    "responsive": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "minWidthPx": {
            "type": "number",
            "minimum": 0
          },
          "maxWidthPx": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "layout": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "contents",
                  "block",
                  "flex",
                  "grid",
                  "absolute"
                ]
              },
              "direction": {
                "type": "string",
                "enum": [
                  "row",
                  "column"
                ]
              },
              "columns": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "align": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "stretch"
                ]
              },
              "justify": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "between",
                  "around"
                ]
              },
              "gapTokenRef": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "version": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      },
                      {
                        "type": "string",
                        "minLength": 1
                      }
                    ]
                  },
                  "ownerRepo": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "mode"
            ],
            "additionalProperties": false
          },
          "style": {
            "type": "object",
            "properties": {
              "width": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "height": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "minWidth": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "maxWidth": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "minHeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "maxHeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "padding": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "paddingBlock": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "paddingInline": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "margin": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginBlockStart": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginBlockEnd": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginInlineStart": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "marginInlineEnd": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "display": {
                "type": "string",
                "enum": [
                  "none",
                  "block",
                  "inline",
                  "inline-block",
                  "flex",
                  "inline-flex",
                  "grid",
                  "contents"
                ]
              },
              "gap": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "rowGap": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "columnGap": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "background": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "color": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "borderColor": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "borderWidth": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "borderStyle": {
                "type": "string",
                "enum": [
                  "none",
                  "solid",
                  "dashed",
                  "dotted"
                ]
              },
              "borderRadius": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "boxShadow": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "fontSize": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "fontFamily": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "fontWeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "lineHeight": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "textAlign": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "left",
                  "right"
                ]
              },
              "whiteSpace": {
                "type": "string",
                "enum": [
                  "normal",
                  "nowrap",
                  "pre",
                  "pre-wrap",
                  "pre-line",
                  "break-spaces"
                ]
              },
              "overflow": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden",
                  "auto",
                  "scroll",
                  "clip"
                ]
              },
              "overflowX": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden",
                  "auto",
                  "scroll",
                  "clip"
                ]
              },
              "overflowY": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden",
                  "auto",
                  "scroll",
                  "clip"
                ]
              },
              "position": {
                "type": "string",
                "enum": [
                  "static",
                  "relative",
                  "absolute",
                  "sticky",
                  "fixed"
                ]
              },
              "inset": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "top": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "right": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "bottom": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "left": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "gridTemplateColumns": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "gridColumn": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "gridRow": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "flex": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 256
                  }
                ]
              },
              "flexDirection": {
                "type": "string",
                "enum": [
                  "row",
                  "row-reverse",
                  "column",
                  "column-reverse"
                ]
              },
              "flexWrap": {
                "type": "string",
                "enum": [
                  "nowrap",
                  "wrap",
                  "wrap-reverse"
                ]
              },
              "alignItems": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "stretch",
                  "baseline"
                ]
              },
              "justifyContent": {
                "type": "string",
                "enum": [
                  "start",
                  "center",
                  "end",
                  "space-between",
                  "space-around",
                  "space-evenly"
                ]
              },
              "flexGrow": {
                "type": "number",
                "minimum": 0
              },
              "flexShrink": {
                "type": "number",
                "minimum": 0
              },
              "alignSelf": {
                "type": "string",
                "enum": [
                  "auto",
                  "start",
                  "center",
                  "end",
                  "stretch"
                ]
              },
              "justifySelf": {
                "type": "string",
                "enum": [
                  "auto",
                  "start",
                  "center",
                  "end",
                  "stretch"
                ]
              },
              "objectFit": {
                "type": "string",
                "enum": [
                  "contain",
                  "cover",
                  "fill",
                  "none",
                  "scale-down"
                ]
              },
              "opacity": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "layout"
        ],
        "additionalProperties": false
      }
    },
    "accessRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "evidenceRef": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        },
        "version": {
          "anyOf": [
            {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "string",
              "minLength": 1
            }
          ]
        },
        "ownerRepo": {
          "type": "string",
          "minLength": 1,
          "maxLength": 256
        }
      },
      "required": [
        "kind",
        "id"
      ],
      "additionalProperties": false
    },
    "state": {
      "type": "string",
      "enum": [
        "idle",
        "loading",
        "empty",
        "error",
        "success",
        "disabled",
        "selected"
      ]
    },
    "renderModel": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "$ref": "#/$defs/__schema0"
      }
    },
    "repeat": {
      "type": "object",
      "properties": {
        "source": {
          "$ref": "#/$defs/__schema1"
        },
        "keyPath": {
          "minItems": 1,
          "maxItems": 16,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 256
          }
        },
        "limit": {
          "default": 200,
          "type": "integer",
          "minimum": 1,
          "maximum": 1000
        }
      },
      "required": [
        "source",
        "keyPath",
        "limit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "contract",
    "nodeId",
    "kind",
    "version",
    "ownerRepo",
    "children",
    "pageRef",
    "capabilityRef",
    "surface",
    "scroll",
    "activation",
    "lifecycle",
    "layout",
    "responsive",
    "state",
    "renderModel"
  ],
  "additionalProperties": false,
  "$defs": {
    "__schema0": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        },
        {
          "type": "boolean"
        },
        {
          "type": "null"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/__schema0"
          }
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {
            "$ref": "#/$defs/__schema0"
          }
        }
      ]
    },
    "__schema1": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "literal"
            },
            "value": {
              "$ref": "#/$defs/__schema0"
            }
          },
          "required": [
            "kind",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "read"
            },
            "root": {
              "type": "string",
              "enum": [
                "state",
                "model",
                "bindings",
                "queries",
                "scope",
                "intent",
                "result",
                "actions"
              ]
            },
            "path": {
              "maxItems": 16,
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              }
            }
          },
          "required": [
            "kind",
            "root",
            "path"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "operator"
            },
            "operator": {
              "type": "string",
              "enum": [
                "add",
                "subtract",
                "multiply",
                "divide",
                "min",
                "max",
                "round",
                "equals",
                "not-equals",
                "less-than",
                "less-or-equal",
                "greater-than",
                "greater-or-equal",
                "and",
                "or",
                "not",
                "coalesce",
                "concat",
                "string",
                "number",
                "length",
                "includes",
                "get",
                "set-path",
                "merge",
                "entries",
                "from-entries",
                "array-concat",
                "slice",
                "trim",
                "fixed",
                "number-format",
                "encode-uri-component"
              ]
            },
            "arguments": {
              "minItems": 1,
              "maxItems": 32,
              "type": "array",
              "items": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "operator",
            "arguments"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "conditional"
            },
            "condition": {
              "$ref": "#/$defs/__schema1"
            },
            "then": {
              "$ref": "#/$defs/__schema1"
            },
            "else": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "condition",
            "then",
            "else"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "object"
            },
            "fields": {
              "type": "object",
              "propertyNames": {
                "type": "string",
                "minLength": 1,
                "maxLength": 256
              },
              "additionalProperties": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "fields"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "array"
            },
            "items": {
              "maxItems": 1000,
              "type": "array",
              "items": {
                "$ref": "#/$defs/__schema1"
              }
            }
          },
          "required": [
            "kind",
            "items"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "map"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "filter"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "const": "sum"
            },
            "source": {
              "$ref": "#/$defs/__schema1"
            },
            "value": {
              "$ref": "#/$defs/__schema1"
            }
          },
          "required": [
            "kind",
            "source",
            "value"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "$id": "https://schemas.infmonkeys.com/contracts/render-node.schema.json",
  "title": "render-node"
}
