
(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
    (Frame hosting node
      (children 1
        (Frame scrolling node
          (scrollable area size 485 300)
          (contents size 485 420)
          (scrollable area parameters
            (horizontal scroll elasticity 0)
            (vertical scroll elasticity 0)
            (horizontal scrollbar mode 0)
            (vertical scrollbar mode 0)
            (allows vertical scrolling 1))
          (layout viewport at (0,0) size 485x300)
          (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 469x404)
              (sticky box rect at (8,312) size 100x100)
              (constraining rect at (0,0) size 485x300)
              (sticky offset at last layout width=0 height=-122)
              (layer position at last layout (8,190))
            )
          )
        )
      )
    )
  )
)

