ca:
  log point: Entering the canonicalization function (4.4.3).
  ca.2:
    log point: Extract quads for each bnode (4.4.3 (2)).
    Bnode to quads:
      e0:
        - _:e0 <http://example.com/#p1> _:e1 .
      e1:
        - _:e0 <http://example.com/#p1> _:e1 .
        - _:e1 <http://example.com/#p2> "Foo" .
      e2:
        - _:e2 <http://example.com/#p1> _:e3 .
      e3:
        - _:e2 <http://example.com/#p1> _:e3 .
        - _:e3 <http://example.com/#p2> "Foo" .
  ca.3:
    log point: Calculated first degree hashes (4.4.3 (3)).
    with:
      - identifier: e0
        h1dq:
          log point: Hash First Degree Quads function (4.6.3).
          nquads:
            - _:a <http://example.com/#p1> _:z .
          hash: 24da9a4406b4e66dffa10ad3d4d6dddc388fbf193bb124e865158ef419893957
      - identifier: e1
        h1dq:
          log point: Hash First Degree Quads function (4.6.3).
          nquads:
            - _:z <http://example.com/#p1> _:a .
            - _:a <http://example.com/#p2> "Foo" .
          hash: a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a
      - identifier: e2
        h1dq:
          log point: Hash First Degree Quads function (4.6.3).
          nquads:
            - _:a <http://example.com/#p1> _:z .
          hash: 24da9a4406b4e66dffa10ad3d4d6dddc388fbf193bb124e865158ef419893957
      - identifier: e3
        h1dq:
          log point: Hash First Degree Quads function (4.6.3).
          nquads:
            - _:z <http://example.com/#p1> _:a .
            - _:a <http://example.com/#p2> "Foo" .
          hash: a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a
  ca.4:
    log point: Create canonical replacements for hashes mapping to a single node (4.4.3 (4)).
    with:
  ca.5:
    log point: Calculate hashes for identifiers with shared hashes (4.4.3 (5)).
    with:
      - hash: 24da9a4406b4e66dffa10ad3d4d6dddc388fbf193bb124e865158ef419893957
        identifier list: [ "e0", "e2"]
        ca.5.2:
          log point: Calculate hashes for identifiers with shared hashes (4.4.3 (5.2)).
          with:
            - identifier: e0
              hndq:
                log point: Hash N-Degree Quads function (4.8.3).
                identifier: e0
                issuer: {e0: b0}
                hndq.2:
                  log point: Quads for identifier (4.8.3 (2)).
                  quads:
                  - _:e0 <http://example.com/#p1> _:e1 .
                hndq.3:
                  log point: Hash N-Degree Quads function (4.8.3 (3)).
                  with:
                    - quad: _:e0 <http://example.com/#p1> _:e1 .
                      hndq.3.1:
                        log point: Hash related bnode component (4.8.3 (3.1))
                        with:
                          - position: o
                            related: e1
                            h1dq:
                              log point: Hash First Degree Quads function (4.6.3).
                              nquads:
                                - _:z <http://example.com/#p1> _:a .
                                - _:a <http://example.com/#p2> "Foo" .
                              hash: a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a
                            input: "o<http://example.com/#p1>a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a"
                            hash: 3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c
                  Hash to bnodes:
                    3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c:
                      - e1
                hndq.5:
                  log point: Hash N-Degree Quads function (4.8.3 (5)), entering loop.
                  with:
                    - related hash: 3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c
                      data to hash: ""
                      hndq.5.4:
                        log point: Hash N-Degree Quads function (4.8.3 (5.4)), entering loop.
                        with:
                        - perm: [ "e1"]
                          hndq.5.4.4:
                            log point: Hash N-Degree Quads function (4.8.3 (5.4.4)), entering loop.
                            with:
                              - related: e1
                                path: ""
                          hndq.5.4.5:
                            log point: Hash N-Degree Quads function (4.8.3 (5.4.5)), before possible recursion.
                            recursion list: [ "e1"]
                            path: "_:b1"
                            with:
                              - related: e1
                                hndq:
                                  log point: Hash N-Degree Quads function (4.8.3).
                                  identifier: e1
                                  issuer: {e0: b0, e1: b1}
                                  hndq.2:
                                    log point: Quads for identifier (4.8.3 (2)).
                                    quads:
                                    - _:e0 <http://example.com/#p1> _:e1 .
                                    - _:e1 <http://example.com/#p2> "Foo" .
                                  hndq.3:
                                    log point: Hash N-Degree Quads function (4.8.3 (3)).
                                    with:
                                      - quad: _:e0 <http://example.com/#p1> _:e1 .
                                        hndq.3.1:
                                          log point: Hash related bnode component (4.8.3 (3.1))
                                          with:
                                            - position: s
                                              related: e0
                                              input: "s<http://example.com/#p1>_:b0"
                                              hash: 924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677
                                      - quad: _:e1 <http://example.com/#p2> "Foo" .
                                        hndq.3.1:
                                          log point: Hash related bnode component (4.8.3 (3.1))
                                    Hash to bnodes:
                                      924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677:
                                        - e0
                                  hndq.5:
                                    log point: Hash N-Degree Quads function (4.8.3 (5)), entering loop.
                                    with:
                                      - related hash: 924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677
                                        data to hash: ""
                                        hndq.5.4:
                                          log point: Hash N-Degree Quads function (4.8.3 (5.4)), entering loop.
                                          with:
                                          - perm: [ "e0"]
                                            hndq.5.4.4:
                                              log point: Hash N-Degree Quads function (4.8.3 (5.4.4)), entering loop.
                                              with:
                                                - related: e0
                                                  path: ""
                                            hndq.5.4.5:
                                              log point: Hash N-Degree Quads function (4.8.3 (5.4.5)), before possible recursion.
                                              recursion list: []
                                              path: "_:b0"
                                        hndq.5.5:
                                          log point: Hash N-Degree Quads function (4.8.3 (5.5). End of current loop with Hn hashes.
                                          chosen path: "_:b0"
                                          data to hash: "924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677_:b0"
                                  hndq.6:
                                    log point: Leaving Hash N-Degree Quads function (4.8.3).
                                    hash: c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c
                                    issuer: {e0: b0, e1: b1}
                                hndq.5.4.5.4:
                                  log point: Hash N-Degree Quads function (4.8.3 (5.4.5.4)), combine result of recursion.
                                  path: "_:b1_:b1<c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c>"
                                  issuer copy: {e0: b0, e1: b1}
                      hndq.5.5:
                        log point: Hash N-Degree Quads function (4.8.3 (5.5). End of current loop with Hn hashes.
                        chosen path: "_:b1_:b1<c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c>"
                        data to hash: "3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c_:b1_:b1<c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c>"
                hndq.6:
                  log point: Leaving Hash N-Degree Quads function (4.8.3).
                  hash: 39d609fcd8236b74c70744f492cd2baaf0a55765b380ff9e0811ce23e2f409d7
                  issuer: {e0: b0, e1: b1}
            - identifier: e2
              hndq:
                log point: Hash N-Degree Quads function (4.8.3).
                identifier: e2
                issuer: {e2: b0}
                hndq.2:
                  log point: Quads for identifier (4.8.3 (2)).
                  quads:
                  - _:e2 <http://example.com/#p1> _:e3 .
                hndq.3:
                  log point: Hash N-Degree Quads function (4.8.3 (3)).
                  with:
                    - quad: _:e2 <http://example.com/#p1> _:e3 .
                      hndq.3.1:
                        log point: Hash related bnode component (4.8.3 (3.1))
                        with:
                          - position: o
                            related: e3
                            h1dq:
                              log point: Hash First Degree Quads function (4.6.3).
                              nquads:
                                - _:z <http://example.com/#p1> _:a .
                                - _:a <http://example.com/#p2> "Foo" .
                              hash: a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a
                            input: "o<http://example.com/#p1>a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a"
                            hash: 3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c
                  Hash to bnodes:
                    3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c:
                      - e3
                hndq.5:
                  log point: Hash N-Degree Quads function (4.8.3 (5)), entering loop.
                  with:
                    - related hash: 3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c
                      data to hash: ""
                      hndq.5.4:
                        log point: Hash N-Degree Quads function (4.8.3 (5.4)), entering loop.
                        with:
                        - perm: [ "e3"]
                          hndq.5.4.4:
                            log point: Hash N-Degree Quads function (4.8.3 (5.4.4)), entering loop.
                            with:
                              - related: e3
                                path: ""
                          hndq.5.4.5:
                            log point: Hash N-Degree Quads function (4.8.3 (5.4.5)), before possible recursion.
                            recursion list: [ "e3"]
                            path: "_:b1"
                            with:
                              - related: e3
                                hndq:
                                  log point: Hash N-Degree Quads function (4.8.3).
                                  identifier: e3
                                  issuer: {e2: b0, e3: b1}
                                  hndq.2:
                                    log point: Quads for identifier (4.8.3 (2)).
                                    quads:
                                    - _:e2 <http://example.com/#p1> _:e3 .
                                    - _:e3 <http://example.com/#p2> "Foo" .
                                  hndq.3:
                                    log point: Hash N-Degree Quads function (4.8.3 (3)).
                                    with:
                                      - quad: _:e2 <http://example.com/#p1> _:e3 .
                                        hndq.3.1:
                                          log point: Hash related bnode component (4.8.3 (3.1))
                                          with:
                                            - position: s
                                              related: e2
                                              input: "s<http://example.com/#p1>_:b0"
                                              hash: 924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677
                                      - quad: _:e3 <http://example.com/#p2> "Foo" .
                                        hndq.3.1:
                                          log point: Hash related bnode component (4.8.3 (3.1))
                                    Hash to bnodes:
                                      924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677:
                                        - e2
                                  hndq.5:
                                    log point: Hash N-Degree Quads function (4.8.3 (5)), entering loop.
                                    with:
                                      - related hash: 924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677
                                        data to hash: ""
                                        hndq.5.4:
                                          log point: Hash N-Degree Quads function (4.8.3 (5.4)), entering loop.
                                          with:
                                          - perm: [ "e2"]
                                            hndq.5.4.4:
                                              log point: Hash N-Degree Quads function (4.8.3 (5.4.4)), entering loop.
                                              with:
                                                - related: e2
                                                  path: ""
                                            hndq.5.4.5:
                                              log point: Hash N-Degree Quads function (4.8.3 (5.4.5)), before possible recursion.
                                              recursion list: []
                                              path: "_:b0"
                                        hndq.5.5:
                                          log point: Hash N-Degree Quads function (4.8.3 (5.5). End of current loop with Hn hashes.
                                          chosen path: "_:b0"
                                          data to hash: "924a034861aa3fbdaf67a939abc4a2f4e233351bccb26718cb8c151b1746f677_:b0"
                                  hndq.6:
                                    log point: Leaving Hash N-Degree Quads function (4.8.3).
                                    hash: c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c
                                    issuer: {e2: b0, e3: b1}
                                hndq.5.4.5.4:
                                  log point: Hash N-Degree Quads function (4.8.3 (5.4.5.4)), combine result of recursion.
                                  path: "_:b1_:b1<c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c>"
                                  issuer copy: {e2: b0, e3: b1}
                      hndq.5.5:
                        log point: Hash N-Degree Quads function (4.8.3 (5.5). End of current loop with Hn hashes.
                        chosen path: "_:b1_:b1<c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c>"
                        data to hash: "3d96946f27fc34a78e8d067135a1cb1b77083aebc4b2c6cbdc536f067242686c_:b1_:b1<c484f98e6cbf9e21f287433c8b1caa7f1486fd61d84ab220a494bf8184751b8c>"
                hndq.6:
                  log point: Leaving Hash N-Degree Quads function (4.8.3).
                  hash: 39d609fcd8236b74c70744f492cd2baaf0a55765b380ff9e0811ce23e2f409d7
                  issuer: {e2: b0, e3: b1}
        ca.5.3:
          log point: Canonical identifiers for temporary identifiers (4.4.3 (5.3)).
          issuer:
              - blank node: e0
                canonical identifier: c14n0
              - blank node: e1
                canonical identifier: c14n1
              - blank node: e2
                canonical identifier: c14n2
              - blank node: e3
                canonical identifier: c14n3
      - hash: a994e40b576809985bc0f389308cd9d552fd7c89d028c163848a6b2d33a8583a
        identifier list: [ "e1", "e3"]
        ca.5.2:
          log point: Calculate hashes for identifiers with shared hashes (4.4.3 (5.2)).
          with:
          log point: Canonical identifiers for temporary identifiers (4.4.3 (5.3)).
  ca.6:
    log point: Replace original with canonical labels (4.4.3 (6)).
    canonical issuer: {e0: c14n0, e1: c14n1, e2: c14n2, e3: c14n3}
