%%{init: {'themeVariables': { 'fontSize': '12px'}}}%%
graph TD
    classDef path fill:#eee,stroke:#000,color:#000
    classDef plan fill:#fff,stroke-width:1px,color:#000
    classDef itemplan fill:#fff,stroke-width:2px,color:#000
    classDef unbatchedplan fill:#dff,stroke-width:1px,color:#000
    classDef sideeffectplan fill:#fcc,stroke-width:2px,color:#000
    classDef bucket fill:#f6f6f6,color:#000,stroke-width:2px,text-align:left


    %% plan dependencies
    Object10{{"Object[10∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    Access8{{"Access[8∈0]<br />ᐸ3.pgSettingsᐳ"}}:::plan
    Access9{{"Access[9∈0]<br />ᐸ3.withPgClientᐳ"}}:::plan
    Access8 & Access9 --> Object10
    PgSelect7[["PgSelect[7∈0]<br />ᐸrandom_userᐳ"]]:::plan
    Object10 --> PgSelect7
    __Value3["__Value[3∈0]<br />ᐸcontextᐳ"]:::plan
    __Value3 --> Access8
    __Value3 --> Access9
    First11{{"First[11∈0]"}}:::plan
    PgSelect7 --> First11
    PgSelectSingle12{{"PgSelectSingle[12∈0]<br />ᐸusersᐳ"}}:::plan
    First11 --> PgSelectSingle12
    __Value0["__Value[0∈0]"]:::plan
    __Value1["__Value[1∈0]<br />ᐸvariableValuesᐳ"]:::plan
    __Value5["__Value[5∈0]<br />ᐸrootValueᐳ"]:::plan
    Constant35{{"Constant[35∈0]<br />ᐸ[Object: null prototype] {}ᐳ"}}:::plan
    GraphQLResolver16[["GraphQLResolver[16∈1]<br />ᐸresolveᐳ"]]:::unbatchedplan
    PgClassExpression13{{"PgClassExpression[13∈1]<br />ᐸ__random_u...”username”ᐳ"}}:::plan
    PgClassExpression13 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver16
    PgSelectSingle12 --> PgClassExpression13
    GraphQLResolver18[["GraphQLResolver[18∈2]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver16 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver18
    GraphQLResolver20[["GraphQLResolver[20∈2]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver16 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver20
    GraphQLResolver22[["GraphQLResolver[22∈2]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver16 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver22
    GraphQLResolver24[["GraphQLResolver[24∈3]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver22 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver24
    GraphQLResolver30[["GraphQLResolver[30∈3]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver22 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver30
    GraphQLResolver32[["GraphQLResolver[32∈3]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver22 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver32
    GraphQLResolver26[["GraphQLResolver[26∈4]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver24 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver26
    GraphQLResolver28[["GraphQLResolver[28∈4]<br />ᐸresolveᐳ"]]:::unbatchedplan
    GraphQLResolver24 & Constant35 & __Value3 & __Value1 & __Value5 --> GraphQLResolver28

    %% define steps

    subgraph "Buckets for queries/resolvers/basics-object-recursive"
    Bucket0("Bucket 0 (root)<br />1: <br />ᐳ: 8, 9, 35, 10<br />2: PgSelect[7]<br />ᐳ: First[11], PgSelectSingle[12]"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value0,__Value1,__Value3,__Value5,PgSelect7,Access8,Access9,Object10,First11,PgSelectSingle12,Constant35 bucket0
    Bucket1("Bucket 1 (nullableBoundary)<br />Deps: 12, 35, 3, 1, 5<br /><br />ROOT PgSelectSingleᐸusersᐳ[12]<br />1: <br />ᐳ: PgClassExpression[13]<br />2: GraphQLResolver[16]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,PgClassExpression13,GraphQLResolver16 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 16, 35, 3, 1, 5<br /><br />ROOT GraphQLResolver{1}ᐸresolveᐳ[16]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,GraphQLResolver18,GraphQLResolver20,GraphQLResolver22 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 22, 35, 3, 1, 5<br /><br />ROOT GraphQLResolver{2}ᐸresolveᐳ[22]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,GraphQLResolver24,GraphQLResolver30,GraphQLResolver32 bucket3
    Bucket4("Bucket 4 (nullableBoundary)<br />Deps: 24, 35, 3, 1, 5<br /><br />ROOT GraphQLResolver{3}ᐸresolveᐳ[24]"):::bucket
    classDef bucket4 stroke:#0000ff
    class Bucket4,GraphQLResolver26,GraphQLResolver28 bucket4
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    Bucket3 --> Bucket4
    end
