
(Frame scrolling node
  (scrollable area size 785 600)
  (contents size 785 1016)
  (scrollable area parameters
    (horizontal scroll elasticity 2)
    (vertical scroll elasticity 2)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0)
    (allows vertical scrolling 1))
  (layout viewport at (0,0) size 785x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (synchronous event dispatch region for event wheel
    at (45,47) size 404x304)
  (behavior for fixed 0)
  (children 1
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
      (viewport rect at last layout at (0,0) size 785x600)
      (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 0)
                (vertical scroll elasticity 0)
                (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 1
                (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))
                )
              )
            )
          )
        )
      )
    )
  )
)

