(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 1621.00)
  (visible rect 0.00, 1021.00 800.00 x 600.00)
  (coverage rect 0.00, 1021.00 800.00 x 600.00)
  (intersects coverage rect 1)
  (contentsScale 2.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 1621.00)
      (contentsOpaque 1)
      (visible rect 0.00, 1021.00 800.00 x 600.00)
      (coverage rect 0.00, 765.00 1056.00 x 856.00)
      (intersects coverage rect 1)
      (contentsScale 2.00)
      (tile cache coverage 0, 512 800 x 1109)
      (tile size 800 x 512)
      (top left tile 0, 1 tiles grid 1 x 3)
      (in window 1)
      (children 3
        (GraphicsLayer
          (position 8.00 1008.00)
          (bounds 300.00 300.00)
          (drawsContent 1)
          (visible rect 0.00, 13.00 300.00 x 287.00)
          (coverage rect -8.00, -243.00 1056.00 x 856.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 1
            (GraphicsLayer
              (bounds 300.00 300.00)
              (visible rect 0.00, 13.00 300.00 x 287.00)
              (coverage rect 0.00, 13.00 300.00 x 287.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 1
                (GraphicsLayer
                  (anchor 0.00 0.00)
                  (bounds 300.00 510.00)
                  (drawsContent 1)
                  (visible rect 0.00, 13.00 300.00 x 287.00)
                  (coverage rect 0.00, 12.00 300.00 x 288.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                  (children 1
                    (GraphicsLayer
                      (position 50.00 50.00)
                      (bounds 210.00 410.00)
                      (drawsContent 1)
                      (visible rect 0.00, 0.00 210.00 x 250.00)
                      (coverage rect -50.00, -38.00 300.00 x 288.00)
                      (intersects coverage rect 1)
                      (contentsScale 2.00)
                      (children 1
                        (GraphicsLayer
                          (offsetFromRenderer width=5 height=5)
                          (position 5.00 5.00)
                          (bounds 200.00 400.00)
                          (visible rect 0.00, 0.00 200.00 x 245.00)
                          (coverage rect 0.00, 0.00 200.00 x 245.00)
                          (intersects coverage rect 1)
                          (contentsScale 2.00)
                          (children 1
                            (GraphicsLayer
                              (offsetFromRenderer width=5 height=5)
                              (anchor 0.00 0.00)
                              (bounds 270.00 610.00)
                              (drawsContent 1)
                              (visible rect 0.00, 0.00 200.00 x 245.00)
                              (coverage rect 0.00, 0.00 200.00 x 245.00)
                              (intersects coverage rect 1)
                              (contentsScale 2.00)
                            )
                          )
                        )
                      )
                    )
                  )
                )
              )
            )
          )
        )
        (GraphicsLayer
          (position 70.00 1091.00)
          (approximate position 70.00 1091.00)
          (bounds 110.00 110.00)
          (contentsOpaque 1)
          (drawsContent 1)
          (visible rect 0.00, 0.00 110.00 x 110.00)
          (coverage rect -70.00, -326.00 1056.00 x 856.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 1
            (GraphicsLayer
              (position 55.00 55.00)
              (approximate position 55.00 55.00)
              (bounds 110.00 110.00)
              (contentsOpaque 1)
              (drawsContent 1)
              (visible rect 0.00, 0.00 110.00 x 110.00)
              (coverage rect -125.00, -381.00 1056.00 x 856.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
            )
          )
        )
        (GraphicsLayer
          (position 8.00 1008.00)
          (bounds 300.00 300.00)
          (visible rect 0.00, 13.00 300.00 x 287.00)
          (coverage rect 0.00, 13.00 300.00 x 287.00)
          (intersects coverage rect 1)
          (contentsScale 2.00)
          (children 1
            (GraphicsLayer
              (position 55.00 55.00)
              (bounds 200.00 400.00)
              (visible rect 0.00, 0.00 200.00 x 245.00)
              (coverage rect 0.00, 0.00 200.00 x 245.00)
              (intersects coverage rect 1)
              (contentsScale 2.00)
              (children 1
                (GraphicsLayer
                  (position 105.00 105.00)
                  (approximate position 105.00 105.00)
                  (bounds 110.00 110.00)
                  (contentsOpaque 1)
                  (drawsContent 1)
                  (visible rect 0.00, 0.00 95.00 x 110.00)
                  (coverage rect -105.00, -105.00 200.00 x 245.00)
                  (intersects coverage rect 1)
                  (contentsScale 2.00)
                  (children 1
                    (GraphicsLayer
                      (position 55.00 55.00)
                      (approximate position 55.00 55.00)
                      (bounds 110.00 110.00)
                      (contentsOpaque 1)
                      (drawsContent 1)
                      (visible rect 0.00, 0.00 40.00 x 85.00)
                      (coverage rect -160.00, -160.00 200.00 x 245.00)
                      (intersects coverage rect 1)
                      (contentsScale 2.00)
                    )
                  )
                )
              )
            )
          )
        )
      )
    )
  )
)

