úÎcO     Calculates the  of an geometric object.   A 2D Point. A list of 2D Points. A  is the border of a  !Algebra.Geometric.Polygon.Polygon' or the internal border of a hole in a  !Algebra.Geometric.Polygon.Polygon. In a Algebra.Geometric.Strip.Strip, * it is the border of each division of the Algebra.Geometric.Strip.Strip.  A  /, which support holes and disjoint areas. Each ! in the  tuple tells if the  is the border of a hole (" ) or of a    (#).      $%& A  * is an alternative form of representing a   composed  by s that are not holes. It''s a good idea to use it to draw filled  figures, and to use   to draw the s. '()An * version of , which does not use +.  Converts a   to a  .      ,-./012An * version of , which does not use +. An * version of , which does not use +. An * version of , which does not use +. An * version of , which does not use +.  : Returns a   with the area in the first    and not in the second. : a  ) with the area in both the first and the  second  .  : Returns a  * with the area in the first or the second   , but not in both.  : Returns a  * with the area in the first or the second   . 34   56789:Reads a file into a  . If the file isn't accessible, then  ; is returned. If the  6 was successfully written, then this function returns  ", and # otherwise.  <      !"#$%&'()*+)*,)*-./012()34567.89/:;<12=/>?@25ABChgeometric-0.0.2Algebra.Geometric.AreaAlgebra.Geometric.ContourAlgebra.Geometric.PolygonAlgebra.Geometric.StripAlgebra.Geometric.ClipAlgebra.Geometric.Polygon.FileAlgebra.GeometricAreaareaVertexVertexCvertexXvertexYContourContourC contourListPolygonPolygonC polygonSetStripStripCstripSetsafePolygonToStrippolygonToStripClip difference intersectionxorunion\\/\<+>\/ readPolygon writePolygonCVertexrotation addVertexsumMultiCContourghc-primGHC.BoolBoolTrueFalsegpc_free_tristripgpc_free_polygongpc_polygon_to_tristripCStripCPolygon GHC.TypesIObaseGHC.IOunsafePerformIOgpc_tristrip_clipgpc_polygon_clipcClipclipFreeclipgpc_write_polygonfclosegpc_read_polygonfopen Data.MaybeNothing