%%{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


    %% define steps
    __Value3["__Value[3∈0]<br />ᐸcontextᐳ"]:::plan
    __Value5["__Value[5∈0]<br />ᐸrootValueᐳ"]:::plan
    __InputStaticLeaf9{{"__InputStaticLeaf[9∈0]"}}:::plan
    __InputStaticLeaf11{{"__InputStaticLeaf[11∈0]"}}:::plan
    Access13{{"Access[13∈0]<br />ᐸ3.pgSettingsᐳ"}}:::plan
    Access14{{"Access[14∈0]<br />ᐸ3.withPgClientᐳ"}}:::plan
    Object15{{"Object[15∈0]<br />ᐸ{pgSettings,withPgClient}ᐳ"}}:::plan
    PgUpdate12[["PgUpdate[12∈1]"]]:::sideeffectplan
    Object16{{"Object[16∈1]<br />ᐸ{result}ᐳ"}}:::plan
    Constant17{{"Constant[17∈2]"}}:::plan
    PgClassExpression18{{"PgClassExpression[18∈3]<br />ᐸ__left_arm__.”id”ᐳ"}}:::plan
    List19{{"List[19∈3]<br />ᐸ17,18ᐳ"}}:::plan
    Lambda20{{"Lambda[20∈3]<br />ᐸbase64JSONEncodeᐳ"}}:::plan
    PgClassExpression22{{"PgClassExpression[22∈3]<br />ᐸ__left_arm...person_id”ᐳ"}}:::plan
    PgClassExpression23{{"PgClassExpression[23∈3]<br />ᐸ__left_arm...in_metres”ᐳ"}}:::plan
    PgClassExpression24{{"PgClassExpression[24∈3]<br />ᐸ__left_arm__.”mood”ᐳ"}}:::plan

    %% plan dependencies
    __Value3 --> Access13
    __Value3 --> Access14
    Access13 & Access14 --> Object15
    Object15 & __InputStaticLeaf9 & __InputStaticLeaf11 --> PgUpdate12
    PgUpdate12 --> Object16
    PgUpdate12 --> PgClassExpression18
    Constant17 & PgClassExpression18 --> List19
    List19 --> Lambda20
    PgUpdate12 --> PgClassExpression22
    PgUpdate12 --> PgClassExpression23
    PgUpdate12 --> PgClassExpression24

    subgraph "Buckets for mutations/v4/rbac.updateLeftArm"
    Bucket0("Bucket 0 (root)"):::bucket
    classDef bucket0 stroke:#696969
    class Bucket0,__Value3,__Value5,__InputStaticLeaf9,__InputStaticLeaf11,Access13,Access14,Object15 bucket0
    Bucket1("Bucket 1 (mutationField)<br />Deps: 15, 9, 11<br /><br />1: PgUpdate[12]<br />2:  / Object[16]"):::bucket
    classDef bucket1 stroke:#00bfff
    class Bucket1,PgUpdate12,Object16 bucket1
    Bucket2("Bucket 2 (nullableBoundary)<br />Deps: 16, 12<br /><br />ROOT Object{1}ᐸ{result}ᐳ[16]"):::bucket
    classDef bucket2 stroke:#7f007f
    class Bucket2,Constant17 bucket2
    Bucket3("Bucket 3 (nullableBoundary)<br />Deps: 12, 17<br /><br />ROOT PgUpdate{1}[12]"):::bucket
    classDef bucket3 stroke:#ffa500
    class Bucket3,PgClassExpression18,List19,Lambda20,PgClassExpression22,PgClassExpression23,PgClassExpression24 bucket3
    Bucket0 --> Bucket1
    Bucket1 --> Bucket2
    Bucket2 --> Bucket3
    end
