transform opacity transform, background transform, opacity -webkit-filter
opacity
transform
-webkit-filter
transform-style
perspective
background, clip-path, position, z-index, -webkit-mask
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (children 6
        (GraphicsLayer
          (offsetFromRenderer width=96 height=0)
          (position 104.00 8.00)
          (bounds 52.00 18.00)
          (drawsContent 1)
        )
        (GraphicsLayer
          (offsetFromRenderer width=337 height=0)
          (position 345.00 8.00)
          (bounds 122.00 18.00)
          (drawsContent 1)
        )
        (GraphicsLayer
          (offsetFromRenderer width=478 height=0)
          (position 486.00 8.00)
          (bounds 85.00 18.00)
          (drawsContent 1)
        )
        (GraphicsLayer
          (position 18.00 36.00)
          (bounds 764.00 18.00)
          (contentsOpaque 1)
          (drawsContent 1)
        )
        (GraphicsLayer
          (position 18.00 64.00)
          (bounds 764.00 18.00)
          (contentsOpaque 1)
          (drawsContent 1)
        )
        (GraphicsLayer
          (position 18.00 92.00)
          (bounds 764.00 18.00)
          (contentsOpaque 1)
          (drawsContent 1)
        )
      )
    )
  )
)

