
(Frame scrolling node
  (scrollable area size 800 600)
  (contents size 800 1016)
  (scrollable area parameters 
    (horizontal scroll elasticity 1)
    (vertical scroll elasticity 1)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0))
  (layout viewport at (0,0) size 800x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (behavior for fixed 0)
  (children 1
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
      (viewport rect at last layout at (0,0) size 800x600)
      (layer position at last layout (8,10))
      (children 1
        (Frame hosting node
          (children 1
            (Frame scrolling node
              (scrollable area size 500 300)
              (contents size 500 420)
              (scrollable area parameters 
                (horizontal scroll elasticity 1)
                (vertical scroll elasticity 1)
                (horizontal scrollbar mode 1)
                (vertical scrollbar mode 1))
              (layout viewport at (0,0) size 500x300)
              (min layout viewport origin (0,0))
              (max layout viewport origin (0,120))
              (behavior for fixed 0)
              (children 2
                (Overflow scrolling node
                  (scrollable area size 400 300)
                  (contents size 400 1760)
                  (scrollable area parameters 
                    (horizontal scroll elasticity 1)
                    (vertical scroll elasticity 1)
                    (horizontal scrollbar mode 0)
                    (vertical scrollbar mode 0)
                    (has enabled vertical scrollbar 1))
                  (children 1
                    (Sticky node
                      (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
                      (top offset 10.00)
                      (bottom offset 10.00)
                      (containing block rect at (2,2) size 400x1760)
                      (sticky box rect at (0,830) size 100x100)
                      (constraining rect at (0,0) size 400x300)
                      (sticky offset at last layout width=0 height=-640)
                      (layer position at last layout (0,190))
                    )
                  )
                )
                (Sticky node
                  (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
                  (top offset 10.00)
                  (bottom offset 10.00)
                  (containing block rect at (8,8) size 484x404)
                  (sticky box rect at (8,312) size 100x100)
                  (constraining rect at (0,0) size 500x300)
                  (sticky offset at last layout width=0 height=-122)
                  (layer position at last layout (8,190))
                )
              )
            )
          )
        )
      )
    )
  )
)

