{"valid":false,"inputBytes":0,"sample":"{\n  \"nodes\": [\n    {\n      \"id\": \"start\",\n      \"type\": \"input\",\n      \"label\": \"Start\"\n    },\n    {\n      \"id\": \"review\",\n      \"position\": {\n        \"x\": 0,\n        \"y\": 110\n      },\n      \"label\": \"Review\"\n    },\n    {\n      \"id\": \"checks\",\n      \"position\": {\n        \"x\": 220,\n        \"y\": 80\n      },\n      \"type\": \"group\",\n      \"label\": \"Checks\",\n      \"width\": 200,\n      \"height\": 150\n    },\n    {\n      \"id\": \"lint\",\n      \"position\": {\n        \"x\": 25,\n        \"y\": 35\n      },\n      \"label\": \"Lint\",\n      \"parentId\": \"checks\",\n      \"extentParent\": true\n    },\n    {\n      \"id\": \"test\",\n      \"position\": {\n        \"x\": 25,\n        \"y\": 95\n      },\n      \"label\": \"Test\",\n      \"parentId\": \"checks\",\n      \"extentParent\": true\n    },\n    {\n      \"id\": \"ship\",\n      \"position\": {\n        \"x\": 0,\n        \"y\": 300\n      },\n      \"type\": \"output\",\n      \"label\": \"Ship\"\n    }\n  ],\n  \"edges\": [\n    {\n      \"id\": \"start-review\",\n      \"source\": \"start\",\n      \"target\": \"review\",\n      \"animated\": true\n    },\n    {\n      \"id\": \"review-lint\",\n      \"source\": \"review\",\n      \"target\": \"lint\",\n      \"type\": \"SmoothStep\",\n      \"label\": \"on push\"\n    },\n    {\n      \"id\": \"lint-test\",\n      \"source\": \"lint\",\n      \"target\": \"test\"\n    },\n    {\n      \"id\": \"test-ship\",\n      \"source\": \"test\",\n      \"target\": \"ship\",\n      \"markerType\": \"ArrowClosed\"\n    }\n  ],\n  \"viewport\": {\n    \"x\": 0,\n    \"y\": 0,\n    \"zoom\": 1\n  }\n}","notes":["No flow was passed, so nothing was inspected. Sample is a small flow - a sub-flow included - built from BlowNode and BlowEdge and written by System.Text.Json with only the properties that differ from a new instance; pass it, or the JSON of your own BlowCanvas.ToObject(), as json to see the report. Both camelCase and PascalCase names, and enums as names or numbers, are read."]}