diff --git a/.gitattributes b/.gitattributes index 940660b5885..e2556f66162 100644 --- a/.gitattributes +++ b/.gitattributes @@ -87,7 +87,6 @@ Packages/Arrangement/doc_tex/basic/Arrangement_2/arr3.gif svneol=native#unset Packages/Arrangement/doc_tex/basic/Arrangement_2/circles.gif svneol=native#unset Packages/Convex_hull_2/doc_tex/Convex_hull_2/saarhull.eps -text Packages/Convex_hull_2/doc_tex/Convex_hull_2/saarhull.gif -text svneol=unset#unset -Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.gif svneol=native#unset Packages/Convex_hull_2/doc_tex/basic/Convex_hull_2/saarhull.eps -text Packages/Convex_hull_2/doc_tex/basic/Convex_hull_2/saarhull.gif -text svneol=unset#unset Packages/Developers_manual/pictures/Object.eps -text diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ConvexHullTraits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ConvexHullTraits_2.tex deleted file mode 100644 index 8d0da7f8035..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ConvexHullTraits_2.tex +++ /dev/null @@ -1,129 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ConvexHullTraits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefConcept}{ConvexHullTraits_2} -\ccIndexTraitsClassRequirements[p]{convex hull, 2D} -\ccIndexTraitsClassRequirements[p]{extreme points, 2D} - -\ccDefinition - -All convex hull and extreme point algorithms provided in \cgal\ are -parameterized with a traits class \ccStyle{Traits}, which defines the -primitives (objects and predicates) that the convex hull algorithms use. -\ccRefName\ defines the complete set of primitives required in these -functions. The specific subset of these primitives required by each function -is specified with each function. - -\ccTypes -\ccAutoIndexingOff -\ccSetTwoColumns{ConvexHullTraits_2::Left_of_line_2}{} - -\ccNestedType{Point_2}% - {The point type on which the convex hull functions operate.} - -\ccNestedType{Less_xy_2}% - {Binary predicate object type comparing \ccc{Point_2}s - lexicographically. Must provide - \ccc{bool operator()(Point_2 p, Point_2 q)} where \ccc{true} - is returned iff $p <_{xy} q$. - We have $p<_{xy}q$, iff $p_x < q_x$ or $p_x = q_x$ and $p_y < q_y$, - where $p_x$ and $p_y$ denote $x$ and $y$ coordinate of point $p$, - respectively. - } - -\ccNestedType{Less_yx_2}% - {Same as \ccc{Less_xy_2} with the roles of $x$ and $y$ interchanged.} - -\ccNestedType{Leftturn_2}% - {Predicate object type that must provide - \ccc{bool operator()(Point_2 p,Point_2 q,Point_2 r)}, which - returns \ccc{true} iff \ccc{r} lies to the left of the - oriented line through \ccc{p} and \ccc{q}.} - -\ccNestedType{Left_of_line_2}% - {Unary predicate object type that - must provide a constructor taking two \ccc{Point_2}s, $p$ and - $q$, and \ccc{bool operator()(Point_2 r)}, which returns \ccc{true} iff - $r$ lies to the left of the directed line through $p$ and $q$.} - -\ccNestedType{Less_signed_distance_to_line_2}% - {Binary predicate object type that must provide a constructor taking - two \ccc{Point_2}s, $p$ and $q$, and - \ccc{bool operator()(Point_2 r,Point_2 s)}, which returns \ccc{true} iff - the signed distance from $r$ to the line $l_{pq}$ through $p$ and $q$ - is smaller than the distance from $s$ to $l_{pq}$. It is used to - compute the point right of a line with maximum unsigned distance to - the line. The binary predicate must provide a total order compatible - with convexity, {\it i.e.}, for any line segment $s$ one of the - endpoints - of $s$ is the smallest point among the points on $s$, with respect to - the order given by \ccc{Less_signed_distance_to_line_2}.} - -\ccNestedType{Less_rotate_ccw_2}% - {Binary predicate object type that must provide a constructor taking a - \ccc{Point_2}, $e$, and \ccc{bool operator()(Point_2 p,Point_2 q)}, - where \ccc{true} is returned iff a tangent at $e$ to the point set - $\{e,p,q\}$ hits $p$ before $q$ when rotated counterclockwise around - $e$. - Ties are broken such that the point with larger distance to $e$ - is smaller!} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -Only a copy constructor is required. - -\ccConstructor{ConvexHullTraits_2(ConvexHullTraits_2& t);}{} - -\ccOperations - -The following member functions to create instances of the above predicate -object types must exist. - -\setlength\parskip{0mm} -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 left_of_line_2_object( const Point_2& p, const -Point_2& q) ; }{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 less_signed_distance_to_line_2_object( const Point_2& p, const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 less_rotate_ccw_2_object( const Point_2& p ) -; }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} - - -\ccParDims -\ccHasModels - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} \\ -\ccAutoIndexingOn - -\ccSeeAlso - -\ccRefConceptPage{IsStronglyConvexTraits_3} - -\ccParDims -\end{ccRefConcept} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_constructive_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_constructive_traits_2.tex deleted file mode 100644 index ea69420e594..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_constructive_traits_2.tex +++ /dev/null @@ -1,92 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_constructive_traits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_constructive_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_constructive_traits_2}{}{convex hull, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. Unlike the class -\ccc{CGAL::Convex_hull_traits_2}, this class makes use of previously -computed results to avoid redundancy. For example, -in the sidedness tests, lines (of type \ccc{R::Line_2}) are constructed, -which is equivalent to the precomputation of subdeterminants of -the orientation-determinant for three points. - -\ccInclude{CGAL/convex_hull_constructive_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes -\ccAutoIndexingOff -\ccSetThreeColumns{typedef R::Less_signed_distance_to_line_2 }{Less_signed_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef R::Point_2 Point_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_xy Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_yx Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::r_Left_of_line Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::r_Less_dist_to_line - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_rotate_ccw Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef R::Leftturn_2 Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_constructive_traits_2();}{default constructor.} - -\ccOperations -\ccAutoIndexingOff -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} -\ccAutoIndexingOn - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_leda_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_leda_traits_2.tex deleted file mode 100644 index 7c4ca499e70..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_leda_traits_2.tex +++ /dev/null @@ -1,91 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_leda_traits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_leda_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_leda_traits_2}{}{convex hull, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. It uses the -two-dimensional floating point geometry kernel of \leda. -Please note that, due to the use of floating-point arithmetic, the results -may not be robust when using this traits class. - -\ccInclude{CGAL/convex_hull_leda_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes -\ccAutoIndexingOff -\ccSetThreeColumns{typedef CGAL::p_Less_dist_to_line_2p }{Less_signed_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef leda_point Point_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_xy Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_yx Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Left_of_line_2p Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_dist_to_line_2p - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_rotate_ccw Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Leftturn Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_leda_traits_2(Convex_hull_leda_traits_2& t);}{copy constructor.} - -\ccOperations - -\ccAutoIndexingOff -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} -\ccAutoIndexingOn - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_xy_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_xy_traits_2.tex deleted file mode 100644 index b2d04c5eccc..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_xy_traits_2.tex +++ /dev/null @@ -1,89 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_projective_xy_traits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_projective_xy_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_projective_xy_traits_2}{}{convex hull, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. This class can be -used to compute the convex hull of a set of 3D points projected onto the -$xy$ plane (\textit{i.e.}, by ignoring the $z$ coordinate). - -\ccInclude{CGAL/Convex_hull_projective_xy_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes - -\ccAutoIndexingOff -\ccSetThreeColumns{typedef R::Less_dist_to_line_plane_xy_2}{Less_signed_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef Point_3 Point_2;}{} -\ccGlue -\ccTypedef{typedef Less_xy_plane_xy_2 Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef Less_yx_plane_xy_2 Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef Left_of_line_plane_xy_2 Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef Less_dist_to_line_plane_xy_2 - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef Less_rotate_ccw_plane_xy_2 Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef Leftturn_plane_xy_2 Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_projective_xy_traits_2();}{default constructor.} - -\ccOperations - -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_xz_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_xz_traits_2.tex deleted file mode 100644 index c3bb0be9ff4..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_xz_traits_2.tex +++ /dev/null @@ -1,89 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_projective_xz_traits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_projective_xz_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_projective_xz_traits_2}{}{convex hull, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. This class can be -used to compute the convex hull of a set of 3D points projected onto the -$xz$ plane (\textit{i.e.}, by ignoring the $y$ coordinate). - -\ccInclude{CGAL/Convex_hull_projective_xz_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes -\ccAutoIndexingOff -\ccSetThreeColumns{typedef R::Less_dist_to_line_plane_xy_2}{Less_signed -_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef Point_3 Point_2;}{} -\ccGlue -\ccTypedef{typedef Less_xy_plane_xz_2 Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef Less_yx_plane_xz_2 Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef Left_of_line_plane_xz_2 Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef Less_dist_to_line_plane_xz_2 - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef Less_rotate_ccw_plane_xz_2 Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef Leftturn_plane_xz_2 Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_projective_xz_traits_2();}{default constructor.} - -\ccOperations - -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_yz_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_yz_traits_2.tex deleted file mode 100644 index 7ae60cbc38a..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_projective_yz_traits_2.tex +++ /dev/null @@ -1,89 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_projective_yz_traits.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_projective_yz_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_projective_yz_traits_2}{}{convex hull, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. This class can be -used to compute the convex hull of a set of 3D points projected onto the -$yz$ plane (\textit{i.e.}, by ignoring the $x$ coordinate). - -\ccInclude{CGAL/Convex_hull_projective_yz_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes -\ccAutoIndexingOff -\ccSetThreeColumns{typedef R::Less_dist_to_line_plane_xy_2}{Less_signed -_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef Point_3 Point_2;}{} -\ccGlue -\ccTypedef{typedef Less_xy_plane_yz_2 Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef Less_yx_plane_yz_2 Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef Left_of_line_plane_yz_2 Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef Less_dist_to_line_plane_yz_2 - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef Less_rotate_ccw_plane_yz_2 Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef Leftturn_plane_yz_2 Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_projective_yz_traits_2();}{default constructor.} - -\ccOperations - -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} -\ccAutoIndexingOn - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_rat_leda_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_rat_leda_traits_2.tex deleted file mode 100644 index 64ec4916b9c..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_rat_leda_traits_2.tex +++ /dev/null @@ -1,92 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_rat_leda_traits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_rat_leda_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_rat_leda_traits_2}{}{convex hull, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. It uses the -two-dimensional exact rational geometry kernel of \leda. The usage of this -traits class is not recommended with \ccc{ch_eddy()} for \leda\ versions prior -to 3.6. Older versions of \leda\ do -not provide appropriate efficient predicates for this function. - -\ccInclude{CGAL/convex_hull_rat_leda_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes -\ccAutoIndexingOff -\ccSetThreeColumns{typedef CGAL::p_Less_signed_distance_to_line_2 }{Less_signed_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef leda_rat_point Point_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_xy Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_yx Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Left_of_line_2p Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_dist_to_line_2p - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Less_rotate_ccw Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef CGAL::p_Leftturn Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_rat_leda_traits_2(Convex_hull_rat_leda_traits_2& t);}{copy constructor.} - -\ccOperations - -\ccAutoIndexingOff -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} -\ccAutoIndexingOn - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_traits_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_traits_2.tex deleted file mode 100644 index 80997d9fbc8..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/Convex_hull_traits_2.tex +++ /dev/null @@ -1,90 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: Convex_hull_traits_2.tex -% +------------------------------------------------------------------------+ -% | 14.05.2001 Susan Hert -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\ccAutoIndexingOff -\begin{ccRefClass}{Convex_hull_traits_2} -\ccAutoIndexingOn -\ccIndexTraitsClassBegin{Convex_hull_traits_2}{}{convex hull, 2D} -\ccIndexTraitsClassDefault[p]{convex hull, 2D} -\ccIndexTraitsClassDefault[p]{extreme points, 2D} - -\ccDefinition - -The class \ccRefName\ serves as a traits class for all the two-dimensional -convex hull and extreme point calculation function. This class corresponds -to the default traits class for these functions. - -\ccInclude{CGAL/convex_hull_traits_2.h} - -\ccIsModel - -\ccRefConceptPage{ConvexHullTraits_2}% -\ccIndexSubitem[c]{ConvexHullTraits_2}{model} \\ - -\ccTypes -\ccAutoIndexingOff -\ccSetThreeColumns{typedef R::Less_signed_distance_to_line_2 }{Less_signed_distance_to_line_2}{} -\ccThreeToTwo - -\ccTypedef{typedef R::Point_2 Point_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_xy Less_xy_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_yx Less_yx_2;}{} -\ccGlue -\ccTypedef{typedef R::Left_of_line_2 Left_of_line_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_signed_distance_to_line_2 - Less_signed_distance_to_line_2;}{} -\ccGlue -\ccTypedef{typedef R::Less_rotate_ccw_2 Less_rotate_ccw_2;}{} -\ccGlue -\ccTypedef{typedef R::Leftturn_2 Leftturn_2;}{} - - -\ccCreation -\ccCreationVariable{traits} %% choose variable name - -\ccConstructor{Convex_hull_traits_2(Convex_hull_traits_2& t);}% - {copy constructor.} - -\ccOperations -\ccAutoIndexingOff -\ccMemberFunction{Less_xy_2 less_xy_2_object(); }{} -\ccGlue -\ccMemberFunction{Less_yx_2 less_yx_2_object(); }{} -\ccGlue -\ccMemberFunction{Left_of_line_2 - left_of_line_2_object(const Point_2& p, const Point_2& q); } -{} -\ccGlue -\ccMemberFunction{Less_signed_distance_to_line_2 - less_signed_distance_to_line_2_object(const Point_2& p, - const Point_2& q); }{} -\ccGlue -\ccMemberFunction{Less_rotate_ccw_2 - less_rotate_ccw_2_object(const Point_2& p); }{} -\ccGlue -\ccMemberFunction{Leftturn_2 leftturn_2_object(); }{} -\ccAutoIndexingOn - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} - -\ccIndexTraitsClassEnd -\ccAutoIndexingOff -\end{ccRefClass} -\ccAutoIndexingOn - -% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_akl_toussaint.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_akl_toussaint.tex deleted file mode 100644 index 1fa85fc4b22..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_akl_toussaint.tex +++ /dev/null @@ -1,84 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_akl_toussaint.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -%\renewcommand{\ccRefPageBegin}{\begin{ccAdvanced}} -%\renewcommand{\ccRefPageEnd}{\end{ccAdvanced}} -\begin{ccRefFunction}{ch_akl_toussaint} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{Akl-Toussaint algorithm} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points. - - -\ccInclude{CGAL/ch_akl_toussiant.h} - -\ccFunction{template - OutputIterator - ch_akl_toussaint(ForwardIterator first, ForwardIterator beyond, - OutputIterator result, - const Traits& ch_traits = Default_traits());} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first},\ccc{beyond}). - The resulting sequence is placed starting at position - \ccc{result}, and the past-the-end iterator for the resulting - sequence is returned. It is not specified at which point the - cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond %\ccIndexSubitem[C]{ch_akl_toussaint}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{ForwardIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Less_yx_2}, - \item \ccc{Traits::Left_of_line_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} - -\ccImplementation - -This function uses the algorithm of Akl and -Toussaint \cite{at-fcha-78} that requires $O(n \log n)$ time for $n$ input -points. - -\ccIndexSubitemEnd{convex hull, 2D}{Akl-Toussaint algorithm} -\end{ccRefFunction} -%\renewcommand{\ccRefPageBegin}{} -%\renewcommand{\ccRefPageEnd}{} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_bykat.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_bykat.tex deleted file mode 100644 index 8f089624497..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_bykat.tex +++ /dev/null @@ -1,83 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_bykat.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -%\renewcommand{\ccRefPageBegin}{\begin{ccAdvanced}} -%\renewcommand{\ccRefPageEnd}{\end{ccAdvanced}} -\begin{ccRefFunction}{ch_bykat} -\ccIndexSubitemBegin{convex hull, 2D}{Bykat algorithm} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points. - - -\ccInclude{CGAL/ch_bykat.h} - -\ccFunction{template - OutputIterator - ch_bykat( InputIterator first, - InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits);} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first},\ccc{beyond}). - The resulting sequence is placed starting at position - \ccc{result}, and the past-the-end iterator for the resulting - sequence is returned. It is not specified at which point the - cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond %\ccIndexSubitem[C]{ch_bykat}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_signed_distance_to_line_2}, - \item \ccc{Traits::Left_of_line_2}, - \item \ccc{Traits::Less_xy_2}. - \end{itemize} -\end{enumerate} - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} - -\ccImplementation -This function implements the non-recursive varitaion of -Eddy's algorithm \cite{e-nchap-77} described in \cite{b-chfsp-78}. -This algorithm requires $O(n h)$ time -in the worst case for $n$ input points with $h$ extreme points. - -\ccIndexSubitemEnd{convex hull, 2D}{Bykat algorithm} -\end{ccRefFunction} -%\renewcommand{\ccRefPageBegin}{} -%\renewcommand{\ccRefPageEnd}{} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_e_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_e_point.tex deleted file mode 100644 index d709bd10f59..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_e_point.tex +++ /dev/null @@ -1,57 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_e_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_e_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds a point of a given set -of input points with maximal $x$ coordinate. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_e_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& e, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{e} is an iterator in the range such that \ccc{*e} $\ge_{xy}$ - \ccc{*it} for all iterators \ccc{it} in the range. } - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - -\ccHeading{Requirements} -\ccc{Traits} defines a type \ccc{Traits::Less_xy_2} as described in -the concept ConvexHullTraits\_2 and the corresponding member -%\ccIndexMainItem[c]{ConvexHullTraits_2} -function that returns an instance of this type. - - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_eddy.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_eddy.tex deleted file mode 100644 index 147b852d8ae..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_eddy.tex +++ /dev/null @@ -1,87 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_eddy.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -%\renewcommand{\ccRefPageBegin}{\begin{ccAdvanced}} -%\renewcommand{\ccRefPageEnd}{\end{ccAdvanced}} -\begin{ccRefFunction}{ch_eddy} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{Eddy algorithm} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points. - - -\ccInclude{CGAL/ch_eddy.h} - -\ccFunction{template - OutputIterator - ch_eddy( InputIterator first, - InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits);} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first},\ccc{beyond}). - The resulting sequence is placed starting at position - \ccc{result}, and the past-the-end iterator for the resulting - sequence is returned. It is not specified at which point the - cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond %\ccIndexSubitem[C]{ch_eddy}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_signed_distance_to_line_2}, - \item \ccc{Traits::Left_of_line_2}, - \item \ccc{Traits::Less_xy_2}. - \end{itemize} -\end{enumerate} - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} - -\ccImplementation - -This function implements Eddy's algorithm -\cite{e-nchap-77}, which is the two-dimensional version of the quickhull -algorithm \cite{bdh-qach-96}% -\ccIndexMainItem{quickhull, 2D} -\ccIndexSubitem{convex hull, 2D}{quickhull}. -This algorithm requires $O(n h)$ time -in the worst case for $n$ input points with $h$ extreme points. - -\ccIndexSubitemEnd{convex hull, 2D}{Eddy algorithm} -\end{ccRefFunction} -%\renewcommand{\ccRefPageBegin}{} -%\renewcommand{\ccRefPageEnd}{} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_graham_andrew.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_graham_andrew.tex deleted file mode 100644 index 86d366c7ec4..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_graham_andrew.tex +++ /dev/null @@ -1,84 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_graham_andrew.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -%\renewcommand{\ccRefPageBegin}{\begin{ccAdvanced}} -%\renewcommand{\ccRefPageEnd}{\end{ccAdvanced}} -\begin{ccRefFunction}{ch_graham_andrew} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{Graham-Andrew scan} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points. - - -\ccInclude{CGAL/ch_graham_andrew.h} - -\ccFunction{template - OutputIterator - ch_graham_andrew( InputIterator first, - InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits);} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first},\ccc{beyond}). - The resulting sequence is placed starting at position - \ccc{result}, and the past-the-end iterator for the resulting - sequence is returned. It is not specified at which point the - cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond %\ccIndexSubitem[C]{ch_graham_andrew}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{InputIteartor::value_type} is defined. - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew_scan} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} \\ -\ccRefIdfierPage{CGAL::lower_hull_points_2} \\ -\ccRefIdfierPage{CGAL::upper_hull_points_2} - -\ccImplementation -This function implements Andrew's variant of the Graham -scan algorithm \cite{a-aeach-79} and follows the presenation of Mehlhorn -\cite{m-mdscg-84}. This algorithm requires $O(n \log n)$ time -in the worst case for $n$ input points. - -\ccIndexSubitemEnd{convex hull, 2D}{Graham-Andrew scan} -\end{ccRefFunction} -%\renewcommand{\ccRefPageBegin}{} -%\renewcommand{\ccRefPageEnd}{} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_graham_andrew_scan.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_graham_andrew_scan.tex deleted file mode 100644 index 8b5ad73f939..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_graham_andrew_scan.tex +++ /dev/null @@ -1,123 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_graham_andrew.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_graham_andrew_scan} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{Graham-Andrew scan} -\ccIndexSubitemBegin{extreme points, 2D}{right of line} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points that are not left of the line defined -by the first and last points in this sequence. - - -\ccInclude{CGAL/ch_graham_andrew.h} - -\ccFunction{template - OutputIterator - ch_graham_andrew_scan( BidirectionalIterator first, - BidirectionalIterator beyond, - OutputIterator result, - const Traits& ch_traits = Default_traits);} - {generates the counterclockwise sequence of extreme points that are - not left of $pq$, where $p$ is the value of \ccc{first} and $q$ is - the value of \ccc{beyond} $-1$. The resulting sequence is placed - starting at \ccc{result} with $p$; point $q$ is omitted. The - past-the-end iterator for the sequence is returned. - \ccPrecond %\ccIndexSubitem[C]{ch_graham_andrew_scan}{preconditions} - The range [\ccc{first},\ccc{beyond}) contains at least - two different points. - The points in [\ccc{first},\ccc{beyond}) are ``sorted'' with respect - to $pq$, {\it i.e.}, the sequence of points in - [\ccc{first},\ccc{beyond}) define a counterclockwise polygon, - for which the Graham-Sklansky-procedure \cite{s-mcrm-72} works.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{BidirectionalIterator::value_type} is defined. - - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{BidirectionalIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following two types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::lower_hull_points_2} \\ -\ccRefIdfierPage{CGAL::upper_hull_points_2} - -\ccImplementation - -The function uses Andrew's -variant of the Graham scan algorithm \cite{a-aeach-79} . This algorithm -requires $O(n \log n)$ time in the worst case for $n$ input points. - -\ccExample - -In the following example \ccc{ch_graham_andrew_scan()} is used to -realize Anderson's variant \cite{a-readc-78} of the Graham Scan -\cite{g-eadch-72}. The points are sorted counterclockwise around the leftmost -point using the \ccc{Less_rotate_ccw_2} predicate, as defined in -the concept ConvexHullTraits\_2. According to the definition -of \ccc{Less_rotate_ccw_2}, the leftmost point is the last point in the sorted -sequence and its predecessor on the convex hull is the first point in the -sorted sequence. It is not hard to see that the preconditions of -\ccc{ch_graham_andrew_scan()} are satisfied. Anderson's variant of the -Graham scan is usually inferior to Andrew's variant because of its higher -arithmetic demand. - -\begin{verbatim} -template -OutputIterator -ch_graham_anderson( InputIterator first, InputIterator beyond, - OutputIterator result, const Traits& ch_traits) -{ - typedef typename Traits::Less_xy_2 Less_xy_2; - typedef typename Traits::Point_2 Point_2; - typedef typename Traits::Less_rotate_ccw_2 Less_rotate_ccw_2; - - if (first == beyond) return result; - std::vector< Point_2 > V; - copy( first, beyond, back_inserter(V) ); - typename std::vector< Point_2 >::iterator it = - std::min_element(V.begin(), V.end(), Less_xy_2()); - std::sort( V.begin(), V.end(), Less_rotate_ccw_2(*it) ); - if ( *(V.begin()) == *(V.rbegin()) ) - { - *result = *(V.begin()); ++result; - return result; - } - return ch_graham_andrew_scan( V.begin(), V.end(), result, ch_traits); -} -\end{verbatim} - - -\ccIndexSubitemEnd{convex hull, 2D}{Graham-Andrew scan} -\ccIndexSubitemEnd{extreme points, 2D}{right of line} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_jarvis.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_jarvis.tex deleted file mode 100644 index 1d6a730a92f..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_jarvis.tex +++ /dev/null @@ -1,85 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_jarvis.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -%\renewcommand{\ccRefPageBegin}{\begin{ccAdvanced}} -%\renewcommand{\ccRefPageEnd}{\end{ccAdvanced}} -\begin{ccRefFunction}{ch_jarvis} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{Jarvis march} -\ccIndexSubitemBegin{convex hull, 2D}{gift-wrapping} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points. - - -\ccInclude{CGAL/ch_jarvis.h} - -\ccFunction{template - OutputIterator - ch_jarvis( InputIterator first, - InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits);} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first},\ccc{beyond}). - The resulting sequence is placed starting at position - \ccc{result}, and the past-the-end iterator for the resulting - sequence is returned. It is not specified at which point the - cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond %\ccIndexSubitem[C]{ch_jarvis}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{InputIterator::value_type} is defined. - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_rotate_ccw_2}, - \item \ccc{Traits::Less_xy_2}. - \end{itemize} -\end{enumerate} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis_march} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} - -\ccIndexSubitemEnd{convex hull, 2D}{gift-wrapping} -\ccIndexSubitemEnd{convex hull, 2D}{Jarvis march} - -\ccImplementation -This function uses the Jarvis march (gift-wrapping) -algorithm \cite{j-ichfs-73}. This algorithm requires $O(n h)$ time -in the worst case for $n$ input points with $h$ extreme points. - -\end{ccRefFunction} -%\renewcommand{\ccRefPageBegin}{} -%\renewcommand{\ccRefPageEnd}{} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_jarvis_march.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_jarvis_march.tex deleted file mode 100644 index 4557f6f8279..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_jarvis_march.tex +++ /dev/null @@ -1,81 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_jarvis_march.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - -\begin{ccRefFunction}{ch_jarvis_march} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{Jarvis march} -\ccIndexSubitemBegin{convex hull, 2D}{gift-wrapping} -\ccIndexSubitemBegin{extreme points, 2D}{between two points} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points that line between two input points. - - -\ccInclude{CGAL/ch_jarvis.h} - -\ccFunction{template - OutputIterator - ch_jarvis_march(ForwardIterator first, ForwardIterator beyond, - const Traits::Point_2& start_p, - const Traits::Point_2& stop_p, - OutputIterator result, - const Traits& ch_traits = Default_traits);} - {generates the counterclockwise subsequence of - extreme points between \ccc{start_p} and \ccc{stop_p} of the - points in the range [\ccc{first},\ccc{beyond}), starting at - position \ccc{result} with point \ccc{start_p}. The last point - generated is the point preceding \ccc{stop_p} in the - counterclockwise order of extreme points.\\ - \ccPrecond%\ccIndexSubitem[C]{ch_jarvis_march}{preconditions} - \ccc{start_p} and \ccc{stop_p} are extreme points with respect to - the points in the range [\ccc{first},\ccc{beyond}) and \ccc{stop_p} - is an element of range [\ccc{first},\ccc{beyond}).} - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIterator::value_type} is defined. - - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{ForwardIterator::value_type} and - \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} defines the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_rotate_ccw_2}. - \end{itemize} -\end{enumerate} - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::lower_hull_points_2} \\ -\ccRefIdfierPage{CGAL::upper_hull_points_2} \\ - -\ccIndexSubitemEnd{convex hull, 2D}{Jarvis march} -\ccIndexSubitemEnd{convex hull, 2D}{gift-wrapping} -\ccIndexSubitemEnd{extreme points, 2D}{between two points} - -\ccImplementation - -The function uses the Jarvis march (gift-wrapping) -algorithm \cite{j-ichfs-73}. This algorithm requires $O(n h)$ time -in the worst case for $n$ input points with $h$ extreme points. -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_melkman.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_melkman.tex deleted file mode 100644 index 9bf2aff99ed..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_melkman.tex +++ /dev/null @@ -1,78 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_melkman.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_melkman} %% add template arg's if necessary -\ccIndexSubitemBegin{convex hull, 2D}{of polyline or polygon} -\ccIndexSubitemBegin{convex hull, 2D}{Melkman algorithm} - -\ccDefinition - -The function \ccRefName\ computes the counterclockwise sequence of -extreme points of a sequence of points that forms a simple polyline or polygon. - -\ccInclude{CGAL/ch_melkman.C} - -\ccFunction{template - OutputIterator - ch_melkman( InputIterator first, InputIterator last, - OutputIterator result, - const Traits& ch_traits = Default_traits);} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first}, \ccc{beyond}). - The resulting sequence is placed starting at - position \ccc{result}, and the past-the-end iterator for - the resulting sequence is returned. - \ccPrecond %\ccIndexSubitem[C]{ch_melkman}{preconditions} - The source range [\ccc{first},\ccc{beyond}) corresponds - to a simple polyline. - [\ccc{first},\ccc{beyond}) does not contain \ccc{result}}. - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{InputIterator::value_type} is defined. - - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} contains the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} - -\ccImplementation - -It uses an implementation of Melkman's algorithm \cite{m-olcch-87}. Running -time of this is linear. - -\ccIndexSubitemEnd{convex hull, 2D}{of polyline or polygon} -\ccIndexSubitemEnd{convex hull, 2D}{Melkman algorithm} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_n_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_n_point.tex deleted file mode 100644 index 6e42c9f619c..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_n_point.tex +++ /dev/null @@ -1,56 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_n_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_n_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds a point in a given set -of input points with maximal $y$ coordinate. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_n_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& n, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{n} is an iterator in the range such that \ccc{*n} $\ge_{yx}$ - \ccc{*it} for all iterators \ccc{it} in the range.} - - -The default traits class \ccc{Default_traits} is the kernel in which the type -\ccc{ForwardIteartor::value_type} is defined. - -\ccHeading{Requirements} -\ccc{Traits} defines the type \ccc{Traits::Less_yx_2} as specified in -the concept ConvexHullTraits\_2 and the corresponding member -function that returns an instance of this type. - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_ns_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_ns_point.tex deleted file mode 100644 index 4689ae70c07..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_ns_point.tex +++ /dev/null @@ -1,59 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_ns_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_ns_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds the points of a given set -of input points with minimal and maximal $x$ coordinates. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_ns_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& n, - ForwardIterator& s, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{n} is an iterator in the range such that \ccc{*n} $\ge_{yx}$ - \ccc{*it} for all iterators \ccc{it} in the range. Similarly, for - \ccc{s} the inequality \ccc{*s} $\le_{yx}$ \ccc{*it} - holds for all iterators in the range.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - - -\ccHeading{Requirements} -\ccc{Traits} defines the type \ccc{Traits::Less_yx_2} as specified in -the concept ConvexHullTraits\_2 and the corresponding member -function that returns an instance of this type. - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_nswe_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_nswe_point.tex deleted file mode 100644 index f0bbe7e215b..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_nswe_point.tex +++ /dev/null @@ -1,68 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_nswe_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_nswe_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds the four extreme points of a given set -of input points using a linear scan of the input points. -That is, it determines the points with maximal $y$, minimal $y$, -minimal $x$, and maximal $x$ coordinates. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_nswe_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& n, - ForwardIterator& s, - ForwardIterator& w, - ForwardIterator& e, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{n} is an iterator in the range such that \ccc{*n} $\ge_{yx}$ - \ccc{*it} for all iterators \ccc{it} in the range. Similarly, for - \ccc{s}, \ccc{w}, and \ccc{e} the inequalities \ccc{*s} $\le_{yx}$ - \ccc{*it}, \ccc{*w} $\le_{xy}$ \ccc{*it}, and \ccc{*e} - $\ge_{xy}$ \ccc{*it} hold for all iterators - \ccc{it} in the range.} - - -\ccHeading{Requirements} -\ccc{Traits} contains the following subset of types from -the concept ConvexHullTraits\_2 and their corresponding member -functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Less_yx_2}. - \end{itemize} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_s_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_s_point.tex deleted file mode 100644 index 2ec2aba3a33..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_s_point.tex +++ /dev/null @@ -1,56 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_s_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_s_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds a points in a given set -of input points with minimal $y$ coordinates. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_s_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& s, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{s} is an iterator in the range such that \ccc{*s} $\le_{yx}$ - \ccc{*it} for all iterators \ccc{it} in the range.} - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - -\ccHeading{Requirements} -\ccc{Traits} defines the type \ccc{Traits::Less_yx_2} as specified in -the concept ConvexHullTraits\_2 and the corresponding member -function that returns an instance of this type. - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_w_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_w_point.tex deleted file mode 100644 index 54597e181fd..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_w_point.tex +++ /dev/null @@ -1,57 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_w_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_w_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds a point in a given set -of input points with minimal $x$ coordinate. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_w_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& w, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{w} is an iterator in the range such that \ccc{*w} $\le_{xy}$ - \ccc{*it} for all iterators \ccc{it} in the range.} - - -\ccHeading{Requirements} -\ccc{Traits} defines the type \ccc{Traits::Less_xy_2} as specified in -the concept ConvexHullTraits\_2 and the corresponding member -function that returns an instance of this type. - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_we_point.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_we_point.tex deleted file mode 100644 index cf4bb0fb107..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/ch_we_point.tex +++ /dev/null @@ -1,59 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ch_we_point.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{ch_we_point} %% add template arg's if necessary -\ccIndexSubitemBegin{extreme points, 2D}{in coordinate directions} - -\ccDefinition - -The function \ccRefName\ finds two points of a given set -of input points with minimal and maximal $x$ coordinates. - -\ccInclude{CGAL/ch_selected_extreme_points_2.h} - -\ccFunction{template - void - ch_we_point( ForwardIterator first, ForwardIterator beyond, - ForwardIterator& w, - ForwardIterator& e, - const Traits & ch_traits = Default_traits);} - {traverses the range [\ccc{first},\ccc{beyond}). - After execution, the value of - \ccc{w} is an iterator in the range such that \ccc{*w} $\le_{xy}$ - \ccc{*it} for all iterators \ccc{it} in the range. Similarly, for - \ccc{e} the inequality \ccc{*e} $\ge_{xy}$ \ccc{*it} - holds for all iterators in the range.} - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIteartor::value_type} is defined. - -\ccHeading{Requirements} -\ccc{Traits} defines the type \ccc{Traits::Less_xy_2} as specified in -the concept ConvexHullTraits\_2 and the corresponding member -function that returns an instance of this type. - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ - -\ccIndexSubitemEnd{extreme points, 2D}{in coordinate directions} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/convex_hull_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/convex_hull_2.tex deleted file mode 100644 index d4fd0e1a20c..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/convex_hull_2.tex +++ /dev/null @@ -1,94 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: convex_hull_2.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{convex_hull_2} %% add template arg's if necessary -\ccIndexMainItemBegin{convex hull, 2D} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points from a given set of input points. - -\ccInclude{CGAL/convex_hull_2.h} - -\ccFunction{template - OutputIterator - convex_hull_2(InputIterator first, InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits );} - {generates the counterclockwise sequence of extreme points - of the points in the range [\ccc{first},\ccc{beyond}). - The resulting sequence is placed starting at position - \ccc{result}, and the past-the-end iterator for the resulting - sequence is returned. It is not specified at which point the - cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond %\ccIndexSubitem[C]{convex_hull_2}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - -The default traits class \ccc{Default_traits} is the kernel in which -the type \ccc{InputIterator::value_type} is defined. - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} contains the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Less_yx_2}, - \item \ccc{Traits::Left_of_line_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} - -\ccImplementation - -One of two algorithms is used, -depending on the type of iterator used to specify the input points. For -input iterators, the algorithm used is that of Bykat \cite{b-chfsp-78}, which -has a worst-case running time of $O(n h)$, where $n$ is the number of input -points and $h$ is the number of extreme points. For all other types of -iterators, the $O(n \log n)$ algorithm of of Akl and Toussaint -\cite{at-fcha-78} is used. - - -\ccExample -In the following example we use the \stl-compliant interface of -\ccc{CGAL::Polygon_2} to construct the convex hull polygon from the -sequence of extreme points. Point data are read from standard input, the -convex hull polygon is shown in a \cgal\ window. -Remember, that when no traits class is specified for the function -\ccc{convex_hull_2}, the kernel from which the input points come is -used as the default traits class. - -\ccIncludeExampleCode{Convex_hull_2/convex_hull_2_demo.C} - -\ccIndexMainItemEnd{convex hull, 2D} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/intro.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/intro.tex deleted file mode 100644 index 915d0713e97..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/intro.tex +++ /dev/null @@ -1,183 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: ConvexHull/intro.tex -% +------------------------------------------------------------------------+ -% | 10.5.2001 Susan Hert and Stefan Schirra -% | Package: ConvexHull -% | -% | -% +------------------------------------------------------------------------+ - -\clearpage -\section{Reference Pages for Convex Hulls and Extreme Points} - -A subset $S \subseteq \R^d$ is convex if for any two points $p$ and $q$ -in the set the line segment with endpoints $p$ and $q$ is contained -in $S$. The convex hull\ccIndexMainItemDef{convex hull} of a set $S$ is -the smallest convex set containing -$S$. The convex hull of a set of points $P$ is a convex -polytope with vertices in $P$. A point in $P$ is an extreme point -(with respect to $P$)\ccIndexMainItemDef{extreme point} if it is a vertex -of the convex hull of $P$. - -\cgal\ provides functions for computing convex hulls in two, three and -arbirary dimensions as well as functions for testing if a given set of points -in is strongly convex or not. For two dimensions, -there are also a number of functions available for computing particular -extreme points and subsequences of the hull points, such as the lower -hull or upper hull of a set of points. - - -\ccHeading{Assertions} -\ccIndexSubitem{convex hull, 2D}{assertion flags} -\ccIndexSubitem{assertion flags}{convex hull, 2D} -\ccIndexSubitem{convex hull, 3D}{assertion flags} -\ccIndexSubitem{assertion flags}{convex hull, 3D} -The assertion flags for the convex hull and extreme point algorithms -use \ccc{CH} in their names (\textit{e.g.}, \ccc{CGAL_CH_NO_POSTCONDITIONS}). -For the convex hull algorithms, the postcondition -check tests only convexity (if not disabled), but not containment of the -input points in the polygon or polyhedron defined by the output points. -The latter is considered an expensive checking and can be enabled by -defining \ccc{CGAL_CH_CHECK_EXPENSIVE}% -\ccIndexAssertionFlagName{CGAL_CH_CHECK_EXPENSIVE}. - - -\ccHeading{Concepts} - -\lcTex{ -%\ccRefConceptPage{ConvexHull3fromD_Rep}\\ -\ccRefConceptPage{ConvexHullPolyhedron_3}\\ -\ccRefConceptPage{ConvexHullPolyhedronFacet_3}\\ -\ccRefConceptPage{ConvexHullPolyhedronHalfedge_3}\\ -\ccRefConceptPage{ConvexHullPolyhedronVertex_3}\\ -\ccRefConceptPage{ConvexHullTraits_2}\\ -\ccRefConceptPage{ConvexHullTraits_3} \\ -\ccRefConceptPage{IsStronglyConvexTraits_3} -} - -\lcHtml{ -%\input{ConvexHull_ref/ConvexHull3fromD_Rep} -\input{ConvexHull_ref/ConvexHullPolyhedron_3} -\input{ConvexHull_ref/ConvexHullPolyhedronFacet_3} -\input{ConvexHull_ref/ConvexHullPolyhedronHalfedge_3} -\input{ConvexHull_ref/ConvexHullPolyhedronVertex_3} -\input{ConvexHull_ref/ConvexHullTraits_2} -\input{ConvexHull_ref/ConvexHullTraits_3} -\input{ConvexHull_ref/IsStronglyConvexTraits_3} -} - -\ccHeading{Traits Classes} - -\lcTex{ -\ccRefIdfierPage{CGAL::Convex_hull_constructive_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_d_traits_3} \\ -\ccRefIdfierPage{CGAL::Convex_hull_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xy_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_xz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_projective_yz_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_rat_leda_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_2} \\ -\ccRefIdfierPage{CGAL::Convex_hull_traits_3} \\ -} - -\lcHtml{ -\input{ConvexHull_ref/Convex_hull_constructive_traits_2} -\input{ConvexHull_ref/Convex_hull_d_traits_3} -\input{ConvexHull_ref/Convex_hull_leda_traits_2} -\input{ConvexHull_ref/Convex_hull_projective_xy_traits_2} -\input{ConvexHull_ref/Convex_hull_projective_xz_traits_2} -\input{ConvexHull_ref/Convex_hull_projective_yz_traits_2} -\input{ConvexHull_ref/Convex_hull_rat_leda_traits_2} -\input{ConvexHull_ref/Convex_hull_traits_2} -\input{ConvexHull_ref/Convex_hull_traits_3} -} - -\ccHeading{Convex Hull Functions} - -\lcTex{ -\ccRefIdfierPage{CGAL::ch_akl_toussaint} \\ -\ccRefIdfierPage{CGAL::ch_bykat} \\ -\ccRefIdfierPage{CGAL::ch_eddy} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_jarvis} \\ -\ccRefIdfierPage{CGAL::ch_melkman} \\ -\ccRefIdfierPage{CGAL::convex_hull_2} \\ -\ccRefIdfierPage{CGAL::convex_hull_3} \\ -\ccRefIdfierPage{CGAL::convex_hull_incremental_3} -} - -\lcHtml{ -\input{ConvexHull_ref/ch_akl_toussaint} -\input{ConvexHull_ref/ch_bykat} -\input{ConvexHull_ref/ch_eddy} -\input{ConvexHull_ref/ch_graham_andrew} -\input{ConvexHull_ref/ch_jarvis} -\input{ConvexHull_ref/ch_melkman} -\input{ConvexHull_ref/convex_hull_2} -\input{ConvexHull_ref/convex_hull_3} -\input{ConvexHull_ref/convex_hull_incremental_3} -} - -\ccHeading{Convex Hull Class} - -\lcTex{ -\ccRefIdfierPage{CGAL::Convex_hull_d} -} - -\lcHtml{ -\input{ConvexHull_ref/Convex_hull_d} -} - -\ccHeading{Convexity Checking Functions} - -\lcTex{ -\ccRefIdfierPage{CGAL::is_ccw_strongly_convex_2} \\ -\ccRefIdfierPage{CGAL::is_cw_strongly_convex_2} \\ -\ccRefIdfierPage{CGAL::is_strongly_convex_3} -} - -\lcHtml{ -\input{ConvexHull_ref/is_ccw_strongly_convex_2} -\input{ConvexHull_ref/is_cw_strongly_convex_2} -\input{ConvexHull_ref/is_strongly_convex_3} -} - -\ccHeading{Hull Subsequence Functions} - -\lcTex{ -\ccRefIdfierPage{CGAL::ch_graham_andrew_scan} \\ -\ccRefIdfierPage{CGAL::ch_jarvis_march} \\ -\ccRefIdfierPage{CGAL::lower_hull_points_2} \\ -\ccRefIdfierPage{CGAL::upper_hull_points_2} -} - -\lcHtml{ -\input{ConvexHull_ref/ch_graham_andrew_scan} -\input{ConvexHull_ref/ch_jarvis_march} -\input{ConvexHull_ref/lower_hull_points_2} -\input{ConvexHull_ref/upper_hull_points_2} -} - -\ccHeading{Extreme Point Functions} - -\lcTex{ -\ccRefIdfierPage{CGAL::ch_e_point} \\ -\ccRefIdfierPage{CGAL::ch_nswe_point} \\ -\ccRefIdfierPage{CGAL::ch_n_point} \\ -\ccRefIdfierPage{CGAL::ch_ns_point} \\ -\ccRefIdfierPage{CGAL::ch_s_point} \\ -\ccRefIdfierPage{CGAL::ch_w_point} \\ -\ccRefIdfierPage{CGAL::ch_we_point} -} - -\lcHtml{ -\input{ConvexHull_ref/ch_e_point} -\input{ConvexHull_ref/ch_nswe_point} -\input{ConvexHull_ref/ch_n_point} -\input{ConvexHull_ref/ch_ns_point} -\input{ConvexHull_ref/ch_s_point} -\input{ConvexHull_ref/ch_w_point} -\input{ConvexHull_ref/ch_we_point} -} - -\clearpage diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/is_ccw_strongly_convex_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/is_ccw_strongly_convex_2.tex deleted file mode 100644 index eb2e5c016ee..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/is_ccw_strongly_convex_2.tex +++ /dev/null @@ -1,71 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: is_ccw_strongly_convex_2.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{is_ccw_strongly_convex_2} -\ccIndexMainItemBegin{convexity checking, 2D} -\ccIndexSubitemBegin{polygon}{strongly convex} -\ccIndexSubitemBegin{strongly convex}{polygon} - -\ccDefinition - -The function \ccRefName\ determines if a given sequence of points defines -a counterclockwise-oriented, stongly convex polygon. -A set of points is said to be strongly convex -if it consists of only extreme points -(\textit{i.e.}, vertices of the convex hull). - -\ccInclude{CGAL/convexity_check_2.h} - -\ccFunction{template - bool - is_ccw_strongly_convex_2( - ForwardIterator first, - ForwardIterator beyond, - const Traits & ch_traits = Default_traits);} - {returns \ccc{true}, iff the point elements in - [\ccc{first},\ccc{beyond}) - form a counterclockwise-oriented strongly convex polygon. - } - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIterator::value_type} is defined. - -\ccHeading{Requirements} -\ccc{Traits} contains the following subset of types from -the concept ConvexHullTraits\_2 and their corresponding member -%\ccIndexMainItem[c]{ConvexHullTraits_2} -functions that return instances of these types: -\begin{itemize} - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Leftturn_2}. -\end{itemize} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::is_cw_strongly_convex_2} \\ -\ccRefIdfierPage{CGAL::is_strongly_convex_3} - -\ccIndexMainItemEnd{convexity checking, 2D} -\ccIndexSubitemEnd{polygon}{strongly convex} -\ccIndexSubitemEnd{strongly convex}{polygon} - -\ccImplementation - -The algorithm requires $O(n)$ time for a set of $n$ input points. - - -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/is_cw_strongly_convex_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/is_cw_strongly_convex_2.tex deleted file mode 100644 index 421bd46e712..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/is_cw_strongly_convex_2.tex +++ /dev/null @@ -1,69 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: is_cw_strongly_convex_2.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{is_cw_strongly_convex_2} -\ccIndexMainItemBegin{convexity checking, 2D} -\ccIndexSubitemBegin{polygon}{strongly convex} -\ccIndexSubitemBegin{strongly convex}{polygon} - -\ccDefinition - -The function \ccRefName\ determines if a given sequence of points defines -a clockwise-oriented, stongly convex polygon. -A set of points is said to be strongly convex % -\ccIndexMainItemDef{strongly convex} if it consists of only extreme points -(\textit{i.e.}, vertices of the convex hull). - - -\ccInclude{CGAL/convexity_check_2.h} - -\ccFunction{template - bool - is_cw_strongly_convex_2( - ForwardIterator first, - ForwardIterator beyond, - const Traits & ch_traits = Default_traits);} - {returns \ccc{true}, iff the point elements in - [\ccc{first},\ccc{beyond}) - form a clockwise-oriented strongly convex polygon. - } - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{ForwardIterator::value_type} is defined. - - -\ccHeading{Requirements} -\ccc{Traits} contains the following subset of types from -the concept ConvexHullTraits\_2 and their corresponding member -%\ccIndexMainItem[c]{ConvexHullTraits_2} -functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::is_ccw_strongly_convex_2} \\ -\ccRefIdfierPage{CGAL::is_strongly_convex_3} - -\ccImplementation -The algorithm requires $O(n)$ time for a set of $n$ input points. - -\ccIndexMainItemEnd{convexity checking, 2D} -\ccIndexSubitemEnd{polygon}{strongly convex} -\ccIndexSubitemEnd{strongly convex}{polygon} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/lower_hull_points_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/lower_hull_points_2.tex deleted file mode 100644 index fe8ada2b506..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/lower_hull_points_2.tex +++ /dev/null @@ -1,82 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: lower_hull_points_2.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{lower_hull_points_2} %% add template arg's if necessary -\ccIndexMainItemBegin{lower hull, 2D} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points on the lower hull of a given set of input points. - - -\ccInclude{CGAL/convex_hull_2.h} - -\ccFunction{template - OutputIterator - lower_hull_points_2(InputIterator first, InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits );} - {generates the counterclockwise sequence of extreme points - on the lower hull of the points in the range [\ccc{first}, - \ccc{beyond}). The resulting sequence is placed starting at - position \ccc{result}, and the past-the-end iterator for - the resulting sequence is returned. - The sequence starts with the leftmost point; - the rightmost point is not included. - If there is only one extreme point ({\it i.e.}, leftmost and - rightmost point are equal) the extreme point is reported. - \ccPrecond% \ccIndexSubitem[C]{lower_hull_points_2}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{InputIterator::value_type} is defined. - -The different treatment by \ccc{CGAL::upper_hull_points_2} of the case that -all points are equal ensures that concatenation of lower and upper hull -points gives the sequence of extreme points. - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and \ccc{OutputIterator::value_type} - are equivalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} contains the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Less_yx_2}, - \item \ccc{Traits::Left_of_line_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew_scan} \\ -\ccRefIdfierPage{CGAL::upper_hull_points_2} - -\ccImplementation - -This function uses Andrew's variant of Graham's scan algorithm -\cite{a-aeach-79,m-mdscg-84}. The algorithm has worst-case running time -of $O(n \log n)$ for $n$ input points. - -\ccIndexMainItemEnd{lower hull, 2D} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/main.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/main.tex deleted file mode 100644 index 51b5fafaefe..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/main.tex +++ /dev/null @@ -1,53 +0,0 @@ -% +------------------------------------------------------------------------+ -% | CBP Reference Manual: main.tex -% +------------------------------------------------------------------------+ -% | Automatically generated driver file for the reference manual chapter -% | of this package. Do not edit manually, you may loose your changes. -% +------------------------------------------------------------------------+ - -\input{ConvexHull_ref/intro.tex} - -\lcTex{ -\input{ConvexHull_ref/ch_akl_toussaint.tex} -\input{ConvexHull_ref/ch_bykat.tex} -\input{ConvexHull_ref/ch_eddy.tex} -\input{ConvexHull_ref/ch_e_point.tex} -\input{ConvexHull_ref/ch_graham_andrew.tex} -\input{ConvexHull_ref/ch_graham_andrew_scan.tex} -\input{ConvexHull_ref/ch_jarvis.tex} -\input{ConvexHull_ref/ch_jarvis_march.tex} -\input{ConvexHull_ref/ch_melkman.tex} -\input{ConvexHull_ref/ch_nswe_point.tex} -\input{ConvexHull_ref/ch_ns_point.tex} -\input{ConvexHull_ref/ch_n_point.tex} -\input{ConvexHull_ref/ch_s_point.tex} -\input{ConvexHull_ref/ch_we_point.tex} -\input{ConvexHull_ref/ch_w_point.tex} -\input{ConvexHull_ref/convex_hull_2.tex} -\input{ConvexHull_ref/convex_hull_3.tex} -\input{ConvexHull_ref/convex_hull_incremental_3.tex} -\input{ConvexHull_ref/ConvexHullPolyhedronFacet_3.tex} -\input{ConvexHull_ref/ConvexHullPolyhedronHalfedge_3.tex} -\input{ConvexHull_ref/ConvexHullPolyhedronVertex_3.tex} -\input{ConvexHull_ref/ConvexHullPolyhedron_3.tex} -\input{ConvexHull_ref/ConvexHullTraits_2.tex} -\input{ConvexHull_ref/ConvexHullTraits_3.tex} -\input{ConvexHull_ref/Convex_hull_constructive_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_d.tex} -\input{ConvexHull_ref/Convex_hull_d_traits_3.tex} -\input{ConvexHull_ref/Convex_hull_leda_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_projective_xy_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_projective_xz_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_projective_yz_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_rat_leda_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_traits_2.tex} -\input{ConvexHull_ref/Convex_hull_traits_3.tex} -\input{ConvexHull_ref/is_ccw_strongly_convex_2.tex} -\input{ConvexHull_ref/is_cw_strongly_convex_2.tex} -\input{ConvexHull_ref/is_strongly_convex_3.tex} -\input{ConvexHull_ref/IsStronglyConvexTraits_3.tex} -\input{ConvexHull_ref/lower_hull_points_2.tex} -\input{ConvexHull_ref/upper_hull_points_2.tex} -} - -%% EOF diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/upper_hull_points_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/upper_hull_points_2.tex deleted file mode 100644 index 62c3b25ae63..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/ConvexHull_ref/upper_hull_points_2.tex +++ /dev/null @@ -1,82 +0,0 @@ -% +------------------------------------------------------------------------+ -% | Reference manual page: upper_hull_points_2.tex -% +------------------------------------------------------------------------+ -% | 09.05.2001 Susan Hert and Stefan Schirra -% | Package: Convex_hull_2 -% | -% +------------------------------------------------------------------------+ - - -\begin{ccRefFunction}{upper_hull_points_2} %% add template arg's if necessary -\ccIndexMainItemBegin{upper hull, 2D} - -\ccDefinition - -The function \ccRefName\ generates the counterclockwise sequence of extreme -points on the upper hull of a given set of input points. - -\ccInclude{CGAL/convex_hull_2.h} - -\ccFunction{template - OutputIterator - upper_hull_points_2(InputIterator first, InputIterator beyond, - OutputIterator result, - const Traits & ch_traits = Default_traits );} - {generates the counterclockwise sequence of extreme points - on the upper hull of the points in the range [\ccc{first}, - \ccc{beyond}). The resulting sequence is placed starting at - position \ccc{result}, and the past-the-end iterator for - the resulting sequence is returned. - The sequence starts with the rightmost point, - the leftmost point is not included. - If there is only one extreme point ({\it i.e.}, the leftmost and - rightmost point are equal), the extreme point is not reported. - \ccPrecond% \ccIndexSubitem[C]{upper_hull_points_2}{preconditions} - The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.} - - -The default traits class \ccc{Default_traits} is the kernel in which the -type \ccc{InputIterator::value_type} is defined. - -The different treatment by \ccc{CGAL::lower_hull_points_2} of the case that -all points are equal ensures that concatenation of lower and upper hull -points gives the sequence of extreme points. - -\ccHeading{Requirements} -\begin{enumerate} - \item \ccc{InputIterator::value_type} and \ccc{OutputIterator::value_type} - are equilvalent to \ccc{Traits::Point_2}. - \item \ccc{Traits} contains the following subset of types from - the concept ConvexHullTraits\_2 and their corresponding member - %\ccIndexMainItem[c]{ConvexHullTraits_2} - functions that return instances of these types: - \begin{itemize} - \item \ccc{Traits::Point_2}, - \item \ccc{Traits::Less_xy_2}, - \item \ccc{Traits::Less_yx_2}, - \item \ccc{Traits::Left_of_line_2}, - \item \ccc{Traits::Leftturn_2}. - \end{itemize} -\end{enumerate} - -\ccSeeAlso - -\ccRefIdfierPage{CGAL::ch_graham_andrew} \\ -\ccRefIdfierPage{CGAL::ch_graham_andrew_scan} \\ -\ccRefIdfierPage{CGAL::lower_hull_points_2} - -\ccImplementation - -This function uses Andrew's -variant of Graham's scan algorithm \cite{a-aeach-79,m-mdscg-84}. The algorithm -has worst-case running time of $O(n \log n)$ for $n$ input points. - -\ccIndexMainItemEnd{upper hull, 2D} -\end{ccRefFunction} - -% +------------------------------------------------------------------------+ -%%RefPage: end of main body, begin of footer -% EOF -% +------------------------------------------------------------------------+ - diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convex_hull_2.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convex_hull_2.tex deleted file mode 100644 index 382fed36c33..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convex_hull_2.tex +++ /dev/null @@ -1,99 +0,0 @@ -\begin{ccHtmlOnly} -
- -
-\end{ccHtmlOnly} - -\begin{ccTexOnly} -\begin{center} -\includegraphics[width=7cm]{saarhull.eps} -%\leavevmode\epsfxsize8cm\epsffile{saarhull.eps} -\end{center} -\end{ccTexOnly} - -\section{2D Convex Hull} -\label{sec:convex_hull_2} -\cgal\ provides implementations of several classical algorithms for -computing the counterclockwise sequence of extreme points for a set of -points in two dimensions (\textit{i.e.}, the counterclockwise sequence -of points on the convex hull). The algorithms have different asymptotic -running times and require slightly different sets of geometric primitives. -Thus you may choose the algorithm that best fits your setting. - -Each of the convex hull functions presents the same interface to the -user. That is, the user provides a pair of iterators, \ccc{first} -and \ccc{beyond}, an output iterator \ccc{result}, and a traits class -\ccc{traits}. The points in the range [\ccc{first}, \ccc{beyond}) define -the input points whose convex hull is to be computed. The counterclockwise -sequence of extreme points is written to the sequence starting at position -\ccc{result}, and the past-the-end iterator for the resulting set of -points is returned. The traits classes for the functions specify the types -of the input points and the geometric primitives that are required by -the algorithms. All functions provide an interface in which this -class need not be specified and defaults to types and operations defined -in the kernel in which the input point type is defined. - -Given a sequence of $n$ input points with $h$ extreme points, -the function \ccc{convex_hull_2}\ccIndexMainItem[C]{convex_hull_2} -uses either the output-sensitive $O(n h)$ algorithm of Bykat \cite{b-chfsp-78} -(a non-recursive version of the quickhull \cite{bdh-qach-96} algorithm)% -\ccIndexSubitem{convex hull, 2D}{quickhull} -\ccIndexSubitem{convex hull, 2D}{Bykat's algorithm} -or the algorithm of Akl and Toussaint, which requires $O(n \log n)$ time -in the worst case. The algorithm chosen depends on the kind of -iterator used to specify the input points. These two algorithms are -also available via the functions \ccc{ch_bykat} and \ccc{ch_akl_toussaint}, -respectively. Also available are -the $O(n \log n)$ Graham-Andrew scan algorithm \cite{a-aeach-79,m-mdscg-84} -(\ccc{ch_graham_andrew}\ccIndexMainItem[C]{ch_graham_andrew}), -the $O(n h)$ Jarvis march algorithm \cite{j-ichfs-73} -(\ccc{ch_jarvis}\ccIndexMainItem[C]{ch_jarvis}), -and Eddy's $O(n h)$ algorithm \cite{e-nchap-77} -(\ccc{ch_eddy}\ccIndexMainItem[C]{ch_eddy}), which corresponds to the -two-dimensional version of the quickhull algorithm. -The linear-time algorithm of Melkman for producing the convex hull of -simple polygonal chains (or polygons) is available through the function -\ccc{ch_melkman}\ccIndexMainItem[C]{ch_melkman}.% -\ccIndexSubitem{convex hull, 2D}{of polyline or polygon} - -\section{Example using Bykat's algorithm} - -In the following example a convex hull is constructed from point data read -from standard input using Bykat's algorithm. The resulting convex polygon -is stored in a \ccc{CGAL::Polygon_2} and then it is shown in a \cgal\ window. -The default traits class is used here. The same results could be -achieved by substituting the function \ccc{CGAL::ch_bykat} for -\ccc{CGAL::convex_hull_2}, since the latter calls the former when the -input points are specified using input interators. - -\ccIncludeExampleCode{Convex_hull_2/convex_hull_2_demo.C} - - - -\section{2D Extreme Points and Hull Subsequences} -In addition to the functions for producing convex hulls, there are a -number of functions for computing sets and sequences of points related -to the convex hull. -The functions \ccc{lower_hull_points_2}\ccIndexMainItem[C]{lower_hull_points_2} -and \ccc{upper_hull_points_2}\ccIndexMainItem[C]{upper_hull_points_2} -provide the computation of the counterclockwise -sequence of extreme points on the lower hull and upper hull, -respectively. The algorithm used in these functions is -Andrew's variant of Graham's scan algorithm \cite{a-aeach-79,m-mdscg-84}, -which has worst-case running time of $O(n \log n)$. - -There are also functions available for computing certain subsequences -of the sequence of extreme points on the convex hull. The function -\ccc{ch_jarvis_march}\ccIndexMainItem[C]{ch_jarvis_march} -generates the counterclockwise ordered subsequence of -extreme points between a given pair of points and -\ccc{ch_graham_andrew_scan}\ccIndexMainItem[C]{ch_graham_andrew_scan} -computes the sorted sequence of extreme points that are -not left of the line defined by the first and last input points. - -Finally, a set of functions -(\ccc{ch_nswe_point}, \ccc{ch_ns_point}, \ccc{ch_we_point}, \ccc{ch_n_point}, -\ccc{ch_s_point}, \ccc{ch_w_point}, \ccc{ch_e_point}) -is provided for computing extreme points of a -2D point set in the coordinate directions.% -\ccIndexSubitem{extreme points, 2D}{in coordinate directions} diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convex_hull_def.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convex_hull_def.tex deleted file mode 100644 index fb987c637e8..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convex_hull_def.tex +++ /dev/null @@ -1,18 +0,0 @@ -\section{Introduction} - -A subset $S \subseteq \R^d$ is convex if for any two points $p$ and $q$ -in the set the line segment with endpoints $p$ and $q$ is contained -in $S$. The convex hull\ccIndexMainItemDef{convex hull} of a set $S$ -is the smallest convex set containing -$S$. The convex hull of a set of points $P$ is a convex -polytope with vertices in $P$. A point in $P$ is an extreme point -(with respect to $P$)\ccIndexMainItemDef{extreme point} if it is a vertex of -the convex hull of $P$. A set of points is said to be strongly convex % -\ccIndexMainItemDef{strongly convex} if it consist of only extreme points. - -This chapter describes the functions provided in -\cgal\ for producing convex hulls in two and three dimensions as well as -functions for checking if sets of points are strongly convex are not. -For two dimensions, ther are also a number of functions described for -computing particular extreme points and subsequences of hull points, -such as the lower and upper hull of a set of points. diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convexity_checking.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convexity_checking.tex deleted file mode 100644 index 53fbb125310..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/convexity_checking.tex +++ /dev/null @@ -1,11 +0,0 @@ -\section{Convexity Checking} - -The functions \ccc{is_ccw_strongly_convex_2} and \ccc{is_cw_strongly_convex_2} -check whether a given sequence of 2D points forms a (counter)clockwise strongly -convex polygon.\ccIndexMainItem{convexity checking, 2D}% -\ccIndexSubitem{polygon}{strongly convex}. These are used in postcondition -testing of the two-dimensional convex hull functions% -\ccIndexSubitem{convex hull, 2D}{postcondition}. - - -\input{convexity_check_3} diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/main.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/main.tex deleted file mode 100644 index f16fad782d0..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/main.tex +++ /dev/null @@ -1,11 +0,0 @@ -\chapter{Convex Hulls and Extreme Points} -\label{chap:convex_hull} - -\input{convex_hull_def} -\input{convex_hull_2} -\input{convex_hull_3} -\input{convex_hull_d} -\input{traits_classes} -\input{convexity_checking} - -\input{ConvexHull_ref/main.tex} diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.eps b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.eps deleted file mode 100644 index d32003f2039..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.eps +++ /dev/null @@ -1,3485 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Creator: xgrabsc -%%Title: saarhull -%%Pages: 1 -%%BoundingBox: 0 0 310 327 -%%CreationDate: Wed Oct 20 17:39:35 1999 -%%EndComments -%%EndProlog -%%Page: 1 1 - - -gsave - -%%Title: colorimage.ps - -systemdict /colorimage known userdict /colorimage known or not { - %% create if not in systemdict - /colortograyscale { %def - dup /rgbdata exch store - length 3 idiv - /npixls exch store - /indx 0 store - /pixls npixls string store - 0 1 npixls -1 add { - pixls exch - rgbdata indx get .3 mul - rgbdata indx 1 add get .59 mul add - rgbdata indx 2 add get .11 mul add - cvi - put - /indx indx 3 add store - } for - pixls - } bind def - - % Utility procedure for colorimage operator. This procedure takes two - % procedures off the stack and merges them into a single procedure. - - /mergeprocs { %def - dup length - 3 -1 roll - dup - length - dup - 5 1 roll - 3 -1 roll - add - array cvx - dup - 3 -1 roll - 0 exch - putinterval - dup - 4 2 roll - putinterval - } bind def - - /colorimage { %def - pop - pop - {colortograyscale} - mergeprocs - image - } bind def -} if - - - -/inch {72 mul} def -310 327 scale -/buffer 1 string def -/rgbmap 27 string def - - -/onepixel 3 string store -/drawcolormappedimage { - 310 327 8 - [310 0 0 -327 0 327] - %% define a block of code to read and decode the rle input stream - { currentfile buffer readhexstring pop pop %% index - rgbmap buffer 0 get 3 mul 3 getinterval %% color bytes - } - false 3 colorimage -} bind def - - - -%% get the rgb map -currentfile rgbmap readhexstring pop pop -c0c0c0 -000000 -ffffff -737373 -000080 -fa1340 -ff0000 -c8c8c8 -00ff00 - - -drawcolormappedimage -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000010002020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202030100020000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000301 -000200000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000003010002000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000030100020000000404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040000000301 -000200000004040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040400000003010002000000040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040402020202020202 -020202020202020201020202020202020202020202020202010404020202 -020202020202020202020202010404000000030100020000000404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404020000000000000000000000000003010200000000000000000000 -000000030104040200000000000000000000000000030104040000000301 -000200000004040404050505050504040404040404050404040404040404 -020202020404040402020202020404040404020204040404020204040404 -040404040404040404020202020404040404040402020202040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040200000000000000000000000000030102 -000001010101010101010100000301040402000000000000000000000000 -000301040400000003010002000000040404040405050505050404040404 -050404040404040404020204040202040402020404040202040404020202 -020404040202040404040404040404040404020204040202040404040402 -020404020204040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040402000000000000 -000000000000000301020000010101010101010101000003010404020000 -000101000000000101000003010404000000030100020000000404040404 -040505050505040404050404040404040404020204040404040402020404 -040404040404040204040204040402020404040404040404040404040404 -040402020404040404020204040202040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404020000000000000000000000000003010200000100000000000000 -010000030104040200000000010100000101000000030104040000000301 -000200000004040404040404050505050504050404040404040404040202 -040404040404020204040404040404040202040402020404020204040404 -040404040404040404040402020404040404040202040402020404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040200000000000000000000000000030102 -000001000000000000000100000301040402000000000001010101000000 -000301040400000003010002000000040404040404040405050504050404 -040404040404040402020404040404040202040402020202040402020404 -020204040202040404040404040404040404040402020404040404040402 -020404020204040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040402000000000000 -000000000000000301020000010000000000000001000003010404020000 -000000000101000000000003010404000000030100020000000404040404 -040404040504050505040404040404040404020204040404040402020404 -040402020404020202020202040402020404040404020202020204040402 -020404040404040404020204040202040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404020000000000000000000000000003010200000100000000000000 -010000030104040200000000000101010100000000030104040000000301 -000200000004040404040404040504050505050504040404040404040202 -040404040404020204040404020204020204040404020204020204040404 -040404040404040402020404040404040404040202040402020404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040200000000000000000000000000030102 -000001000000000000000100000301040402000000000101000001010000 -000301040400000003010002000000040404040404040504040405050505 -050404040404040404020204040202040402020404040202040202040404 -040202040202040404040404040404040404020204040404040402020402 -020404020204040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040402000000010101 -010101000000000301020000010000000000000001000003010404020000 -000101000000000101000003010404000000030100020000000404040404 -040504040404040505050505040404040404040402020202040404040202 -020204020402020404040402020402020202020204040404040404040202 -020202020404020204040202020204040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404020000000101010101010000000003010200000101010101010101 -010000030104040200000000000000000000000000030104040000000301 -000200000004040404040504040404040404050505050504040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040200000000000000000000000000030102 -000000000000000000000000000301040402000000000000000000000000 -000301040400000003010002000000040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040402030303030303 -030303030303030301020303030303030303030303030303010404020303 -030303030303030303030303010404000000030100020000000404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404010101010101010101010101010101010101010101010101010101 -010101010104040101010101010101010101010101010104040000000301 -000200000004040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040404040404040404040404040404040404040404040404040404 -040404040400000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020101010202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020106060601020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020201010102020202020202 -020202020202020202020106060606060102020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020201 -060606010202020202020202020707070707070701060606060601070202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020201060606060601070707070707070707070707070707 -010606060606010707070202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020207010606060606010707070807 -070707020202020202020801060606010208080808070702020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020207070707070106 -060606060102020808080202080202080208080808080101010202080808 -070808070707020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070707070707070808010606060102020208080202020808080808080202 -020202020202020202020208080807070707070202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020207070707070707070202020208080201010102020202020202 -020208080808020202020202020202020202020202020802020207070707 -070702020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020207070707070707070202020202020202080802 -020202020202020202020208080202020202020202020202020202020202 -020202080802020202070707070707020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020207070707070707070202020202 -020202020202020808020202020202020202020202020202020202020202 -020202020202020202020202020808020202020202020707070707070202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020707070707070707 -070202020202020202020202020202020208080202020202020202020202 -020202020202020202020202020202020202020202020202080802020202 -020202020207070707070702020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -070707070707070202020202020202020202020202020202080208080202 -020202020202020202020202020202020202020202020202020202020202 -020202020802020202020202020202020202070707070707020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020707070707070707070202020202020202020202020202080208 -080802020808080802020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202020202 -070707070707070202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020707070707070707020202020202020202020202 -020202020208020808080802020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020808020202 -020202020202020202020202020707070707070702020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020707070707070707020202020202 -020202020202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080802020202020202020202020202020202020207070707 -070702020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020707070707070707 -020202020202020202020202020202020202020208020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808080208080202020202020202 -020202020208020202070707070707020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -070707070707020202020202020202020202020202020202020202020808 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080208 -020208080202020202020202020802080208080202020707070707070202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202070707070707070707020202020202020202020202020202020202 -020202020202080208080208020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080802080802020202020202080208080202080202 -020202020207070707070702020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070707070707070707020202020202020202020202 -020202020202020202020202020202020808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020802020208080202 -080808020202020202020808020202020202070707070707020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202070707070707070707020202020202 -020202020202020202020202020202020202020202020202020808080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080802020802020202020202020208020202020202020202 -020707070707070202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202070707070707070702 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080802020202020202020202020207070707070702020202010101020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202070707 -070707070702020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808020202020202020202020202020202070707 -070707010606060102020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202070707070707070702020202020202020202020202020202020202 -020202020202020202020202020202020802020202020208080202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080202020202020202 -020202020202020202020707010606060606010202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070707070707070702020202020202020202020202 -020202020202020202020202020202020202020202020202020808080808 -020202080802020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080802020202020202020202020202020202020202020106060606060102 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020207070707070707070702020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808080208020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808020202020202020202020202020202020202 -020201060606060601020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070707070707070702 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202080208080202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080802020202080208 -020202020202020202020202080106060601020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020207070707 -070707070702020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080808020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020808080808020802080202020202020202020202020208010101070202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020207070707070707070202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202080202020202020208020202020202020202 -080202080802070702020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020207070707070707070202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080802020202020802020808020808020707070202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020207070707070707070202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808020202020208080202020202020202070702 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070707070707070202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080208020202020202 -020202020202020707020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707070707 -070707070202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208020808020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202080202020202020202020208080202070702020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020707070707070707070202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020707070707070707070202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080802020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070702020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020707070707070707020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020208080202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020802020707020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020707070707070707020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080208080802080808020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080202 -070702020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020201010102020202020202020707070707 -070707020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020808020808080208080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080802020707020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020201060606010202 -020707070707070707020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080808080802020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808020202070702020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020201060606060601070707070707020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020208 -020808080202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080202 -020707020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202010606060606010707080208020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080802020207070702020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020106060606060102 -020802080202020202080802020202020202020802020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808080802020208080202020202020808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808020202020701010102020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020208010606060102020202020202020202020802080802020202020208 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080802020808080808080802020208 -080202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080202 -020201060606010202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020201010108080801010102020202020202020202020202 -020802020208020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080202080802020208 -080802020808020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080202080801060606060601020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020201060606010802020202020202 -020202020202020202020202020808080802020202020202020202020202 -020202020202020202020202080202020202020202020202020202020208 -080802020202020202020202020208020208020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020802010606060606010202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020201060606 -060601020202020202020202020202020202020202020208020202020202 -080802020202020202080202020202080208080808020808020202020202 -020202020202020208080202020202020202020202020202080808080802 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020106060606060102020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202010606060606010202020202020202020202020202020202 -020202020202020202020202020202020208020802020202080808080808 -020202020202020202020202020202020808080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202010606060101020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020106060606060102020202020202 -020202020202020202020202020202020202020202020202020202080808 -080202020808020202020202020208080202020202020202020208080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020201010106060102 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202010606 -060102020202020202020202020202020202020202020202020202020202 -020202020202020202080802020202020202020202020202080808020202 -020202020208020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020802010606060606010202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020201010102020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208020202020202020208080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808080106060606060102020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020201060606010202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080802020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080801060606060601 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020201060606 -060601020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080808080106060601020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202010606060606010202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020802020202010101020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020106060606060102020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020808080202020202070702 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202010606 -060102020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020808 -080202020202020707020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020201010108020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020208080202020202020202070702020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020708080802020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020207 -070808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020207070702020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202070708080202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080202020202020202020707020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020707080802020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080808020202020202020207 -070202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -070808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020808 -020202020202020202020707020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020708080202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020208080202020202020202020207070202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020207080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080802020202020202020202 -070707020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -070808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020808 -020202020202020202020207070202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020101010202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202070707020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020106060601020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020208080202020202 -020207070202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020106 -060606060102020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202080202020202020202070702020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020201060606060601020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080202020202020207070202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202010606060606010202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080202020202 -020202070702020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020201 -060606010202020202020202020202020808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808020202020202020707070202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020101010101020202020202020202020808080808 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080202020202020202070702020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202010606060102020202 -020202020808080208080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020208020202020202 -020202020707020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -010606060606010202020202080808080202020808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020808080802020202020202020202070702020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020106060606060108080808080808080202020208 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808080202020202020202020202020707020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020201060606060601080808 -080808020202020202020808080808080808080202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080202020202020202 -020202020202070702020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020106060601020202020202020202020202020202020808080808080808 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080808 -020202020202020202020202020202020707020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202010101070702020202020202020202020202 -020202020202020208080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080808080802020202020202020202020202020207070702 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020707070202 -020202020202020202020202020202020202020808080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202080808080808020202020202020202020202 -020202020202020707020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202070707020202020202020202020202020202020202020202 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080808080802020202 -020202020202020202020202020202020207070202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020207070202020202020202020202 -020202020202020202020208080808080202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080808020202020202020202020202020202020202020202020202020707 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020707 -020202020202020202020202020202020202020202020808080808080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808020202020202020202020202020202020202 -020202020202020207070202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202070702020202020202020202020202020202020202 -020202020202080808080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020707020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020707070202020202020202 -020202020202020202020202020202020202080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -070707020202020202020202020202020202020202020202020202020208 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020208080202020202020202020202020202020202 -020202020202020202070707020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020207070202020202020202020202020202020202 -020202020202020202020808080802020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080202020202020202 -020202020202020202020202020202020202020207070202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020707020202020202 -020202020202020202020202020202020202020202020808080202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -070702020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020207070702020202020202020202020202020202020202020202020202 -020202080808080802020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020207070202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020707070202020202020202020202020202 -020202020202020202020202020208080808080202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208020202 -020202020202020202020202020202020202020202070702020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202070707020202 -020202020202020202020202020202020202020202020202020202080802 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080202020202020202020202020202020202020202020202 -020207070202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020207070202020202020202020202020202020202020202020202 -020202020202020208080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202070702020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020707020202020202020202020202 -020202020202020202020202020202020202080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080808020202020202020202020202020202020202020707070202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020207070702 -020202020202020202020202020202020202020202020202020202020208 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808020202020202020202020202020202020202 -020202070702020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020707070202020202020202020202020202020202020202 -020202020202020202020802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080802020202020202 -020202020202020202020202020707020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202070702020202020202020202 -020202020202020202020202020202020202020802020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202070702020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020207 -070202020202020202020202020202020202020202020202020202020808 -080202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202080802020202020202020202020202020202 -020202020707020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020707020202020202020202020202020202020202 -020202020202080808080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020802020202020202 -020202020202020202020202020207070702020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020207070702020202020202 -020202020202020202020202020202020808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020707070202020202020202020202020202020202020202020208080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020207070702020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202070702020202020202020202020202020202 -020202020202080802020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020802020202020202 -020202020202020202020202020202020707020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020207070202020202 -020202020202020202020202020202020808080802020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020808080202020202020202020202020202020202020202020207070202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202070707020202020202020202020202020202020202020202020808 -080202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020208080802020202020202020202020202020202 -020202020202020707020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020207070702020202020202020202020202 -020202020202020202080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020208020202020202 -020202020202020202020202020202020207070202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707070202 -020202020202020202020202020202020202020808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202070707 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202070702020202020202020202020202020202020202020202 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808080202020202020202020202 -020202020202020207070202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020207070202020202020202020202 -020202020202020202020808080808080808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080808 -080202020208080808020202020202020202070702020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202070707 -020202020202020202020202020202020202020202020808080808080808 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020208080808080802080808080202020202020202020207 -070202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020207070702020202020202020202020202020202020202 -020202020202020808020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080208080202020808 -080802020202020202070101010202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020707070202020202020202 -020202020202020202020202020202020202080802020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020808020202020202020106060601020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -070702020202020202020202020202020202020202020202020202020808 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080802020202020106 -060606060102020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020207070202020202020202020202020202020202 -020202020202020208080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020801060606060601020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202070707020202020202 -020202020202020202020202020202020202080802020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020208080808080808010606060606010202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020207070702020202020202020202020202020202020202020202020808 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020208080808020201 -060606010202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020707020202020202020202020202020202 -020202020202020208080808080802020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020101010202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202070702020202 -020202020202020202020202020202020202020202020802020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208080202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020707070202020202020202020202020202020202020202020202 -020208080202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080702020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202070707020202020202020202020202 -020202020202020202020208020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080808020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020207070702 -020202020202020202020202020202080208020202080802020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020801010102020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020707020202020202020202020202020202080808080208 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020201 -060606010202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202070702020202020202020202 -020202080808020208080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020201060606060601020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -070202020202020202020202020808020202080202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202010606060606010202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070707020202020202020202020208080202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020106 -060606060102020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070702020202020202 -020202080808020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202010606060102020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020707020202020202020202020208080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020801010102020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202070702020202020202020202020808080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020208 -080702020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020707070202020202 -020202020202080808020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080807020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202070707020202020202020202020208080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080207070202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020207070202020202020202020202080808 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080808 -070702020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707020202 -020202020202020202020208020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020808020707020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020207070702020202020202020202020208080802020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020707070202020202020202020202 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202070707 -020202020202020202080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020208070702020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020207070202020202020202020208080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080807020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020707020202020202020202 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080808 -070202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070702020202020202020208080802020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080808070702020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020707070202020202020202020808080202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808020707020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202070707020202020202 -020202080808020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020802020207 -070202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020207070202020202020202020208080202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202070702020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020707020202020202020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020707020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020207070702020202 -020202020208080808080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080707 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020707070202020202020202020808080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080207070202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202070702020202020202020202020208 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808070702020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020207070202 -020202020202020202020808080802020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020808080707 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202070707020202020202020202020202020808080202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080207070202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020207070702020202020202020202 -020202080808020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080808020202080808080802070702020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -070202020202020202020202020208080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080808080808080808080802020707 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070702020202020202020202020202020808080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080808020208 -080802020202020207070202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070202020202020202 -020202020202080808080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808080202020202020202020202070702020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -070707020202020202020202020202020808080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080202020202020202020202070702 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020207070702020202020202020202020202020202 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020802020202 -020202020202020707020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020707070202020202 -020202020202020202020808020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202020202020202020207070202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202070702020202020202020202020202020208080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202070702 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020207070202020202020202020202020202 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080808020202 -020202020202020707020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202070707020202 -020202020202020202020802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020208080808020202020202020202020207070202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020207070702020202020202020202020808080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202080802020202020202020202020202070702 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020707020202020202020202020208 -080202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808080202080202020202020202 -020202020202020707020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202070702 -020202020202020202080802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080808 -020808020202020202020202020202020207070202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020707070202020202020202020808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080808080808080202020202020202020202020207070202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202070707020202020202020208 -080808080802020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020808080802020202020202 -020202020202070702020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070702020202020202080808080808080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020808020202 -020202020202020202020202020202020707020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020707020202020202020202020202020802020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202020202020202020202020202020202020207070202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202070702020202020202 -020202020208080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080802020202020202020202020202 -020202020202070702020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020707070202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020808080802020202 -020202020202020202020202020202020707020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202070707020202020202020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020208080202020202020202020202020202020202020202020207070202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020207070702020202 -020202020208080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202070702020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020707020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020808020202020202 -020202020202020202020202020202020707020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202070702020202020202020808080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808020202020202020202020202020202020202020707020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707070202 -020202020202080802020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080802020202020202020202020202 -020202020207070202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202070707020202020202020802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020802020202 -020202020202020202020202020202070702020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020207070202020202020208080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020707 -020202020202080802020202020202020202020202020202020202020202 -020202020202020202020202020202020202020208020202020202020202 -020202020202080808080202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020207070202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070702020202020808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020208 -080808080202020202020202020202080808080808080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020808020202 -020202020202020202020202020202070702020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020707070202020208080202 -020208080808020202020202020202020202020202020202020202020202 -020202020202020808080808080808020202020202020202080808020202 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208020202020202020202020202020202020202020707020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -070707020202080808080808080808080802020202020202020202020202 -020202020202020202020202020202020808080202020208080202020202 -020208080808020202020808080202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020208080202020202020202020202020202 -020202020207070202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020207070202020208080808080802020808020202 -020202020202020202020202020202020202020202020202020808080202 -020202080808080802020808080808020202020202080808020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080202020202 -020202020202020202020202020202070702020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020707020202020202 -020202020208080802020202020202020202020202020202020202020202 -020202020208080202020202020202080808080808080802020202020202 -020208080802020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808020202020202020202020202020202020202070702020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020207070702020202020202020202020808020202020202020202020202 -020202020202020202020202020202080802020202020202020202080808 -080202020202020202020202020808080202080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020707020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020707070202020202020202020208020202 -020202020202020202020202020202020202020202020202020808080202 -020202020202020202020202020202020202020202020202080808080808 -080808020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080202 -020202020202020202020202020207070202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202070707020202 -020202020202080802020202020202020202020202020202020202020202 -020202020202080808020202020202020202020202020202020202020202 -020202020208080808020208080808020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080202020202020202020202020202020202070702020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020207070202020202020202080808020202020202020202020202 -020202020202020202020202020202020208020202020202020202020202 -020202020202020202020202020202020202020202020808080802020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080802020202020202020202 -020202020707020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020707020202020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808080802020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020802 -020202020202020202020202020207070202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020207070702 -020202020808020202020202020202020202020202020202020202020202 -020202020202020208080202020202020202020202020202020202020202 -020202020202020202020202020202020808080802080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202070702020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020707070202020808080202020202020202020202020202 -020202020202020202020202020202020202080802020202020202020202 -020202020202020202020202020202020202020202020202020202080808 -080808080202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080802080802020202 -020202020707020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202070702020208080202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080808080808080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020802020802020202020202020207070202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070202080802020202020202020202020202020202020202020202020202 -020202020202020202080802020202020202020202020202020202020202 -020202020202020202020202020202020202020808080808080808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020207070202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020707020808020202020202020202020202020202 -020202020202020202020202020202020202020808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202080802020202 -020202070702020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070708080202020202 -020202020202020202020202020202020202020202020202020202020202 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020808020202020202020707020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020707080802020202020202020202020202020202020202020202020202 -020202020202020202020802020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020207070202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202070801010102020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080202 -020202070702020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020201060606010202 -020202020202020202020202020202020202020202020202020202020202 -080202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080202020202020707020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020201060606010101020202020202020202020202020202020202020202 -020202020202020808080808020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020208080202020101010202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202010606010606060102010101020202020202 -020202020202020202020202020202020208080808020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080808 -020106060601020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020106010606060606 -010606060102020202020202020202020202020202020202020202080802 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020208020106060606060102020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202010106060606010606060606010808080808080808020202020202 -020202020202020808020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020201060606060601020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020201060606060106060606060108080808 -080808080808020202020202020202020208080202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020208080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -010606060606010202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020106060601 -060606060601070707070702020208080808020202020202020202080802 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202080802020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020201060606010202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202010101020106060601020707070707070707070208080808 -020202020202020808020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020208080202 -020202020202020202020202020808080202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020101010202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202010101020202020202 -020707070707070808080808020202020808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202080802020202020202020202020808080808080808080202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020101010202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202070707070708080808080808080802 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020808080202020202020202020808 -080808080202080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020106060601020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020207 -070708080808080202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202080802 -020202020202020202020202020202080808020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020808080808080106060606060102020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020707070707070707020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020808080202020202020202020808020202020808020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202080808080808080801 -060606060601020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202070707 -070707070702020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080802020202020202020208 -080202020808020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -080808080202020202010606060606010202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020207070707070707070702020202020202020202 -020202020202020202020202020202020202020202020202020202020808 -080202020202020202080202020208080808080808080202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202080808020202020202070701060606010202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020707070707 -070707070202020202020202020202020202020202020202020202020202 -020202020202020202080802020202020202020208080202080808080808 -080802020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202080808020202020207070707 -020101010202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202070707070707070707020202020202020202020202 -020202020202020202020202020202020202020808020202020202020202 -080802020202020202020208080202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020808 -020202020707070702020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020207070707070707 -070702020202020202020202020202020202020202020202020202020208 -080202020202020202020802020202020202020202080808020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020808080202020707070702020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020207070707070707070202020202020202020202020202 -020202020202020202080802020202020202020208080202020202020202 -020208080802020202020202080808080802020202020202020202020208 -080808080202020202020202020202020208080202070707070202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020707070707070707 -020202020202020202020202020202020202020808020202020202020208 -080202020202020202020202020808080802020208080808080808080202 -020208080808080808080808080808020202020202020202020208080802 -070707070202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202070707070707070702020202020202020202020202020208 -080202020202080808080808020202020202020202020202080808080208 -080808020202080808020208080808080808080202020208080808080808 -080201010101010807070707020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020207070707070707070202 -020202020202020202080802020202080808080202020202020202020202 -020202020202080808080802020202020208080802080802020202020202 -020202020808080808080801060106060601070702020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020707070707070707020202020202020101010202010101020202 -020202020202020202020202020202020202080808020202020202020808 -080202020202020202020202020202020202020201060106060606060102 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202070707070707070707020106 -060601010606060102020202020202020202020202020202020202020202 -020202020707070707080808070707070707070707070707070707070707 -010601060606060601020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020207070707070106060606010606060606010707070707070707070707 -070707070707070707070707070707070707070807070707070707070707 -070707070707070707070106010606060606010202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020701060606060106060606060107 -070707070707070707070707070707070707070707070707070202020202 -020202020202020202020202020202020202020202010601060606010202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202010606 -060601060606060601020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020201010101010202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020201060606010106060601020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020101010202010101020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202000000030100020000000202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020000000301 -000200000002020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020202020202020202020202020202020202020202020202020202 -020202020200000003010002000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000030100020000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000301 -000200000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000000000000000000000000000000000000000000000000 -000000000000000003010003030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030303030303030303030303 -030303030303030303030303030303030303030101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -010101010101010101010101010101010101010101010101010101010101 -% - -grestore -showpage -%%Trailer diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.gif b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.gif deleted file mode 100644 index 63a930d6f3b..00000000000 Binary files a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/saarhull.gif and /dev/null differ diff --git a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/traits_classes.tex b/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/traits_classes.tex deleted file mode 100644 index f5f6da2cfd0..00000000000 --- a/Packages/Convex_hull_2/doc_tex/basic/ConvexHull/traits_classes.tex +++ /dev/null @@ -1,31 +0,0 @@ -\section{Traits Classes} - -Each of the functions used to compute convex hulls or extreme points -is paramterized by a traits class, which specifies the types and geometric -primitives to be used in the computation. For two dimensions, there are -several implementations of traits classes provided in the library. The class -\ccc{Convex_hull_traits_2}\ccIndexMainItem[C]{Convex_hull_traits_2} -corresponds to the default traits class that provides the types and -predicates presented in the 2-dimensional \cgal\ kernel in which the input -points lie. The class -\ccc{Convex_hull_constructive_traits}\ccIndexMainItem[C]{Convex_hull_constructive_traits} -is a second traits class based on \cgal\ primitives but differs from -\ccc{Convex_hull_traits_2} in that some of its primitives reuse -intermediate results to speed up computation. -There are also two traits classes defined for the two geometry kernels -provided in \leda\ \cite{mn-l-99} -(\ccc{Convex_hull_leda_traits_2}\ccIndexMainItem[C]{Convex_hull_leda_traits_2} -and -\ccc{Convex_hull_rat_leda_traits_2}\ccIndexMainItem[C]{Convex_hull_rat_leda_traits_2}), which provide an easy means of comparison with these kernels. -In addition, there are three projective traits classes -(\ccc{Convex_hull_projective_xy_traits_2}, -\ccc{Convex_hull_projective_xz_traits_2}, and -\ccc{Convex_hull_projective_yz_traits_2}), % -\ccIndexMainItem[C]{Convex_hull_projective_xy_traits_2}% -\ccIndexMainItem[C]{Convex_hull_projective_xz_traits_2}% -\ccIndexMainItem[C]{Convex_hull_projective_yz_traits_2}% -which may be used to compute the convex hull of a set of three-dimensional -points projected into each of the three coordinate planes. - -\input{traits_classes_3.tex} -\input{traits_classes_d.tex}