[
  {
    "fragmentId": "method:1bjnsl7:saveebookasync__fragment",
    "ownerFileId": "file:9fivst:ibookstorageservice-cs",
    "ownerSymbolId": "method:1bjnsl7:saveebookasync",
    "ownerSymbolName": "SaveEbookAsync",
    "entryNodeId": "method:1bjnsl7:saveebookasync__entry",
    "exitNodeIds": [
      "method:1bjnsl7:saveebookasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1bjnsl7:saveebookasync__entry",
        "kind": "entry",
        "label": "SaveEbookAsync entry",
        "line": 11,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.99,
        "detail": "Contract to save ebook binary data and return a relative path/URL."
      },
      {
        "id": "method:1bjnsl7:saveebookasync__action_11_contract_11__linear",
        "kind": "statement",
        "label": "async save ebook",
        "line": 11,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7,
        "detail": "Asynchronous save that returns a string path/URL"
      },
      {
        "id": "method:1bjnsl7:saveebookasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 11,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1bjnsl7:saveebookasync__entry__method:1bjnsl7:saveebookasync__action_11_contract_11__linear",
        "from": "method:1bjnsl7:saveebookasync__entry",
        "to": "method:1bjnsl7:saveebookasync__action_11_contract_11__linear",
        "kind": "next",
        "line": 11,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1bjnsl7:saveebookasync__action_11_contract_11__linear__implicit_return",
        "from": "method:1bjnsl7:saveebookasync__action_11_contract_11__linear",
        "to": "method:1bjnsl7:saveebookasync__implicit_return",
        "kind": "return",
        "line": 11,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 11,
      "end": 11
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "line": 11,
        "summary": "Control-flow fragment extracted for method SaveEbookAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1bjnsl7:saveebookasync__fragment",
    "ownerFileId": "file:9fivst:ibookstorageservice-cs",
    "ownerSymbolId": "method:1bjnsl7:saveebookasync",
    "ownerSymbolName": "SaveEbookAsync",
    "entryNodeId": "method:1bjnsl7:saveebookasync__entry",
    "exitNodeIds": [
      "method:1bjnsl7:saveebookasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1bjnsl7:saveebookasync__entry",
        "kind": "entry",
        "label": "SaveEbookAsync entry",
        "line": 16,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.99,
        "detail": "Contract to save ebook data from a Stream and return a relative path/URL."
      },
      {
        "id": "method:1bjnsl7:saveebookasync__action_16_contract_16__linear",
        "kind": "statement",
        "label": "async save ebook (stream)",
        "line": 16,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7,
        "detail": "Asynchronous save from Stream that returns a string path/URL"
      },
      {
        "id": "method:1bjnsl7:saveebookasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 16,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1bjnsl7:saveebookasync__entry__method:1bjnsl7:saveebookasync__action_16_contract_16__linear",
        "from": "method:1bjnsl7:saveebookasync__entry",
        "to": "method:1bjnsl7:saveebookasync__action_16_contract_16__linear",
        "kind": "next",
        "line": 16,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1bjnsl7:saveebookasync__action_16_contract_16__linear__implicit_return",
        "from": "method:1bjnsl7:saveebookasync__action_16_contract_16__linear",
        "to": "method:1bjnsl7:saveebookasync__implicit_return",
        "kind": "return",
        "line": 16,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 16,
      "end": 16
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "line": 16,
        "summary": "Control-flow fragment extracted for method SaveEbookAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1pww9i7:savecoverasync__fragment",
    "ownerFileId": "file:9fivst:ibookstorageservice-cs",
    "ownerSymbolId": "method:1pww9i7:savecoverasync",
    "ownerSymbolName": "SaveCoverAsync",
    "entryNodeId": "method:1pww9i7:savecoverasync__entry",
    "exitNodeIds": [
      "method:1pww9i7:savecoverasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1pww9i7:savecoverasync__entry",
        "kind": "entry",
        "label": "SaveCoverAsync entry",
        "line": 22,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.99,
        "detail": "Contract to save cover image binary data and return a relative path/URL, or null if no cover provided."
      },
      {
        "id": "method:1pww9i7:savecoverasync__action_22_contract_22__linear",
        "kind": "statement",
        "label": "async save cover",
        "line": 22,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7,
        "detail": "May return null when no cover data is provided"
      },
      {
        "id": "method:1pww9i7:savecoverasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 22,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1pww9i7:savecoverasync__entry__method:1pww9i7:savecoverasync__action_22_contract_22__linear",
        "from": "method:1pww9i7:savecoverasync__entry",
        "to": "method:1pww9i7:savecoverasync__action_22_contract_22__linear",
        "kind": "next",
        "line": 22,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pww9i7:savecoverasync__action_22_contract_22__linear__implicit_return",
        "from": "method:1pww9i7:savecoverasync__action_22_contract_22__linear",
        "to": "method:1pww9i7:savecoverasync__implicit_return",
        "kind": "return",
        "line": 22,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 22,
      "end": 22
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "line": 22,
        "summary": "Control-flow fragment extracted for method SaveCoverAsync.",
        "kind": "file-summary"
      }
    ]
  },
  {
    "fragmentId": "method:1pww9i7:savecoverasync__fragment",
    "ownerFileId": "file:9fivst:ibookstorageservice-cs",
    "ownerSymbolId": "method:1pww9i7:savecoverasync",
    "ownerSymbolName": "SaveCoverAsync",
    "entryNodeId": "method:1pww9i7:savecoverasync__entry",
    "exitNodeIds": [
      "method:1pww9i7:savecoverasync__implicit_return"
    ],
    "nodes": [
      {
        "id": "method:1pww9i7:savecoverasync__entry",
        "kind": "entry",
        "label": "SaveCoverAsync entry",
        "line": 28,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.99,
        "detail": "Contract to save cover image from a Stream and return a relative path/URL, or null if no cover provided."
      },
      {
        "id": "method:1pww9i7:savecoverasync__action_28_contract_28__linear",
        "kind": "statement",
        "label": "async save cover (stream)",
        "line": 28,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7,
        "detail": "May return null when no cover data is provided"
      },
      {
        "id": "method:1pww9i7:savecoverasync__implicit_return",
        "kind": "return",
        "label": "return",
        "line": 28,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72,
        "detail": "Implicit method exit inferred from method boundary."
      }
    ],
    "edges": [
      {
        "id": "method:1pww9i7:savecoverasync__entry__method:1pww9i7:savecoverasync__action_28_contract_28__linear",
        "from": "method:1pww9i7:savecoverasync__entry",
        "to": "method:1pww9i7:savecoverasync__action_28_contract_28__linear",
        "kind": "next",
        "line": 28,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.7
      },
      {
        "id": "method:1pww9i7:savecoverasync__action_28_contract_28__linear__implicit_return",
        "from": "method:1pww9i7:savecoverasync__action_28_contract_28__linear",
        "to": "method:1pww9i7:savecoverasync__implicit_return",
        "kind": "return",
        "line": 28,
        "sourcePath": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "confidence": 0.72
      }
    ],
    "jumpTargets": [],
    "exceptionTargets": [],
    "loopBackEdges": [],
    "mergeNodeIds": [],
    "language": "csharp",
    "confidence": 0.76,
    "lineSpan": {
      "start": 28,
      "end": 28
    },
    "unsupportedConstructs": [],
    "evidence": [
      {
        "path": "NexusReader.Application/Abstractions/Services/IBookStorageService.cs",
        "line": 28,
        "summary": "Control-flow fragment extracted for method SaveCoverAsync.",
        "kind": "file-summary"
      }
    ]
  }
]