{"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"no-unused-components","__idx":0},"children":["no-unused-components"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ensures that every component specified in your API description is used at least once."," ","In this context, \"used\" means that a component is referenced elsewhere in the API document with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["$ref"]},", or that a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["securitySchemes"]}," entry is referenced by name in a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["security"]}," requirement object."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"OAS"},"children":["OAS"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Compatibility"},"children":["Compatibility"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["2.0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["❌"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.0"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.1"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["3.2"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["✅"]}]}]}]}]},{"$$mdtype":"Tag","name":"Diagram","attributes":{"data-language":"mermaid","diagramType":"mermaid","diagramSource":"flowchart TD\n\nRoot ==> Components\n\nstyle Components fill:#codaf9,stroke:#0044d4,stroke-width:5px\n","diagramHtml":"<svg id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 166.71875px;\" viewBox=\"0 0 166.71875 174\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .error-icon{fill:#552222;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .error-text{fill:#552222;stroke:#552222;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-thickness-normal{stroke-width:1px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-thickness-thick{stroke-width:3.5px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-pattern-solid{stroke-dasharray:0;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .marker{fill:#333333;stroke:#333333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .marker.cross{stroke:#333333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 p{margin:0;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .cluster-label text{fill:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .cluster-label span{color:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .cluster-label span p{background-color:transparent;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .label text,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 span{fill:#333;color:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node rect,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node circle,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node ellipse,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node polygon,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .rough-node .label text,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node .label text,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .image-shape .label,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .icon-shape .label{text-anchor:middle;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .rough-node .label,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node .label,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .image-shape .label,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .icon-shape .label{text-align:center;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node.clickable{cursor:pointer;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .arrowheadPath{fill:#333333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edgePath .path{stroke:#333333;stroke-width:1px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .flowchart-link{stroke:#333333;fill:none;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .cluster text{fill:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .cluster span{color:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 rect.text{fill:none;stroke-width:0;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .icon-shape,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .icon-shape p,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .icon-shape .label rect,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 .node .neo-node{stroke:#9370DB;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node rect,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].cluster rect,#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node path{stroke:#9370DB;stroke-width:1px;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node .neo-line path{stroke:#9370DB;filter:none;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M83.359,62L83.359,66.167C83.359,70.333,83.359,78.667,83.359,86.333C83.359,94,83.359,101,83.359,104.5L83.359,108\" id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2-L_Root_Components_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_Components_0\" data-points=\"W3sieCI6ODMuMzU5Mzc1LCJ5Ijo2Mn0seyJ4Ijo4My4zNTkzNzUsInkiOjg3fSx7IngiOjgzLjM1OTM3NSwieSI6MTEyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_Components_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2-flowchart-Root-0\" data-look=\"classic\" transform=\"translate(83.359375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-46.8984375\" y=\"-27\" width=\"93.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-16.8984375, -12)\"><rect></rect><foreignObject width=\"33.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Root</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2-flowchart-Components-1\" data-look=\"classic\" transform=\"translate(83.359375, 139)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-75.359375\" y=\"-27\" width=\"150.71875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-45.359375, -12)\"><rect></rect><foreignObject width=\"90.71875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Components</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs><defs><filter id=\"diagram-2bbe2dc305734d22439284e60972f7b57485a941eadecf4314e7bb8e359cb1a2-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#000000\"></feDropShadow></filter></defs></svg>","diagramHtmlDark":"<svg id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3\" width=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" class=\"flowchart\" style=\"max-width: 166.71875px;\" viewBox=\"0 0 166.71875 174\" role=\"graphics-document document\" aria-roledescription=\"flowchart-v2\"><style>\n    #diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 foreignObject {\n      overflow: visible;\n    }\n  </style><style>#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .error-icon{fill:#a44141;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .error-text{fill:#ddd;stroke:#ddd;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-thickness-normal{stroke-width:1px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-thickness-thick{stroke-width:3.5px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-pattern-solid{stroke-dasharray:0;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-thickness-invisible{stroke-width:0;fill:none;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-pattern-dashed{stroke-dasharray:3;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edge-pattern-dotted{stroke-dasharray:2;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .marker{fill:lightgrey;stroke:lightgrey;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .marker.cross{stroke:lightgrey;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 svg{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:16px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 p{margin:0;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .label{font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;color:#ccc;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .cluster-label text{fill:#F9FFFE;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .cluster-label span{color:#F9FFFE;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .cluster-label span p{background-color:transparent;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .label text,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 span{fill:#ccc;color:#ccc;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node rect,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node circle,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node ellipse,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node polygon,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .rough-node .label text,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node .label text,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .image-shape .label,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .icon-shape .label{text-anchor:middle;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .rough-node .label,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node .label,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .image-shape .label,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .icon-shape .label{text-align:center;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node.clickable{cursor:pointer;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .arrowheadPath{fill:lightgrey;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edgePath .path{stroke:lightgrey;stroke-width:1px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .flowchart-link{stroke:lightgrey;fill:none;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .cluster text{fill:#F9FFFE;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .cluster span{color:#F9FFFE;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 rect.text{fill:none;stroke-width:0;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .icon-shape,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .icon-shape p,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .icon-shape .label rect,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 .node .neo-node{stroke:#ccc;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node rect,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].cluster rect,#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node polygon{stroke:url(#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].swimlane.cluster rect{filter:none;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node path{stroke:url(#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-gradient);stroke-width:1px;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node .neo-line path{stroke:#ccc;filter:none;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node circle{stroke:url(#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].node circle .state-start{fill:#000000;}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].icon-shape .icon{fill:url(#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 [data-look=\"neo\"].icon-shape .icon-neo path{stroke:url(#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3 :root{--mermaid-font-family:\"Redocly Mermaid Sans\",Arial,\"Liberation Sans\",Arimo,Helvetica,\"Redocly Mermaid CJK\",sans-serif;}</style><g><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-pointEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 0 L 10 5 L 0 10 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-pointStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"4.5\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"8\" markerHeight=\"8\" orient=\"auto\"><path d=\"M 0 5 L 10 10 L 10 0 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-pointEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"11.5\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"10.5\" markerHeight=\"14\" orient=\"auto\"><path d=\"M 0 0 L 11.5 7 L 0 14 z\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-pointStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 11.5 14\" refX=\"1\" refY=\"7\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11.5\" markerHeight=\"14\" orient=\"auto\"><polygon points=\"0,7 11.5,14 11.5,0\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></polygon></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-circleEnd\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"11\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-circleStart\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-1\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 1; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-circleEnd-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refY=\"5\" refX=\"12.25\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-circleStart-margin\" class=\"marker flowchart-v2\" viewBox=\"0 0 10 10\" refX=\"-2\" refY=\"5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"14\" markerHeight=\"14\" orient=\"auto\"><circle cx=\"5\" cy=\"5\" r=\"5\" class=\"arrowMarkerPath\" style=\"stroke-width: 0; stroke-dasharray: 1, 0;\"></circle></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-crossEnd\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"12\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-crossStart\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 11 11\" refX=\"-1\" refY=\"5.2\" markerUnits=\"userSpaceOnUse\" markerWidth=\"11\" markerHeight=\"11\" orient=\"auto\"><path d=\"M 1,1 l 9,9 M 10,1 l -9,9\" class=\"arrowMarkerPath\" style=\"stroke-width: 2; stroke-dasharray: 1, 0;\"></path></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-crossEnd-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"17.7\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5;\"></path></marker><marker id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-crossStart-margin\" class=\"marker cross flowchart-v2\" viewBox=\"0 0 15 15\" refX=\"-3.5\" refY=\"7.5\" markerUnits=\"userSpaceOnUse\" markerWidth=\"12\" markerHeight=\"12\" orient=\"auto\"><path d=\"M 1,1 L 14,14 M 1,14 L 14,1\" class=\"arrowMarkerPath\" style=\"stroke-width: 2.5; stroke-dasharray: 1, 0;\"></path></marker><g class=\"root\"><g class=\"clusters\"></g><g class=\"edgePaths\"><path d=\"M83.359,62L83.359,66.167C83.359,70.333,83.359,78.667,83.359,86.333C83.359,94,83.359,101,83.359,104.5L83.359,108\" id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-L_Root_Components_0\" class=\"edge-thickness-thick edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link\" style=\";\" data-edge=\"true\" data-et=\"edge\" data-id=\"L_Root_Components_0\" data-points=\"W3sieCI6ODMuMzU5Mzc1LCJ5Ijo2Mn0seyJ4Ijo4My4zNTkzNzUsInkiOjg3fSx7IngiOjgzLjM1OTM3NSwieSI6MTEyfV0=\" data-look=\"classic\" marker-end=\"url(#diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3_flowchart-v2-pointEnd)\"></path></g><g class=\"edgeLabels\"><g class=\"edgeLabel\"><g class=\"label\" data-id=\"L_Root_Components_0\" transform=\"translate(0, 0)\"><foreignObject width=\"0\" height=\"0\"><div xmlns=\"http://www.w3.org/1999/xhtml\" class=\"labelBkg\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"edgeLabel\"></span></div></foreignObject></g></g></g><g class=\"nodes\"><g class=\"node default\" id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-flowchart-Root-0\" data-look=\"classic\" transform=\"translate(83.359375, 35)\"><rect class=\"basic label-container\" style=\"\" x=\"-46.8984375\" y=\"-27\" width=\"93.796875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-16.8984375, -12)\"><rect></rect><foreignObject width=\"33.796875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Root</p></span></div></foreignObject></g></g><g class=\"node default\" id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-flowchart-Components-1\" data-look=\"classic\" transform=\"translate(83.359375, 139)\"><rect class=\"basic label-container\" style=\"fill:#codaf9 !important;stroke:#0044d4 !important;stroke-width:5px !important\" x=\"-75.359375\" y=\"-27\" width=\"150.71875\" height=\"54\"></rect><g class=\"label\" style=\"\" transform=\"translate(-45.359375, -12)\"><rect></rect><foreignObject width=\"90.71875\" height=\"24\"><div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;\"><span class=\"nodeLabel\"><p>Components</p></span></div></foreignObject></g></g></g></g></g><defs><filter id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-drop-shadow\" height=\"130%\" width=\"130%\"><feDropShadow dx=\"4\" dy=\"4\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><defs><filter id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-drop-shadow-small\" height=\"150%\" width=\"150%\"><feDropShadow dx=\"2\" dy=\"2\" stdDeviation=\"0\" flood-opacity=\"0.06\" flood-color=\"#FFFFFF\"></feDropShadow></filter></defs><linearGradient id=\"diagram-1b0bf66f0d69e10427e85a36e99cf0be0d5aa6786a38300b7b8288d8b72e99c3-gradient\" gradientUnits=\"objectBoundingBox\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" stop-color=\"#cccccc\" stop-opacity=\"1\"></stop><stop offset=\"100%\" stop-color=\"hsl(180, 0%, 18.3529411765%)\" stop-opacity=\"1\"></stop></linearGradient></svg>"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api-design-principles","__idx":1},"children":["API design principles"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This rule is intended to help security-focused enterprises prevent data leaks. Components can leak schemas, parameters, and other properties that may be unused in the exposed APIs, but used internally elsewhere."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["However, your API document may contain common components used in other APIs."," ","If that describes your use-case, turn this rule off."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"configuration","__idx":2},"children":["Configuration"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Option"},"children":["Option"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["severity"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Possible values: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["off"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["error"]},". Default ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["warn"]}," (in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["recommended"]}," configuration)."]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An example configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"rules:\n  no-unused-components: error\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"examples","__idx":3},"children":["Examples"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Given this configuration:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"rules:\n  no-unused-components: error\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["incorrect"]}," components:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"openapi: 3.1.0\npaths:\n  /customers:\n    $ref: '#/components/pathItems/customers'\ncomponents:\n  pathItems:\n    customers:\n      # ...\n    dealers:\n      # ...\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The dealers ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PathItem"]}," is an unused component."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example of ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["correct"]}," components:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"yaml","header":{"controls":{"copy":{}}},"source":"openapi: 3.1.0\npaths:\n  /customers:\n    $ref: '#/components/pathItems/customers'\ncomponents:\n  pathItems:\n    customers:\n      # ...\n","lang":"yaml"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-rules","__idx":4},"children":["Related rules"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"/docs/cli/rules/oas/no-unresolved-refs"},"children":["no-unresolved-refs"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":5},"children":["Resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://github.com/Redocly/redocly-cli/blob/main/packages/core/src/rules/oas3/no-unused-components.ts"},"children":["Rule source"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"Link","attributes":{"href":"https://redocly.com/docs/openapi-visual-reference/components/"},"children":["Components docs"]}]}]}]},"frontmatter":{"slug":"/docs/cli/rules/oas/no-unused-components"},"tagList":[],"title":"no-unused-components","lastModified":"2026-05-27T08:07:38.000Z"}