From 8fa0ef917bcb416a92a313f06cae40b9d466471f Mon Sep 17 00:00:00 2001 From: runner Date: Thu, 11 Jul 2024 13:43:08 +0000 Subject: [PATCH] Updating documentation --- Enums.html | 23 +- Enums/ClosedShape2Intersection.html | 23 +- Enums/ClosedShape2Intersection/Pair.html | 23 +- .../PointNormalKind.html | 23 +- Enums/ConvexLineIntersection.html | 23 +- .../PointNormalKind.html | 23 +- Enums/Orientation3.html | 23 +- Enums/RotationOrder3.html | 23 +- Enums/Vector2TakeDimensions.html | 23 +- Enums/Vector3TakeDimensions.html | 23 +- Enums/Vector4TakeDimensions.html | 23 +- Extensions.html | 23 +- Extensions/AABB2.html | 23 +- Extensions/Capsule3.html | 23 +- Extensions/Circle2.html | 23 +- Extensions/Collection.html | 23 +- Extensions/Cube3.html | 23 +- Extensions/DirectionalRay2.html | 23 +- Extensions/DirectionalRay3.html | 23 +- Extensions/Ellipse2.html | 23 +- Extensions/Ellipse3.html | 23 +- Extensions/Line2.html | 23 +- Extensions/Line3.html | 23 +- Extensions/LinePolygon2.html | 23 +- Extensions/LineSegment2.html | 23 +- Extensions/LineSegment3.html | 23 +- Extensions/Ray2.html | 23 +- Extensions/Ray3.html | 23 +- Extensions/Rectangle2.html | 23 +- Extensions/RotationMatrix3.html | 23 +- Extensions/RoundRectangle2.html | 23 +- Extensions/SIMD2.html | 23 +- Extensions/SIMD3.html | 23 +- Extensions/SIMD4.html | 23 +- Extensions/Sphere3.html | 23 +- Extensions/Square2.html | 23 +- Extensions/Triangle2.html | 23 +- Extensions/Triangle3.html | 23 +- Extensions/Vector2D.html | 23 +- Extensions/Vector2F.html | 23 +- Functions.html | 23 +- Guides.html | 23 +- Protocols.html | 23 +- Protocols/AdditiveRectangleType.html | 23 +- Protocols/BoundableType.html | 23 +- Protocols/ConstructableRectangleType.html | 23 +- Protocols/Convex2Type.html | 23 +- Protocols/Convex3Type.html | 23 +- Protocols/ConvexType.html | 23 +- Protocols/DivisibleArithmetic.html | 23 +- Protocols/DivisibleRectangleType.html | 23 +- Protocols/Line2FloatingPoint.html | 23 +- Protocols/Line2Real.html | 23 +- Protocols/Line3FloatingPoint.html | 23 +- Protocols/Line3IntersectableType.html | 23 +- Protocols/Line3Type.html | 23 +- Protocols/LineAdditive.html | 23 +- Protocols/LineDivisible.html | 23 +- Protocols/LineFloatingPoint.html | 23 +- Protocols/LineIntersectablePlaneType.html | 23 +- Protocols/LineIntersectableType.html | 23 +- Protocols/LineMultiplicative.html | 23 +- Protocols/LineType.html | 23 +- Protocols/MatrixType.html | 23 +- Protocols/PlaneIntersectablePlane2Type.html | 23 +- Protocols/PlaneIntersectablePlane3Type.html | 23 +- Protocols/PlaneType.html | 23 +- Protocols/PointProjectablePlaneType.html | 23 +- Protocols/PointProjectableType.html | 23 +- Protocols/ProjectiveSpace.html | 23 +- Protocols/RectangleType.html | 23 +- Protocols/SelfIntersectableRectangleType.html | 23 +- Protocols/SignedDistanceMeasurableType.html | 23 +- Protocols/SphereProjectiveSpace.html | 23 +- Protocols/SquareMatrixType.html | 23 +- Protocols/TransposableMatrixType.html | 23 +- Protocols/Vector2FloatingPoint.html | 23 +- Protocols/Vector2Multiplicative.html | 95 +- Protocols/Vector2Real.html | 23 +- Protocols/Vector2Signed.html | 23 +- Protocols/Vector2Type.html | 23 +- Protocols/Vector3Additive.html | 23 +- Protocols/Vector3FloatingPoint.html | 23 +- Protocols/Vector3Multiplicative.html | 23 +- Protocols/Vector3Real.html | 23 +- Protocols/Vector3Type.html | 23 +- Protocols/Vector4Additive.html | 23 +- Protocols/Vector4FloatingPoint.html | 23 +- Protocols/Vector4Type.html | 23 +- Protocols/VectorAdditive.html | 23 +- Protocols/VectorComparable.html | 23 +- Protocols/VectorDivisible.html | 23 +- Protocols/VectorFloatingPoint.html | 23 +- Protocols/VectorMultiplicative.html | 23 +- Protocols/VectorReal.html | 23 +- Protocols/VectorSigned.html | 23 +- Protocols/VectorTakeable.html | 23 +- Protocols/VectorType.html | 23 +- Protocols/VolumetricType.html | 23 +- Structs.html | 52 +- Structs/AABB.html | 23 +- Structs/Angle.html | 23 +- Structs/AngleSweep.html | 23 +- Structs/CircleArc2.html | 23 +- Structs/Cylinder3.html | 23 +- Structs/DirectionalRay.html | 23 +- Structs/Disk3.html | 23 +- Structs/EdgeInsets2.html | 23 +- Structs/Ellipsoid.html | 23 +- Structs/Hyperplane.html | 23 +- Structs/Line.html | 23 +- Structs/LineCategory.html | 23 +- Structs/LineIntersection.html | 23 +- Structs/LineIntersection/Intersection.html | 23 +- Structs/LineIntersectionResult.html | 23 +- Structs/LinePolygon.html | 23 +- Structs/LineSegment.html | 23 +- Structs/Matrix2x2.html | 23 +- Structs/Matrix3x2.html | 23 +- Structs/Matrix3x3.html | 23 +- Structs/Matrix4x4.html | 23 +- Structs/NCapsule.html | 23 +- Structs/NRectangle.html | 23 +- Structs/NSphere.html | 23 +- Structs/NSquare.html | 23 +- Structs/PointCloud.html | 1265 +++++++++++++++++ Structs/PointNormal.html | 23 +- Structs/PointNormalPlane.html | 23 +- Structs/ProjectivePointNormalPlane3.html | 23 +- Structs/Ray.html | 23 +- Structs/RoundNRectangle.html | 23 +- Structs/SphereCoordinates.html | 23 +- Structs/Torus3.html | 23 +- Structs/Triangle.html | 23 +- Structs/Triangle/Coordinates.html | 23 +- Structs/UnitVector.html | 23 +- Structs/Vector2.html | 23 +- Structs/Vector3.html | 23 +- Structs/Vector4.html | 23 +- Typealiases.html | 189 ++- changelog.html | 23 +- .../Contents/Resources/Documents/Enums.html | 23 +- .../Enums/ClosedShape2Intersection.html | 23 +- .../Enums/ClosedShape2Intersection/Pair.html | 23 +- .../PointNormalKind.html | 23 +- .../Enums/ConvexLineIntersection.html | 23 +- .../PointNormalKind.html | 23 +- .../Documents/Enums/Orientation3.html | 23 +- .../Documents/Enums/RotationOrder3.html | 23 +- .../Enums/Vector2TakeDimensions.html | 23 +- .../Enums/Vector3TakeDimensions.html | 23 +- .../Enums/Vector4TakeDimensions.html | 23 +- .../Resources/Documents/Extensions.html | 23 +- .../Resources/Documents/Extensions/AABB2.html | 23 +- .../Documents/Extensions/Capsule3.html | 23 +- .../Documents/Extensions/Circle2.html | 23 +- .../Documents/Extensions/Collection.html | 23 +- .../Resources/Documents/Extensions/Cube3.html | 23 +- .../Documents/Extensions/DirectionalRay2.html | 23 +- .../Documents/Extensions/DirectionalRay3.html | 23 +- .../Documents/Extensions/Ellipse2.html | 23 +- .../Documents/Extensions/Ellipse3.html | 23 +- .../Resources/Documents/Extensions/Line2.html | 23 +- .../Resources/Documents/Extensions/Line3.html | 23 +- .../Documents/Extensions/LinePolygon2.html | 23 +- .../Documents/Extensions/LineSegment2.html | 23 +- .../Documents/Extensions/LineSegment3.html | 23 +- .../Resources/Documents/Extensions/Ray2.html | 23 +- .../Resources/Documents/Extensions/Ray3.html | 23 +- .../Documents/Extensions/Rectangle2.html | 23 +- .../Documents/Extensions/RotationMatrix3.html | 23 +- .../Documents/Extensions/RoundRectangle2.html | 23 +- .../Resources/Documents/Extensions/SIMD2.html | 23 +- .../Resources/Documents/Extensions/SIMD3.html | 23 +- .../Resources/Documents/Extensions/SIMD4.html | 23 +- .../Documents/Extensions/Sphere3.html | 23 +- .../Documents/Extensions/Square2.html | 23 +- .../Documents/Extensions/Triangle2.html | 23 +- .../Documents/Extensions/Triangle3.html | 23 +- .../Documents/Extensions/Vector2D.html | 23 +- .../Documents/Extensions/Vector2F.html | 23 +- .../Resources/Documents/Functions.html | 23 +- .../Contents/Resources/Documents/Guides.html | 23 +- .../Resources/Documents/Protocols.html | 23 +- .../Protocols/AdditiveRectangleType.html | 23 +- .../Documents/Protocols/BoundableType.html | 23 +- .../Protocols/ConstructableRectangleType.html | 23 +- .../Documents/Protocols/Convex2Type.html | 23 +- .../Documents/Protocols/Convex3Type.html | 23 +- .../Documents/Protocols/ConvexType.html | 23 +- .../Protocols/DivisibleArithmetic.html | 23 +- .../Protocols/DivisibleRectangleType.html | 23 +- .../Protocols/Line2FloatingPoint.html | 23 +- .../Documents/Protocols/Line2Real.html | 23 +- .../Protocols/Line3FloatingPoint.html | 23 +- .../Protocols/Line3IntersectableType.html | 23 +- .../Documents/Protocols/Line3Type.html | 23 +- .../Documents/Protocols/LineAdditive.html | 23 +- .../Documents/Protocols/LineDivisible.html | 23 +- .../Protocols/LineFloatingPoint.html | 23 +- .../Protocols/LineIntersectablePlaneType.html | 23 +- .../Protocols/LineIntersectableType.html | 23 +- .../Protocols/LineMultiplicative.html | 23 +- .../Documents/Protocols/LineType.html | 23 +- .../Documents/Protocols/MatrixType.html | 23 +- .../PlaneIntersectablePlane2Type.html | 23 +- .../PlaneIntersectablePlane3Type.html | 23 +- .../Documents/Protocols/PlaneType.html | 23 +- .../Protocols/PointProjectablePlaneType.html | 23 +- .../Protocols/PointProjectableType.html | 23 +- .../Documents/Protocols/ProjectiveSpace.html | 23 +- .../Documents/Protocols/RectangleType.html | 23 +- .../SelfIntersectableRectangleType.html | 23 +- .../SignedDistanceMeasurableType.html | 23 +- .../Protocols/SphereProjectiveSpace.html | 23 +- .../Documents/Protocols/SquareMatrixType.html | 23 +- .../Protocols/TransposableMatrixType.html | 23 +- .../Protocols/Vector2FloatingPoint.html | 23 +- .../Protocols/Vector2Multiplicative.html | 95 +- .../Documents/Protocols/Vector2Real.html | 23 +- .../Documents/Protocols/Vector2Signed.html | 23 +- .../Documents/Protocols/Vector2Type.html | 23 +- .../Documents/Protocols/Vector3Additive.html | 23 +- .../Protocols/Vector3FloatingPoint.html | 23 +- .../Protocols/Vector3Multiplicative.html | 23 +- .../Documents/Protocols/Vector3Real.html | 23 +- .../Documents/Protocols/Vector3Type.html | 23 +- .../Documents/Protocols/Vector4Additive.html | 23 +- .../Protocols/Vector4FloatingPoint.html | 23 +- .../Documents/Protocols/Vector4Type.html | 23 +- .../Documents/Protocols/VectorAdditive.html | 23 +- .../Documents/Protocols/VectorComparable.html | 23 +- .../Documents/Protocols/VectorDivisible.html | 23 +- .../Protocols/VectorFloatingPoint.html | 23 +- .../Protocols/VectorMultiplicative.html | 23 +- .../Documents/Protocols/VectorReal.html | 23 +- .../Documents/Protocols/VectorSigned.html | 23 +- .../Documents/Protocols/VectorTakeable.html | 23 +- .../Documents/Protocols/VectorType.html | 23 +- .../Documents/Protocols/VolumetricType.html | 23 +- .../Contents/Resources/Documents/Structs.html | 52 +- .../Resources/Documents/Structs/AABB.html | 23 +- .../Resources/Documents/Structs/Angle.html | 23 +- .../Documents/Structs/AngleSweep.html | 23 +- .../Documents/Structs/CircleArc2.html | 23 +- .../Documents/Structs/Cylinder3.html | 23 +- .../Documents/Structs/DirectionalRay.html | 23 +- .../Resources/Documents/Structs/Disk3.html | 23 +- .../Documents/Structs/EdgeInsets2.html | 23 +- .../Documents/Structs/Ellipsoid.html | 23 +- .../Documents/Structs/Hyperplane.html | 23 +- .../Resources/Documents/Structs/Line.html | 23 +- .../Documents/Structs/LineCategory.html | 23 +- .../Documents/Structs/LineIntersection.html | 23 +- .../LineIntersection/Intersection.html | 23 +- .../Structs/LineIntersectionResult.html | 23 +- .../Documents/Structs/LinePolygon.html | 23 +- .../Documents/Structs/LineSegment.html | 23 +- .../Documents/Structs/Matrix2x2.html | 23 +- .../Documents/Structs/Matrix3x2.html | 23 +- .../Documents/Structs/Matrix3x3.html | 23 +- .../Documents/Structs/Matrix4x4.html | 23 +- .../Resources/Documents/Structs/NCapsule.html | 23 +- .../Documents/Structs/NRectangle.html | 23 +- .../Resources/Documents/Structs/NSphere.html | 23 +- .../Resources/Documents/Structs/NSquare.html | 23 +- .../Documents/Structs/PointCloud.html | 1265 +++++++++++++++++ .../Documents/Structs/PointNormal.html | 23 +- .../Documents/Structs/PointNormalPlane.html | 23 +- .../Structs/ProjectivePointNormalPlane3.html | 23 +- .../Resources/Documents/Structs/Ray.html | 23 +- .../Documents/Structs/RoundNRectangle.html | 23 +- .../Documents/Structs/SphereCoordinates.html | 23 +- .../Resources/Documents/Structs/Torus3.html | 23 +- .../Resources/Documents/Structs/Triangle.html | 23 +- .../Structs/Triangle/Coordinates.html | 23 +- .../Documents/Structs/UnitVector.html | 23 +- .../Resources/Documents/Structs/Vector2.html | 23 +- .../Resources/Documents/Structs/Vector3.html | 23 +- .../Resources/Documents/Structs/Vector4.html | 23 +- .../Resources/Documents/Typealiases.html | 189 ++- .../Resources/Documents/changelog.html | 23 +- .../Contents/Resources/Documents/index.html | 23 +- .../Contents/Resources/Documents/license.html | 23 +- .../Contents/Resources/Documents/readme.html | 23 +- .../Contents/Resources/Documents/search.json | 2 +- .../.docset/Contents/Resources/docSet.dsidx | Bin 376832 -> 389120 bytes docsets/.tgz | Bin 1002023 -> 1018649 bytes index.html | 23 +- license.html | 23 +- readme.html | 23 +- search.json | 2 +- 292 files changed, 9358 insertions(+), 288 deletions(-) create mode 100644 Structs/PointCloud.html create mode 100644 docsets/.docset/Contents/Resources/Documents/Structs/PointCloud.html diff --git a/Enums.html b/Enums.html index 29238357..70be557f 100644 --- a/Enums.html +++ b/Enums.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1193,7 +1214,7 @@

Declaration

diff --git a/Enums/ClosedShape2Intersection.html b/Enums/ClosedShape2Intersection.html index 59ace064..bba57f98 100644 --- a/Enums/ClosedShape2Intersection.html +++ b/Enums/ClosedShape2Intersection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1302,7 +1323,7 @@

Declaration

diff --git a/Enums/ClosedShape2Intersection/Pair.html b/Enums/ClosedShape2Intersection/Pair.html index 1fdf2aff..0e5044c3 100644 --- a/Enums/ClosedShape2Intersection/Pair.html +++ b/Enums/ClosedShape2Intersection/Pair.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1089,7 +1110,7 @@

Declaration

diff --git a/Enums/ClosedShape2Intersection/PointNormalKind.html b/Enums/ClosedShape2Intersection/PointNormalKind.html index d348975b..6b01a2d3 100644 --- a/Enums/ClosedShape2Intersection/PointNormalKind.html +++ b/Enums/ClosedShape2Intersection/PointNormalKind.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1160,7 +1181,7 @@

Declaration

diff --git a/Enums/ConvexLineIntersection.html b/Enums/ConvexLineIntersection.html index 53158498..a96760d7 100644 --- a/Enums/ConvexLineIntersection.html +++ b/Enums/ConvexLineIntersection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1288,7 +1309,7 @@

Declaration

diff --git a/Enums/ConvexLineIntersection/PointNormalKind.html b/Enums/ConvexLineIntersection/PointNormalKind.html index d583cc96..35cb8d03 100644 --- a/Enums/ConvexLineIntersection/PointNormalKind.html +++ b/Enums/ConvexLineIntersection/PointNormalKind.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1082,7 +1103,7 @@

Declaration

diff --git a/Enums/Orientation3.html b/Enums/Orientation3.html index 96a71a17..fd3e0c08 100644 --- a/Enums/Orientation3.html +++ b/Enums/Orientation3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1055,7 +1076,7 @@

Declaration

diff --git a/Enums/RotationOrder3.html b/Enums/RotationOrder3.html index cbba67c7..94ecc497 100644 --- a/Enums/RotationOrder3.html +++ b/Enums/RotationOrder3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1359,7 +1380,7 @@

Declaration

diff --git a/Enums/Vector2TakeDimensions.html b/Enums/Vector2TakeDimensions.html index b524cd4d..f3c0ee61 100644 --- a/Enums/Vector2TakeDimensions.html +++ b/Enums/Vector2TakeDimensions.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1052,7 +1073,7 @@

Declaration

diff --git a/Enums/Vector3TakeDimensions.html b/Enums/Vector3TakeDimensions.html index a88b91b4..c54a8d14 100644 --- a/Enums/Vector3TakeDimensions.html +++ b/Enums/Vector3TakeDimensions.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1078,7 +1099,7 @@

Declaration

diff --git a/Enums/Vector4TakeDimensions.html b/Enums/Vector4TakeDimensions.html index e64a08ca..56e75f65 100644 --- a/Enums/Vector4TakeDimensions.html +++ b/Enums/Vector4TakeDimensions.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1104,7 +1125,7 @@

Declaration

diff --git a/Extensions.html b/Extensions.html index 5a352a40..a19a82be 100644 --- a/Extensions.html +++ b/Extensions.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -2252,7 +2273,7 @@

Declaration

diff --git a/Extensions/AABB2.html b/Extensions/AABB2.html index b9050eec..8df6421b 100644 --- a/Extensions/AABB2.html +++ b/Extensions/AABB2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1452,7 +1473,7 @@

Declaration

diff --git a/Extensions/Capsule3.html b/Extensions/Capsule3.html index 395323d9..d20f1d33 100644 --- a/Extensions/Capsule3.html +++ b/Extensions/Capsule3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1067,7 +1088,7 @@

Declaration

diff --git a/Extensions/Circle2.html b/Extensions/Circle2.html index 8b487054..7f4e5566 100644 --- a/Extensions/Circle2.html +++ b/Extensions/Circle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1210,7 +1231,7 @@

Declaration

diff --git a/Extensions/Collection.html b/Extensions/Collection.html index 445b4e75..8b27d79e 100644 --- a/Extensions/Collection.html +++ b/Extensions/Collection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1038,7 +1059,7 @@

Declaration

diff --git a/Extensions/Cube3.html b/Extensions/Cube3.html index ac98eaae..7b57bc67 100644 --- a/Extensions/Cube3.html +++ b/Extensions/Cube3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1026,7 +1047,7 @@

Declaration

diff --git a/Extensions/DirectionalRay2.html b/Extensions/DirectionalRay2.html index 3c0822c7..ce8730a2 100644 --- a/Extensions/DirectionalRay2.html +++ b/Extensions/DirectionalRay2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1111,7 +1132,7 @@

Declaration

diff --git a/Extensions/DirectionalRay3.html b/Extensions/DirectionalRay3.html index c866f9ca..0239ca60 100644 --- a/Extensions/DirectionalRay3.html +++ b/Extensions/DirectionalRay3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1125,7 +1146,7 @@

Declaration

diff --git a/Extensions/Ellipse2.html b/Extensions/Ellipse2.html index 1f5692ae..2f17e77b 100644 --- a/Extensions/Ellipse2.html +++ b/Extensions/Ellipse2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1166,7 +1187,7 @@

Declaration

diff --git a/Extensions/Ellipse3.html b/Extensions/Ellipse3.html index bd899814..f29b82de 100644 --- a/Extensions/Ellipse3.html +++ b/Extensions/Ellipse3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1218,7 +1239,7 @@

Declaration

diff --git a/Extensions/Line2.html b/Extensions/Line2.html index 7796529a..95c200fc 100644 --- a/Extensions/Line2.html +++ b/Extensions/Line2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1027,7 +1048,7 @@

Declaration

diff --git a/Extensions/Line3.html b/Extensions/Line3.html index 82a75bcb..617132a5 100644 --- a/Extensions/Line3.html +++ b/Extensions/Line3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1079,7 +1100,7 @@

Declaration

diff --git a/Extensions/LinePolygon2.html b/Extensions/LinePolygon2.html index 8ce5cd6f..275d71d5 100644 --- a/Extensions/LinePolygon2.html +++ b/Extensions/LinePolygon2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1255,7 +1276,7 @@

Declaration

diff --git a/Extensions/LineSegment2.html b/Extensions/LineSegment2.html index 8cb4fa4c..a24b4a9b 100644 --- a/Extensions/LineSegment2.html +++ b/Extensions/LineSegment2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1027,7 +1048,7 @@

Declaration

diff --git a/Extensions/LineSegment3.html b/Extensions/LineSegment3.html index 0a1c6fb9..1e8d32e2 100644 --- a/Extensions/LineSegment3.html +++ b/Extensions/LineSegment3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1079,7 +1100,7 @@

Declaration

diff --git a/Extensions/Ray2.html b/Extensions/Ray2.html index 2fe279b7..1aa57327 100644 --- a/Extensions/Ray2.html +++ b/Extensions/Ray2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1068,7 +1089,7 @@

Declaration

diff --git a/Extensions/Ray3.html b/Extensions/Ray3.html index 33ca94a0..78deea08 100644 --- a/Extensions/Ray3.html +++ b/Extensions/Ray3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1119,7 +1140,7 @@

Declaration

diff --git a/Extensions/Rectangle2.html b/Extensions/Rectangle2.html index 3b091ea8..dccf2aa1 100644 --- a/Extensions/Rectangle2.html +++ b/Extensions/Rectangle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1608,7 +1629,7 @@

Declaration

diff --git a/Extensions/RotationMatrix3.html b/Extensions/RotationMatrix3.html index bd56e2a3..bb3542c1 100644 --- a/Extensions/RotationMatrix3.html +++ b/Extensions/RotationMatrix3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1251,7 +1272,7 @@

Declaration

diff --git a/Extensions/RoundRectangle2.html b/Extensions/RoundRectangle2.html index 5bafd0ff..cf469222 100644 --- a/Extensions/RoundRectangle2.html +++ b/Extensions/RoundRectangle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1025,7 +1046,7 @@

Declaration

diff --git a/Extensions/SIMD2.html b/Extensions/SIMD2.html index 6b94789b..0c6a25b2 100644 --- a/Extensions/SIMD2.html +++ b/Extensions/SIMD2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1743,7 +1764,7 @@

SIMD2

diff --git a/Extensions/SIMD3.html b/Extensions/SIMD3.html index c7fcf7bf..f3b032ed 100644 --- a/Extensions/SIMD3.html +++ b/Extensions/SIMD3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1488,7 +1509,7 @@

SIMD3

diff --git a/Extensions/SIMD4.html b/Extensions/SIMD4.html index e144cb2a..718331c7 100644 --- a/Extensions/SIMD4.html +++ b/Extensions/SIMD4.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1190,7 +1211,7 @@

SIMD4

diff --git a/Extensions/Sphere3.html b/Extensions/Sphere3.html index 74143b97..cd2ecd9d 100644 --- a/Extensions/Sphere3.html +++ b/Extensions/Sphere3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1064,7 +1085,7 @@

Declaration

diff --git a/Extensions/Square2.html b/Extensions/Square2.html index 80c947e1..8964ecbb 100644 --- a/Extensions/Square2.html +++ b/Extensions/Square2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1026,7 +1047,7 @@

Declaration

diff --git a/Extensions/Triangle2.html b/Extensions/Triangle2.html index 2986cb4e..307b198e 100644 --- a/Extensions/Triangle2.html +++ b/Extensions/Triangle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1324,7 +1345,7 @@

Declaration

diff --git a/Extensions/Triangle3.html b/Extensions/Triangle3.html index af9b8d56..36fef242 100644 --- a/Extensions/Triangle3.html +++ b/Extensions/Triangle3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1338,7 +1359,7 @@

Declaration

diff --git a/Extensions/Vector2D.html b/Extensions/Vector2D.html index ac3b3608..f4f068ce 100644 --- a/Extensions/Vector2D.html +++ b/Extensions/Vector2D.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

Vector2D

diff --git a/Extensions/Vector2F.html b/Extensions/Vector2F.html index e415b35b..2b6d2feb 100644 --- a/Extensions/Vector2F.html +++ b/Extensions/Vector2F.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

Vector2F

diff --git a/Functions.html b/Functions.html index 1f288f01..edc93711 100644 --- a/Functions.html +++ b/Functions.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1256,7 +1277,7 @@

Declaration

diff --git a/Guides.html b/Guides.html index f1a7ec12..c8aab71f 100644 --- a/Guides.html +++ b/Guides.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1018,7 +1039,7 @@

Guides

diff --git a/Protocols.html b/Protocols.html index 2d7feebd..955404a0 100644 --- a/Protocols.html +++ b/Protocols.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -2763,7 +2784,7 @@

Declaration

diff --git a/Protocols/AdditiveRectangleType.html b/Protocols/AdditiveRectangleType.html index 9d3ecae2..3f16e615 100644 --- a/Protocols/AdditiveRectangleType.html +++ b/Protocols/AdditiveRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1200,7 +1221,7 @@

Declaration

diff --git a/Protocols/BoundableType.html b/Protocols/BoundableType.html index c068c342..2269fe8d 100644 --- a/Protocols/BoundableType.html +++ b/Protocols/BoundableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1056,7 +1077,7 @@

Declaration

diff --git a/Protocols/ConstructableRectangleType.html b/Protocols/ConstructableRectangleType.html index e47575da..179c8843 100644 --- a/Protocols/ConstructableRectangleType.html +++ b/Protocols/ConstructableRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1447,7 +1468,7 @@

Declaration

diff --git a/Protocols/Convex2Type.html b/Protocols/Convex2Type.html index 2344fbab..9fea7b3b 100644 --- a/Protocols/Convex2Type.html +++ b/Protocols/Convex2Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

Declaration

diff --git a/Protocols/Convex3Type.html b/Protocols/Convex3Type.html index 0826a6f7..fbb3056d 100644 --- a/Protocols/Convex3Type.html +++ b/Protocols/Convex3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

Declaration

diff --git a/Protocols/ConvexType.html b/Protocols/ConvexType.html index 788868cc..d14bf073 100644 --- a/Protocols/ConvexType.html +++ b/Protocols/ConvexType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

Declaration

diff --git a/Protocols/DivisibleArithmetic.html b/Protocols/DivisibleArithmetic.html index 73ad15e8..9f59ea3f 100644 --- a/Protocols/DivisibleArithmetic.html +++ b/Protocols/DivisibleArithmetic.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1117,7 +1138,7 @@

Parameters

diff --git a/Protocols/DivisibleRectangleType.html b/Protocols/DivisibleRectangleType.html index c67c64a7..c7f0f11c 100644 --- a/Protocols/DivisibleRectangleType.html +++ b/Protocols/DivisibleRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1622,7 +1643,7 @@

Declaration

diff --git a/Protocols/Line2FloatingPoint.html b/Protocols/Line2FloatingPoint.html index 2cec3299..cd5c9380 100644 --- a/Protocols/Line2FloatingPoint.html +++ b/Protocols/Line2FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

Declaration

diff --git a/Protocols/Line2Real.html b/Protocols/Line2Real.html index 17f07e97..4c167431 100644 --- a/Protocols/Line2Real.html +++ b/Protocols/Line2Real.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

Declaration

diff --git a/Protocols/Line3FloatingPoint.html b/Protocols/Line3FloatingPoint.html index 02946963..b17620ae 100644 --- a/Protocols/Line3FloatingPoint.html +++ b/Protocols/Line3FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1075,7 +1096,7 @@

Declaration

diff --git a/Protocols/Line3IntersectableType.html b/Protocols/Line3IntersectableType.html index b8e585e2..55ea8b22 100644 --- a/Protocols/Line3IntersectableType.html +++ b/Protocols/Line3IntersectableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1059,7 +1080,7 @@

Declaration

diff --git a/Protocols/Line3Type.html b/Protocols/Line3Type.html index e02ac263..8c5e102c 100644 --- a/Protocols/Line3Type.html +++ b/Protocols/Line3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1054,7 +1075,7 @@

Declaration

diff --git a/Protocols/LineAdditive.html b/Protocols/LineAdditive.html index dde7c77c..219abfeb 100644 --- a/Protocols/LineAdditive.html +++ b/Protocols/LineAdditive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1063,7 +1084,7 @@

Declaration

diff --git a/Protocols/LineDivisible.html b/Protocols/LineDivisible.html index aec319d0..b4c1d191 100644 --- a/Protocols/LineDivisible.html +++ b/Protocols/LineDivisible.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1072,7 +1093,7 @@

Declaration

diff --git a/Protocols/LineFloatingPoint.html b/Protocols/LineFloatingPoint.html index cecba893..3ce2f24e 100644 --- a/Protocols/LineFloatingPoint.html +++ b/Protocols/LineFloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1368,7 +1389,7 @@

Declaration

diff --git a/Protocols/LineIntersectablePlaneType.html b/Protocols/LineIntersectablePlaneType.html index 0be424bb..5bd5f665 100644 --- a/Protocols/LineIntersectablePlaneType.html +++ b/Protocols/LineIntersectablePlaneType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1079,7 +1100,7 @@

Declaration

diff --git a/Protocols/LineIntersectableType.html b/Protocols/LineIntersectableType.html index b3ded23f..f86431f7 100644 --- a/Protocols/LineIntersectableType.html +++ b/Protocols/LineIntersectableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1059,7 +1080,7 @@

Declaration

diff --git a/Protocols/LineMultiplicative.html b/Protocols/LineMultiplicative.html index 9de0b7fd..a9f8a6ef 100644 --- a/Protocols/LineMultiplicative.html +++ b/Protocols/LineMultiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

Declaration

diff --git a/Protocols/LineType.html b/Protocols/LineType.html index 4e636c1a..b5bf2fd4 100644 --- a/Protocols/LineType.html +++ b/Protocols/LineType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1115,7 +1136,7 @@

Declaration

diff --git a/Protocols/MatrixType.html b/Protocols/MatrixType.html index a3c1678c..6959d31e 100644 --- a/Protocols/MatrixType.html +++ b/Protocols/MatrixType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1598,7 +1619,7 @@

Declaration

diff --git a/Protocols/PlaneIntersectablePlane2Type.html b/Protocols/PlaneIntersectablePlane2Type.html index 1246d68d..f828476f 100644 --- a/Protocols/PlaneIntersectablePlane2Type.html +++ b/Protocols/PlaneIntersectablePlane2Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1078,7 +1099,7 @@

Declaration

diff --git a/Protocols/PlaneIntersectablePlane3Type.html b/Protocols/PlaneIntersectablePlane3Type.html index 6d80a4b8..b3d77f93 100644 --- a/Protocols/PlaneIntersectablePlane3Type.html +++ b/Protocols/PlaneIntersectablePlane3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1078,7 +1099,7 @@

Declaration

diff --git a/Protocols/PlaneType.html b/Protocols/PlaneType.html index 355a6836..9ddedc79 100644 --- a/Protocols/PlaneType.html +++ b/Protocols/PlaneType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1082,7 +1103,7 @@

Declaration

diff --git a/Protocols/PointProjectablePlaneType.html b/Protocols/PointProjectablePlaneType.html index 059eb54e..830e0236 100644 --- a/Protocols/PointProjectablePlaneType.html +++ b/Protocols/PointProjectablePlaneType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1070,7 +1091,7 @@

Declaration

diff --git a/Protocols/PointProjectableType.html b/Protocols/PointProjectableType.html index 4d84ff52..2df794b1 100644 --- a/Protocols/PointProjectableType.html +++ b/Protocols/PointProjectableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1234,7 +1255,7 @@

Declaration

diff --git a/Protocols/ProjectiveSpace.html b/Protocols/ProjectiveSpace.html index 96544dfa..165c4044 100644 --- a/Protocols/ProjectiveSpace.html +++ b/Protocols/ProjectiveSpace.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1113,7 +1134,7 @@

Declaration

diff --git a/Protocols/RectangleType.html b/Protocols/RectangleType.html index e37f09bd..ab9434d2 100644 --- a/Protocols/RectangleType.html +++ b/Protocols/RectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1311,7 +1332,7 @@

Declaration

diff --git a/Protocols/SelfIntersectableRectangleType.html b/Protocols/SelfIntersectableRectangleType.html index 048f9b8c..d8cbc09a 100644 --- a/Protocols/SelfIntersectableRectangleType.html +++ b/Protocols/SelfIntersectableRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1117,7 +1138,7 @@

Declaration

diff --git a/Protocols/SignedDistanceMeasurableType.html b/Protocols/SignedDistanceMeasurableType.html index e34030ee..edb1a17f 100644 --- a/Protocols/SignedDistanceMeasurableType.html +++ b/Protocols/SignedDistanceMeasurableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1056,7 +1077,7 @@

Declaration

diff --git a/Protocols/SphereProjectiveSpace.html b/Protocols/SphereProjectiveSpace.html index 0dd03546..e5b9b228 100644 --- a/Protocols/SphereProjectiveSpace.html +++ b/Protocols/SphereProjectiveSpace.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1029,7 +1050,7 @@

Declaration

diff --git a/Protocols/SquareMatrixType.html b/Protocols/SquareMatrixType.html index fc67b5cf..8e9ecb16 100644 --- a/Protocols/SquareMatrixType.html +++ b/Protocols/SquareMatrixType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1085,7 +1106,7 @@

Declaration

diff --git a/Protocols/TransposableMatrixType.html b/Protocols/TransposableMatrixType.html index 3ec4d588..667de031 100644 --- a/Protocols/TransposableMatrixType.html +++ b/Protocols/TransposableMatrixType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1054,7 +1075,7 @@

Declaration

diff --git a/Protocols/Vector2FloatingPoint.html b/Protocols/Vector2FloatingPoint.html index 671c1acf..d4cb441b 100644 --- a/Protocols/Vector2FloatingPoint.html +++ b/Protocols/Vector2FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1395,7 +1416,7 @@

Declaration

diff --git a/Protocols/Vector2Multiplicative.html b/Protocols/Vector2Multiplicative.html index 5643e7c7..a655613a 100644 --- a/Protocols/Vector2Multiplicative.html +++ b/Protocols/Vector2Multiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1142,6 +1163,78 @@

Declaration

+
  • +
    + + + + winding(_:_:_:) + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Returns the winding value of the three given input points.

    + +

    Winding indicates whether the vectors are clockwise (> 0), colinear (== 0), +or counter-clockwise (< 0)

    + +
    +

    Default Implementation

    +
    +

    Returns the winding value of the three given input points.

    + +

    Winding indicates whether the vectors are clockwise (> 0), colinear (== 0), +or counter-clockwise (< 0)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func winding(_ p0: Self, _ p1: Self, _ p2: Self) -> Scalar
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + areClockwise(_:_:_:) + + + Extension method + +
    +
    +
    +
    +
    +
    +

    Returns true if the three given input points are wound in clockwise order.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @inlinable
    +static func areClockwise(_ p0: Self, _ p1: Self, _ p2: Self) -> Bool where Self.Scalar : Comparable
    + +
    +
    +
    +
    +
  • @@ -1150,7 +1243,7 @@

    Declaration

    diff --git a/Protocols/Vector2Real.html b/Protocols/Vector2Real.html index 37c18b3b..9b14f003 100644 --- a/Protocols/Vector2Real.html +++ b/Protocols/Vector2Real.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1366,7 +1387,7 @@

    Declaration

    diff --git a/Protocols/Vector2Signed.html b/Protocols/Vector2Signed.html index 7d62679d..8bab2988 100644 --- a/Protocols/Vector2Signed.html +++ b/Protocols/Vector2Signed.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1168,7 +1189,7 @@

    Declaration

    diff --git a/Protocols/Vector2Type.html b/Protocols/Vector2Type.html index dd1875bd..fa2ac7ac 100644 --- a/Protocols/Vector2Type.html +++ b/Protocols/Vector2Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1357,7 +1378,7 @@

    Declaration

    diff --git a/Protocols/Vector3Additive.html b/Protocols/Vector3Additive.html index 5af01077..6c48c9de 100644 --- a/Protocols/Vector3Additive.html +++ b/Protocols/Vector3Additive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1037,7 +1058,7 @@

    Declaration

    diff --git a/Protocols/Vector3FloatingPoint.html b/Protocols/Vector3FloatingPoint.html index 70970114..fde3c897 100644 --- a/Protocols/Vector3FloatingPoint.html +++ b/Protocols/Vector3FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1395,7 +1416,7 @@

    Declaration

    diff --git a/Protocols/Vector3Multiplicative.html b/Protocols/Vector3Multiplicative.html index 70db543c..049f3e29 100644 --- a/Protocols/Vector3Multiplicative.html +++ b/Protocols/Vector3Multiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1177,7 +1198,7 @@

    Declaration

    diff --git a/Protocols/Vector3Real.html b/Protocols/Vector3Real.html index 0a9a1e05..b1ac1178 100644 --- a/Protocols/Vector3Real.html +++ b/Protocols/Vector3Real.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

    Declaration

    diff --git a/Protocols/Vector3Type.html b/Protocols/Vector3Type.html index 94aa6ba6..5ad00a3b 100644 --- a/Protocols/Vector3Type.html +++ b/Protocols/Vector3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1420,7 +1441,7 @@

    Declaration

    diff --git a/Protocols/Vector4Additive.html b/Protocols/Vector4Additive.html index c22d37a3..04a8b552 100644 --- a/Protocols/Vector4Additive.html +++ b/Protocols/Vector4Additive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1065,7 +1086,7 @@

    Declaration

    diff --git a/Protocols/Vector4FloatingPoint.html b/Protocols/Vector4FloatingPoint.html index bff823c2..4d71bbd0 100644 --- a/Protocols/Vector4FloatingPoint.html +++ b/Protocols/Vector4FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1395,7 +1416,7 @@

    Declaration

    diff --git a/Protocols/Vector4Type.html b/Protocols/Vector4Type.html index 56efc01e..9fd8e0cd 100644 --- a/Protocols/Vector4Type.html +++ b/Protocols/Vector4Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1483,7 +1504,7 @@

    Declaration

    diff --git a/Protocols/VectorAdditive.html b/Protocols/VectorAdditive.html index 01d948c9..96a18d57 100644 --- a/Protocols/VectorAdditive.html +++ b/Protocols/VectorAdditive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1294,7 +1315,7 @@

    Declaration

    diff --git a/Protocols/VectorComparable.html b/Protocols/VectorComparable.html index 71a4d332..52821cc0 100644 --- a/Protocols/VectorComparable.html +++ b/Protocols/VectorComparable.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1430,7 +1451,7 @@

    Declaration

    diff --git a/Protocols/VectorDivisible.html b/Protocols/VectorDivisible.html index 3a53514e..bfce5e18 100644 --- a/Protocols/VectorDivisible.html +++ b/Protocols/VectorDivisible.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1137,7 +1158,7 @@

    Declaration

    diff --git a/Protocols/VectorFloatingPoint.html b/Protocols/VectorFloatingPoint.html index c5041a0d..ce4b5779 100644 --- a/Protocols/VectorFloatingPoint.html +++ b/Protocols/VectorFloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1550,7 +1571,7 @@

    Declaration

    diff --git a/Protocols/VectorMultiplicative.html b/Protocols/VectorMultiplicative.html index 4f9978b4..a6e78812 100644 --- a/Protocols/VectorMultiplicative.html +++ b/Protocols/VectorMultiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1375,7 +1396,7 @@

    Declaration

    diff --git a/Protocols/VectorReal.html b/Protocols/VectorReal.html index 037b4fbc..7ec8489a 100644 --- a/Protocols/VectorReal.html +++ b/Protocols/VectorReal.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1102,7 +1123,7 @@

    Declaration

    diff --git a/Protocols/VectorSigned.html b/Protocols/VectorSigned.html index 8a009e7f..f0ca0a91 100644 --- a/Protocols/VectorSigned.html +++ b/Protocols/VectorSigned.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1147,7 +1168,7 @@

    Declaration

    diff --git a/Protocols/VectorTakeable.html b/Protocols/VectorTakeable.html index f5bf14e5..7ecadf98 100644 --- a/Protocols/VectorTakeable.html +++ b/Protocols/VectorTakeable.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1246,7 +1267,7 @@

    Declaration

    diff --git a/Protocols/VectorType.html b/Protocols/VectorType.html index 72580f3b..5e356b70 100644 --- a/Protocols/VectorType.html +++ b/Protocols/VectorType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1113,7 +1134,7 @@

    Declaration

    diff --git a/Protocols/VolumetricType.html b/Protocols/VolumetricType.html index 4b2896d9..94f2168d 100644 --- a/Protocols/VolumetricType.html +++ b/Protocols/VolumetricType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1149,7 +1170,7 @@

    Declaration

    diff --git a/Structs.html b/Structs.html index 11f14060..476ab0c6 100644 --- a/Structs.html +++ b/Structs.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1899,6 +1920,35 @@

    Declaration

    +
  • +
    + + + + PointCloud + +
    +
    +
    +
    +
    +
    +

    A point-cloud container for +discrete sets of points in space.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct PointCloud<Vector> where Vector : VectorType
    + +
    +
    +
    +
    +
  • @@ -2262,7 +2312,7 @@

    Declaration

    diff --git a/Structs/AABB.html b/Structs/AABB.html index 38914d96..49e5d2aa 100644 --- a/Structs/AABB.html +++ b/Structs/AABB.html @@ -539,6 +539,9 @@
  • + @@ -796,6 +799,24 @@ + + + + + + @@ -2200,7 +2221,7 @@

    Declaration

    diff --git a/Structs/Angle.html b/Structs/Angle.html index 2fd4c7cf..3720b497 100644 --- a/Structs/Angle.html +++ b/Structs/Angle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1939,7 +1960,7 @@

    Declaration

    diff --git a/Structs/AngleSweep.html b/Structs/AngleSweep.html index b0966323..8fd29a06 100644 --- a/Structs/AngleSweep.html +++ b/Structs/AngleSweep.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1219,7 +1240,7 @@

    Declaration

    diff --git a/Structs/CircleArc2.html b/Structs/CircleArc2.html index 27c3c146..62b63175 100644 --- a/Structs/CircleArc2.html +++ b/Structs/CircleArc2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1752,7 +1773,7 @@

    Declaration

    diff --git a/Structs/Cylinder3.html b/Structs/Cylinder3.html index 95c3973c..3af150fd 100644 --- a/Structs/Cylinder3.html +++ b/Structs/Cylinder3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1484,7 +1505,7 @@

    Declaration

    diff --git a/Structs/DirectionalRay.html b/Structs/DirectionalRay.html index bb72fc2e..87b071a7 100644 --- a/Structs/DirectionalRay.html +++ b/Structs/DirectionalRay.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1627,7 +1648,7 @@

    Declaration

    diff --git a/Structs/Disk3.html b/Structs/Disk3.html index a3c070d1..a7c82681 100644 --- a/Structs/Disk3.html +++ b/Structs/Disk3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1346,7 +1367,7 @@

    Declaration

    diff --git a/Structs/EdgeInsets2.html b/Structs/EdgeInsets2.html index 254f4fb7..14574bb4 100644 --- a/Structs/EdgeInsets2.html +++ b/Structs/EdgeInsets2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1256,7 +1277,7 @@

    Declaration

    diff --git a/Structs/Ellipsoid.html b/Structs/Ellipsoid.html index 27b442cd..ac4ed652 100644 --- a/Structs/Ellipsoid.html +++ b/Structs/Ellipsoid.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1271,7 +1292,7 @@

    Declaration

    diff --git a/Structs/Hyperplane.html b/Structs/Hyperplane.html index ac17dae0..e8de389d 100644 --- a/Structs/Hyperplane.html +++ b/Structs/Hyperplane.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1291,7 +1312,7 @@

    Declaration

    diff --git a/Structs/Line.html b/Structs/Line.html index 1c93ae80..f6c6172a 100644 --- a/Structs/Line.html +++ b/Structs/Line.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1324,7 +1345,7 @@

    Declaration

    diff --git a/Structs/LineCategory.html b/Structs/LineCategory.html index 6f13f1c1..afcf0e04 100644 --- a/Structs/LineCategory.html +++ b/Structs/LineCategory.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1192,7 +1213,7 @@

    Declaration

    diff --git a/Structs/LineIntersection.html b/Structs/LineIntersection.html index 6b778489..bb030e5c 100644 --- a/Structs/LineIntersection.html +++ b/Structs/LineIntersection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1113,7 +1134,7 @@

    Declaration

    diff --git a/Structs/LineIntersection/Intersection.html b/Structs/LineIntersection/Intersection.html index 23d7757f..f13744c7 100644 --- a/Structs/LineIntersection/Intersection.html +++ b/Structs/LineIntersection/Intersection.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1114,7 +1135,7 @@

    Declaration

    diff --git a/Structs/LineIntersectionResult.html b/Structs/LineIntersectionResult.html index 530793b2..9c840457 100644 --- a/Structs/LineIntersectionResult.html +++ b/Structs/LineIntersectionResult.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1146,7 +1167,7 @@

    Declaration

    diff --git a/Structs/LinePolygon.html b/Structs/LinePolygon.html index 498b0d51..418179e0 100644 --- a/Structs/LinePolygon.html +++ b/Structs/LinePolygon.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1347,7 +1368,7 @@

    Declaration

    diff --git a/Structs/LineSegment.html b/Structs/LineSegment.html index 85cb1852..8666f009 100644 --- a/Structs/LineSegment.html +++ b/Structs/LineSegment.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1677,7 +1698,7 @@

    Declaration

    diff --git a/Structs/Matrix2x2.html b/Structs/Matrix2x2.html index c5b24be8..4c57d689 100644 --- a/Structs/Matrix2x2.html +++ b/Structs/Matrix2x2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2027,7 +2048,7 @@

    Declaration

    diff --git a/Structs/Matrix3x2.html b/Structs/Matrix3x2.html index 1e316292..107d358a 100644 --- a/Structs/Matrix3x2.html +++ b/Structs/Matrix3x2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -3995,7 +4016,7 @@

    Declaration

    diff --git a/Structs/Matrix3x3.html b/Structs/Matrix3x3.html index c2137f0b..039c90a7 100644 --- a/Structs/Matrix3x3.html +++ b/Structs/Matrix3x3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2373,7 +2394,7 @@

    Declaration

    diff --git a/Structs/Matrix4x4.html b/Structs/Matrix4x4.html index 2a1f8946..2f064a40 100644 --- a/Structs/Matrix4x4.html +++ b/Structs/Matrix4x4.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2506,7 +2527,7 @@

    Declaration

    diff --git a/Structs/NCapsule.html b/Structs/NCapsule.html index 360674d9..6d92a0cc 100644 --- a/Structs/NCapsule.html +++ b/Structs/NCapsule.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1389,7 +1410,7 @@

    Declaration

    diff --git a/Structs/NRectangle.html b/Structs/NRectangle.html index cb9a1ae5..21472ef4 100644 --- a/Structs/NRectangle.html +++ b/Structs/NRectangle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1963,7 +1984,7 @@

    Declaration

    diff --git a/Structs/NSphere.html b/Structs/NSphere.html index 6814b257..a5f3efaa 100644 --- a/Structs/NSphere.html +++ b/Structs/NSphere.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1467,7 +1488,7 @@

    Declaration

    diff --git a/Structs/NSquare.html b/Structs/NSquare.html index 13500842..7de07420 100644 --- a/Structs/NSquare.html +++ b/Structs/NSquare.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1457,7 +1478,7 @@

    Declaration

    diff --git a/Structs/PointCloud.html b/Structs/PointCloud.html new file mode 100644 index 00000000..e3374fff --- /dev/null +++ b/Structs/PointCloud.html @@ -0,0 +1,1265 @@ + + + + PointCloud Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Docs + + (100% documented) +

    + +
    +
    + +
    +
    + + +
    + + + +
    + +
    + +
    +
    +

    PointCloud

    +
    +
    + +
    public struct PointCloud<Vector> where Vector : VectorType
    + +
    +
    +

    A point-cloud container for +discrete sets of points in space.

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + points + +
      +
      +
      +
      +
      +
      +

      The points contained within this point-cloud.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var points: [Vector]
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + init() + +
      +
      +
      +
      +
      +
      +

      Initializes an empty point-cloud.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init()
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + init(points:) + +
      +
      +
      +
      +
      +
      +

      Initializes a new point-cloud with a given sequence of points.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +public init<S>(points: S) where Vector == S.Element, S : Sequence
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Available where Vector: VectorAdditive +

    +
    +
    +
      +
    • +
      + + + + translated(by:) + +
      +
      +
      +
      +
      +
      +

      Returns a copy of this point cloud, offset in space by offset.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +func translated(by offset: Vector) -> PointCloud<Vector>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Available where Vector: VectorComparable & VectorAdditive +

    +
    +
    +
      +
    • +
      + + + + bounds + +
      +
      +
      +
      +
      +
      +

      Gets the minimal axis-aligned bounding box capable of containing this +point cloud.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +var bounds: AABB<Vector> { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Available where Vector: VectorMultiplicative +

    +
    +
    +
      +
    • +
      + + + + scaled(by:) + +
      +
      +
      +
      +
      +
      +

      Returns a copy of this point cloud, scaled in space towards the origin +by scale.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +func scaled(by scale: Vector) -> PointCloud<Vector>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + scaled(by:around:) + +
      +
      +
      +
      +
      +
      +

      Returns a copy of this point cloud, scaled in space towards the given +center point by scale.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +func scaled(by scale: Vector, around center: Vector) -> PointCloud<Vector>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Structs/PointNormal.html b/Structs/PointNormal.html index 63d1b10d..f73310ef 100644 --- a/Structs/PointNormal.html +++ b/Structs/PointNormal.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1234,7 +1255,7 @@

    Declaration

    diff --git a/Structs/PointNormalPlane.html b/Structs/PointNormalPlane.html index 6ce257b6..bfb14a72 100644 --- a/Structs/PointNormalPlane.html +++ b/Structs/PointNormalPlane.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1222,7 +1243,7 @@

    Declaration

    diff --git a/Structs/ProjectivePointNormalPlane3.html b/Structs/ProjectivePointNormalPlane3.html index ea9b11e0..71caeec4 100644 --- a/Structs/ProjectivePointNormalPlane3.html +++ b/Structs/ProjectivePointNormalPlane3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1529,7 +1550,7 @@

    Declaration

    diff --git a/Structs/Ray.html b/Structs/Ray.html index d2ec7e69..19ec2db9 100644 --- a/Structs/Ray.html +++ b/Structs/Ray.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1436,7 +1457,7 @@

    Declaration

    diff --git a/Structs/RoundNRectangle.html b/Structs/RoundNRectangle.html index 6ca59db4..6fcd3e23 100644 --- a/Structs/RoundNRectangle.html +++ b/Structs/RoundNRectangle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1152,7 +1173,7 @@

    Declaration

    diff --git a/Structs/SphereCoordinates.html b/Structs/SphereCoordinates.html index db821323..29b2f15c 100644 --- a/Structs/SphereCoordinates.html +++ b/Structs/SphereCoordinates.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1083,7 +1104,7 @@

    Declaration

    diff --git a/Structs/Torus3.html b/Structs/Torus3.html index 71283461..7b94912b 100644 --- a/Structs/Torus3.html +++ b/Structs/Torus3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1296,7 +1317,7 @@

    Declaration

    diff --git a/Structs/Triangle.html b/Structs/Triangle.html index 5348a379..25582d6d 100644 --- a/Structs/Triangle.html +++ b/Structs/Triangle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1519,7 +1540,7 @@

    Declaration

    diff --git a/Structs/Triangle/Coordinates.html b/Structs/Triangle/Coordinates.html index 5c2c05f6..a1cb6427 100644 --- a/Structs/Triangle/Coordinates.html +++ b/Structs/Triangle/Coordinates.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1149,7 +1170,7 @@

    Declaration

    diff --git a/Structs/UnitVector.html b/Structs/UnitVector.html index a46f5f6f..467e890d 100644 --- a/Structs/UnitVector.html +++ b/Structs/UnitVector.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1128,7 +1149,7 @@

    Parameters

    diff --git a/Structs/Vector2.html b/Structs/Vector2.html index 2c7c80a1..18ee360b 100644 --- a/Structs/Vector2.html +++ b/Structs/Vector2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2794,7 +2815,7 @@

    Declaration

    diff --git a/Structs/Vector3.html b/Structs/Vector3.html index b113c3f8..3eb11096 100644 --- a/Structs/Vector3.html +++ b/Structs/Vector3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2449,7 +2470,7 @@

    Declaration

    diff --git a/Structs/Vector4.html b/Structs/Vector4.html index 90faa41c..5574fc6f 100644 --- a/Structs/Vector4.html +++ b/Structs/Vector4.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2416,7 +2437,7 @@

    Declaration

    diff --git a/Typealiases.html b/Typealiases.html index 6bba061f..ec86fa25 100644 --- a/Typealiases.html +++ b/Typealiases.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1933,6 +1954,89 @@

    Declaration

    +
  • +
    + + + + PointCloud2 + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of two-dimensional vector points.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud2<Vector> = PointCloud<Vector> where Vector : Vector2Type
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud2D + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of two-dimensional vector points of double-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud2D = PointCloud2<Vector2D>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud2F + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of two-dimensional vector points of single-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud2F = PointCloud2<Vector2F>
    + +
    +
    +
    +
    +
  • @@ -3691,6 +3795,89 @@

    Declaration

  • +
  • +
    + + + + PointCloud3 + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of three-dimensional vector points.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud3<Vector> = PointCloud<Vector> where Vector : Vector3Type
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud3D + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of three-dimensional vector points of double-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud3D = PointCloud3<Vector3D>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud3F + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of three-dimensional vector points of single-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud3F = PointCloud3<Vector3F>
    + +
    +
    +
    +
    +
  • @@ -4570,7 +4757,7 @@

    Declaration

    diff --git a/changelog.html b/changelog.html index aa409378..fc8e3ef3 100644 --- a/changelog.html +++ b/changelog.html @@ -538,6 +538,9 @@
  • + @@ -795,6 +798,24 @@ + + + + + + @@ -1021,7 +1042,7 @@

    v0.0.1

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums.html b/docsets/.docset/Contents/Resources/Documents/Enums.html index 29238357..70be557f 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1193,7 +1214,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection.html b/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection.html index 59ace064..bba57f98 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1302,7 +1323,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/Pair.html b/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/Pair.html index 1fdf2aff..0e5044c3 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/Pair.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/Pair.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1089,7 +1110,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/PointNormalKind.html b/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/PointNormalKind.html index d348975b..6b01a2d3 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/PointNormalKind.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/ClosedShape2Intersection/PointNormalKind.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1160,7 +1181,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection.html b/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection.html index 53158498..a96760d7 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1288,7 +1309,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection/PointNormalKind.html b/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection/PointNormalKind.html index d583cc96..35cb8d03 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection/PointNormalKind.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/ConvexLineIntersection/PointNormalKind.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1082,7 +1103,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/Orientation3.html b/docsets/.docset/Contents/Resources/Documents/Enums/Orientation3.html index 96a71a17..fd3e0c08 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/Orientation3.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/Orientation3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1055,7 +1076,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/RotationOrder3.html b/docsets/.docset/Contents/Resources/Documents/Enums/RotationOrder3.html index cbba67c7..94ecc497 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/RotationOrder3.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/RotationOrder3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1359,7 +1380,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/Vector2TakeDimensions.html b/docsets/.docset/Contents/Resources/Documents/Enums/Vector2TakeDimensions.html index b524cd4d..f3c0ee61 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/Vector2TakeDimensions.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/Vector2TakeDimensions.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1052,7 +1073,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/Vector3TakeDimensions.html b/docsets/.docset/Contents/Resources/Documents/Enums/Vector3TakeDimensions.html index a88b91b4..c54a8d14 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/Vector3TakeDimensions.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/Vector3TakeDimensions.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1078,7 +1099,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Enums/Vector4TakeDimensions.html b/docsets/.docset/Contents/Resources/Documents/Enums/Vector4TakeDimensions.html index e64a08ca..56e75f65 100644 --- a/docsets/.docset/Contents/Resources/Documents/Enums/Vector4TakeDimensions.html +++ b/docsets/.docset/Contents/Resources/Documents/Enums/Vector4TakeDimensions.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1104,7 +1125,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions.html b/docsets/.docset/Contents/Resources/Documents/Extensions.html index 5a352a40..a19a82be 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -2252,7 +2273,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/AABB2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/AABB2.html index b9050eec..8df6421b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/AABB2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/AABB2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1452,7 +1473,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Capsule3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Capsule3.html index 395323d9..d20f1d33 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Capsule3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Capsule3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1067,7 +1088,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Circle2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Circle2.html index 8b487054..7f4e5566 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Circle2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Circle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1210,7 +1231,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Collection.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Collection.html index 445b4e75..8b27d79e 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Collection.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Collection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1038,7 +1059,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Cube3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Cube3.html index ac98eaae..7b57bc67 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Cube3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Cube3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1026,7 +1047,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay2.html index 3c0822c7..ce8730a2 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1111,7 +1132,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay3.html index c866f9ca..0239ca60 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/DirectionalRay3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1125,7 +1146,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse2.html index 1f5692ae..2f17e77b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1166,7 +1187,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse3.html index bd899814..f29b82de 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Ellipse3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1218,7 +1239,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Line2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Line2.html index 7796529a..95c200fc 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Line2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Line2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1027,7 +1048,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Line3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Line3.html index 82a75bcb..617132a5 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Line3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Line3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1079,7 +1100,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/LinePolygon2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/LinePolygon2.html index 8ce5cd6f..275d71d5 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/LinePolygon2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/LinePolygon2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1255,7 +1276,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment2.html index 8cb4fa4c..a24b4a9b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1027,7 +1048,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment3.html index 0a1c6fb9..1e8d32e2 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/LineSegment3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1079,7 +1100,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Ray2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Ray2.html index 2fe279b7..1aa57327 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Ray2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Ray2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1068,7 +1089,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Ray3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Ray3.html index 33ca94a0..78deea08 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Ray3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Ray3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1119,7 +1140,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Rectangle2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Rectangle2.html index 3b091ea8..dccf2aa1 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Rectangle2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Rectangle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1608,7 +1629,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/RotationMatrix3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/RotationMatrix3.html index bd56e2a3..bb3542c1 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/RotationMatrix3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/RotationMatrix3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1251,7 +1272,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/RoundRectangle2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/RoundRectangle2.html index 5bafd0ff..cf469222 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/RoundRectangle2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/RoundRectangle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1025,7 +1046,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD2.html index 6b94789b..0c6a25b2 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1743,7 +1764,7 @@

    SIMD2

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD3.html index c7fcf7bf..f3b032ed 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1488,7 +1509,7 @@

    SIMD3

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD4.html b/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD4.html index e144cb2a..718331c7 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD4.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/SIMD4.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1190,7 +1211,7 @@

    SIMD4

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Sphere3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Sphere3.html index 74143b97..cd2ecd9d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Sphere3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Sphere3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1064,7 +1085,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Square2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Square2.html index 80c947e1..8964ecbb 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Square2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Square2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1026,7 +1047,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle2.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle2.html index 2986cb4e..307b198e 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle2.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1324,7 +1345,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle3.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle3.html index af9b8d56..36fef242 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle3.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Triangle3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1338,7 +1359,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2D.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2D.html index ac3b3608..f4f068ce 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2D.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2D.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

    Vector2D

    diff --git a/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2F.html b/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2F.html index e415b35b..2b6d2feb 100644 --- a/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2F.html +++ b/docsets/.docset/Contents/Resources/Documents/Extensions/Vector2F.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

    Vector2F

    diff --git a/docsets/.docset/Contents/Resources/Documents/Functions.html b/docsets/.docset/Contents/Resources/Documents/Functions.html index 1f288f01..edc93711 100644 --- a/docsets/.docset/Contents/Resources/Documents/Functions.html +++ b/docsets/.docset/Contents/Resources/Documents/Functions.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1256,7 +1277,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Guides.html b/docsets/.docset/Contents/Resources/Documents/Guides.html index f1a7ec12..c8aab71f 100644 --- a/docsets/.docset/Contents/Resources/Documents/Guides.html +++ b/docsets/.docset/Contents/Resources/Documents/Guides.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1018,7 +1039,7 @@

    Guides

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols.html b/docsets/.docset/Contents/Resources/Documents/Protocols.html index 2d7feebd..955404a0 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -2763,7 +2784,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/AdditiveRectangleType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/AdditiveRectangleType.html index 9d3ecae2..3f16e615 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/AdditiveRectangleType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/AdditiveRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1200,7 +1221,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/BoundableType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/BoundableType.html index c068c342..2269fe8d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/BoundableType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/BoundableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1056,7 +1077,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/ConstructableRectangleType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/ConstructableRectangleType.html index e47575da..179c8843 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/ConstructableRectangleType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/ConstructableRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1447,7 +1468,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Convex2Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Convex2Type.html index 2344fbab..9fea7b3b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Convex2Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Convex2Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Convex3Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Convex3Type.html index 0826a6f7..fbb3056d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Convex3Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Convex3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/ConvexType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/ConvexType.html index 788868cc..d14bf073 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/ConvexType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/ConvexType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleArithmetic.html b/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleArithmetic.html index 73ad15e8..9f59ea3f 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleArithmetic.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleArithmetic.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1117,7 +1138,7 @@

    Parameters

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleRectangleType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleRectangleType.html index c67c64a7..c7f0f11c 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleRectangleType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/DivisibleRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1622,7 +1643,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Line2FloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Line2FloatingPoint.html index 2cec3299..cd5c9380 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Line2FloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Line2FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Line2Real.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Line2Real.html index 17f07e97..4c167431 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Line2Real.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Line2Real.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1035,7 +1056,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Line3FloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Line3FloatingPoint.html index 02946963..b17620ae 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Line3FloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Line3FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1075,7 +1096,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Line3IntersectableType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Line3IntersectableType.html index b8e585e2..55ea8b22 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Line3IntersectableType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Line3IntersectableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1059,7 +1080,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Line3Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Line3Type.html index e02ac263..8c5e102c 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Line3Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Line3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1054,7 +1075,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineAdditive.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineAdditive.html index dde7c77c..219abfeb 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineAdditive.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineAdditive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1063,7 +1084,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineDivisible.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineDivisible.html index aec319d0..b4c1d191 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineDivisible.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineDivisible.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1072,7 +1093,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineFloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineFloatingPoint.html index cecba893..3ce2f24e 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineFloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineFloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1368,7 +1389,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectablePlaneType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectablePlaneType.html index 0be424bb..5bd5f665 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectablePlaneType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectablePlaneType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1079,7 +1100,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectableType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectableType.html index b3ded23f..f86431f7 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectableType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineIntersectableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1059,7 +1080,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineMultiplicative.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineMultiplicative.html index 9de0b7fd..a9f8a6ef 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineMultiplicative.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineMultiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/LineType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/LineType.html index 4e636c1a..b5bf2fd4 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/LineType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/LineType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1115,7 +1136,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/MatrixType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/MatrixType.html index a3c1678c..6959d31e 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/MatrixType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/MatrixType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1598,7 +1619,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane2Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane2Type.html index 1246d68d..f828476f 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane2Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane2Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1078,7 +1099,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane3Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane3Type.html index 6d80a4b8..b3d77f93 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane3Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneIntersectablePlane3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1078,7 +1099,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneType.html index 355a6836..9ddedc79 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/PlaneType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1082,7 +1103,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectablePlaneType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectablePlaneType.html index 059eb54e..830e0236 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectablePlaneType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectablePlaneType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1070,7 +1091,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectableType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectableType.html index 4d84ff52..2df794b1 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectableType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/PointProjectableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1234,7 +1255,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/ProjectiveSpace.html b/docsets/.docset/Contents/Resources/Documents/Protocols/ProjectiveSpace.html index 96544dfa..165c4044 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/ProjectiveSpace.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/ProjectiveSpace.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1113,7 +1134,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/RectangleType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/RectangleType.html index e37f09bd..ab9434d2 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/RectangleType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/RectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1311,7 +1332,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/SelfIntersectableRectangleType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/SelfIntersectableRectangleType.html index 048f9b8c..d8cbc09a 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/SelfIntersectableRectangleType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/SelfIntersectableRectangleType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1117,7 +1138,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/SignedDistanceMeasurableType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/SignedDistanceMeasurableType.html index e34030ee..edb1a17f 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/SignedDistanceMeasurableType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/SignedDistanceMeasurableType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1056,7 +1077,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/SphereProjectiveSpace.html b/docsets/.docset/Contents/Resources/Documents/Protocols/SphereProjectiveSpace.html index 0dd03546..e5b9b228 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/SphereProjectiveSpace.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/SphereProjectiveSpace.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1029,7 +1050,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/SquareMatrixType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/SquareMatrixType.html index fc67b5cf..8e9ecb16 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/SquareMatrixType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/SquareMatrixType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1085,7 +1106,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/TransposableMatrixType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/TransposableMatrixType.html index 3ec4d588..667de031 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/TransposableMatrixType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/TransposableMatrixType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1054,7 +1075,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2FloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2FloatingPoint.html index 671c1acf..d4cb441b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2FloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1395,7 +1416,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Multiplicative.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Multiplicative.html index 5643e7c7..a655613a 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Multiplicative.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Multiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1142,6 +1163,78 @@

    Declaration

    +
  • +
    + + + + winding(_:_:_:) + + + Default implementation + +
    +
    +
    +
    +
    +
    +

    Returns the winding value of the three given input points.

    + +

    Winding indicates whether the vectors are clockwise (> 0), colinear (== 0), +or counter-clockwise (< 0)

    + +
    +

    Default Implementation

    +
    +

    Returns the winding value of the three given input points.

    + +

    Winding indicates whether the vectors are clockwise (> 0), colinear (== 0), +or counter-clockwise (< 0)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func winding(_ p0: Self, _ p1: Self, _ p2: Self) -> Scalar
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + areClockwise(_:_:_:) + + + Extension method + +
    +
    +
    +
    +
    +
    +

    Returns true if the three given input points are wound in clockwise order.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @inlinable
    +static func areClockwise(_ p0: Self, _ p1: Self, _ p2: Self) -> Bool where Self.Scalar : Comparable
    + +
    +
    +
    +
    +
  • @@ -1150,7 +1243,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Real.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Real.html index 37c18b3b..9b14f003 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Real.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Real.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1366,7 +1387,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Signed.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Signed.html index 7d62679d..8bab2988 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Signed.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Signed.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1168,7 +1189,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Type.html index dd1875bd..fa2ac7ac 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector2Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1357,7 +1378,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Additive.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Additive.html index 5af01077..6c48c9de 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Additive.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Additive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1037,7 +1058,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3FloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3FloatingPoint.html index 70970114..fde3c897 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3FloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1395,7 +1416,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Multiplicative.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Multiplicative.html index 70db543c..049f3e29 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Multiplicative.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Multiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1177,7 +1198,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Real.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Real.html index 0a9a1e05..b1ac1178 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Real.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Real.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1057,7 +1078,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Type.html index 94aa6ba6..5ad00a3b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector3Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1420,7 +1441,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Additive.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Additive.html index c22d37a3..04a8b552 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Additive.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Additive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1065,7 +1086,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4FloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4FloatingPoint.html index bff823c2..4d71bbd0 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4FloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4FloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1395,7 +1416,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Type.html b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Type.html index 56efc01e..9fd8e0cd 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Type.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/Vector4Type.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1483,7 +1504,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorAdditive.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorAdditive.html index 01d948c9..96a18d57 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorAdditive.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorAdditive.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1294,7 +1315,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorComparable.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorComparable.html index 71a4d332..52821cc0 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorComparable.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorComparable.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1430,7 +1451,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorDivisible.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorDivisible.html index 3a53514e..bfce5e18 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorDivisible.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorDivisible.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1137,7 +1158,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorFloatingPoint.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorFloatingPoint.html index c5041a0d..ce4b5779 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorFloatingPoint.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorFloatingPoint.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1550,7 +1571,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorMultiplicative.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorMultiplicative.html index 4f9978b4..a6e78812 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorMultiplicative.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorMultiplicative.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1375,7 +1396,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorReal.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorReal.html index 037b4fbc..7ec8489a 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorReal.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorReal.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1102,7 +1123,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorSigned.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorSigned.html index 8a009e7f..f0ca0a91 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorSigned.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorSigned.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1147,7 +1168,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorTakeable.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorTakeable.html index f5bf14e5..7ecadf98 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorTakeable.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorTakeable.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1246,7 +1267,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorType.html index 72580f3b..5e356b70 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VectorType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VectorType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1113,7 +1134,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Protocols/VolumetricType.html b/docsets/.docset/Contents/Resources/Documents/Protocols/VolumetricType.html index 4b2896d9..94f2168d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Protocols/VolumetricType.html +++ b/docsets/.docset/Contents/Resources/Documents/Protocols/VolumetricType.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1149,7 +1170,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs.html b/docsets/.docset/Contents/Resources/Documents/Structs.html index 11f14060..476ab0c6 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1899,6 +1920,35 @@

    Declaration

    +
  • +
    + + + + PointCloud + +
    +
    +
    +
    +
    +
    +

    A point-cloud container for +discrete sets of points in space.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct PointCloud<Vector> where Vector : VectorType
    + +
    +
    +
    +
    +
  • @@ -2262,7 +2312,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/AABB.html b/docsets/.docset/Contents/Resources/Documents/Structs/AABB.html index 38914d96..49e5d2aa 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/AABB.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/AABB.html @@ -539,6 +539,9 @@
  • + @@ -796,6 +799,24 @@ + + + + + + @@ -2200,7 +2221,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Angle.html b/docsets/.docset/Contents/Resources/Documents/Structs/Angle.html index 2fd4c7cf..3720b497 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Angle.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Angle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1939,7 +1960,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/AngleSweep.html b/docsets/.docset/Contents/Resources/Documents/Structs/AngleSweep.html index b0966323..8fd29a06 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/AngleSweep.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/AngleSweep.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1219,7 +1240,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/CircleArc2.html b/docsets/.docset/Contents/Resources/Documents/Structs/CircleArc2.html index 27c3c146..62b63175 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/CircleArc2.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/CircleArc2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1752,7 +1773,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Cylinder3.html b/docsets/.docset/Contents/Resources/Documents/Structs/Cylinder3.html index 95c3973c..3af150fd 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Cylinder3.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Cylinder3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1484,7 +1505,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/DirectionalRay.html b/docsets/.docset/Contents/Resources/Documents/Structs/DirectionalRay.html index bb72fc2e..87b071a7 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/DirectionalRay.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/DirectionalRay.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1627,7 +1648,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Disk3.html b/docsets/.docset/Contents/Resources/Documents/Structs/Disk3.html index a3c070d1..a7c82681 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Disk3.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Disk3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1346,7 +1367,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/EdgeInsets2.html b/docsets/.docset/Contents/Resources/Documents/Structs/EdgeInsets2.html index 254f4fb7..14574bb4 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/EdgeInsets2.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/EdgeInsets2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1256,7 +1277,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Ellipsoid.html b/docsets/.docset/Contents/Resources/Documents/Structs/Ellipsoid.html index 27b442cd..ac4ed652 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Ellipsoid.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Ellipsoid.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1271,7 +1292,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Hyperplane.html b/docsets/.docset/Contents/Resources/Documents/Structs/Hyperplane.html index ac17dae0..e8de389d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Hyperplane.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Hyperplane.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1291,7 +1312,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Line.html b/docsets/.docset/Contents/Resources/Documents/Structs/Line.html index 1c93ae80..f6c6172a 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Line.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Line.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1324,7 +1345,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/LineCategory.html b/docsets/.docset/Contents/Resources/Documents/Structs/LineCategory.html index 6f13f1c1..afcf0e04 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/LineCategory.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/LineCategory.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1192,7 +1213,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection.html b/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection.html index 6b778489..bb030e5c 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1113,7 +1134,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection/Intersection.html b/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection/Intersection.html index 23d7757f..f13744c7 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection/Intersection.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersection/Intersection.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1114,7 +1135,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersectionResult.html b/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersectionResult.html index 530793b2..9c840457 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersectionResult.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/LineIntersectionResult.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1146,7 +1167,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/LinePolygon.html b/docsets/.docset/Contents/Resources/Documents/Structs/LinePolygon.html index 498b0d51..418179e0 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/LinePolygon.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/LinePolygon.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1347,7 +1368,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/LineSegment.html b/docsets/.docset/Contents/Resources/Documents/Structs/LineSegment.html index 85cb1852..8666f009 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/LineSegment.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/LineSegment.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1677,7 +1698,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix2x2.html b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix2x2.html index c5b24be8..4c57d689 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix2x2.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix2x2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2027,7 +2048,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x2.html b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x2.html index 1e316292..107d358a 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x2.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -3995,7 +4016,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x3.html b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x3.html index c2137f0b..039c90a7 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x3.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix3x3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2373,7 +2394,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix4x4.html b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix4x4.html index 2a1f8946..2f064a40 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Matrix4x4.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Matrix4x4.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2506,7 +2527,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/NCapsule.html b/docsets/.docset/Contents/Resources/Documents/Structs/NCapsule.html index 360674d9..6d92a0cc 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/NCapsule.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/NCapsule.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1389,7 +1410,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/NRectangle.html b/docsets/.docset/Contents/Resources/Documents/Structs/NRectangle.html index cb9a1ae5..21472ef4 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/NRectangle.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/NRectangle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1963,7 +1984,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/NSphere.html b/docsets/.docset/Contents/Resources/Documents/Structs/NSphere.html index 6814b257..a5f3efaa 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/NSphere.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/NSphere.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1467,7 +1488,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/NSquare.html b/docsets/.docset/Contents/Resources/Documents/Structs/NSquare.html index 13500842..7de07420 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/NSquare.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/NSquare.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1457,7 +1478,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/PointCloud.html b/docsets/.docset/Contents/Resources/Documents/Structs/PointCloud.html new file mode 100644 index 00000000..e3374fff --- /dev/null +++ b/docsets/.docset/Contents/Resources/Documents/Structs/PointCloud.html @@ -0,0 +1,1265 @@ + + + + PointCloud Structure Reference + + + + + + + + + + + + + + + + +
    +

    + + Docs + + (100% documented) +

    + +
    +
    + +
    +
    + + +
    + + + +
    + +
    + +
    +
    +

    PointCloud

    +
    +
    + +
    public struct PointCloud<Vector> where Vector : VectorType
    + +
    +
    +

    A point-cloud container for +discrete sets of points in space.

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + points + +
      +
      +
      +
      +
      +
      +

      The points contained within this point-cloud.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var points: [Vector]
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + init() + +
      +
      +
      +
      +
      +
      +

      Initializes an empty point-cloud.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init()
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + init(points:) + +
      +
      +
      +
      +
      +
      +

      Initializes a new point-cloud with a given sequence of points.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +public init<S>(points: S) where Vector == S.Element, S : Sequence
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Available where Vector: VectorAdditive +

    +
    +
    +
      +
    • +
      + + + + translated(by:) + +
      +
      +
      +
      +
      +
      +

      Returns a copy of this point cloud, offset in space by offset.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +func translated(by offset: Vector) -> PointCloud<Vector>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Available where Vector: VectorComparable & VectorAdditive +

    +
    +
    +
      +
    • +
      + + + + bounds + +
      +
      +
      +
      +
      +
      +

      Gets the minimal axis-aligned bounding box capable of containing this +point cloud.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +var bounds: AABB<Vector> { get }
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + + +
    + +

    Available where Vector: VectorMultiplicative +

    +
    +
    +
      +
    • +
      + + + + scaled(by:) + +
      +
      +
      +
      +
      +
      +

      Returns a copy of this point cloud, scaled in space towards the origin +by scale.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +func scaled(by scale: Vector) -> PointCloud<Vector>
      + +
      +
      +
      +
      +
    • +
    • +
      + + + + scaled(by:around:) + +
      +
      +
      +
      +
      +
      +

      Returns a copy of this point cloud, scaled in space towards the given +center point by scale.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      @inlinable
      +func scaled(by scale: Vector, around center: Vector) -> PointCloud<Vector>
      + +
      +
      +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/PointNormal.html b/docsets/.docset/Contents/Resources/Documents/Structs/PointNormal.html index 63d1b10d..f73310ef 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/PointNormal.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/PointNormal.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1234,7 +1255,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/PointNormalPlane.html b/docsets/.docset/Contents/Resources/Documents/Structs/PointNormalPlane.html index 6ce257b6..bfb14a72 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/PointNormalPlane.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/PointNormalPlane.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1222,7 +1243,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/ProjectivePointNormalPlane3.html b/docsets/.docset/Contents/Resources/Documents/Structs/ProjectivePointNormalPlane3.html index ea9b11e0..71caeec4 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/ProjectivePointNormalPlane3.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/ProjectivePointNormalPlane3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1529,7 +1550,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Ray.html b/docsets/.docset/Contents/Resources/Documents/Structs/Ray.html index d2ec7e69..19ec2db9 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Ray.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Ray.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1436,7 +1457,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/RoundNRectangle.html b/docsets/.docset/Contents/Resources/Documents/Structs/RoundNRectangle.html index 6ca59db4..6fcd3e23 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/RoundNRectangle.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/RoundNRectangle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1152,7 +1173,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/SphereCoordinates.html b/docsets/.docset/Contents/Resources/Documents/Structs/SphereCoordinates.html index db821323..29b2f15c 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/SphereCoordinates.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/SphereCoordinates.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1083,7 +1104,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Torus3.html b/docsets/.docset/Contents/Resources/Documents/Structs/Torus3.html index 71283461..7b94912b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Torus3.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Torus3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1296,7 +1317,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Triangle.html b/docsets/.docset/Contents/Resources/Documents/Structs/Triangle.html index 5348a379..25582d6d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Triangle.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Triangle.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1519,7 +1540,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Triangle/Coordinates.html b/docsets/.docset/Contents/Resources/Documents/Structs/Triangle/Coordinates.html index 5c2c05f6..a1cb6427 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Triangle/Coordinates.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Triangle/Coordinates.html @@ -541,6 +541,9 @@ + @@ -798,6 +801,24 @@ + + + + + + @@ -1149,7 +1170,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/UnitVector.html b/docsets/.docset/Contents/Resources/Documents/Structs/UnitVector.html index a46f5f6f..467e890d 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/UnitVector.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/UnitVector.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -1128,7 +1149,7 @@

    Parameters

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Vector2.html b/docsets/.docset/Contents/Resources/Documents/Structs/Vector2.html index 2c7c80a1..18ee360b 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Vector2.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Vector2.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2794,7 +2815,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Vector3.html b/docsets/.docset/Contents/Resources/Documents/Structs/Vector3.html index b113c3f8..3eb11096 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Vector3.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Vector3.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2449,7 +2470,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Structs/Vector4.html b/docsets/.docset/Contents/Resources/Documents/Structs/Vector4.html index 90faa41c..5574fc6f 100644 --- a/docsets/.docset/Contents/Resources/Documents/Structs/Vector4.html +++ b/docsets/.docset/Contents/Resources/Documents/Structs/Vector4.html @@ -539,6 +539,9 @@ + @@ -796,6 +799,24 @@ + + + + + + @@ -2416,7 +2437,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/Typealiases.html b/docsets/.docset/Contents/Resources/Documents/Typealiases.html index 6bba061f..ec86fa25 100644 --- a/docsets/.docset/Contents/Resources/Documents/Typealiases.html +++ b/docsets/.docset/Contents/Resources/Documents/Typealiases.html @@ -537,6 +537,9 @@ + @@ -794,6 +797,24 @@ + + + + + + @@ -1933,6 +1954,89 @@

    Declaration

    +
  • +
    + + + + PointCloud2 + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of two-dimensional vector points.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud2<Vector> = PointCloud<Vector> where Vector : Vector2Type
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud2D + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of two-dimensional vector points of double-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud2D = PointCloud2<Vector2D>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud2F + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of two-dimensional vector points of single-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud2F = PointCloud2<Vector2F>
    + +
    +
    +
    +
    +
  • @@ -3691,6 +3795,89 @@

    Declaration

  • +
  • +
    + + + + PointCloud3 + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of three-dimensional vector points.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud3<Vector> = PointCloud<Vector> where Vector : Vector3Type
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud3D + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of three-dimensional vector points of double-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud3D = PointCloud3<Vector3D>
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PointCloud3F + +
    +
    +
    +
    +
    +
    +

    A point-cloud composed of three-dimensional vector points of single-precision +floating-point type.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias PointCloud3F = PointCloud3<Vector3F>
    + +
    +
    +
    +
    +
  • @@ -4570,7 +4757,7 @@

    Declaration

    diff --git a/docsets/.docset/Contents/Resources/Documents/changelog.html b/docsets/.docset/Contents/Resources/Documents/changelog.html index aa409378..fc8e3ef3 100644 --- a/docsets/.docset/Contents/Resources/Documents/changelog.html +++ b/docsets/.docset/Contents/Resources/Documents/changelog.html @@ -538,6 +538,9 @@
  • + @@ -795,6 +798,24 @@ + + + + + + @@ -1021,7 +1042,7 @@

    v0.0.1

    diff --git a/docsets/.docset/Contents/Resources/Documents/index.html b/docsets/.docset/Contents/Resources/Documents/index.html index 01d220c3..89d57be6 100644 --- a/docsets/.docset/Contents/Resources/Documents/index.html +++ b/docsets/.docset/Contents/Resources/Documents/index.html @@ -534,6 +534,9 @@ + @@ -791,6 +794,24 @@ + + + + + + @@ -1462,7 +1483,7 @@

    Type definitions

    diff --git a/docsets/.docset/Contents/Resources/Documents/license.html b/docsets/.docset/Contents/Resources/Documents/license.html index 0a707c52..8603ea67 100644 --- a/docsets/.docset/Contents/Resources/Documents/license.html +++ b/docsets/.docset/Contents/Resources/Documents/license.html @@ -538,6 +538,9 @@ + @@ -795,6 +798,24 @@ + + + + + + @@ -1309,7 +1330,7 @@ diff --git a/docsets/.docset/Contents/Resources/Documents/readme.html b/docsets/.docset/Contents/Resources/Documents/readme.html index 333ae588..2be9cd32 100644 --- a/docsets/.docset/Contents/Resources/Documents/readme.html +++ b/docsets/.docset/Contents/Resources/Documents/readme.html @@ -538,6 +538,9 @@ + @@ -795,6 +798,24 @@ + + + + + + @@ -1466,7 +1487,7 @@

    Type definitions

    diff --git a/docsets/.docset/Contents/Resources/Documents/search.json b/docsets/.docset/Contents/Resources/Documents/search.json index ea24c5f4..3bcac7f8 100644 --- a/docsets/.docset/Contents/Resources/Documents/search.json +++ b/docsets/.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:9Geometria6AABB2Da":{"name":"AABB2D","abstract":"

    Represents a 2D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB2Fa":{"name":"AABB2F","abstract":"

    Represents a 2D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB2ia":{"name":"AABB2i","abstract":"

    Represents a 2D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB2a":{"name":"AABB2","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Circle2Da":{"name":"Circle2D","abstract":"

    Represents a 2D circle with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Circle2Fa":{"name":"Circle2F","abstract":"

    Represents a 2D circle with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Circle2a":{"name":"Circle2","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Da":{"name":"CircleArc2D","abstract":"

    Represents a 2D arc of a circle with double-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Fa":{"name":"CircleArc2F","abstract":"

    Represents a 2D arc of a circle with single-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria16DirectionalRay2Da":{"name":"DirectionalRay2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay2Fa":{"name":"DirectionalRay2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay2a":{"name":"DirectionalRay2","abstract":"

    Typealias for DirectionalRay<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria12EdgeInsets2Da":{"name":"EdgeInsets2D","abstract":"

    Represents a 2D edge inset with double-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2Fa":{"name":"EdgeInsets2F","abstract":"

    Represents a 2D edge inset with single-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2ia":{"name":"EdgeInsets2i","abstract":"

    Represents a 2D edge inset with integer parameters.

    "},"Typealiases.html#/s:9Geometria9Ellipse2Da":{"name":"Ellipse2D","abstract":"

    Represents a 2D ellipse as a double-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2Fa":{"name":"Ellipse2F","abstract":"

    Represents a 2D ellipse as a single-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2ia":{"name":"Ellipse2i","abstract":"

    Represents a 2D ellipse as a integer center with X and Y radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse2a":{"name":"Ellipse2","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane2Da":{"name":"Hyperplane2D","abstract":"

    Represents a 2D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane2Fa":{"name":"Hyperplane2F","abstract":"

    Represents a 2D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector2FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line2Da":{"name":"Line2D","abstract":"

    Represents a 2D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2Fa":{"name":"Line2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2ia":{"name":"Line2i","abstract":"

    Represents a 2D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line2a":{"name":"Line2","abstract":"

    Typealias for Line<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LinePolygon2Da":{"name":"LinePolygon2D","abstract":"

    Represents a 2D polygon as a series of connected double-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2Fa":{"name":"LinePolygon2F","abstract":"

    Represents a 2D polygon as a series of connected single-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2ia":{"name":"LinePolygon2i","abstract":"

    Represents a 2D polygon as a series of connected integer 2D vertices.

    "},"Typealiases.html#/s:9Geometria12LinePolygon2a":{"name":"LinePolygon2","abstract":"

    Typealias for LinePolygon<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment2Da":{"name":"LineSegment2D","abstract":"

    Represents a 2D line segment as a pair of double-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2Fa":{"name":"LineSegment2F","abstract":"

    Represents a 2D line segment as a pair of single-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2ia":{"name":"LineSegment2i","abstract":"

    Represents a 2D line segment as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment2a":{"name":"LineSegment2","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria18PointNormalPlane2Da":{"name":"PointNormalPlane2D","abstract":"

    Represents a 2D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane2Fa":{"name":"PointNormalPlane2F","abstract":"

    Represents a 2D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria5Ray2Da":{"name":"Ray2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2Fa":{"name":"Ray2F","abstract":"

    Represents a 2D ray as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2ia":{"name":"Ray2i","abstract":"

    Represents a 2D ray as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray2a":{"name":"Ray2","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Da":{"name":"Rectangle2D","abstract":"

    Represents a double-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Fa":{"name":"Rectangle2F","abstract":"

    Represents a single-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2ia":{"name":"Rectangle2i","abstract":"

    Represents an integer 2D rectangle.

    "},"Typealiases.html#/s:9Geometria10Rectangle2a":{"name":"Rectangle2","abstract":"

    Typealias for NRectangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria16RoundRectangle2Da":{"name":"RoundRectangle2D","abstract":"

    Represents a 2D rounded rectangle with double-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2Fa":{"name":"RoundRectangle2F","abstract":"

    Represents a 2D rounded rectangle with single-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2ia":{"name":"RoundRectangle2i","abstract":"

    Represents a 2D rounded rectangle with integer bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria15RoundRectangle2a":{"name":"RoundRectangle2","abstract":"

    Represents a 2D rounded rectangle with rectangular bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria8Square2Da":{"name":"Square2D","abstract":"

    Represents a double-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2Fa":{"name":"Square2F","abstract":"

    Represents a single-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2ia":{"name":"Square2i","abstract":"

    Represents an integer 2D square.

    "},"Typealiases.html#/s:9Geometria7Square2a":{"name":"Square2","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria9Stadium2Da":{"name":"Stadium2D","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2Fa":{"name":"Stadium2F","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2ia":{"name":"Stadium2i","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria8Stadium2a":{"name":"Stadium2","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria10Triangle2Da":{"name":"Triangle2D","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2Fa":{"name":"Triangle2F","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2ia":{"name":"Triangle2i","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle2a":{"name":"Triangle2","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Vector2Da":{"name":"Vector2D","abstract":"

    Represents a 2D point with two double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2Fa":{"name":"Vector2F","abstract":"

    Represents a 2D point with two single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2ia":{"name":"Vector2i","abstract":"

    Represents a 2D point with two Int components

    "},"Typealiases.html#/s:9Geometria6AABB3Da":{"name":"AABB3D","abstract":"

    Represents a 3D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB3Fa":{"name":"AABB3F","abstract":"

    Represents a 3D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB3ia":{"name":"AABB3i","abstract":"

    Represents a 3D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB3a":{"name":"AABB3","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria9Capsule3Da":{"name":"Capsule3D","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3Fa":{"name":"Capsule3F","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3ia":{"name":"Capsule3i","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria8Capsule3a":{"name":"Capsule3","abstract":"

    Typealias for NCapsule<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria6Cube3Da":{"name":"Cube3D","abstract":"

    Represents a double-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3Fa":{"name":"Cube3F","abstract":"

    Represents a single-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3ia":{"name":"Cube3i","abstract":"

    Represents an integer 3D cube.

    "},"Typealiases.html#/s:9Geometria5Cube3a":{"name":"Cube3","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria10Cylinder3Da":{"name":"Cylinder3D","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3Fa":{"name":"Cylinder3F","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3ia":{"name":"Cylinder3i","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria16DirectionalRay3Da":{"name":"DirectionalRay3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay3Fa":{"name":"DirectionalRay3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay3a":{"name":"DirectionalRay3","abstract":"

    Typealias for DirectionalRay3<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria9Ellipse3Da":{"name":"Ellipse3D","abstract":"

    Represents a 3D ellipse as a double-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3Fa":{"name":"Ellipse3F","abstract":"

    Represents a 3D ellipse as a single-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3ia":{"name":"Ellipse3i","abstract":"

    Represents a 3D ellipse as a integer center with X, Y, and Z radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse3a":{"name":"Ellipse3","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane3Da":{"name":"Hyperplane3D","abstract":"

    Represents a 3D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane3Fa":{"name":"Hyperplane3F","abstract":"

    Represents a 3D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line3Da":{"name":"Line3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3Fa":{"name":"Line3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3ia":{"name":"Line3i","abstract":"

    Represents a 3D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line3a":{"name":"Line3","abstract":"

    Typealias for Line<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment3Da":{"name":"LineSegment3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3Fa":{"name":"LineSegment3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3ia":{"name":"LineSegment3i","abstract":"

    Represents a 3D line as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment3a":{"name":"LineSegment3","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria18PointNormalPlane3Da":{"name":"PointNormalPlane3D","abstract":"

    Represents a 3D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane3Fa":{"name":"PointNormalPlane3F","abstract":"

    Represents a 3D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Da":{"name":"ProjectivePointNormalPlane3D","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Fa":{"name":"ProjectivePointNormalPlane3F","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria5Ray3Da":{"name":"Ray3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3Fa":{"name":"Ray3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3ia":{"name":"Ray3i","abstract":"

    Represents a 3D line as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray3a":{"name":"Ray3","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria16RotationMatrix3Da":{"name":"RotationMatrix3D","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria16RotationMatrix3Fa":{"name":"RotationMatrix3F","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria15RotationMatrix3a":{"name":"RotationMatrix3","abstract":"

    Describes a 3-dimensional rotation matrix.

    "},"Typealiases.html#/s:9Geometria8Sphere3Da":{"name":"Sphere3D","abstract":"

    Represents a 3D sphere with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Sphere3Fa":{"name":"Sphere3F","abstract":"

    Represents a 3D sphere with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Sphere3a":{"name":"Sphere3","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria7Torus3Da":{"name":"Torus3D","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria7Torus3Fa":{"name":"Torus3F","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria10Triangle3Da":{"name":"Triangle3D","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3Fa":{"name":"Triangle3F","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3ia":{"name":"Triangle3i","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle3a":{"name":"Triangle3","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria8Vector3Da":{"name":"Vector3D","abstract":"

    Represents a 3D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3Fa":{"name":"Vector3F","abstract":"

    Represents a 3D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3ia":{"name":"Vector3i","abstract":"

    Represents a 3D point with three Int components

    "},"Typealiases.html#/s:9Geometria12Hyperplane4Da":{"name":"Hyperplane4D","abstract":"

    Represents a 4D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane4Fa":{"name":"Hyperplane4F","abstract":"

    Represents a 4D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane4a":{"name":"Hyperplane4","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector4FloatingPoint.

    "},"Typealiases.html#/s:9Geometria8Vector4Da":{"name":"Vector4D","abstract":"

    Represents a 4D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4Fa":{"name":"Vector4F","abstract":"

    Represents a 4D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4ia":{"name":"Vector4i","abstract":"

    Represents a 4D point with three Int components

    "},"Typealiases.html#/s:9Geometria10Matrix3x2Da":{"name":"Matrix3x2D","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 4x4 identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1mx_xxxt_x_xxxtx_xxxtx_xxxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 4x4 tuple.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r0x_xxxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r1x_xxxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r2x_xxxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r3x_xxxtvp":{"name":"r3","abstract":"

    The fourth row of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c0x_xxxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c1x_xxxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c2x_xxxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c3x_xxxtvp":{"name":"c3","abstract":"

    The fourth column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r0VecAA7Vector4VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r1VecAA7Vector4VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r2VecAA7Vector4VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r3VecAA7Vector4VyxGvp":{"name":"r3Vec","abstract":"

    Gets the fourth row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c0VecAA7Vector4VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c1VecAA7Vector4VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c2VecAA7Vector4VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c3VecAA7Vector4VyxGvp":{"name":"c3Vec","abstract":"

    Gets the fourth column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGx_xxxt_x_xxxtx_xxxtx_xxxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGqd___qd__qd__qd__t_tc6ScalarQyd__RszAA11Vector4TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector4 values as the values","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_xxxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector4FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector3FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix4x4 that is a transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScale1x1y1zACyxGx_xxtFZ":{"name":"makeScale(x:y:z:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScaleyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeXRotationyACyxGxFZ":{"name":"makeXRotation(_:)","abstract":"

    Creates an X rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeYRotationyACyxGxFZ":{"name":"makeYRotation(_:)","abstract":"

    Creates an Y rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeZRotationyACyxGxFZ":{"name":"makeZRotation(_:)","abstract":"

    Creates a Z rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslation1x1y1zACyxGx_xxtFZ":{"name":"makeTranslation(x:y:z:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslationyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix4x4"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 3x3 identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1mx_xxt_x_xxtx_xxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 3x3 tuple.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r0x_xxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r1x_xxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r2x_xxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c0x_xxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c1x_xxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c2x_xxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r0VecAA7Vector3VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r1VecAA7Vector3VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r2VecAA7Vector3VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c0VecAA7Vector3VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c1VecAA7Vector3VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c2VecAA7Vector3VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGx_xxt_x_xxtx_xxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGqd___qd__qd__t_tc6ScalarQyd__RszAA11Vector3TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector3Type values as the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_xxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector2FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix3x3 that is a transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScale1x1yACyxGx_xtFZ":{"name":"make2DScale(x:y:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScaleyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14make2DRotationyACyxGxFZ":{"name":"make2DRotation(_:)","abstract":"

    Creates a rotation matrix that when applied to a 2-dimensional vector,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslation1x1yACyxGx_xtFZ":{"name":"make2DTranslation(x:y:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslationyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V31make3DSkewSymmetricCrossProduct_11orientationACyxGqd___AA12Orientation3Ot6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"make3DSkewSymmetricCrossProduct(_:orientation:)","abstract":"

    Creates a skew-symmetric cross product matrix for a given vector.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6Vectora":{"name":"Vector","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Gets the identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m11xvp":{"name":"m11","abstract":"

    Element (1,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m12xvp":{"name":"m12","abstract":"

    Element (1,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m21xvp":{"name":"m21","abstract":"

    Element (2,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m22xvp":{"name":"m22","abstract":"

    Element (2,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m31xvp":{"name":"m31","abstract":"

    Element (3,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m32xvp":{"name":"m32","abstract":"

    Element (3,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row1SayxGvp":{"name":"row1","abstract":"

    Gets the first row in the matrix; that is M11 and M12.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row2SayxGvp":{"name":"row2","abstract":"

    Gets the second row in the matrix; that is M21 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row3SayxGvp":{"name":"row3","abstract":"

    Gets the third row in the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column1SayxGvp":{"name":"column1","abstract":"

    Gets the first column in the matrix; that is M11, M21, and M31.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column2SayxGvp":{"name":"column2","abstract":"

    Gets the second column in the matrix; that is M12, M22, and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V17translationVectorAA7Vector2VyxGvp":{"name":"translationVector","abstract":"

    Gets the translation of the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11scaleVectorAA7Vector2VyxGvp":{"name":"scaleVector","abstract":"

    Gets the scale of the matrix; that is M11 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V10isIdentitySbvp":{"name":"isIdentity","abstract":"

    Gets a value indicating whether this instance is an identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5indexxSi_tcip":{"name":"subscript(index:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6column3rowxSi_Sitcip":{"name":"subscript(column:row:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5valueACyxGx_tcfc":{"name":"init(value:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m113m123m213m223m313m32ACyxGx_xxxxxtcfc":{"name":"init(m11:m12:m21:m22:m31:m32:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6valuesACyxGSayxG_tcfc":{"name":"init(values:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7toArraySayxGyF":{"name":"toArray()","abstract":"

    Creates an array containing the elements of the matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11determinantxyF":{"name":"determinant()","abstract":"

    Calculates the determinant of this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8invertedACyxGyF":{"name":"inverted()","abstract":"

    Calculates the inverse of this matrix instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3addyACyxGAE_AEtFZ":{"name":"add(_:_:)","abstract":"

    Determines the sum of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8subtractyACyxGAE_AEtFZ":{"name":"subtract(_:_:)","abstract":"

    Determines the difference between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_xtFZ":{"name":"multiply(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_AEtFZ":{"name":"multiply(_:_:)","abstract":"

    Determines the product of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_xtFZ":{"name":"divide(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_AEtFZ":{"name":"divide(_:_:)","abstract":"

    Determines the quotient of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6negateyACyxGAEFZ":{"name":"negate(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4lerp5start3end6amountACyxGAH_AHxtFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGAA7Vector2VyxG_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1yACyxGx_xtFZ":{"name":"scaling(x:y:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGx_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that uniformly scales along both axes.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1y6centerACyxGx_xAA7Vector2VyxGtFZ":{"name":"scaling(x:y:center:)","abstract":"

    Creates a matrix that is scaling from a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGx_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGAA5AngleVyxG_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGx_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGAA5AngleVyxG_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translationyACyxGAA7Vector2VyxGFZ":{"name":"translation(_:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translation1x1yACyxGx_xtFZ":{"name":"translation(x:y:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xxxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xAA5AngleVyxGxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointAA7Vector2VyxGACyxG_AItFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointqd__ACyxG_qd__t6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4skew6angleX0D1YACyxGx_xtFZ":{"name":"skew(angleX:angleY:)","abstract":"

    Creates a skew matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6invertyACyxGAEFZ":{"name":"invert(_:)","abstract":"

    Calculates the inverse of the specified matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1popyACyxGAEFZ":{"name":"+(_:)","abstract":"

    Assert a matrix (return it unchanged).

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Multiplies two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","abstract":"

    Divides two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyAA10NRectangleVyqd__GAG6ScalarAA10VectorTypePQyd__RszAA07Vector2G0Rd__AA0F8AdditiveRd__AA0F10ComparableRd__lF":{"name":"transform(_:)","abstract":"

    Transforms a given rectangle’s bounds using this transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyqd__qd__6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(_:)","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transform6pointsSayqd__GAF_t6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(points:)","parent_name":"Matrix3x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 2x2 identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1mx_xt_x_xttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 2x2 tuple.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r0x_xtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r1x_xtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c0x_xtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c1x_xtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r0VecAA7Vector2VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r1VecAA7Vector2VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c0VecAA7Vector2VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c1VecAA7Vector2VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGx_xt_x_xtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGqd___qd__t_tc6ScalarQyd__RszAA11Vector2TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector2Type values as the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_xt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix2x2 that is a transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix2x2"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2waAEvp":{"name":"wa","abstract":"

    Normalized weight of vertex a.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wbAEvp":{"name":"wb","abstract":"

    Normalized weight of vertex b.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wcAEvp":{"name":"wc","abstract":"

    Normalized weight of vertex c.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wa2wb2wcAGyx_GAE_A2Etcfc":{"name":"init(wa:wb:wc:)","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesVAAs18AdditiveArithmeticAERQrlE4zeroAGyx_GvpZ":{"name":"zero","abstract":"

    Returns zerod-out barycentric coordinates.

    ","parent_name":"Coordinates"},"Structs/Triangle.html#/s:9Geometria8TriangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1axvp":{"name":"a","abstract":"

    The first point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1bxvp":{"name":"b","abstract":"

    The second point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1cxvp":{"name":"c","abstract":"

    The third point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1a1b1cACyxGx_xxtcfc":{"name":"init(a:b:c:)","parent_name":"Triangle"},"Structs/Triangle/Coordinates.html":{"name":"Coordinates","abstract":"

    Defines the normalized barycentric coordinates for a Triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineABAA11LineSegmentVyxGvp":{"name":"lineAB","abstract":"

    Returns a line segment for the edge between the points a -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineACAA11LineSegmentVyxGvp":{"name":"lineAC","abstract":"

    Returns a line segment for the edge between the points a -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBCAA11LineSegmentVyxGvp":{"name":"lineBC","abstract":"

    Returns a line segment for the edge between the points b -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBAAA11LineSegmentVyxGvp":{"name":"lineBA","abstract":"

    Returns a line segment for the edge between the points b -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCAAA11LineSegmentVyxGvp":{"name":"lineCA","abstract":"

    Returns a line segment for the edge between the points c -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCBAA11LineSegmentVyxGvp":{"name":"lineCB","abstract":"

    Returns a line segment for the edge between the points c -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A20VectorMultiplicativeRzrlE14projectToWorldyxAcASQ6ScalarRpzrlE11CoordinatesVyx_GF":{"name":"projectToWorld(_:)","abstract":"

    Projects the given barycentric coordinates back into world space.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Returns the geometric center of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A19VectorFloatingPointRzrlE4area6ScalarQzvp":{"name":"area","abstract":"

    Returns the positive area of this triangle.

    ","parent_name":"Triangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangleAA0C0VyxGvp":{"name":"rectangle","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6radiusxvp":{"name":"radius","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangle6radiusACyxGAA0C0VyxG_xtcfc":{"name":"init(rectangle:radius:)","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this round rectangle’s","parent_name":"RoundNRectangle"},"Structs/Ray.html#/s:9Geometria3RayV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from start passes through before","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5start1bACyxGx_xtcfc":{"name":"init(start:b:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV6asLineAA0D0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this ray, where line.a matches","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE013asDirectionalB0AA0gB0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where ray.start","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive projected scalars (ray)

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"Ray"},"Structs/LineCategory.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11isOpenStartSbvp":{"name":"isOpenStart","abstract":"

    Returns whether the start of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV9isOpenEndSbvp":{"name":"isOpenEnd","abstract":"

    Returns whether the end of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:SY8rawValuexSg03RawB0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV4lineACvpZ":{"name":"line","abstract":"

    Category for a geometric line that define an infinite line.

    ","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV3rayACvpZ":{"name":"ray","abstract":"

    Category for a geometric ray line which has a starting","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11lineSegmentACvpZ":{"name":"lineSegment","abstract":"

    Category for a line segment that define a closed interval with a start","parent_name":"LineCategory"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValuexvp":{"name":"wrappedValue","abstract":"

    Gets or sets the underlying vector value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if the underlying vector is a non-zero value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValueACyxGx_tcfc":{"name":"init(wrappedValue:)","abstract":"

    Creates a new UnitVector with a given starting value.

    ","parent_name":"UnitVector"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneVyACyxGqd__c6VectorQyd__RszAA0D4TypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV02asbC0AA0bC0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormalPlane"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5pointxvp":{"name":"point","abstract":"

    A point on the surface of an object.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6normalxvp":{"name":"normal","abstract":"

    The surface normal of the shape at the point point.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV7asPlaneAA0bcE0VyxGvp":{"name":"asPlane","abstract":"

    Returns a PointNormalPlane value initialized with this point normal’s","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormal that wraps the given plane object.

    ","parent_name":"PointNormal"},"Structs/NSquare.html#/s:9Geometria7NSquareV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8locationxvp":{"name":"location","abstract":"

    The location of this box, corresponding to the minimal coordinate of the","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV10sideLength6ScalarQzvp":{"name":"sideLength","abstract":"

    The length of the side edges of this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns a rectangle with the same boundaries as this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8location10sideLengthACyxGx_6ScalarQztcfc":{"name":"init(location:sideLength:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Returns the span of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE8verticesSayxGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given vector is contained within the bounds of this","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NSquare with position .zero and side length 1.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns whether a given line intersects with this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSquare"},"Structs/NSphere.html#/s:9Geometria7NSphereV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6centerxvp":{"name":"center","abstract":"

    The center point of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6center6radiusACyxGx_6ScalarQztcfc":{"name":"init(center:radius:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV11asEllipsoidAA0D0VyxGvp":{"name":"asEllipsoid","abstract":"

    Returns an ellipsoid with the same center point and radius parameters as","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVAAs18AdditiveArithmetic6ScalarRpzrlE8expanded2byACyxGAF_tF":{"name":"expanded(by:)","abstract":"

    Returns a new N-Sphere with the same center point as self, but with","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Retunrs an NSphere with center .zero and radius 1.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzSL6ScalarRpzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if this N-sphere’s area contains a given point by checking","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this sphere’s surface to vector.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this N-sphere’s area intersects the given line type.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"NSphere"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8locationxvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV4sizexvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a NRectangle with the location + size of a rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxGx_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxG6ScalarQz_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns an empty rectangle

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this rectangle is zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimumxvp":{"name":"minimum","abstract":"

    Minimum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7maximumxvp":{"name":"maximum","abstract":"

    Maximum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6asAABBAA0F0VyxGvp":{"name":"asAABB","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an empty NRectangle instance.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NRectangle instance out of the given minimum and maximum","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if size >= .zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2ofACyxGxd_tcfc":{"name":"init(of:)","abstract":"

    Initializes a NRectangle containing the minimum area capable of containing","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a NRectangle out of a set of points, expanding to the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given point.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given set of","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given NRectangle rests completely inside the boundaries","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this NRectangle intersects the given NRectangle instance.","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit this","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit two","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NRectangle with location .zero and size .one.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE8scaledBy6vectorACyxGx_tF":{"name":"scaledBy(vector:)","abstract":"

    Returns a NRectangle with the same position as this NRectangle, with its","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this NRectangle’s area intersects the given line type.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NRectangle"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5startxvp":{"name":"start","abstract":"

    Gets the starting point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV3endxvp":{"name":"end","abstract":"

    Gets the end point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this capsule.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13startAsSphereAA7NSphereVyxGvp":{"name":"startAsSphere","abstract":"

    Returns the NSphere that represents the top- or start, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV11endAsSphereAA7NSphereVyxGvp":{"name":"endAsSphere","abstract":"

    Returns the NSphere that represents the bottom- or end, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVAAs18AdditiveArithmetic6ScalarRpzSLAFRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this N-capsule’s parameters produce a valid, non-empty","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal bounds capable of fully containing this N-capsule’s","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this N-capsule’s surface to vector.

    ","parent_name":"NCapsule"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV6Scalara":{"name":"Scalar","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5startxvp":{"name":"start","abstract":"

    The bounded start of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV3endxvp":{"name":"end","abstract":"

    The bounded end of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1axvp":{"name":"a","abstract":"

    Alias for start.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1bxvp":{"name":"b","abstract":"

    Alias for b.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5start3endACyxGx_xtcfc":{"name":"init(start:end:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV02asB0AA0B0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5asRayAA0E0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV8reversedACyxGvp":{"name":"reversed","abstract":"

    Returns a new line segment that has the start and end points of this","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A16VectorComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this line segment’s","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A20VectorMultiplicativeRzrlE13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the squared length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Gets the center point of this line segment.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE16asDirectionalRayAA0hI0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for projected scalars (0-1), which describes a","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineSegment"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV6Scalara":{"name":"Scalar","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesSayxGvp":{"name":"vertices","abstract":"

    A sequence of vertices that describe sequential lines connected at the","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVACyxGycfc":{"name":"init()","abstract":"

    Initializes a LinePolygon with empty vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesACyxGSayxG_tcfc":{"name":"init(vertices:)","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV9addVertexyyxF":{"name":"addVertex(_:)","abstract":"

    Adds a new vertex at the end of this polygon’s vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV7reverseyyF":{"name":"reverse()","abstract":"

    Reverses the order of the vertices within this line polygon.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8reversedACyxGyF":{"name":"reversed()","abstract":"

    Returns a new line polygon where the vertices are the reversed list of","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV12lineSegmentsSayAA0B7SegmentVyxGGyF":{"name":"lineSegments()","abstract":"

    Returns a list of line segments that represent the outlines of this line","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A14VectorAdditiveRzAA0D10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing all points from this","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7averagexvp":{"name":"average","abstract":"

    Returns a vector with the coordinates of the arithmetic mean of all","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point within the lines represented by self to point.

    ","parent_name":"LinePolygon"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5enteryAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"enter(_:)","abstract":"

    Represents an intersection that crosses to within the boundaries","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O4exityAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"exit(_:)","abstract":"

    Represents an intersection that crosses to the outside of the","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5pointyAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"point(_:)","abstract":"

    Represents an intersection that is non-directional.

    ","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O11pointNormalAA05PointE0VyxGvp":{"name":"pointNormal","abstract":"

    Gets the point normal associated with this intersection

    ","parent_name":"Intersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContainedSbvp":{"name":"isContained","abstract":"

    A flag that is set to true if the line the shape was tested against is","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV13intersectionsSayAC0C0Oyx_GGvp":{"name":"intersections","abstract":"

    A list of intersections that where returned by a LineIntersectableType.

    ","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContained13intersectionsACyxGSb_SayAC0C0Oyx_GGtcfc":{"name":"init(isContained:intersections:)","parent_name":"LineIntersection"},"Structs/LineIntersection/Intersection.html":{"name":"Intersection","abstract":"

    Represents an intersection in a LineIntersection.

    ","parent_name":"LineIntersection"},"Structs/Line.html#/s:9Geometria4LineV6Scalara":{"name":"Scalar","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1axvp":{"name":"a","abstract":"

    An initial point a line tracing from infinity passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from a passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all non-NaN scalar values, which describes a","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Line"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV13asPointNormalAA0dE0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA0F13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection against this hyperplane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is contained within the enclosed space","parent_name":"Hyperplane"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6centerxvp":{"name":"center","abstract":"

    This ellipsoid’s center.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6radiusxvp":{"name":"radius","abstract":"

    The axis-aligned axis (or radii) for this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6center6radiusACyxGx_xtcfc":{"name":"init(center:radius:)","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an Ellipsoid with center .zero and radius .one.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given point is contained within this ellipse.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0H13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"
    ","parent_name":"Ellipsoid"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6Scalara":{"name":"Scalar","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9directionxvp":{"name":"direction","abstract":"

    A unit vector relative to start which indicates the direction of this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5start9directionACyxGx_xtcfc":{"name":"init(start:direction:)","abstract":"

    Initializes a directional ray with a given start position and direction","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayVyACyxGqd__c6VectorQyd__RszAA8LineTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a directional ray with a given line’s endpoints.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","abstract":"

    Initializes a directional ray with a line passing through a and b.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1axvp":{"name":"a","abstract":"

    Equivalent to start.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1bxvp":{"name":"b","abstract":"

    Equivalent to start + direction.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6asLineAA0E0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this directional ray, where line.a","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV02asC0AA0C0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this directional ray, where ray.start","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9lineSlopexvp":{"name":"lineSlope","abstract":"

    Gets the slope of this directional ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18withPointsScaledByyACyxGxF":{"name":"withPointsScaledBy(_:)","abstract":"
    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV15projectAsScalary0F0QzxF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18projectedMagnitudeyx6ScalarQzF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this ray’s start point","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive scalar values, which describes a ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV33clampProjectedNormalizedMagnitudey6ScalarQzAFF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"DirectionalRay"},"Structs/AABB.html#/s:9Geometria4AABBV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimumxvp":{"name":"minimum","abstract":"

    The minimal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7maximumxvp":{"name":"maximum","abstract":"

    The maximal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV8locationxvp":{"name":"location","abstract":"

    The location of this Box corresponding to its minimal vector.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NBox with the given minimum and maximum boundary","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV6boundsACyxGvp":{"name":"bounds","abstract":"

    Returns self.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVAASQRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this box is zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true iff minimum <= maximum.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of_ACyxGx_xtcfc":{"name":"init(of:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of__ACyxGx_xxtcfc":{"name":"init(of:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of___ACyxGx_xxxtcfc":{"name":"init(of:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to include the given point.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to fully include the given set of points.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE5clampyxxF":{"name":"clamp(_:)","abstract":"

    Clamps a given vector’s coordinates to the confines of this AABB.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given box is completely contained inside the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this box intersects the given box instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a box which is the minimum box capable of fitting self and the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a box which is the minimum box capable of fitting left and","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns a box with minimum and maximum set to Vector.zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Gets the size of this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE6isZeroSbvp":{"name":"isZero","abstract":"

    Returns true if this box is a AABB.zero instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns this Box represented as a Rectangle

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an AABB with zero minimal and maximal vectors.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes this AABB with the equivalent coordinates of a rectangle","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2of____ACyxGx_xxxxdtcfc":{"name":"init(of:_:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing all","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a box out of a set of points, expanding to the smallest","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5aabbsACyxGSayAGG_tcfc":{"name":"init(aabbs:)","abstract":"

    Initializes the smallest AABB capable of fully containing all of the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an AABB with minimum .zero and maximum .one.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this AABB into 2 ^ D (where D is the dimensional size of","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this AABB’s area intersects the given line type.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"AABB"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5startAA0B0VyxGvp":{"name":"start","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5sweepAA0B0VyxGvp":{"name":"sweep","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV4stopAA0B0VyxGvp":{"name":"stop","abstract":"

    Returns start + sweep.

    ","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGx_xtcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGAA0B0VyxG_AItcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other cover to the same angle sweep, after","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV8containsySbAA0B0VyxGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV7clampedyAA0B0VyxGAGF":{"name":"clamped(_:)","abstract":"

    Returns the result of clamping a given angle so it is contained within","parent_name":"AngleSweep"},"Structs/Angle.html#/s:9Geometria5AngleV2piACyxGvpZ":{"name":"pi","abstract":"

    Gets the angle value for the mathematical constant π.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansxvp":{"name":"radians","abstract":"

    Gets the radian value associated with this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansACyxGx_tcfc":{"name":"init(radians:)","abstract":"

    Initializes this angle with a given radians angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other refer to the same angle, after","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV10normalized4fromxx_tF":{"name":"normalized(from:)","abstract":"

    Returns this angle’s normalized representation, starting from a given","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV14relativeAngles2toACyxG8shortest_AF7longesttAF_tF":{"name":"relativeAngles(to:)","abstract":"

    Returns the relative sweep angles to go from self to other.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3cosxvp":{"name":"cos","abstract":"

    Returns the cosine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3sinxvp":{"name":"sin","abstract":"

    Returns the sine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3tanxvp":{"name":"tan","abstract":"

    Returns the tangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4acosxvp":{"name":"acos","abstract":"

    Returns the arccosine of this angle

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4asinxvp":{"name":"asin","abstract":"

    Returns the arcsine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4atanxvp":{"name":"atan","abstract":"

    Returns the arctangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4coshxvp":{"name":"cosh","abstract":"

    Returns the [hyperbolic cosine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4sinhxvp":{"name":"sinh","abstract":"

    Returns the [hyperbolic sine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4tanhxvp":{"name":"tanh","abstract":"

    Returns the [hyperbolic tangent][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5acoshxvp":{"name":"acosh","abstract":"

    Returns the [inverse hyperbolic cosine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5asinhxvp":{"name":"asinh","abstract":"

    Returns the [inverse hyperbolic sine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5atanhxvp":{"name":"atanh","abstract":"

    Returns the [inverse hyperbolic tangent][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4zeroACyxGvpZ":{"name":"zero","abstract":"

    Gets the zero radian angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two angles by summing their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two angles by subtracting their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_xtFZ":{"name":"+(_:_:)","abstract":"

    Adds a scalar and an angle, producing an angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_xtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts a scalar from an angle, producing an angle value

    ","parent_name":"Angle"},"Structs/Angle.html#/s:Sj9magnitude9MagnitudeQzvp":{"name":"magnitude","parent_name":"Angle"},"Structs/Angle.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj7exactlyxSgqd___tcSzRd__lufc":{"name":"init(exactly:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_AEtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2meoiyyACyxGz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_xtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Vector4.html#/s:9Geometria7Vector4V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1wxvp":{"name":"w","abstract":"

    w coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector4

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VyACyxGx_xxxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector4 with the values from a given tuple.

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector4 value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector4Type value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector4Type

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector4 where each component is the absolute value of the","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector3.html#/s:9Geometria7Vector3V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector3

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VyACyxGx_xxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector3 with the values from a given tuple.

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector3 value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector3Type value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector3Type

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector3 where each component is the absolute value of the","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7azimuthxvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6centerxvp":{"name":"center","abstract":"

    The geometric center point of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V4axisxvp":{"name":"axis","abstract":"

    The axis of revolution of the circle that composes the tube of the torus.","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11majorRadius6ScalarQzvp":{"name":"majorRadius","abstract":"

    The radius from the center of the torus to the center of the tube.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11minorRadius6ScalarQzvp":{"name":"minorRadius","abstract":"

    The radius of the tube of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6center4axis11majorRadius05minorF0ACyxGx_x6ScalarQzAJtcfc":{"name":"init(center:axis:majorRadius:minorRadius:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Gets the minimal bounding box capable of fully containing all the points","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given point vector is enclosed within the volume of","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Torus3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6upAxisxvp":{"name":"upAxis","abstract":"

    A normalized vector perpendicular to normal and rightAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9rightAxisxvp":{"name":"rightAxis","abstract":"

    A normalized vector perpendicular to normal and upAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5point6normal6upAxis05rightI0ACyxGx_xxxtcfc":{"name":"init(point:normal:upAxis:rightAxis:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeC0yyxF":{"name":"changePoint(_:)","abstract":"

    Updates the value of this instance’s point.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingC0yACyxGxF":{"name":"changingPoint(_:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same normal,","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeD0_6upAxisyx_xtF":{"name":"changeNormal(_:upAxis:)","abstract":"

    Replaces this instance with a new ProjectivePointNormalPlane3 with","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingD0_6upAxisACyxGx_xtF":{"name":"changingNormal(_:upAxis:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same point as","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V18makeCorrectedPlane5point6normal6upAxisACyxGx_xxtFZ":{"name":"makeCorrectedPlane(point:normal:upAxis:)","abstract":"

    Creates a new ProjectivePointNormalPlane3 by computing rightAxis","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V02ascD5PlaneAA0cdG0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a point normal plane with the same point and normal as this","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V23projectLineIntersectiony10SubVector2QzSgqd__6VectorQyd__RszAA013Line3FloatingC0Rd__lF":{"name":"projectLineIntersection(_:)","abstract":"

    With a given line, perform a plane-line intersection and project the","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9project2Dy10SubVector2QzxF":{"name":"project2D(_:)","abstract":"

    Performs a projection of a given vector onto this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuthxvp":{"name":"azimuth","abstract":"

    The azimuth, or XY-plane angle in 3D space, of this coordinate in radians.

    ","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this coordinate in radians, or the angle between","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuth9elevationACyxGx_xtcfc":{"name":"init(azimuth:elevation:)","parent_name":"SphereCoordinates"},"Structs/Disk3.html#/s:9Geometria5Disk3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6centerxvp":{"name":"center","abstract":"

    The center point of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6normalxvp":{"name":"normal","abstract":"

    The normal of the disk’s surface.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6center6normal6radiusACyxGx_x6ScalarQztcfc":{"name":"init(center:normal:radius:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V18asPointNormalPlaneAA0deF0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a PointNormalPlane3 with the same point and normal vectors","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V12intersection4withxSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this disk.

    ","parent_name":"Disk3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5startxvp":{"name":"start","abstract":"

    The starting point of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V3endxvp":{"name":"end","abstract":"

    The end point of this cylinder

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V9asCapsuleAA8NCapsuleVyxGvp":{"name":"asCapsule","abstract":"

    Returns a Capsule3 with the same start, end, and radius","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VAASQRzs18AdditiveArithmetic6ScalarAA10VectorTypePRpzSLAHRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this cylinder’s parameters produce a valid, non-empty","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE11startAsDiskAA5Disk3VyxGvp":{"name":"startAsDisk","abstract":"

    Returns the disk that represents the top- or start, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE9endAsDiskAA5Disk3VyxGvp":{"name":"endAsDisk","abstract":"

    Returns the disk that represents the bottom- or end, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point onto this cylinder, returning the closest point","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A11Vector3RealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA18Line3FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the intersection points of a given line along this cylinder’s","parent_name":"Cylinder3"},"Structs/Vector2.html#/s:9Geometria7Vector2V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector2

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VyACyxGx_xt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector2 with the values from a given tuple.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector2 value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector2Type value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector2Type

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector2 where each component is the absolute value of the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE13perpendicularACyxGyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE11leftRotatedACyxGyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE12rightRotatedACyxGyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE5anglexvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2byACyxGAA5AngleVyxG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate2byyAA5AngleVyxG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2by6aroundACyxGAA5AngleVyxG_AJtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate_2byACyxGAI_AA5AngleVyxGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_xANtFZ":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_AA5AngleVyxGANtFZ":{"name":"matrix(scale:rotate:translate:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE1moiyACyxGAH_AA9Matrix3x2VyxGtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE2meoiyyACyxGz_AA9Matrix3x2VyxGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5pointxvp":{"name":"point","abstract":"

    The intersection point in global space.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line1NormalizedMagnitude6ScalarQzvp":{"name":"line1NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line2NormalizedMagnitude6ScalarQzvp":{"name":"line2NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5point24line1NormalizedMagnitude05line2gH0ACyxGx_6ScalarQzAItcfc":{"name":"init(point:line1NormalizedMagnitude:line2NormalizedMagnitude:)","parent_name":"LineIntersectionResult"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left6ScalarQzvp":{"name":"left","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V3top6ScalarQzvp":{"name":"top","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V5right6ScalarQzvp":{"name":"right","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6bottom6ScalarQzvp":{"name":"bottom","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left3top5right6bottomACyxG6ScalarQz_A3Jtcfc":{"name":"init(left:top:right:bottom:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VyACyxG6ScalarQzcfc":{"name":"init(_:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE5inset9rectangleAA10NRectangleVyxGAI_tF":{"name":"inset(rectangle:)","parent_name":"EdgeInsets2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6Scalara":{"name":"Scalar","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6centerxvp":{"name":"center","abstract":"

    The center of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startAngleAA0E0Vy6ScalarQzGvp":{"name":"startAngle","abstract":"

    The starting angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10sweepAngleAA0E0Vy6ScalarQzGvp":{"name":"sweepAngle","abstract":"

    The sweep angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzA2Jtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzAA0G0VyAJGAMtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPoint03endE010sweepAngleACyxGx_xAA0H0Vy6ScalarQzGtcfc":{"name":"init(startPoint:endPoint:sweepAngle:)","abstract":"

    Creates a new circular arc that fills the space between startPoint and","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center10startPoint03endF0ACyxGx_xxtcfc":{"name":"init(center:startPoint:endPoint:)","abstract":"

    Creates a new circular arc that fits the given start/end points on the","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9asCircle2AA7NSphereVyxGvp":{"name":"asCircle2","abstract":"

    Constructs a circle with the same center + radius as this circle arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12asAngleSweepAA0eF0Vy6ScalarQzGvp":{"name":"asAngleSweep","abstract":"

    Constructs an angle sweep from this arc’s start and sweep angles.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9stopAngleAA0E0Vy6ScalarQzGvp":{"name":"stopAngle","abstract":"

    Returns the stop angle of this sweep, as the sum of startAngle + sweepAngle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V4area6ScalarQzvp":{"name":"area","abstract":"

    Computes the area of this circular arc, when interpreted as a pie slice","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9arcLength6ScalarQzvp":{"name":"arcLength","abstract":"

    Computes the length of this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V11chordLength6ScalarQzvp":{"name":"chordLength","abstract":"

    Computes the length of the chord represented by this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPointxvp":{"name":"startPoint","abstract":"

    Returns the starting point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8endPointxvp":{"name":"endPoint","abstract":"

    Returns the end point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySb6ScalarQzF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle in radians","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySbAA5AngleVy6ScalarQzGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7clampedyAA5AngleVy6ScalarQzGAIF":{"name":"clamped(_:)","abstract":"

    Clamps a given angle to be within this arc’s startAngle + sweepAngle range.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12pointOnAngleyxAA0F0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on the circle represented by this arc on a given angle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6boundsAA4AABBVyxGyF":{"name":"bounds()","abstract":"

    Returns the minimal bounding box capable of fully containing this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9quadrantsSayxGyF":{"name":"quadrants()","abstract":"

    Returns the coordinates of the occupied quadrants that this arc sweeps","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point to the closest point within this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance to the closest point within this arc to the","parent_name":"CircleArc2"},"Structs/CircleArc2.html":{"name":"CircleArc2","abstract":"

    Represents a 2D arc of a circle as a center, radius, and start+sweep angles.

    "},"Structs/EdgeInsets2.html":{"name":"EdgeInsets2","abstract":"

    Represents a 2D edge inset as relative inset values for each of the four"},"Structs/LineIntersectionResult.html":{"name":"LineIntersectionResult","abstract":"

    Describes the result of a line-line intersection query on two"},"Structs/Vector2.html":{"name":"Vector2","abstract":"

    A two-component vector type

    "},"Structs/Cylinder3.html":{"name":"Cylinder3","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Structs/Disk3.html":{"name":"Disk3","abstract":"

    Represents a 3-dimensional flat disk as a center point, normal, and radius.

    "},"Structs/SphereCoordinates.html":{"name":"SphereCoordinates","abstract":"

    Coordinates on a sphere projective space.

    "},"Structs/ProjectivePointNormalPlane3.html":{"name":"ProjectivePointNormalPlane3","abstract":"

    A point-normal plane with a separate up and right vector used to control"},"Structs/Torus3.html":{"name":"Torus3","abstract":"

    Represents a three dimensional torus shape as a center point, an axis of"},"Structs/Vector3.html":{"name":"Vector3","abstract":"

    A three-component vector type

    "},"Structs/Vector4.html":{"name":"Vector4","abstract":"

    A four-component vector type

    "},"Structs/Angle.html":{"name":"Angle","abstract":"

    A standardized representation of an angle.

    "},"Structs/AngleSweep.html":{"name":"AngleSweep","abstract":"

    A pair of angle + angle range values that can be used to test inclusivity of"},"Structs/AABB.html":{"name":"AABB","abstract":"

    Represents an axis-aligned bounding box with two N-dimensional vectors that"},"Structs/DirectionalRay.html":{"name":"DirectionalRay","abstract":"

    Represents an N-dimensional geometric ray which projects a line from a"},"Structs/Ellipsoid.html":{"name":"Ellipsoid","abstract":"

    Represents an N-dimensional ellipsoid as a center with an N-dimensional"},"Structs/Hyperplane.html":{"name":"Hyperplane","abstract":"

    Represents a hyperplane with a"},"Structs/Line.html":{"name":"Line","abstract":"

    Represents a geometric line as a pair of start and end N-dimensional vectors"},"Structs/LineIntersection.html":{"name":"LineIntersection","abstract":"

    The result of a LineIntersectableType-line intersection test.

    "},"Structs/LinePolygon.html":{"name":"LinePolygon","abstract":"

    Represents a line polygon as a series of connected N-dimensional vertices.

    "},"Structs/LineSegment.html":{"name":"LineSegment","abstract":"

    Represents a line segment as a pair of start and end N-dimensional vectors"},"Structs/NCapsule.html":{"name":"NCapsule","abstract":"

    Represents an N-dimensional capsule (A"},"Structs/NRectangle.html":{"name":"NRectangle","abstract":"

    Represents an N-dimensional rectangle with a vector describing its origin"},"Structs/NSphere.html":{"name":"NSphere","abstract":"

    Represents an N-dimensional sphere"},"Structs/NSquare.html":{"name":"NSquare","abstract":"

    Represents an N-dimensional square with an origin point and a scalar value"},"Structs/PointNormal.html":{"name":"PointNormal","abstract":"

    Represents a point along with a normal on the surface of a geometry.

    "},"Structs/PointNormalPlane.html":{"name":"PointNormalPlane","abstract":"

    Represents an infinite plane with a point and a normal.

    "},"Structs/UnitVector.html":{"name":"UnitVector","abstract":"

    Wraps a vector and ensures that assignments are always stored as a unit"},"Structs/LineCategory.html":{"name":"LineCategory","abstract":"

    Represents the category for a LineType, specifying whether the end points"},"Structs/Ray.html":{"name":"Ray","abstract":"

    Represents an N-dimensional geometric ray line which has a starting point"},"Structs/RoundNRectangle.html":{"name":"RoundNRectangle","abstract":"

    Represents an N-dimensional rounded rectangle with a rectangle and radius"},"Structs/Triangle.html":{"name":"Triangle","abstract":"

    Represents a [triangle] as a trio of N-dimensional vectors which describe a"},"Structs/Matrix2x2.html":{"name":"Matrix2x2","abstract":"

    Plain 2-row 2-column Matrix with real components.

    "},"Structs/Matrix3x2.html":{"name":"Matrix3x2","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with floating-point"},"Structs/Matrix3x3.html":{"name":"Matrix3x3","abstract":"

    Plain 3-row 3-column Matrix with real components.

    "},"Structs/Matrix4x4.html":{"name":"Matrix4x4","abstract":"

    Plain 4-row 4-column Matrix with real components.

    "},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP9TransposeQa":{"name":"Transpose","abstract":"

    The resulting type of a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP10transposed9TransposeQzyF":{"name":"transposed()","abstract":"

    Returns a new matrix that is a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP11determinant6ScalarQzyF":{"name":"determinant()","abstract":"

    Returns the determinant of this square matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP8invertedxSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP1moiyxx_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"SquareMatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar value associated with each element of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8identityxvpZ":{"name":"identity","abstract":"

    Gets the identity matrix for this matrix type.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8rowCountSivp":{"name":"rowCount","abstract":"

    Gets the number of rows in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP11columnCountSivp":{"name":"columnCount","abstract":"

    Gets the number of columns in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypePy6ScalarQzSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Gets or sets the scalar value on a given column/row in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(rowMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(columnMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesSay6ScalarQzGyF":{"name":"rowMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesSay6ScalarQzGyF":{"name":"columnMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1poiyxx_xtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1soiyxx_xtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and stores","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar type associated with this VectorType.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypePy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","abstract":"

    Creates a new VectorType with the given scalar on all coordinates.

    ","parent_name":"VectorType"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector2Qa":{"name":"SubVector2","abstract":"

    The 2-dimensional vector type for selections of 2-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector3Qa":{"name":"SubVector3","abstract":"

    The 3-dimensional vector type for selections of 3-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector4Qa":{"name":"SubVector4","abstract":"

    The 4-dimensional vector type for selections of 4-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP14TakeDimensionsQa":{"name":"TakeDimensions","abstract":"

    A named indexer into the dimensions of this vector.

    ","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector2Qz14TakeDimensionsQz_AGtcip":{"name":"subscript(_:_:)","abstract":"

    Takes a new 2D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector3Qz14TakeDimensionsQz_A2Gtcip":{"name":"subscript(_:_:_:)","abstract":"

    Takes a new 3D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector4Qz14TakeDimensionsQz_A3Gtcip":{"name":"subscript(_:_:_:_:)","abstract":"

    Takes a new 4D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8absolutexvp":{"name":"absolute","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","abstract":"

    Returns a VectorSigned where each component is one","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8withSign2ofxx_tF":{"name":"withSign(of:)","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates this Vector by flipping the sign of each component.

    ","parent_name":"VectorSigned"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_6ScalarQztFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3onexvpZ":{"name":"one","abstract":"

    A unit-value VectorType value where each component corresponds to its","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the length squared of this VectorType.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this VectorType and another","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3doty6ScalarQzxF":{"name":"dot(_:)","abstract":"

    Calculates the dot product","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP4lerp5start3end6amountxx_x6ScalarQztFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two vectors.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyx6ScalarQz_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length), or","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP9normalizeyyF":{"name":"normalize()","abstract":"

    Normalizes this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP10normalizedxyF":{"name":"normalized()","abstract":"

    Returns a normalized version of this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP8distance2to6ScalarQzx_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this VectorFloatingPoint and another","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyx6ScalarQz_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_6ScalarQztF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedyxs0cD12RoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedxyF":{"name":"rounded()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP4ceilxyF":{"name":"ceil()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP5floorxyF":{"name":"floor()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_xtFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_6ScalarQztFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyx6ScalarQz_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16maximalComponent6ScalarQzvp":{"name":"maximalComponent","abstract":"

    Returns the component of this vector that has the greatest value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16minimalComponent6ScalarQzvp":{"name":"minimalComponent","abstract":"

    Returns the component of this vector that has the least value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMinyxx_xtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMaxyxx_xtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1loiySbx_xtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2leoiySbx_xtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1goiySbx_xtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2geoiySbx_xtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","abstract":"

    Gets the number of scalars within this vector that has a non-zero value.

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditivePxycfc":{"name":"init()","abstract":"

    Initializes a zero-valued VectorType

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_6ScalarQztFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_6ScalarQztFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_6ScalarQztFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_6ScalarQztFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given rectangle rests completely inside the boundaries","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP10intersectsySbxF":{"name":"intersects(_:)","abstract":"

    Returns whether this rectangle intersects the given rectangle instance.","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP5unionyxxF":{"name":"union(_:)","abstract":"

    Returns a rectangle which is the minimum rectangle that can fit this","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP12intersectionyxSgxF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"SelfIntersectableRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a copy of this rectangle with its location offset by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP9resizedByyx6VectorQzF":{"name":"resizedBy(_:)","abstract":"

    Returns a copy of this rectangle with its size increased by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8verticesSay6VectorQzGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this rectangle.

    ","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE8offsetByyx6VectorAA0cD0PQzF":{"name":"offsetBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE9resizedByyx6VectorAA0cD0PQzF":{"name":"resizedBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypeP14signedDistance2to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance of a given point to this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypePAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Projects a given vector on this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector for this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","abstract":"

    A point that is on this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6normal6VectorQzvp":{"name":"normal","abstract":"

    A normal vector specifying the slope- or ‘up’, of the plane’s surface.

    ","parent_name":"PlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP39unclampedNormalMagnitudeForIntersection4with6Vector_6ScalarQZSgqd___tAA0B13FloatingPointRd__AFQyd__AFRtzlF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"LineIntersectablePlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP12intersection4with6VectorQzSgqd___tAA0B13FloatingPointRd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this plane.

    ","parent_name":"LineIntersectablePlaneType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","abstract":"

    Gets the first point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1b6VectorQzvp":{"name":"b","abstract":"

    Gets the second point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","abstract":"

    Gets the category for this LineType, specifying whether the end points","parent_name":"LineType"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP16projectUnclampedy6VectorQzAFF":{"name":"projectUnclamped(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line.","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP18projectedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP28projectedNormalizedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedNormalizedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP36containsProjectedNormalizedMagnitudeySb6Vector_6ScalarQZF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true if a normalized, projected scalar representing a segment","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP33clampProjectedNormalizedMagnitudey6Vector_6ScalarQZAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointPAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns the closest point on this line to a given point.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"LineFloatingPoint"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP9Magnitudea":{"name":"Magnitude","abstract":"

    Alias for Vector.Scalar.

    ","parent_name":"LineDivisible"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP15projectAsScalary6Vector_0F0QZAEQzF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line,","parent_name":"LineDivisible"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP9lineSlope6VectorQzvp":{"name":"lineSlope","abstract":"

    Gets the slope of this line, or the vector that represents b - a.

    ","parent_name":"LineAdditive"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a new line with the same slope, but with the end-points shifted","parent_name":"LineAdditive"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP1doiyxx_xtFZ":{"name":"/(_:_:)","abstract":"

    Divides two values.

    ","parent_name":"DivisibleArithmetic"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","abstract":"

    Divides two values and stores the result in the left-hand-side","parent_name":"DivisibleArithmetic"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP6VectorQa":{"name":"Vector","abstract":"

    The type of vector associated with this SignedDistanceMeasurableType.

    ","parent_name":"SignedDistanceMeasurableType"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance from the closest point on the surface of","parent_name":"SignedDistanceMeasurableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this PointProjectableType.

    ","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns a vector on the surface of this geometric type that is the","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between the closest point in this geometric","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between the closest point in this geometric type’s","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A20VectorMultiplicative0E0RpzrlE15distanceSquared2toAE_6ScalarQZAF_tF":{"name":"distanceSquared(to:)","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A014VectorFloatingB00E0RpzrlE8distance2toAE_6ScalarQZAF_tF":{"name":"distance(to:)","parent_name":"PointProjectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineIntersectableType.

    ","parent_name":"LineIntersectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"LineIntersectableType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this ConvexType.

    ","parent_name":"ConvexType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"ConvexType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this BoundableType.

    ","parent_name":"BoundableType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","abstract":"

    Gets a bounding box with the minimal volume to fully enclose all points","parent_name":"BoundableType"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP6VectorQa":{"name":"Vector","abstract":"

    The vector type for the higher-dimensional shape in Euclidean geometric","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","abstract":"

    The type for projective coordinates within the projective space.

    ","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","abstract":"

    Projects a vector onto this projective space, and if successful, returns","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","abstract":"

    Pulls out a projective coordinate from this space back to the original","parent_name":"ProjectiveSpace"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP03SubB0Qa":{"name":"SubVector4","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1w6ScalarQzvp":{"name":"w","abstract":"

    The W coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1z1wxqd___6ScalarQzAGtcAA07Vector2C0Rd__AFQyd__AGRSlufc":{"name":"init(_:z:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1wxqd___6ScalarQztcAA07Vector3C0Rd__AEQyd__AFRSlufc":{"name":"init(_:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector4Type type by copying the","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector4FloatingPoint with a given binary Vector3

    ","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector4Additive"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector3TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Additive"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP03SubB0Qa":{"name":"SubVector3","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP_1zxqd___6ScalarQztcAA07Vector2C0Rd__AEQyd__AFRSlufc":{"name":"init(_:z:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector3Type type by copying the","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP7azimuth6ScalarQzvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3Real"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP9elevation6ScalarQzvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3Real"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitZxvpZ":{"name":"unitZ","abstract":"

    Gets the (x: 0, y: 0, z: 1) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5crossyxxF":{"name":"cross(_:)","abstract":"

    Performs a cross product between this vector and another vector.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 3D vector triple product between self, b, and c:","parent_name":"Vector3Multiplicative"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector3FloatingPoint with a given binary Vector3

    ","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3Additive.html#/s:9Geometria15Vector3AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Additive"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypeP12intersection4withAA4LineVy6VectorQzGSgqd___tAA0hcbE0Rd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 3 dimensional plane with another","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypePA2A21Vector3Multiplicative6VectorRpzrlE12intersection4withAA4LineVyAFGSgqd___tAA0kcbE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","abstract":"

    The 2D type of this 3D line.

    ","parent_name":"Line3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP10make2DLiney8SubLine2QzAE_6VectorQZ_AHtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3Type"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP44unclampedNormalizedMagnitudesForShortestLine2to6Vector_6ScalarAA0L4TypePQZ6onSelf_AJ0O5OthertSgqd___tAA0jcD0Rd__AFQyd__AFRtzlF":{"name":"unclampedNormalizedMagnitudesForShortestLine(to:)","abstract":"

    Returns a pair of unclamped, normalized magnitudes, on self and","parent_name":"Line3FloatingPoint"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP12shortestLine2toAA0F7SegmentVy6VectorQzGSgqd___tAA0fcD0Rd__AHQyd__AIRSlF":{"name":"shortestLine(to:)","abstract":"

    Returns the shortest line segment between the points of this line to","parent_name":"Line3FloatingPoint"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Line3IntersectableType.

    ","parent_name":"Line3IntersectableType"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP13intersections4withAA16LineIntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"Line3IntersectableType"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex3Type.

    ","parent_name":"Convex3Type"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line3FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex3Type"},"Protocols/SphereProjectiveSpace.html#/s:9Geometria21SphereProjectiveSpaceP6ScalarQa":{"name":"Scalar","parent_name":"SphereProjectiveSpace"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP03SubB0Qa":{"name":"SubVector2","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector2Type type by copying the","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP13perpendicularxyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP11leftRotatedxyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP12rightRotatedxyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle2toAA5AngleVy6ScalarQzGx_tF":{"name":"angle(to:)","abstract":"

    Returns the angle between self and other.

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byx6ScalarQz_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byxAA5AngleVy6ScalarQzG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byy6ScalarQz_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byyAA5AngleVy6ScalarQzG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundx6ScalarQz_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundxAA5AngleVy6ScalarQzG_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_6ScalarQztFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_AA5AngleVy6ScalarQzGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP1moiyxx_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP2meoiyyxz_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5crossy6ScalarQzxF":{"name":"cross(_:)","abstract":"

    Calculates the cross product between this and another provided Vector.","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 2D vector triple product between self, b, and c:","parent_name":"Vector2Multiplicative"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector2FloatingPoint with a given binary Vector2

    ","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this RectangleType.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP8location6VectorQzvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP4size6VectorQzvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets the X position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets the Y position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets the width of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets the height of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE3topAE_6ScalarQZvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE4leftAE_6ScalarQZvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE7topLeftAFvp":{"name":"topLeft","abstract":"

    The top-left corner of the rectangle.

    ","parent_name":"RectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP6center6VectorQzvp":{"name":"center","abstract":"

    Gets the center point of this rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10inflatedByyx6VectorQzF":{"name":"inflatedBy(_:)","abstract":"

    Returns a new rectangle which is an inflated version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP7insetByyx6VectorQzF":{"name":"insetBy(_:)","abstract":"

    Returns a new rectangle which is an inset version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP12movingCenter2tox6VectorQz_tF":{"name":"movingCenter(to:)","abstract":"

    Returns a new rectangle with the same size as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP8scaledBy_6aroundx6Vector_6ScalarQZ_AFQztF":{"name":"scaledBy(_:around:)","abstract":"

    Returns a new rectangle with its bounds scaled around a given center point","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP20scaledAroundCenterByyx6Vector_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","abstract":"

    Returns a new rectangle with the same center point as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10subdividedSayxGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerXAfH_6ScalarAA0gD0PQZvp":{"name":"centerX","abstract":"

    Gets or sets the center X position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerYAfH_6ScalarAA0gD0PQZvp":{"name":"centerY","abstract":"

    Gets or sets the center Y position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE10inflatedBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"inflatedBy(x:y:)","abstract":"

    Returns a Rectangle which is an inflated version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7insetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"insetBy(x:y:)","abstract":"

    Returns a Rectangle which is an inset version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE12movingCenter3toX1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"movingCenter(toX:y:)","abstract":"

    Returns a new Rectangle with the same width and height as the current","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE6center6VectorAA0cD0PQzvp":{"name":"center","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE10inflatedByyx6VectorAA0cD0PQzF":{"name":"inflatedBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE7insetByyx6VectorAA0cD0PQzF":{"name":"insetBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE12movingCenter2tox6VectorAA0cD0PQz_tF":{"name":"movingCenter(to:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE8scaledBy_6aroundx6VectorAA0cD0P_6ScalarQZ_AgIQztF":{"name":"scaledBy(_:around:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE20scaledAroundCenterByyx6VectorAA0cD0P_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8location4sizex6VectorQz_AGtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a new instance of a ConstructableRectangleType with the","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP12withLocationyx6VectorQzF":{"name":"withLocation(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8withSizeyx6VectorQzF":{"name":"withSize(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s location with a","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets or sets the X position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets or sets the Y position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets or sets the width of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets or sets the height of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1x1y5width6heightxAE_6ScalarQZ_A3Ltcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a 2D rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE8withSize5width6heightxAE_6ScalarQZ_AKtF":{"name":"withSize(width:height:)","abstract":"

    Returns a Rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE12withLocation1x1yxAE_6ScalarQZ_AKtF":{"name":"withLocation(x:y:)","abstract":"

    Returns a rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE9movingTop2toxAE_6ScalarQZ_tF":{"name":"movingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE10movingLeft2toxAE_6ScalarQZ_tF":{"name":"movingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A08AdditivecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE8offsetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"offsetBy(x:y:)","abstract":"

    Returns a copy of this Rectangle with the minimum and maximum coordinates","parent_name":"ConstructableRectangleType"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypeP12intersection4with6VectorQzSgqd___tAA0bE0Rd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 2 dimensional plane with another","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypePA2A20Vector2FloatingPoint6VectorRpzrlE12intersection4withAFSgqd___tAA0bE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/Line2Real.html#/s:9Geometria9Line2RealP5angle6Vector_6ScalarQZvp":{"name":"angle","abstract":"

    Returns the angle of this line, in radians

    ","parent_name":"Line2Real"},"Protocols/Line2FloatingPoint.html#/s:9Geometria18Line2FloatingPointP12intersection4withAA22LineIntersectionResultVy6VectorQzGSgqd___tAaBRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line-line intersection with other.

    ","parent_name":"Line2FloatingPoint"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP6VectorQa":{"name":"Vector","abstract":"

    The comparable vector type associated with this VolumetricType.

    ","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP8containsySb6VectorQzF":{"name":"contains(_:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector2C06VectorRpzrlE8contains1x1ySbAE_6ScalarAA0eC0PQZ_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector3C06VectorRpzrlE8contains1x1y1zSbAE_6ScalarAA0eC0PQZ_A2NtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true iff vector lies within the ‘inside’ volume of this","parent_name":"VolumetricType"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex2Type.

    ","parent_name":"Convex2Type"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line2FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex2Type"},"Protocols/Convex2Type.html":{"name":"Convex2Type","abstract":"

    Protocol for 2D geometric types defined by floating-point vectors that form"},"Protocols/VolumetricType.html":{"name":"VolumetricType","abstract":"

    Protocol for geometric types that have an internal volumetric area that can"},"Protocols/Line2FloatingPoint.html":{"name":"Line2FloatingPoint","abstract":"

    Protocol for 2D line types where the vectors are floating-point vectors.

    "},"Protocols/Line2Real.html":{"name":"Line2Real","abstract":"

    Protocol for 2D line types where the vectors are real vectors.

    "},"Protocols.html#/s:9Geometria9Line2TypeP":{"name":"Line2Type","abstract":"

    A line that is described by two 2-dimensional vectors.

    "},"Protocols/PlaneIntersectablePlane2Type.html":{"name":"PlaneIntersectablePlane2Type","abstract":"

    A 1D plane in 2D space that can be intersected with other intersectable"},"Protocols/ConstructableRectangleType.html":{"name":"ConstructableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be constructed with location"},"Protocols/DivisibleRectangleType.html":{"name":"DivisibleRectangleType","abstract":"

    Protocol refining RectangleType with VectorDivisible extensions.

    "},"Protocols/RectangleType.html":{"name":"RectangleType","abstract":"

    Protocol for geometric types defined by vectors that fill enclosed"},"Protocols.html#/s:9Geometria15Vector2AdditiveP":{"name":"Vector2Additive","abstract":"

    Protocol for 2D types that support addition and subtraction.

    "},"Protocols/Vector2FloatingPoint.html":{"name":"Vector2FloatingPoint","abstract":"

    Protocol for 2D vector types where the components are floating-point numbers.

    "},"Protocols/Vector2Multiplicative.html":{"name":"Vector2Multiplicative","abstract":"

    Protocol for 2D vector types with multiplicable scalars.

    "},"Protocols/Vector2Real.html":{"name":"Vector2Real","abstract":"

    Protocol for 2D real vector types.

    "},"Protocols/Vector2Signed.html":{"name":"Vector2Signed","abstract":"

    Protocol for 2D vector types where the components are signed numbers.

    "},"Protocols/Vector2Type.html":{"name":"Vector2Type","abstract":"

    Protocol for types that can represent 2D vectors.

    "},"Protocols.html#/s:9Geometria20PlaneProjectiveSpaceP":{"name":"PlaneProjectiveSpace","abstract":"

    A projective space for 2D planes.

    "},"Protocols/SphereProjectiveSpace.html":{"name":"SphereProjectiveSpace","abstract":"

    A projected space laying on the surface of a 3-dimensional sphere, with a"},"Protocols/Convex3Type.html":{"name":"Convex3Type","abstract":"

    Protocol for 3D geometric types defined by floating-point vectors that form"},"Protocols/Line3IntersectableType.html":{"name":"Line3IntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with 3D lines.

    "},"Protocols/Line3FloatingPoint.html":{"name":"Line3FloatingPoint","abstract":"

    Protocol for 3D line types where the vectors are floating-point vectors.

    "},"Protocols/Line3Type.html":{"name":"Line3Type","abstract":"

    A line that is described by two 3-dimensional vectors.

    "},"Protocols.html#/s:9Geometria10Plane3TypeP":{"name":"Plane3Type","abstract":"

    A plane that represents a flat 2D surface in 3D space.

    "},"Protocols/PlaneIntersectablePlane3Type.html":{"name":"PlaneIntersectablePlane3Type","abstract":"

    A 2D plane in 3D space that can be intersected with other intersectable"},"Protocols/Vector3Additive.html":{"name":"Vector3Additive","abstract":"

    Protocol for 3D vector types with additive scalars.

    "},"Protocols/Vector3FloatingPoint.html":{"name":"Vector3FloatingPoint","abstract":"

    Protocol for 3D vector types where the components are floating-point numbers

    "},"Protocols/Vector3Multiplicative.html":{"name":"Vector3Multiplicative","abstract":"

    Protocol for 3D vector types with multiplicable scalars.

    "},"Protocols/Vector3Real.html":{"name":"Vector3Real","abstract":"

    Protocol for 3D vector types where the components are Real numbers

    "},"Protocols/Vector3Type.html":{"name":"Vector3Type","abstract":"

    Protocol for types that can represent 3D vectors.

    "},"Protocols/Vector4Additive.html":{"name":"Vector4Additive","abstract":"

    Protocol for 4D vector types with additive scalars.

    "},"Protocols/Vector4FloatingPoint.html":{"name":"Vector4FloatingPoint","abstract":"

    Protocol for 4D vector types where the components are floating-point numbers

    "},"Protocols/Vector4Type.html":{"name":"Vector4Type","abstract":"

    Protocol for types that can represent 4D vectors.

    "},"Protocols/ProjectiveSpace.html":{"name":"ProjectiveSpace","abstract":"

    A protocol for projective spaces, where lower-dimensional spaces can be"},"Protocols/BoundableType.html":{"name":"BoundableType","abstract":"

    Protocol for general geometric types that can be fitted into a finite,"},"Protocols/ConvexType.html":{"name":"ConvexType","abstract":"

    Protocol for N-dimensional geometric types defined by floating-point vectors"},"Protocols.html#/s:9Geometria13GeometricTypeP":{"name":"GeometricType","abstract":"

    A general geometric type.

    "},"Protocols/LineIntersectableType.html":{"name":"LineIntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with lines.

    "},"Protocols/PointProjectableType.html":{"name":"PointProjectableType","abstract":"

    Protocol for geometric types that support vector projection operations.

    "},"Protocols/SignedDistanceMeasurableType.html":{"name":"SignedDistanceMeasurableType","abstract":"

    Represents an object that exposese a single function that returns the signed"},"Protocols/DivisibleArithmetic.html":{"name":"DivisibleArithmetic","abstract":"

    A type with values that support division.

    "},"Protocols/LineAdditive.html":{"name":"LineAdditive","abstract":"

    Protocol for objects that form geometric lines with two VectorAdditive"},"Protocols/LineDivisible.html":{"name":"LineDivisible","abstract":"

    Protocol for objects that form geometric lines with two VectorDivisible"},"Protocols/LineFloatingPoint.html":{"name":"LineFloatingPoint","abstract":"

    Protocol for objects that form geometric lines with two floating-point"},"Protocols/LineMultiplicative.html":{"name":"LineMultiplicative","abstract":"

    Protocol for objects that form geometric lines with two VectorMultiplicative"},"Protocols.html#/s:9Geometria8LineRealP":{"name":"LineReal","abstract":"

    Protocol for objects that form geometric lines with two VectorReal"},"Protocols/LineType.html":{"name":"LineType","abstract":"

    Protocol for objects that form geometric lines with at least two distinct"},"Protocols/LineIntersectablePlaneType.html":{"name":"LineIntersectablePlaneType","abstract":"

    Represents a plane type that has support for line-intersection.

    "},"Protocols/PlaneType.html":{"name":"PlaneType","abstract":"

    Represents a plane in N-dimensional space with a center point and a normal"},"Protocols/PointProjectablePlaneType.html":{"name":"PointProjectablePlaneType","abstract":"

    Represents a plane type that has support for point-projection.

    "},"Protocols/AdditiveRectangleType.html":{"name":"AdditiveRectangleType","abstract":"

    Protocol refining RectangleType with VectorAdditive extensions.

    "},"Protocols/SelfIntersectableRectangleType.html":{"name":"SelfIntersectableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be combined as intersection"},"Protocols/VectorAdditive.html":{"name":"VectorAdditive","abstract":"

    Represents a VectorType with addition and subtraction arithmetic"},"Protocols/VectorComparable.html":{"name":"VectorComparable","abstract":"

    Represents a VectorType with comparison operators available.

    "},"Protocols/VectorDivisible.html":{"name":"VectorDivisible","abstract":"

    Represents a VectorType with support for division.

    "},"Protocols/VectorFloatingPoint.html":{"name":"VectorFloatingPoint","abstract":"

    Protocol for vector types where the components are floating-point numbers

    "},"Protocols/VectorMultiplicative.html":{"name":"VectorMultiplicative","abstract":"

    Protocol for Vectors that support multiplication

    "},"Protocols/VectorReal.html":{"name":"VectorReal","abstract":"

    Protocol for vector types where the components are real numbers.

    "},"Protocols/VectorSigned.html":{"name":"VectorSigned","abstract":"

    Vector type where the components are signed numbers.

    "},"Protocols/VectorTakeable.html":{"name":"VectorTakeable","abstract":"

    Protocol that vector types conform to to indicate that different combinations"},"Protocols/VectorType.html":{"name":"VectorType","abstract":"

    Protocol for N-dimensional vector types.

    "},"Protocols/MatrixType.html":{"name":"MatrixType","abstract":"

    Protocol for Matrix types.

    "},"Protocols/SquareMatrixType.html":{"name":"SquareMatrixType","abstract":"

    Protocol for square matrices, or matrices with the same number of rows and"},"Protocols/TransposableMatrixType.html":{"name":"TransposableMatrixType","abstract":"

    Protocol for matrices that support transposition.

    "},"Functions.html#/s:9Geometria3minyxx_xtAA16VectorComparableRzlF":{"name":"min(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal"},"Functions.html#/s:9Geometria3maxyxx_xtAA16VectorComparableRzlF":{"name":"max(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal"},"Functions.html#/s:9Geometria5roundyxxAA19VectorFloatingPointRzlF":{"name":"round(_:)","abstract":"

    Rounds the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria4ceilyxxAA19VectorFloatingPointRzlF":{"name":"ceil(_:)","abstract":"

    Rounds up the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria5flooryxxAA19VectorFloatingPointRzlF":{"name":"floor(_:)","abstract":"

    Rounds down the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria3absyxxAA12VectorSignedRzlF":{"name":"abs(_:)","abstract":"

    Returns a VectorSigned with each component as the absolute value of the"},"Functions.html#/s:9Geometria2eeoiySbx_xt_x_xtt_x_xt_x_xtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix2x2 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxt_x_xxtx_xxtt_x_xxt_x_xxtx_xxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix3x3 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxxt_x_xxxtx_xxxtx_xxxtt_x_xxxt_x_xxxtx_xxxtx_xxxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix4x4 values.

    "},"Extensions/Collection.html#/s:Sl9GeometriaE13averageVectorqd__yAA0C9DivisibleRd__7ElementQzRsd__SF6ScalarRpd__lF":{"name":"averageVector()","abstract":"

    Averages this collection of vectors into one VectorDivisible point as","parent_name":"Collection"},"Extensions/SIMD4.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD4"},"Extensions/SIMD4.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD4"},"Extensions/SIMD4.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/absolute":{"name":"absolute","parent_name":"SIMD4"},"Extensions/SIMD4.html#/sign":{"name":"sign","parent_name":"SIMD4"},"Extensions/SIMD4.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD4"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A21Vector3MultiplicativeRzrlE11crossedAreaxvp":{"name":"crossedArea","abstract":"

    Returns the cross product of the edges BA and CA on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE6normalxvp":{"name":"normal","abstract":"

    Returns normal for this Triangle3. The direction of the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE7asPlaneAA0e6NormalG0VyxGvp":{"name":"asPlane","abstract":"

    Returns the plane this Triangle3 forms on 3D space, with the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE12intersection4withxSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE23mollerTrumboreIntersect4with6ScalarQz13lineMagnitude_AcASQAHRQrlE11CoordinatesVyx_GtSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"mollerTrumboreIntersect(with:)","abstract":"

    Performs Möller-Trumbore intersection algorithm against a line.","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentric1x1y1zAcASQ6ScalarRpzrlE11CoordinatesVyx_GAJ_A2JtF":{"name":"toBarycentric(x:y:z:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Triangle3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Sphere3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Sphere3"},"Extensions/SIMD3.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD3"},"Extensions/SIMD3.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/absolute":{"name":"absolute","parent_name":"SIMD3"},"Extensions/SIMD3.html#/sign":{"name":"sign","parent_name":"SIMD3"},"Extensions/SIMD3.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector3Type and another Vector3Type

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalize()":{"name":"normalize()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalized()":{"name":"normalized()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/rounded()":{"name":"rounded()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/ceil()":{"name":"ceil()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/floor()":{"name":"floor()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/azimuth":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/elevation":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"SIMD3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V14make3DRotation___5order11orientationACyxGx_xxAA14RotationOrder3OAA12Orientation3OtFZ":{"name":"make3DRotation(_:_:_:order:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix from a set of rotations around","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationX_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationX(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the X-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationY_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationY(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationZ_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationZ(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___xAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___AA0G0VyxGAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V21make3DRotationBetween__11orientationACyxGqd___qd__AA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationBetween(_:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around a single","parent_name":"RotationMatrix3"},"Extensions/Ray3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE2x12y12z12x22y22z2ACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Ray with two 3D vectors representing the starting","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE1x1y1z2dx2dy2dzACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE10make2DLineyACy10SubVector2AA0E8TakeablePQzGAJ_AJtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Ray3"},"Extensions/LineSegment3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"LineSegment3"},"Extensions/Line3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusZ6ScalarQzvp":{"name":"radiusZ","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE6center7radiusX0H1Y0H1ZACyxGx_6ScalarAA0eD0PQzA2Ntcfc":{"name":"init(center:radiusX:radiusY:radiusZ:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE8contains1x1y1zSb6ScalarAA0eD0PQz_A2MtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Ellipse3"},"Extensions/DirectionalRay3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Directional Ray with 3D vectors describing the start","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE1x1y1z2dx2dy2dzACyxG6ScalarQz_A5Mtcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"DirectionalRay3"},"Extensions/Cube3.html#/s:9Geometria7NSquareVA2A11Vector3TypeRzrlE1x1y1z10sideLengthACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:z:sideLength:)","parent_name":"Cube3"},"Extensions/Capsule3.html#/s:9Geometria8NCapsuleVA2A11Vector3TypeRzrlE10asCylinderAA9Cylinder3VyxGvp":{"name":"asCylinder","abstract":"

    Returns a Cylinder3 with the same start, end, and radius","parent_name":"Capsule3"},"Extensions/Capsule3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Capsule3"},"Extensions/Vector2F.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2F"},"Extensions/Vector2F.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2F"},"Extensions/Vector2D.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2D"},"Extensions/Vector2D.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2D"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE04unitB0ACyxGvpZ":{"name":"unitTriangle","abstract":"

    Returns a unit triangle where a, b, and c take the following","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE16signedDoubleArea6ScalarQzvp":{"name":"signedDoubleArea","abstract":"

    Returns the signed doubled area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzrlE10signedArea6ScalarAA0E4TypePQzvp":{"name":"signedArea","abstract":"

    Returns the signed area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzAA0E6SignedRzrlE7winding6ScalarAA0E4TypePQzvp":{"name":"winding","abstract":"

    Returns the signed value of this triangle’s winding.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether the given point vector is contained within this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentric1x1yAcASQ6ScalarRpzrlE11CoordinatesVyx_GAI_AItF":{"name":"toBarycentric(x:y:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA05Line2dE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Triangle2"},"Extensions/Square2.html#/s:9Geometria7NSquareVA2A11Vector2TypeRzrlE1x1y10sideLengthACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:sideLength:)","parent_name":"Square2"},"Extensions/SIMD2.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD2"},"Extensions/SIMD2.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/cross(_:)":{"name":"cross(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/absolute":{"name":"absolute","parent_name":"SIMD2"},"Extensions/SIMD2.html#/sign":{"name":"sign","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formPerpendicular()":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/perpendicular()":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/leftRotated()":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formLeftRotated()":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rightRotated()":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formRightRotated()":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalize()":{"name":"normalize()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalized()":{"name":"normalized()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector2Type and another Vector2Type

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rounded()":{"name":"rounded()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/ceil()":{"name":"ceil()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/floor()":{"name":"floor()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/angle":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:)":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(by:)":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:around:)":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(_:by:)":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/matrix(scale:rotate:translate:)":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*=(_:_:)":{"name":"*=(_:_:)","parent_name":"SIMD2"},"Extensions/RoundRectangle2.html#/s:9Geometria15RoundNRectangleVA2A11Vector2TypeRzrlE9rectangle7radiusX0G1YACyxGAA0C0VyxG_6ScalarQzAMtcfc":{"name":"init(rectangle:radiusX:radiusY:)","parent_name":"RoundRectangle2"},"Extensions/Rectangle2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5right6ScalarAA0eD0PQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE6bottom6ScalarAA0eD0PQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this Rectangle‘s corners in","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE4left3top5right6bottomACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a Rectangle with the edges of a box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11movingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE12movingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE14stretchingLeft2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and right as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE13stretchingTop2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and bottom as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE15stretchingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and left as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE16stretchingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and top as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5insetyACyxGAA11EdgeInsets2VyxGF":{"name":"inset(_:)","abstract":"

    Insets this Rectangle with a given set of edge inset values.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA10VectorRealRzrlE17transformedBoundsyACyxGAA9Matrix3x2Vy6ScalarAA0eD0PQzGF":{"name":"transformedBounds(_:)","abstract":"

    Applies the given Matrix on all corners of this Rectangle, returning a new","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzAA0E10ComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA20VectorMultiplicativeRzrlE8scaledBy1x1yACyxG6ScalarAA0eD0PQz_AMtF":{"name":"scaledBy(x:y:)","abstract":"

    Returns a Rectangle with the same position as this Rectangle, with its","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzSF6ScalarRpzrlE1x1y5width6heightACyxGqd___qd__qd__qd__tcSzRd__lufc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE2x12y12x22y2ACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Ray with two 2D vectors representing the starting","parent_name":"Ray2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y2dx2dyACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Ray with a 2D vector for its position and another","parent_name":"Ray2"},"Extensions/LineSegment2.html#/s:9Geometria11LineSegmentVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"LineSegment2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzrlE9addVertex1x1yy6ScalarQz_AItF":{"name":"addVertex(x:y:)","abstract":"

    Adds a new 2D vertex at the end of this polygon’s vertices list

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzrlE7winding6ScalarQzyF":{"name":"winding()","abstract":"

    Returns the winding number for this polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA19DivisibleArithmetic6ScalarRpzrlE4areaAGyF":{"name":"area()","abstract":"

    Returns the signed area of this 2D polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA16VectorComparableRzrlE8isConvexSbyF":{"name":"isConvex()","abstract":"

    Returns true if this polygon is convex.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA16VectorComparableRzAA0F9DivisibleRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Assuming this LinePolygon2 represents a clockwise closed polygon,","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE02isH6OnEdge_9toleranceSbx_6ScalarAA0fE0PQztF":{"name":"isPointOnEdge(_:tolerance:)","abstract":"

    Returns true if the given point lies within an edge of the polygon","parent_name":"LinePolygon2"},"Extensions/Line2.html#/s:9Geometria4LineVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"Line2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE6center7radiusX0H1YACyxGx_6ScalarAA0eD0PQzAMtcfc":{"name":"init(center:radiusX:radiusY:)","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE4focix1a_x1btyF":{"name":"foci()","abstract":"

    Computes the focal points of this 2D ellipse, as two vectors in space","parent_name":"Ellipse2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Directional Ray with 2D vectors describing the start","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE1x1y2dx2dyACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Directional Ray with a 2D vector for its position and","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A11Vector2RealRzrlE5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle of this directional ray, in radians

    ","parent_name":"DirectionalRay2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzrlE1x1y6radiusACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:radius:)","abstract":"

    Initializes a circle centered at a given point with a given radius.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzAA20VectorMultiplicativeRzSL6ScalarAA0eD0PRpzrlE8contains1x1ySbAI_AItF":{"name":"contains(x:y:)","abstract":"

    Returns true if this circle’s area contains a given point.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A20Vector2FloatingPointRzrlE12intersection4withAA24ClosedShape2IntersectionOyxGACyxG_tF":{"name":"intersection(with:)","abstract":"

    Returns the result of the intersection between self and another Circle2.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE12pointOnAngleyxAA0G0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on this circle represented by a given angle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxGAA0G0Vy6ScalarQzG_AOtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxG6ScalarQz_ALtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/AABB2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1x6ScalarQzvp":{"name":"x","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1y6ScalarQzvp":{"name":"y","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left6ScalarQzvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE3top6ScalarQzvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE5right6ScalarQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE6bottom6ScalarQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7topLeftxvp":{"name":"topLeft","abstract":"

    The top-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this AABB‘s 2D corners in","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left3top5right6bottomACyxG6ScalarQz_A3Ktcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a AABB with the edges of a box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA16VectorComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y5width6heightACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a AABB with the coordinates of a rectangle.

    ","parent_name":"AABB2"},"Extensions/AABB2.html":{"name":"AABB2"},"Extensions/Circle2.html":{"name":"Circle2"},"Extensions/DirectionalRay2.html":{"name":"DirectionalRay2"},"Extensions/Ellipse2.html":{"name":"Ellipse2"},"Extensions.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2"},"Extensions/Line2.html":{"name":"Line2"},"Extensions/LinePolygon2.html":{"name":"LinePolygon2"},"Extensions/LineSegment2.html":{"name":"LineSegment2"},"Extensions.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2"},"Extensions/Ray2.html":{"name":"Ray2"},"Extensions/Rectangle2.html":{"name":"Rectangle2"},"Extensions/RoundRectangle2.html":{"name":"RoundRectangle2"},"Extensions/SIMD2.html":{"name":"SIMD2"},"Extensions/Square2.html":{"name":"Square2"},"Extensions/Triangle2.html":{"name":"Triangle2"},"Extensions/Vector2D.html":{"name":"Vector2D"},"Extensions/Vector2F.html":{"name":"Vector2F"},"Extensions.html#/s:9Geometria5AABB3a":{"name":"AABB3"},"Extensions/Capsule3.html":{"name":"Capsule3"},"Extensions/Cube3.html":{"name":"Cube3"},"Extensions/DirectionalRay3.html":{"name":"DirectionalRay3"},"Extensions/Ellipse3.html":{"name":"Ellipse3"},"Extensions.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3"},"Extensions/Line3.html":{"name":"Line3"},"Extensions/LineSegment3.html":{"name":"LineSegment3"},"Extensions.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3"},"Extensions/Ray3.html":{"name":"Ray3"},"Extensions/RotationMatrix3.html":{"name":"RotationMatrix3"},"Extensions/SIMD3.html":{"name":"SIMD3"},"Extensions/Sphere3.html":{"name":"Sphere3"},"Extensions/Triangle3.html":{"name":"Triangle3"},"Extensions/SIMD4.html":{"name":"SIMD4"},"Extensions.html#/s:Si":{"name":"Int"},"Extensions.html#/s:Su":{"name":"UInt"},"Extensions.html#/s:s4Int8V":{"name":"Int8"},"Extensions.html#/s:s5Int16V":{"name":"Int16"},"Extensions.html#/s:s5Int32V":{"name":"Int32"},"Extensions.html#/s:s5Int64V":{"name":"Int64"},"Extensions.html#/s:s5UInt8V":{"name":"UInt8"},"Extensions.html#/s:s6UInt16V":{"name":"UInt16"},"Extensions.html#/s:s6UInt32V":{"name":"UInt32"},"Extensions.html#/s:s6UInt64V":{"name":"UInt64"},"Extensions.html#/s:Sf":{"name":"Float"},"Extensions.html#/s:Sd":{"name":"Double"},"Extensions.html#/s:s7Float80V":{"name":"Float80"},"Extensions/Collection.html":{"name":"Collection"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO5enteryAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"enter","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO4exityAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"exit","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9containedyACyxGAEmAA19VectorFloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the line’s boundaries are completely contained","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the line crosses the bounds of the convex","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO5enteryACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"enter(_:)","abstract":"

    Represents cases where the line starts outside the shape and crosses in","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO4exityACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"exit(_:)","abstract":"

    Represents cases where the line starts within the convex shape and","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9enterExityACyxGAA11PointNormalVyxG_AHtcAEmAA014VectorFloatingG0RzlF":{"name":"enterExit(_:_:)","abstract":"

    Represents cases where the line crosses the convex shape twice: Once on","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO02noD0yACyxGAEmAA19VectorFloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO12pointNormalsSayAA11PointNormalVyxGGvp":{"name":"pointNormals","abstract":"

    Returns the list of point normals referenced by this intersection instance.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA014VectorFloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ConvexLineIntersection"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1wyA2CmF":{"name":"w","parent_name":"Vector4TakeDimensions"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyzyA2CmF":{"name":"xyz","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzyyA2CmF":{"name":"xzy","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyxyA2CmF":{"name":"zyx","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxyyA2CmF":{"name":"zxy","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzxyA2CmF":{"name":"yzx","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxzyA2CmF":{"name":"yxz","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxzyA2CmF":{"name":"zxz","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzxyA2CmF":{"name":"xzx","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxyyA2CmF":{"name":"yxy","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyxyA2CmF":{"name":"xyx","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyzyA2CmF":{"name":"zyz","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzyyA2CmF":{"name":"yzy","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector3TakeDimensions"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O11rightHandedyA2CmF":{"name":"rightHanded","abstract":"

    Specifies a right-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O10leftHandedyA2CmF":{"name":"leftHanded","abstract":"

    Specifies a left-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector2TakeDimensions"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector2TakeDimensions"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO14twoPointsFirstyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsFirst","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO15twoPointsSecondyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsSecond","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO6pointsyAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"points(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO9pairEnteryAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairEnter(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO8pairExityAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairExit(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enterAA11PointNormalVyxGvp":{"name":"enter","abstract":"

    The entrance point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV4exitAA11PointNormalVyxGvp":{"name":"exit","abstract":"

    The exit point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enter4exitAEyx_GAA11PointNormalVyxG_AKtcfc":{"name":"init(enter:exit:)","parent_name":"Pair"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9containedyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the convex’s boundaries are completely contained","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO8containsyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contains","abstract":"

    Represents the case where the other convex’s boundaries are completely","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA015Vector2FloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the convex crosses the bounds of the convex","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO5pairsyACyxGSayAC4PairVyx_GGcAEmAA20Vector2FloatingPointRzlF":{"name":"pairs(_:)","abstract":"

    A sequence of one or more intersection pairs of points that represent","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO02noD0yACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9twoPointsyACyxGAA11PointNormalVyxG_AHtFZ":{"name":"twoPoints(_:_:)","abstract":"

    Convenience for .pairs([.init(enter: p1, exit: p2)]).

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA015Vector2FloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/Pair.html":{"name":"Pair","abstract":"

    A pair of entrance/exit intersection points.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html":{"name":"ClosedShape2Intersection","abstract":"

    The result of a intersection test against two 2-dimensional closed shapes.

    "},"Enums/Vector2TakeDimensions.html":{"name":"Vector2TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 2 type.

    "},"Enums/Orientation3.html":{"name":"Orientation3","abstract":"

    Describes the orientation"},"Enums/Vector3TakeDimensions.html":{"name":"Vector3TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/RotationOrder3.html":{"name":"RotationOrder3","abstract":"

    Specifies configurations for the order of rotations when creating a"},"Enums/Vector4TakeDimensions.html":{"name":"Vector4TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/ConvexLineIntersection.html":{"name":"ConvexLineIntersection","abstract":"

    The result of a convex-line intersection test.

    "},"changelog.html":{"name":"CHANGELOG"},"license.html":{"name":"LICENSE"},"readme.html":{"name":"README"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:9Geometria6AABB2Da":{"name":"AABB2D","abstract":"

    Represents a 2D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB2Fa":{"name":"AABB2F","abstract":"

    Represents a 2D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB2ia":{"name":"AABB2i","abstract":"

    Represents a 2D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB2a":{"name":"AABB2","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Circle2Da":{"name":"Circle2D","abstract":"

    Represents a 2D circle with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Circle2Fa":{"name":"Circle2F","abstract":"

    Represents a 2D circle with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Circle2a":{"name":"Circle2","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Da":{"name":"CircleArc2D","abstract":"

    Represents a 2D arc of a circle with double-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Fa":{"name":"CircleArc2F","abstract":"

    Represents a 2D arc of a circle with single-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria16DirectionalRay2Da":{"name":"DirectionalRay2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay2Fa":{"name":"DirectionalRay2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay2a":{"name":"DirectionalRay2","abstract":"

    Typealias for DirectionalRay<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria12EdgeInsets2Da":{"name":"EdgeInsets2D","abstract":"

    Represents a 2D edge inset with double-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2Fa":{"name":"EdgeInsets2F","abstract":"

    Represents a 2D edge inset with single-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2ia":{"name":"EdgeInsets2i","abstract":"

    Represents a 2D edge inset with integer parameters.

    "},"Typealiases.html#/s:9Geometria9Ellipse2Da":{"name":"Ellipse2D","abstract":"

    Represents a 2D ellipse as a double-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2Fa":{"name":"Ellipse2F","abstract":"

    Represents a 2D ellipse as a single-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2ia":{"name":"Ellipse2i","abstract":"

    Represents a 2D ellipse as a integer center with X and Y radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse2a":{"name":"Ellipse2","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane2Da":{"name":"Hyperplane2D","abstract":"

    Represents a 2D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane2Fa":{"name":"Hyperplane2F","abstract":"

    Represents a 2D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector2FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line2Da":{"name":"Line2D","abstract":"

    Represents a 2D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2Fa":{"name":"Line2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2ia":{"name":"Line2i","abstract":"

    Represents a 2D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line2a":{"name":"Line2","abstract":"

    Typealias for Line<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LinePolygon2Da":{"name":"LinePolygon2D","abstract":"

    Represents a 2D polygon as a series of connected double-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2Fa":{"name":"LinePolygon2F","abstract":"

    Represents a 2D polygon as a series of connected single-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2ia":{"name":"LinePolygon2i","abstract":"

    Represents a 2D polygon as a series of connected integer 2D vertices.

    "},"Typealiases.html#/s:9Geometria12LinePolygon2a":{"name":"LinePolygon2","abstract":"

    Typealias for LinePolygon<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment2Da":{"name":"LineSegment2D","abstract":"

    Represents a 2D line segment as a pair of double-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2Fa":{"name":"LineSegment2F","abstract":"

    Represents a 2D line segment as a pair of single-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2ia":{"name":"LineSegment2i","abstract":"

    Represents a 2D line segment as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment2a":{"name":"LineSegment2","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11PointCloud2a":{"name":"PointCloud2","abstract":"

    A point-cloud composed of two-dimensional vector points.

    "},"Typealiases.html#/s:9Geometria12PointCloud2Da":{"name":"PointCloud2D","abstract":"

    A point-cloud composed of two-dimensional vector points of double-precision"},"Typealiases.html#/s:9Geometria12PointCloud2Fa":{"name":"PointCloud2F","abstract":"

    A point-cloud composed of two-dimensional vector points of single-precision"},"Typealiases.html#/s:9Geometria18PointNormalPlane2Da":{"name":"PointNormalPlane2D","abstract":"

    Represents a 2D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane2Fa":{"name":"PointNormalPlane2F","abstract":"

    Represents a 2D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria5Ray2Da":{"name":"Ray2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2Fa":{"name":"Ray2F","abstract":"

    Represents a 2D ray as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2ia":{"name":"Ray2i","abstract":"

    Represents a 2D ray as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray2a":{"name":"Ray2","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Da":{"name":"Rectangle2D","abstract":"

    Represents a double-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Fa":{"name":"Rectangle2F","abstract":"

    Represents a single-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2ia":{"name":"Rectangle2i","abstract":"

    Represents an integer 2D rectangle.

    "},"Typealiases.html#/s:9Geometria10Rectangle2a":{"name":"Rectangle2","abstract":"

    Typealias for NRectangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria16RoundRectangle2Da":{"name":"RoundRectangle2D","abstract":"

    Represents a 2D rounded rectangle with double-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2Fa":{"name":"RoundRectangle2F","abstract":"

    Represents a 2D rounded rectangle with single-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2ia":{"name":"RoundRectangle2i","abstract":"

    Represents a 2D rounded rectangle with integer bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria15RoundRectangle2a":{"name":"RoundRectangle2","abstract":"

    Represents a 2D rounded rectangle with rectangular bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria8Square2Da":{"name":"Square2D","abstract":"

    Represents a double-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2Fa":{"name":"Square2F","abstract":"

    Represents a single-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2ia":{"name":"Square2i","abstract":"

    Represents an integer 2D square.

    "},"Typealiases.html#/s:9Geometria7Square2a":{"name":"Square2","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria9Stadium2Da":{"name":"Stadium2D","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2Fa":{"name":"Stadium2F","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2ia":{"name":"Stadium2i","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria8Stadium2a":{"name":"Stadium2","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria10Triangle2Da":{"name":"Triangle2D","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2Fa":{"name":"Triangle2F","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2ia":{"name":"Triangle2i","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle2a":{"name":"Triangle2","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Vector2Da":{"name":"Vector2D","abstract":"

    Represents a 2D point with two double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2Fa":{"name":"Vector2F","abstract":"

    Represents a 2D point with two single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2ia":{"name":"Vector2i","abstract":"

    Represents a 2D point with two Int components

    "},"Typealiases.html#/s:9Geometria6AABB3Da":{"name":"AABB3D","abstract":"

    Represents a 3D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB3Fa":{"name":"AABB3F","abstract":"

    Represents a 3D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB3ia":{"name":"AABB3i","abstract":"

    Represents a 3D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB3a":{"name":"AABB3","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria9Capsule3Da":{"name":"Capsule3D","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3Fa":{"name":"Capsule3F","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3ia":{"name":"Capsule3i","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria8Capsule3a":{"name":"Capsule3","abstract":"

    Typealias for NCapsule<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria6Cube3Da":{"name":"Cube3D","abstract":"

    Represents a double-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3Fa":{"name":"Cube3F","abstract":"

    Represents a single-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3ia":{"name":"Cube3i","abstract":"

    Represents an integer 3D cube.

    "},"Typealiases.html#/s:9Geometria5Cube3a":{"name":"Cube3","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria10Cylinder3Da":{"name":"Cylinder3D","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3Fa":{"name":"Cylinder3F","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3ia":{"name":"Cylinder3i","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria16DirectionalRay3Da":{"name":"DirectionalRay3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay3Fa":{"name":"DirectionalRay3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay3a":{"name":"DirectionalRay3","abstract":"

    Typealias for DirectionalRay3<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria9Ellipse3Da":{"name":"Ellipse3D","abstract":"

    Represents a 3D ellipse as a double-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3Fa":{"name":"Ellipse3F","abstract":"

    Represents a 3D ellipse as a single-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3ia":{"name":"Ellipse3i","abstract":"

    Represents a 3D ellipse as a integer center with X, Y, and Z radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse3a":{"name":"Ellipse3","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane3Da":{"name":"Hyperplane3D","abstract":"

    Represents a 3D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane3Fa":{"name":"Hyperplane3F","abstract":"

    Represents a 3D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line3Da":{"name":"Line3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3Fa":{"name":"Line3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3ia":{"name":"Line3i","abstract":"

    Represents a 3D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line3a":{"name":"Line3","abstract":"

    Typealias for Line<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment3Da":{"name":"LineSegment3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3Fa":{"name":"LineSegment3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3ia":{"name":"LineSegment3i","abstract":"

    Represents a 3D line as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment3a":{"name":"LineSegment3","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria11PointCloud3a":{"name":"PointCloud3","abstract":"

    A point-cloud composed of three-dimensional vector points.

    "},"Typealiases.html#/s:9Geometria12PointCloud3Da":{"name":"PointCloud3D","abstract":"

    A point-cloud composed of three-dimensional vector points of double-precision"},"Typealiases.html#/s:9Geometria12PointCloud3Fa":{"name":"PointCloud3F","abstract":"

    A point-cloud composed of three-dimensional vector points of single-precision"},"Typealiases.html#/s:9Geometria18PointNormalPlane3Da":{"name":"PointNormalPlane3D","abstract":"

    Represents a 3D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane3Fa":{"name":"PointNormalPlane3F","abstract":"

    Represents a 3D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Da":{"name":"ProjectivePointNormalPlane3D","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Fa":{"name":"ProjectivePointNormalPlane3F","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria5Ray3Da":{"name":"Ray3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3Fa":{"name":"Ray3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3ia":{"name":"Ray3i","abstract":"

    Represents a 3D line as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray3a":{"name":"Ray3","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria16RotationMatrix3Da":{"name":"RotationMatrix3D","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria16RotationMatrix3Fa":{"name":"RotationMatrix3F","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria15RotationMatrix3a":{"name":"RotationMatrix3","abstract":"

    Describes a 3-dimensional rotation matrix.

    "},"Typealiases.html#/s:9Geometria8Sphere3Da":{"name":"Sphere3D","abstract":"

    Represents a 3D sphere with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Sphere3Fa":{"name":"Sphere3F","abstract":"

    Represents a 3D sphere with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Sphere3a":{"name":"Sphere3","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria7Torus3Da":{"name":"Torus3D","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria7Torus3Fa":{"name":"Torus3F","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria10Triangle3Da":{"name":"Triangle3D","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3Fa":{"name":"Triangle3F","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3ia":{"name":"Triangle3i","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle3a":{"name":"Triangle3","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria8Vector3Da":{"name":"Vector3D","abstract":"

    Represents a 3D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3Fa":{"name":"Vector3F","abstract":"

    Represents a 3D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3ia":{"name":"Vector3i","abstract":"

    Represents a 3D point with three Int components

    "},"Typealiases.html#/s:9Geometria12Hyperplane4Da":{"name":"Hyperplane4D","abstract":"

    Represents a 4D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane4Fa":{"name":"Hyperplane4F","abstract":"

    Represents a 4D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane4a":{"name":"Hyperplane4","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector4FloatingPoint.

    "},"Typealiases.html#/s:9Geometria8Vector4Da":{"name":"Vector4D","abstract":"

    Represents a 4D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4Fa":{"name":"Vector4F","abstract":"

    Represents a 4D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4ia":{"name":"Vector4i","abstract":"

    Represents a 4D point with three Int components

    "},"Typealiases.html#/s:9Geometria10Matrix3x2Da":{"name":"Matrix3x2D","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 4x4 identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1mx_xxxt_x_xxxtx_xxxtx_xxxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 4x4 tuple.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r0x_xxxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r1x_xxxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r2x_xxxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r3x_xxxtvp":{"name":"r3","abstract":"

    The fourth row of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c0x_xxxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c1x_xxxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c2x_xxxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c3x_xxxtvp":{"name":"c3","abstract":"

    The fourth column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r0VecAA7Vector4VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r1VecAA7Vector4VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r2VecAA7Vector4VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r3VecAA7Vector4VyxGvp":{"name":"r3Vec","abstract":"

    Gets the fourth row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c0VecAA7Vector4VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c1VecAA7Vector4VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c2VecAA7Vector4VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c3VecAA7Vector4VyxGvp":{"name":"c3Vec","abstract":"

    Gets the fourth column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGx_xxxt_x_xxxtx_xxxtx_xxxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGqd___qd__qd__qd__t_tc6ScalarQyd__RszAA11Vector4TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector4 values as the values","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_xxxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector4FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector3FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix4x4 that is a transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScale1x1y1zACyxGx_xxtFZ":{"name":"makeScale(x:y:z:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScaleyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeXRotationyACyxGxFZ":{"name":"makeXRotation(_:)","abstract":"

    Creates an X rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeYRotationyACyxGxFZ":{"name":"makeYRotation(_:)","abstract":"

    Creates an Y rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeZRotationyACyxGxFZ":{"name":"makeZRotation(_:)","abstract":"

    Creates a Z rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslation1x1y1zACyxGx_xxtFZ":{"name":"makeTranslation(x:y:z:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslationyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix4x4"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 3x3 identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1mx_xxt_x_xxtx_xxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 3x3 tuple.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r0x_xxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r1x_xxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r2x_xxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c0x_xxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c1x_xxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c2x_xxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r0VecAA7Vector3VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r1VecAA7Vector3VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r2VecAA7Vector3VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c0VecAA7Vector3VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c1VecAA7Vector3VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c2VecAA7Vector3VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGx_xxt_x_xxtx_xxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGqd___qd__qd__t_tc6ScalarQyd__RszAA11Vector3TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector3Type values as the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_xxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector2FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix3x3 that is a transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScale1x1yACyxGx_xtFZ":{"name":"make2DScale(x:y:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScaleyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14make2DRotationyACyxGxFZ":{"name":"make2DRotation(_:)","abstract":"

    Creates a rotation matrix that when applied to a 2-dimensional vector,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslation1x1yACyxGx_xtFZ":{"name":"make2DTranslation(x:y:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslationyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V31make3DSkewSymmetricCrossProduct_11orientationACyxGqd___AA12Orientation3Ot6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"make3DSkewSymmetricCrossProduct(_:orientation:)","abstract":"

    Creates a skew-symmetric cross product matrix for a given vector.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6Vectora":{"name":"Vector","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Gets the identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m11xvp":{"name":"m11","abstract":"

    Element (1,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m12xvp":{"name":"m12","abstract":"

    Element (1,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m21xvp":{"name":"m21","abstract":"

    Element (2,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m22xvp":{"name":"m22","abstract":"

    Element (2,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m31xvp":{"name":"m31","abstract":"

    Element (3,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m32xvp":{"name":"m32","abstract":"

    Element (3,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row1SayxGvp":{"name":"row1","abstract":"

    Gets the first row in the matrix; that is M11 and M12.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row2SayxGvp":{"name":"row2","abstract":"

    Gets the second row in the matrix; that is M21 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row3SayxGvp":{"name":"row3","abstract":"

    Gets the third row in the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column1SayxGvp":{"name":"column1","abstract":"

    Gets the first column in the matrix; that is M11, M21, and M31.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column2SayxGvp":{"name":"column2","abstract":"

    Gets the second column in the matrix; that is M12, M22, and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V17translationVectorAA7Vector2VyxGvp":{"name":"translationVector","abstract":"

    Gets the translation of the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11scaleVectorAA7Vector2VyxGvp":{"name":"scaleVector","abstract":"

    Gets the scale of the matrix; that is M11 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V10isIdentitySbvp":{"name":"isIdentity","abstract":"

    Gets a value indicating whether this instance is an identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5indexxSi_tcip":{"name":"subscript(index:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6column3rowxSi_Sitcip":{"name":"subscript(column:row:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5valueACyxGx_tcfc":{"name":"init(value:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m113m123m213m223m313m32ACyxGx_xxxxxtcfc":{"name":"init(m11:m12:m21:m22:m31:m32:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6valuesACyxGSayxG_tcfc":{"name":"init(values:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7toArraySayxGyF":{"name":"toArray()","abstract":"

    Creates an array containing the elements of the matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11determinantxyF":{"name":"determinant()","abstract":"

    Calculates the determinant of this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8invertedACyxGyF":{"name":"inverted()","abstract":"

    Calculates the inverse of this matrix instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3addyACyxGAE_AEtFZ":{"name":"add(_:_:)","abstract":"

    Determines the sum of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8subtractyACyxGAE_AEtFZ":{"name":"subtract(_:_:)","abstract":"

    Determines the difference between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_xtFZ":{"name":"multiply(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_AEtFZ":{"name":"multiply(_:_:)","abstract":"

    Determines the product of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_xtFZ":{"name":"divide(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_AEtFZ":{"name":"divide(_:_:)","abstract":"

    Determines the quotient of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6negateyACyxGAEFZ":{"name":"negate(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4lerp5start3end6amountACyxGAH_AHxtFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGAA7Vector2VyxG_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1yACyxGx_xtFZ":{"name":"scaling(x:y:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGx_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that uniformly scales along both axes.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1y6centerACyxGx_xAA7Vector2VyxGtFZ":{"name":"scaling(x:y:center:)","abstract":"

    Creates a matrix that is scaling from a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGx_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGAA5AngleVyxG_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGx_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGAA5AngleVyxG_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translationyACyxGAA7Vector2VyxGFZ":{"name":"translation(_:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translation1x1yACyxGx_xtFZ":{"name":"translation(x:y:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xxxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xAA5AngleVyxGxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointAA7Vector2VyxGACyxG_AItFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointqd__ACyxG_qd__t6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4skew6angleX0D1YACyxGx_xtFZ":{"name":"skew(angleX:angleY:)","abstract":"

    Creates a skew matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6invertyACyxGAEFZ":{"name":"invert(_:)","abstract":"

    Calculates the inverse of the specified matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1popyACyxGAEFZ":{"name":"+(_:)","abstract":"

    Assert a matrix (return it unchanged).

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Multiplies two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","abstract":"

    Divides two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyAA10NRectangleVyqd__GAG6ScalarAA10VectorTypePQyd__RszAA07Vector2G0Rd__AA0F8AdditiveRd__AA0F10ComparableRd__lF":{"name":"transform(_:)","abstract":"

    Transforms a given rectangle’s bounds using this transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyqd__qd__6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(_:)","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transform6pointsSayqd__GAF_t6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(points:)","parent_name":"Matrix3x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 2x2 identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1mx_xt_x_xttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 2x2 tuple.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r0x_xtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r1x_xtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c0x_xtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c1x_xtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r0VecAA7Vector2VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r1VecAA7Vector2VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c0VecAA7Vector2VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c1VecAA7Vector2VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGx_xt_x_xtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGqd___qd__t_tc6ScalarQyd__RszAA11Vector2TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector2Type values as the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_xt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix2x2 that is a transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix2x2"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2waAEvp":{"name":"wa","abstract":"

    Normalized weight of vertex a.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wbAEvp":{"name":"wb","abstract":"

    Normalized weight of vertex b.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wcAEvp":{"name":"wc","abstract":"

    Normalized weight of vertex c.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wa2wb2wcAGyx_GAE_A2Etcfc":{"name":"init(wa:wb:wc:)","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesVAAs18AdditiveArithmeticAERQrlE4zeroAGyx_GvpZ":{"name":"zero","abstract":"

    Returns zerod-out barycentric coordinates.

    ","parent_name":"Coordinates"},"Structs/Triangle.html#/s:9Geometria8TriangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1axvp":{"name":"a","abstract":"

    The first point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1bxvp":{"name":"b","abstract":"

    The second point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1cxvp":{"name":"c","abstract":"

    The third point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1a1b1cACyxGx_xxtcfc":{"name":"init(a:b:c:)","parent_name":"Triangle"},"Structs/Triangle/Coordinates.html":{"name":"Coordinates","abstract":"

    Defines the normalized barycentric coordinates for a Triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineABAA11LineSegmentVyxGvp":{"name":"lineAB","abstract":"

    Returns a line segment for the edge between the points a -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineACAA11LineSegmentVyxGvp":{"name":"lineAC","abstract":"

    Returns a line segment for the edge between the points a -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBCAA11LineSegmentVyxGvp":{"name":"lineBC","abstract":"

    Returns a line segment for the edge between the points b -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBAAA11LineSegmentVyxGvp":{"name":"lineBA","abstract":"

    Returns a line segment for the edge between the points b -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCAAA11LineSegmentVyxGvp":{"name":"lineCA","abstract":"

    Returns a line segment for the edge between the points c -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCBAA11LineSegmentVyxGvp":{"name":"lineCB","abstract":"

    Returns a line segment for the edge between the points c -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A20VectorMultiplicativeRzrlE14projectToWorldyxAcASQ6ScalarRpzrlE11CoordinatesVyx_GF":{"name":"projectToWorld(_:)","abstract":"

    Projects the given barycentric coordinates back into world space.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Returns the geometric center of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A19VectorFloatingPointRzrlE4area6ScalarQzvp":{"name":"area","abstract":"

    Returns the positive area of this triangle.

    ","parent_name":"Triangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangleAA0C0VyxGvp":{"name":"rectangle","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6radiusxvp":{"name":"radius","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangle6radiusACyxGAA0C0VyxG_xtcfc":{"name":"init(rectangle:radius:)","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this round rectangle’s","parent_name":"RoundNRectangle"},"Structs/Ray.html#/s:9Geometria3RayV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from start passes through before","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5start1bACyxGx_xtcfc":{"name":"init(start:b:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV6asLineAA0D0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this ray, where line.a matches","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE013asDirectionalB0AA0gB0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where ray.start","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive projected scalars (ray)

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"Ray"},"Structs/LineCategory.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11isOpenStartSbvp":{"name":"isOpenStart","abstract":"

    Returns whether the start of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV9isOpenEndSbvp":{"name":"isOpenEnd","abstract":"

    Returns whether the end of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:SY8rawValuexSg03RawB0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV4lineACvpZ":{"name":"line","abstract":"

    Category for a geometric line that define an infinite line.

    ","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV3rayACvpZ":{"name":"ray","abstract":"

    Category for a geometric ray line which has a starting","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11lineSegmentACvpZ":{"name":"lineSegment","abstract":"

    Category for a line segment that define a closed interval with a start","parent_name":"LineCategory"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValuexvp":{"name":"wrappedValue","abstract":"

    Gets or sets the underlying vector value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if the underlying vector is a non-zero value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValueACyxGx_tcfc":{"name":"init(wrappedValue:)","abstract":"

    Creates a new UnitVector with a given starting value.

    ","parent_name":"UnitVector"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneVyACyxGqd__c6VectorQyd__RszAA0D4TypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV02asbC0AA0bC0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormalPlane"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5pointxvp":{"name":"point","abstract":"

    A point on the surface of an object.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6normalxvp":{"name":"normal","abstract":"

    The surface normal of the shape at the point point.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV7asPlaneAA0bcE0VyxGvp":{"name":"asPlane","abstract":"

    Returns a PointNormalPlane value initialized with this point normal’s","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormal that wraps the given plane object.

    ","parent_name":"PointNormal"},"Structs/PointCloud.html#/s:9Geometria10PointCloudV6pointsSayxGvp":{"name":"points","abstract":"

    The points contained within this point-cloud.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVACyxGycfc":{"name":"init()","abstract":"

    Initializes an empty point-cloud.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudV6pointsACyxGqd___tc7ElementQyd__RszSTRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a new point-cloud with a given sequence of points.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A14VectorAdditiveRzrlE10translated2byACyxGx_tF":{"name":"translated(by:)","abstract":"

    Returns a copy of this point cloud, offset in space by offset.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A14VectorAdditiveRzAA0D10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Gets the minimal axis-aligned bounding box capable of containing this","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A20VectorMultiplicativeRzrlE6scaled2byACyxGx_tF":{"name":"scaled(by:)","abstract":"

    Returns a copy of this point cloud, scaled in space towards the origin","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A20VectorMultiplicativeRzrlE6scaled2by6aroundACyxGx_xtF":{"name":"scaled(by:around:)","abstract":"

    Returns a copy of this point cloud, scaled in space towards the given","parent_name":"PointCloud"},"Structs/NSquare.html#/s:9Geometria7NSquareV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8locationxvp":{"name":"location","abstract":"

    The location of this box, corresponding to the minimal coordinate of the","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV10sideLength6ScalarQzvp":{"name":"sideLength","abstract":"

    The length of the side edges of this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns a rectangle with the same boundaries as this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8location10sideLengthACyxGx_6ScalarQztcfc":{"name":"init(location:sideLength:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Returns the span of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE8verticesSayxGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given vector is contained within the bounds of this","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NSquare with position .zero and side length 1.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns whether a given line intersects with this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSquare"},"Structs/NSphere.html#/s:9Geometria7NSphereV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6centerxvp":{"name":"center","abstract":"

    The center point of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6center6radiusACyxGx_6ScalarQztcfc":{"name":"init(center:radius:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV11asEllipsoidAA0D0VyxGvp":{"name":"asEllipsoid","abstract":"

    Returns an ellipsoid with the same center point and radius parameters as","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVAAs18AdditiveArithmetic6ScalarRpzrlE8expanded2byACyxGAF_tF":{"name":"expanded(by:)","abstract":"

    Returns a new N-Sphere with the same center point as self, but with","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Retunrs an NSphere with center .zero and radius 1.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzSL6ScalarRpzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if this N-sphere’s area contains a given point by checking","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this sphere’s surface to vector.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this N-sphere’s area intersects the given line type.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"NSphere"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8locationxvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV4sizexvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a NRectangle with the location + size of a rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxGx_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxG6ScalarQz_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns an empty rectangle

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this rectangle is zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimumxvp":{"name":"minimum","abstract":"

    Minimum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7maximumxvp":{"name":"maximum","abstract":"

    Maximum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6asAABBAA0F0VyxGvp":{"name":"asAABB","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an empty NRectangle instance.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NRectangle instance out of the given minimum and maximum","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if size >= .zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2ofACyxGxd_tcfc":{"name":"init(of:)","abstract":"

    Initializes a NRectangle containing the minimum area capable of containing","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a NRectangle out of a set of points, expanding to the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given point.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given set of","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given NRectangle rests completely inside the boundaries","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this NRectangle intersects the given NRectangle instance.","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit this","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit two","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NRectangle with location .zero and size .one.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE8scaledBy6vectorACyxGx_tF":{"name":"scaledBy(vector:)","abstract":"

    Returns a NRectangle with the same position as this NRectangle, with its","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this NRectangle’s area intersects the given line type.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NRectangle"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5startxvp":{"name":"start","abstract":"

    Gets the starting point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV3endxvp":{"name":"end","abstract":"

    Gets the end point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this capsule.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13startAsSphereAA7NSphereVyxGvp":{"name":"startAsSphere","abstract":"

    Returns the NSphere that represents the top- or start, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV11endAsSphereAA7NSphereVyxGvp":{"name":"endAsSphere","abstract":"

    Returns the NSphere that represents the bottom- or end, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVAAs18AdditiveArithmetic6ScalarRpzSLAFRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this N-capsule’s parameters produce a valid, non-empty","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal bounds capable of fully containing this N-capsule’s","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this N-capsule’s surface to vector.

    ","parent_name":"NCapsule"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV6Scalara":{"name":"Scalar","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5startxvp":{"name":"start","abstract":"

    The bounded start of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV3endxvp":{"name":"end","abstract":"

    The bounded end of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1axvp":{"name":"a","abstract":"

    Alias for start.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1bxvp":{"name":"b","abstract":"

    Alias for b.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5start3endACyxGx_xtcfc":{"name":"init(start:end:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV02asB0AA0B0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5asRayAA0E0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV8reversedACyxGvp":{"name":"reversed","abstract":"

    Returns a new line segment that has the start and end points of this","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A16VectorComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this line segment’s","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A20VectorMultiplicativeRzrlE13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the squared length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Gets the center point of this line segment.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE16asDirectionalRayAA0hI0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for projected scalars (0-1), which describes a","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineSegment"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV6Scalara":{"name":"Scalar","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesSayxGvp":{"name":"vertices","abstract":"

    A sequence of vertices that describe sequential lines connected at the","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVACyxGycfc":{"name":"init()","abstract":"

    Initializes a LinePolygon with empty vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesACyxGSayxG_tcfc":{"name":"init(vertices:)","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV9addVertexyyxF":{"name":"addVertex(_:)","abstract":"

    Adds a new vertex at the end of this polygon’s vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV7reverseyyF":{"name":"reverse()","abstract":"

    Reverses the order of the vertices within this line polygon.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8reversedACyxGyF":{"name":"reversed()","abstract":"

    Returns a new line polygon where the vertices are the reversed list of","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV12lineSegmentsSayAA0B7SegmentVyxGGyF":{"name":"lineSegments()","abstract":"

    Returns a list of line segments that represent the outlines of this line","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A14VectorAdditiveRzAA0D10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing all points from this","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7averagexvp":{"name":"average","abstract":"

    Returns a vector with the coordinates of the arithmetic mean of all","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point within the lines represented by self to point.

    ","parent_name":"LinePolygon"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5enteryAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"enter(_:)","abstract":"

    Represents an intersection that crosses to within the boundaries","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O4exityAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"exit(_:)","abstract":"

    Represents an intersection that crosses to the outside of the","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5pointyAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"point(_:)","abstract":"

    Represents an intersection that is non-directional.

    ","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O11pointNormalAA05PointE0VyxGvp":{"name":"pointNormal","abstract":"

    Gets the point normal associated with this intersection

    ","parent_name":"Intersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContainedSbvp":{"name":"isContained","abstract":"

    A flag that is set to true if the line the shape was tested against is","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV13intersectionsSayAC0C0Oyx_GGvp":{"name":"intersections","abstract":"

    A list of intersections that where returned by a LineIntersectableType.

    ","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContained13intersectionsACyxGSb_SayAC0C0Oyx_GGtcfc":{"name":"init(isContained:intersections:)","parent_name":"LineIntersection"},"Structs/LineIntersection/Intersection.html":{"name":"Intersection","abstract":"

    Represents an intersection in a LineIntersection.

    ","parent_name":"LineIntersection"},"Structs/Line.html#/s:9Geometria4LineV6Scalara":{"name":"Scalar","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1axvp":{"name":"a","abstract":"

    An initial point a line tracing from infinity passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from a passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all non-NaN scalar values, which describes a","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Line"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV13asPointNormalAA0dE0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA0F13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection against this hyperplane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is contained within the enclosed space","parent_name":"Hyperplane"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6centerxvp":{"name":"center","abstract":"

    This ellipsoid’s center.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6radiusxvp":{"name":"radius","abstract":"

    The axis-aligned axis (or radii) for this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6center6radiusACyxGx_xtcfc":{"name":"init(center:radius:)","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an Ellipsoid with center .zero and radius .one.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given point is contained within this ellipse.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0H13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"
    ","parent_name":"Ellipsoid"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6Scalara":{"name":"Scalar","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9directionxvp":{"name":"direction","abstract":"

    A unit vector relative to start which indicates the direction of this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5start9directionACyxGx_xtcfc":{"name":"init(start:direction:)","abstract":"

    Initializes a directional ray with a given start position and direction","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayVyACyxGqd__c6VectorQyd__RszAA8LineTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a directional ray with a given line’s endpoints.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","abstract":"

    Initializes a directional ray with a line passing through a and b.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1axvp":{"name":"a","abstract":"

    Equivalent to start.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1bxvp":{"name":"b","abstract":"

    Equivalent to start + direction.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6asLineAA0E0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this directional ray, where line.a","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV02asC0AA0C0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this directional ray, where ray.start","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9lineSlopexvp":{"name":"lineSlope","abstract":"

    Gets the slope of this directional ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18withPointsScaledByyACyxGxF":{"name":"withPointsScaledBy(_:)","abstract":"
    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV15projectAsScalary0F0QzxF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18projectedMagnitudeyx6ScalarQzF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this ray’s start point","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive scalar values, which describes a ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV33clampProjectedNormalizedMagnitudey6ScalarQzAFF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"DirectionalRay"},"Structs/AABB.html#/s:9Geometria4AABBV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimumxvp":{"name":"minimum","abstract":"

    The minimal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7maximumxvp":{"name":"maximum","abstract":"

    The maximal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV8locationxvp":{"name":"location","abstract":"

    The location of this Box corresponding to its minimal vector.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NBox with the given minimum and maximum boundary","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV6boundsACyxGvp":{"name":"bounds","abstract":"

    Returns self.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVAASQRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this box is zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true iff minimum <= maximum.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of_ACyxGx_xtcfc":{"name":"init(of:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of__ACyxGx_xxtcfc":{"name":"init(of:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of___ACyxGx_xxxtcfc":{"name":"init(of:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to include the given point.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to fully include the given set of points.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE5clampyxxF":{"name":"clamp(_:)","abstract":"

    Clamps a given vector’s coordinates to the confines of this AABB.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given box is completely contained inside the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this box intersects the given box instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a box which is the minimum box capable of fitting self and the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a box which is the minimum box capable of fitting left and","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns a box with minimum and maximum set to Vector.zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Gets the size of this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE6isZeroSbvp":{"name":"isZero","abstract":"

    Returns true if this box is a AABB.zero instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns this Box represented as a Rectangle

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an AABB with zero minimal and maximal vectors.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes this AABB with the equivalent coordinates of a rectangle","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2of____ACyxGx_xxxxdtcfc":{"name":"init(of:_:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing all","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a box out of a set of points, expanding to the smallest","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5aabbsACyxGSayAGG_tcfc":{"name":"init(aabbs:)","abstract":"

    Initializes the smallest AABB capable of fully containing all of the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an AABB with minimum .zero and maximum .one.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this AABB into 2 ^ D (where D is the dimensional size of","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this AABB’s area intersects the given line type.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"AABB"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5startAA0B0VyxGvp":{"name":"start","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5sweepAA0B0VyxGvp":{"name":"sweep","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV4stopAA0B0VyxGvp":{"name":"stop","abstract":"

    Returns start + sweep.

    ","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGx_xtcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGAA0B0VyxG_AItcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other cover to the same angle sweep, after","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV8containsySbAA0B0VyxGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV7clampedyAA0B0VyxGAGF":{"name":"clamped(_:)","abstract":"

    Returns the result of clamping a given angle so it is contained within","parent_name":"AngleSweep"},"Structs/Angle.html#/s:9Geometria5AngleV2piACyxGvpZ":{"name":"pi","abstract":"

    Gets the angle value for the mathematical constant π.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansxvp":{"name":"radians","abstract":"

    Gets the radian value associated with this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansACyxGx_tcfc":{"name":"init(radians:)","abstract":"

    Initializes this angle with a given radians angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other refer to the same angle, after","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV10normalized4fromxx_tF":{"name":"normalized(from:)","abstract":"

    Returns this angle’s normalized representation, starting from a given","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV14relativeAngles2toACyxG8shortest_AF7longesttAF_tF":{"name":"relativeAngles(to:)","abstract":"

    Returns the relative sweep angles to go from self to other.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3cosxvp":{"name":"cos","abstract":"

    Returns the cosine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3sinxvp":{"name":"sin","abstract":"

    Returns the sine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3tanxvp":{"name":"tan","abstract":"

    Returns the tangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4acosxvp":{"name":"acos","abstract":"

    Returns the arccosine of this angle

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4asinxvp":{"name":"asin","abstract":"

    Returns the arcsine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4atanxvp":{"name":"atan","abstract":"

    Returns the arctangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4coshxvp":{"name":"cosh","abstract":"

    Returns the [hyperbolic cosine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4sinhxvp":{"name":"sinh","abstract":"

    Returns the [hyperbolic sine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4tanhxvp":{"name":"tanh","abstract":"

    Returns the [hyperbolic tangent][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5acoshxvp":{"name":"acosh","abstract":"

    Returns the [inverse hyperbolic cosine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5asinhxvp":{"name":"asinh","abstract":"

    Returns the [inverse hyperbolic sine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5atanhxvp":{"name":"atanh","abstract":"

    Returns the [inverse hyperbolic tangent][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4zeroACyxGvpZ":{"name":"zero","abstract":"

    Gets the zero radian angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two angles by summing their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two angles by subtracting their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_xtFZ":{"name":"+(_:_:)","abstract":"

    Adds a scalar and an angle, producing an angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_xtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts a scalar from an angle, producing an angle value

    ","parent_name":"Angle"},"Structs/Angle.html#/s:Sj9magnitude9MagnitudeQzvp":{"name":"magnitude","parent_name":"Angle"},"Structs/Angle.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj7exactlyxSgqd___tcSzRd__lufc":{"name":"init(exactly:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_AEtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2meoiyyACyxGz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_xtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Vector4.html#/s:9Geometria7Vector4V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1wxvp":{"name":"w","abstract":"

    w coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector4

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VyACyxGx_xxxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector4 with the values from a given tuple.

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector4 value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector4Type value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector4Type

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector4 where each component is the absolute value of the","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector3.html#/s:9Geometria7Vector3V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector3

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VyACyxGx_xxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector3 with the values from a given tuple.

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector3 value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector3Type value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector3Type

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector3 where each component is the absolute value of the","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7azimuthxvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6centerxvp":{"name":"center","abstract":"

    The geometric center point of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V4axisxvp":{"name":"axis","abstract":"

    The axis of revolution of the circle that composes the tube of the torus.","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11majorRadius6ScalarQzvp":{"name":"majorRadius","abstract":"

    The radius from the center of the torus to the center of the tube.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11minorRadius6ScalarQzvp":{"name":"minorRadius","abstract":"

    The radius of the tube of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6center4axis11majorRadius05minorF0ACyxGx_x6ScalarQzAJtcfc":{"name":"init(center:axis:majorRadius:minorRadius:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Gets the minimal bounding box capable of fully containing all the points","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given point vector is enclosed within the volume of","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Torus3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6upAxisxvp":{"name":"upAxis","abstract":"

    A normalized vector perpendicular to normal and rightAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9rightAxisxvp":{"name":"rightAxis","abstract":"

    A normalized vector perpendicular to normal and upAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5point6normal6upAxis05rightI0ACyxGx_xxxtcfc":{"name":"init(point:normal:upAxis:rightAxis:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeC0yyxF":{"name":"changePoint(_:)","abstract":"

    Updates the value of this instance’s point.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingC0yACyxGxF":{"name":"changingPoint(_:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same normal,","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeD0_6upAxisyx_xtF":{"name":"changeNormal(_:upAxis:)","abstract":"

    Replaces this instance with a new ProjectivePointNormalPlane3 with","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingD0_6upAxisACyxGx_xtF":{"name":"changingNormal(_:upAxis:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same point as","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V18makeCorrectedPlane5point6normal6upAxisACyxGx_xxtFZ":{"name":"makeCorrectedPlane(point:normal:upAxis:)","abstract":"

    Creates a new ProjectivePointNormalPlane3 by computing rightAxis","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V02ascD5PlaneAA0cdG0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a point normal plane with the same point and normal as this","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V23projectLineIntersectiony10SubVector2QzSgqd__6VectorQyd__RszAA013Line3FloatingC0Rd__lF":{"name":"projectLineIntersection(_:)","abstract":"

    With a given line, perform a plane-line intersection and project the","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9project2Dy10SubVector2QzxF":{"name":"project2D(_:)","abstract":"

    Performs a projection of a given vector onto this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuthxvp":{"name":"azimuth","abstract":"

    The azimuth, or XY-plane angle in 3D space, of this coordinate in radians.

    ","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this coordinate in radians, or the angle between","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuth9elevationACyxGx_xtcfc":{"name":"init(azimuth:elevation:)","parent_name":"SphereCoordinates"},"Structs/Disk3.html#/s:9Geometria5Disk3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6centerxvp":{"name":"center","abstract":"

    The center point of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6normalxvp":{"name":"normal","abstract":"

    The normal of the disk’s surface.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6center6normal6radiusACyxGx_x6ScalarQztcfc":{"name":"init(center:normal:radius:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V18asPointNormalPlaneAA0deF0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a PointNormalPlane3 with the same point and normal vectors","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V12intersection4withxSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this disk.

    ","parent_name":"Disk3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5startxvp":{"name":"start","abstract":"

    The starting point of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V3endxvp":{"name":"end","abstract":"

    The end point of this cylinder

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V9asCapsuleAA8NCapsuleVyxGvp":{"name":"asCapsule","abstract":"

    Returns a Capsule3 with the same start, end, and radius","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VAASQRzs18AdditiveArithmetic6ScalarAA10VectorTypePRpzSLAHRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this cylinder’s parameters produce a valid, non-empty","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE11startAsDiskAA5Disk3VyxGvp":{"name":"startAsDisk","abstract":"

    Returns the disk that represents the top- or start, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE9endAsDiskAA5Disk3VyxGvp":{"name":"endAsDisk","abstract":"

    Returns the disk that represents the bottom- or end, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point onto this cylinder, returning the closest point","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A11Vector3RealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA18Line3FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the intersection points of a given line along this cylinder’s","parent_name":"Cylinder3"},"Structs/Vector2.html#/s:9Geometria7Vector2V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector2

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VyACyxGx_xt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector2 with the values from a given tuple.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector2 value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector2Type value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector2Type

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector2 where each component is the absolute value of the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE13perpendicularACyxGyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE11leftRotatedACyxGyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE12rightRotatedACyxGyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE5anglexvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2byACyxGAA5AngleVyxG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate2byyAA5AngleVyxG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2by6aroundACyxGAA5AngleVyxG_AJtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate_2byACyxGAI_AA5AngleVyxGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_xANtFZ":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_AA5AngleVyxGANtFZ":{"name":"matrix(scale:rotate:translate:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE1moiyACyxGAH_AA9Matrix3x2VyxGtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE2meoiyyACyxGz_AA9Matrix3x2VyxGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5pointxvp":{"name":"point","abstract":"

    The intersection point in global space.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line1NormalizedMagnitude6ScalarQzvp":{"name":"line1NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line2NormalizedMagnitude6ScalarQzvp":{"name":"line2NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5point24line1NormalizedMagnitude05line2gH0ACyxGx_6ScalarQzAItcfc":{"name":"init(point:line1NormalizedMagnitude:line2NormalizedMagnitude:)","parent_name":"LineIntersectionResult"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left6ScalarQzvp":{"name":"left","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V3top6ScalarQzvp":{"name":"top","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V5right6ScalarQzvp":{"name":"right","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6bottom6ScalarQzvp":{"name":"bottom","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left3top5right6bottomACyxG6ScalarQz_A3Jtcfc":{"name":"init(left:top:right:bottom:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VyACyxG6ScalarQzcfc":{"name":"init(_:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE5inset9rectangleAA10NRectangleVyxGAI_tF":{"name":"inset(rectangle:)","parent_name":"EdgeInsets2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6Scalara":{"name":"Scalar","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6centerxvp":{"name":"center","abstract":"

    The center of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startAngleAA0E0Vy6ScalarQzGvp":{"name":"startAngle","abstract":"

    The starting angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10sweepAngleAA0E0Vy6ScalarQzGvp":{"name":"sweepAngle","abstract":"

    The sweep angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzA2Jtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzAA0G0VyAJGAMtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPoint03endE010sweepAngleACyxGx_xAA0H0Vy6ScalarQzGtcfc":{"name":"init(startPoint:endPoint:sweepAngle:)","abstract":"

    Creates a new circular arc that fills the space between startPoint and","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center10startPoint03endF0ACyxGx_xxtcfc":{"name":"init(center:startPoint:endPoint:)","abstract":"

    Creates a new circular arc that fits the given start/end points on the","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9asCircle2AA7NSphereVyxGvp":{"name":"asCircle2","abstract":"

    Constructs a circle with the same center + radius as this circle arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12asAngleSweepAA0eF0Vy6ScalarQzGvp":{"name":"asAngleSweep","abstract":"

    Constructs an angle sweep from this arc’s start and sweep angles.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9stopAngleAA0E0Vy6ScalarQzGvp":{"name":"stopAngle","abstract":"

    Returns the stop angle of this sweep, as the sum of startAngle + sweepAngle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V4area6ScalarQzvp":{"name":"area","abstract":"

    Computes the area of this circular arc, when interpreted as a pie slice","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9arcLength6ScalarQzvp":{"name":"arcLength","abstract":"

    Computes the length of this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V11chordLength6ScalarQzvp":{"name":"chordLength","abstract":"

    Computes the length of the chord represented by this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPointxvp":{"name":"startPoint","abstract":"

    Returns the starting point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8endPointxvp":{"name":"endPoint","abstract":"

    Returns the end point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySb6ScalarQzF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle in radians","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySbAA5AngleVy6ScalarQzGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7clampedyAA5AngleVy6ScalarQzGAIF":{"name":"clamped(_:)","abstract":"

    Clamps a given angle to be within this arc’s startAngle + sweepAngle range.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12pointOnAngleyxAA0F0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on the circle represented by this arc on a given angle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6boundsAA4AABBVyxGyF":{"name":"bounds()","abstract":"

    Returns the minimal bounding box capable of fully containing this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9quadrantsSayxGyF":{"name":"quadrants()","abstract":"

    Returns the coordinates of the occupied quadrants that this arc sweeps","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point to the closest point within this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance to the closest point within this arc to the","parent_name":"CircleArc2"},"Structs/CircleArc2.html":{"name":"CircleArc2","abstract":"

    Represents a 2D arc of a circle as a center, radius, and start+sweep angles.

    "},"Structs/EdgeInsets2.html":{"name":"EdgeInsets2","abstract":"

    Represents a 2D edge inset as relative inset values for each of the four"},"Structs/LineIntersectionResult.html":{"name":"LineIntersectionResult","abstract":"

    Describes the result of a line-line intersection query on two"},"Structs/Vector2.html":{"name":"Vector2","abstract":"

    A two-component vector type

    "},"Structs/Cylinder3.html":{"name":"Cylinder3","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Structs/Disk3.html":{"name":"Disk3","abstract":"

    Represents a 3-dimensional flat disk as a center point, normal, and radius.

    "},"Structs/SphereCoordinates.html":{"name":"SphereCoordinates","abstract":"

    Coordinates on a sphere projective space.

    "},"Structs/ProjectivePointNormalPlane3.html":{"name":"ProjectivePointNormalPlane3","abstract":"

    A point-normal plane with a separate up and right vector used to control"},"Structs/Torus3.html":{"name":"Torus3","abstract":"

    Represents a three dimensional torus shape as a center point, an axis of"},"Structs/Vector3.html":{"name":"Vector3","abstract":"

    A three-component vector type

    "},"Structs/Vector4.html":{"name":"Vector4","abstract":"

    A four-component vector type

    "},"Structs/Angle.html":{"name":"Angle","abstract":"

    A standardized representation of an angle.

    "},"Structs/AngleSweep.html":{"name":"AngleSweep","abstract":"

    A pair of angle + angle range values that can be used to test inclusivity of"},"Structs/AABB.html":{"name":"AABB","abstract":"

    Represents an axis-aligned bounding box with two N-dimensional vectors that"},"Structs/DirectionalRay.html":{"name":"DirectionalRay","abstract":"

    Represents an N-dimensional geometric ray which projects a line from a"},"Structs/Ellipsoid.html":{"name":"Ellipsoid","abstract":"

    Represents an N-dimensional ellipsoid as a center with an N-dimensional"},"Structs/Hyperplane.html":{"name":"Hyperplane","abstract":"

    Represents a hyperplane with a"},"Structs/Line.html":{"name":"Line","abstract":"

    Represents a geometric line as a pair of start and end N-dimensional vectors"},"Structs/LineIntersection.html":{"name":"LineIntersection","abstract":"

    The result of a LineIntersectableType-line intersection test.

    "},"Structs/LinePolygon.html":{"name":"LinePolygon","abstract":"

    Represents a line polygon as a series of connected N-dimensional vertices.

    "},"Structs/LineSegment.html":{"name":"LineSegment","abstract":"

    Represents a line segment as a pair of start and end N-dimensional vectors"},"Structs/NCapsule.html":{"name":"NCapsule","abstract":"

    Represents an N-dimensional capsule (A"},"Structs/NRectangle.html":{"name":"NRectangle","abstract":"

    Represents an N-dimensional rectangle with a vector describing its origin"},"Structs/NSphere.html":{"name":"NSphere","abstract":"

    Represents an N-dimensional sphere"},"Structs/NSquare.html":{"name":"NSquare","abstract":"

    Represents an N-dimensional square with an origin point and a scalar value"},"Structs/PointCloud.html":{"name":"PointCloud","abstract":"

    A point-cloud container for"},"Structs/PointNormal.html":{"name":"PointNormal","abstract":"

    Represents a point along with a normal on the surface of a geometry.

    "},"Structs/PointNormalPlane.html":{"name":"PointNormalPlane","abstract":"

    Represents an infinite plane with a point and a normal.

    "},"Structs/UnitVector.html":{"name":"UnitVector","abstract":"

    Wraps a vector and ensures that assignments are always stored as a unit"},"Structs/LineCategory.html":{"name":"LineCategory","abstract":"

    Represents the category for a LineType, specifying whether the end points"},"Structs/Ray.html":{"name":"Ray","abstract":"

    Represents an N-dimensional geometric ray line which has a starting point"},"Structs/RoundNRectangle.html":{"name":"RoundNRectangle","abstract":"

    Represents an N-dimensional rounded rectangle with a rectangle and radius"},"Structs/Triangle.html":{"name":"Triangle","abstract":"

    Represents a [triangle] as a trio of N-dimensional vectors which describe a"},"Structs/Matrix2x2.html":{"name":"Matrix2x2","abstract":"

    Plain 2-row 2-column Matrix with real components.

    "},"Structs/Matrix3x2.html":{"name":"Matrix3x2","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with floating-point"},"Structs/Matrix3x3.html":{"name":"Matrix3x3","abstract":"

    Plain 3-row 3-column Matrix with real components.

    "},"Structs/Matrix4x4.html":{"name":"Matrix4x4","abstract":"

    Plain 4-row 4-column Matrix with real components.

    "},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP9TransposeQa":{"name":"Transpose","abstract":"

    The resulting type of a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP10transposed9TransposeQzyF":{"name":"transposed()","abstract":"

    Returns a new matrix that is a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP11determinant6ScalarQzyF":{"name":"determinant()","abstract":"

    Returns the determinant of this square matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP8invertedxSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP1moiyxx_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"SquareMatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar value associated with each element of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8identityxvpZ":{"name":"identity","abstract":"

    Gets the identity matrix for this matrix type.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8rowCountSivp":{"name":"rowCount","abstract":"

    Gets the number of rows in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP11columnCountSivp":{"name":"columnCount","abstract":"

    Gets the number of columns in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypePy6ScalarQzSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Gets or sets the scalar value on a given column/row in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(rowMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(columnMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesSay6ScalarQzGyF":{"name":"rowMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesSay6ScalarQzGyF":{"name":"columnMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1poiyxx_xtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1soiyxx_xtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and stores","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar type associated with this VectorType.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypePy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","abstract":"

    Creates a new VectorType with the given scalar on all coordinates.

    ","parent_name":"VectorType"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector2Qa":{"name":"SubVector2","abstract":"

    The 2-dimensional vector type for selections of 2-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector3Qa":{"name":"SubVector3","abstract":"

    The 3-dimensional vector type for selections of 3-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector4Qa":{"name":"SubVector4","abstract":"

    The 4-dimensional vector type for selections of 4-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP14TakeDimensionsQa":{"name":"TakeDimensions","abstract":"

    A named indexer into the dimensions of this vector.

    ","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector2Qz14TakeDimensionsQz_AGtcip":{"name":"subscript(_:_:)","abstract":"

    Takes a new 2D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector3Qz14TakeDimensionsQz_A2Gtcip":{"name":"subscript(_:_:_:)","abstract":"

    Takes a new 3D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector4Qz14TakeDimensionsQz_A3Gtcip":{"name":"subscript(_:_:_:_:)","abstract":"

    Takes a new 4D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8absolutexvp":{"name":"absolute","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","abstract":"

    Returns a VectorSigned where each component is one","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8withSign2ofxx_tF":{"name":"withSign(of:)","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates this Vector by flipping the sign of each component.

    ","parent_name":"VectorSigned"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_6ScalarQztFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3onexvpZ":{"name":"one","abstract":"

    A unit-value VectorType value where each component corresponds to its","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the length squared of this VectorType.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this VectorType and another","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3doty6ScalarQzxF":{"name":"dot(_:)","abstract":"

    Calculates the dot product","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP4lerp5start3end6amountxx_x6ScalarQztFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two vectors.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyx6ScalarQz_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length), or","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP9normalizeyyF":{"name":"normalize()","abstract":"

    Normalizes this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP10normalizedxyF":{"name":"normalized()","abstract":"

    Returns a normalized version of this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP8distance2to6ScalarQzx_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this VectorFloatingPoint and another","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyx6ScalarQz_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_6ScalarQztF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedyxs0cD12RoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedxyF":{"name":"rounded()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP4ceilxyF":{"name":"ceil()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP5floorxyF":{"name":"floor()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_xtFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_6ScalarQztFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyx6ScalarQz_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16maximalComponent6ScalarQzvp":{"name":"maximalComponent","abstract":"

    Returns the component of this vector that has the greatest value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16minimalComponent6ScalarQzvp":{"name":"minimalComponent","abstract":"

    Returns the component of this vector that has the least value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMinyxx_xtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMaxyxx_xtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1loiySbx_xtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2leoiySbx_xtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1goiySbx_xtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2geoiySbx_xtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","abstract":"

    Gets the number of scalars within this vector that has a non-zero value.

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditivePxycfc":{"name":"init()","abstract":"

    Initializes a zero-valued VectorType

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_6ScalarQztFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_6ScalarQztFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_6ScalarQztFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_6ScalarQztFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given rectangle rests completely inside the boundaries","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP10intersectsySbxF":{"name":"intersects(_:)","abstract":"

    Returns whether this rectangle intersects the given rectangle instance.","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP5unionyxxF":{"name":"union(_:)","abstract":"

    Returns a rectangle which is the minimum rectangle that can fit this","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP12intersectionyxSgxF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"SelfIntersectableRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a copy of this rectangle with its location offset by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP9resizedByyx6VectorQzF":{"name":"resizedBy(_:)","abstract":"

    Returns a copy of this rectangle with its size increased by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8verticesSay6VectorQzGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this rectangle.

    ","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE8offsetByyx6VectorAA0cD0PQzF":{"name":"offsetBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE9resizedByyx6VectorAA0cD0PQzF":{"name":"resizedBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypeP14signedDistance2to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance of a given point to this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypePAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Projects a given vector on this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector for this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","abstract":"

    A point that is on this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6normal6VectorQzvp":{"name":"normal","abstract":"

    A normal vector specifying the slope- or ‘up’, of the plane’s surface.

    ","parent_name":"PlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP39unclampedNormalMagnitudeForIntersection4with6Vector_6ScalarQZSgqd___tAA0B13FloatingPointRd__AFQyd__AFRtzlF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"LineIntersectablePlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP12intersection4with6VectorQzSgqd___tAA0B13FloatingPointRd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this plane.

    ","parent_name":"LineIntersectablePlaneType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","abstract":"

    Gets the first point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1b6VectorQzvp":{"name":"b","abstract":"

    Gets the second point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","abstract":"

    Gets the category for this LineType, specifying whether the end points","parent_name":"LineType"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP16projectUnclampedy6VectorQzAFF":{"name":"projectUnclamped(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line.","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP18projectedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP28projectedNormalizedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedNormalizedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP36containsProjectedNormalizedMagnitudeySb6Vector_6ScalarQZF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true if a normalized, projected scalar representing a segment","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP33clampProjectedNormalizedMagnitudey6Vector_6ScalarQZAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointPAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns the closest point on this line to a given point.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"LineFloatingPoint"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP9Magnitudea":{"name":"Magnitude","abstract":"

    Alias for Vector.Scalar.

    ","parent_name":"LineDivisible"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP15projectAsScalary6Vector_0F0QZAEQzF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line,","parent_name":"LineDivisible"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP9lineSlope6VectorQzvp":{"name":"lineSlope","abstract":"

    Gets the slope of this line, or the vector that represents b - a.

    ","parent_name":"LineAdditive"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a new line with the same slope, but with the end-points shifted","parent_name":"LineAdditive"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP1doiyxx_xtFZ":{"name":"/(_:_:)","abstract":"

    Divides two values.

    ","parent_name":"DivisibleArithmetic"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","abstract":"

    Divides two values and stores the result in the left-hand-side","parent_name":"DivisibleArithmetic"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP6VectorQa":{"name":"Vector","abstract":"

    The type of vector associated with this SignedDistanceMeasurableType.

    ","parent_name":"SignedDistanceMeasurableType"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance from the closest point on the surface of","parent_name":"SignedDistanceMeasurableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this PointProjectableType.

    ","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns a vector on the surface of this geometric type that is the","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between the closest point in this geometric","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between the closest point in this geometric type’s","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A20VectorMultiplicative0E0RpzrlE15distanceSquared2toAE_6ScalarQZAF_tF":{"name":"distanceSquared(to:)","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A014VectorFloatingB00E0RpzrlE8distance2toAE_6ScalarQZAF_tF":{"name":"distance(to:)","parent_name":"PointProjectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineIntersectableType.

    ","parent_name":"LineIntersectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"LineIntersectableType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this ConvexType.

    ","parent_name":"ConvexType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"ConvexType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this BoundableType.

    ","parent_name":"BoundableType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","abstract":"

    Gets a bounding box with the minimal volume to fully enclose all points","parent_name":"BoundableType"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP6VectorQa":{"name":"Vector","abstract":"

    The vector type for the higher-dimensional shape in Euclidean geometric","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","abstract":"

    The type for projective coordinates within the projective space.

    ","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","abstract":"

    Projects a vector onto this projective space, and if successful, returns","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","abstract":"

    Pulls out a projective coordinate from this space back to the original","parent_name":"ProjectiveSpace"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP03SubB0Qa":{"name":"SubVector4","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1w6ScalarQzvp":{"name":"w","abstract":"

    The W coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1z1wxqd___6ScalarQzAGtcAA07Vector2C0Rd__AFQyd__AGRSlufc":{"name":"init(_:z:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1wxqd___6ScalarQztcAA07Vector3C0Rd__AEQyd__AFRSlufc":{"name":"init(_:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector4Type type by copying the","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector4FloatingPoint with a given binary Vector3

    ","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector4Additive"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector3TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Additive"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP03SubB0Qa":{"name":"SubVector3","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP_1zxqd___6ScalarQztcAA07Vector2C0Rd__AEQyd__AFRSlufc":{"name":"init(_:z:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector3Type type by copying the","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP7azimuth6ScalarQzvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3Real"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP9elevation6ScalarQzvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3Real"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitZxvpZ":{"name":"unitZ","abstract":"

    Gets the (x: 0, y: 0, z: 1) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5crossyxxF":{"name":"cross(_:)","abstract":"

    Performs a cross product between this vector and another vector.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 3D vector triple product between self, b, and c:","parent_name":"Vector3Multiplicative"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector3FloatingPoint with a given binary Vector3

    ","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3Additive.html#/s:9Geometria15Vector3AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Additive"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypeP12intersection4withAA4LineVy6VectorQzGSgqd___tAA0hcbE0Rd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 3 dimensional plane with another","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypePA2A21Vector3Multiplicative6VectorRpzrlE12intersection4withAA4LineVyAFGSgqd___tAA0kcbE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","abstract":"

    The 2D type of this 3D line.

    ","parent_name":"Line3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP10make2DLiney8SubLine2QzAE_6VectorQZ_AHtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3Type"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP44unclampedNormalizedMagnitudesForShortestLine2to6Vector_6ScalarAA0L4TypePQZ6onSelf_AJ0O5OthertSgqd___tAA0jcD0Rd__AFQyd__AFRtzlF":{"name":"unclampedNormalizedMagnitudesForShortestLine(to:)","abstract":"

    Returns a pair of unclamped, normalized magnitudes, on self and","parent_name":"Line3FloatingPoint"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP12shortestLine2toAA0F7SegmentVy6VectorQzGSgqd___tAA0fcD0Rd__AHQyd__AIRSlF":{"name":"shortestLine(to:)","abstract":"

    Returns the shortest line segment between the points of this line to","parent_name":"Line3FloatingPoint"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Line3IntersectableType.

    ","parent_name":"Line3IntersectableType"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP13intersections4withAA16LineIntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"Line3IntersectableType"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex3Type.

    ","parent_name":"Convex3Type"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line3FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex3Type"},"Protocols/SphereProjectiveSpace.html#/s:9Geometria21SphereProjectiveSpaceP6ScalarQa":{"name":"Scalar","parent_name":"SphereProjectiveSpace"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP03SubB0Qa":{"name":"SubVector2","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector2Type type by copying the","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP13perpendicularxyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP11leftRotatedxyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP12rightRotatedxyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle2toAA5AngleVy6ScalarQzGx_tF":{"name":"angle(to:)","abstract":"

    Returns the angle between self and other.

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byx6ScalarQz_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byxAA5AngleVy6ScalarQzG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byy6ScalarQz_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byyAA5AngleVy6ScalarQzG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundx6ScalarQz_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundxAA5AngleVy6ScalarQzG_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_6ScalarQztFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_AA5AngleVy6ScalarQzGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP1moiyxx_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP2meoiyyxz_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5crossy6ScalarQzxF":{"name":"cross(_:)","abstract":"

    Calculates the cross product between this and another provided Vector.","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 2D vector triple product between self, b, and c:","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP7windingy6ScalarQzx_xxtFZ":{"name":"winding(_:_:_:)","abstract":"

    Returns the winding value of the three given input points.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativePAAE12areClockwiseySbx_xxtSL6ScalarRpzrlFZ":{"name":"areClockwise(_:_:_:)","abstract":"

    Returns true if the three given input points are wound in clockwise order.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector2FloatingPoint with a given binary Vector2

    ","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this RectangleType.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP8location6VectorQzvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP4size6VectorQzvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets the X position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets the Y position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets the width of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets the height of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE3topAE_6ScalarQZvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE4leftAE_6ScalarQZvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE7topLeftAFvp":{"name":"topLeft","abstract":"

    The top-left corner of the rectangle.

    ","parent_name":"RectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP6center6VectorQzvp":{"name":"center","abstract":"

    Gets the center point of this rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10inflatedByyx6VectorQzF":{"name":"inflatedBy(_:)","abstract":"

    Returns a new rectangle which is an inflated version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP7insetByyx6VectorQzF":{"name":"insetBy(_:)","abstract":"

    Returns a new rectangle which is an inset version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP12movingCenter2tox6VectorQz_tF":{"name":"movingCenter(to:)","abstract":"

    Returns a new rectangle with the same size as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP8scaledBy_6aroundx6Vector_6ScalarQZ_AFQztF":{"name":"scaledBy(_:around:)","abstract":"

    Returns a new rectangle with its bounds scaled around a given center point","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP20scaledAroundCenterByyx6Vector_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","abstract":"

    Returns a new rectangle with the same center point as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10subdividedSayxGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerXAfH_6ScalarAA0gD0PQZvp":{"name":"centerX","abstract":"

    Gets or sets the center X position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerYAfH_6ScalarAA0gD0PQZvp":{"name":"centerY","abstract":"

    Gets or sets the center Y position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE10inflatedBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"inflatedBy(x:y:)","abstract":"

    Returns a Rectangle which is an inflated version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7insetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"insetBy(x:y:)","abstract":"

    Returns a Rectangle which is an inset version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE12movingCenter3toX1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"movingCenter(toX:y:)","abstract":"

    Returns a new Rectangle with the same width and height as the current","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE6center6VectorAA0cD0PQzvp":{"name":"center","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE10inflatedByyx6VectorAA0cD0PQzF":{"name":"inflatedBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE7insetByyx6VectorAA0cD0PQzF":{"name":"insetBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE12movingCenter2tox6VectorAA0cD0PQz_tF":{"name":"movingCenter(to:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE8scaledBy_6aroundx6VectorAA0cD0P_6ScalarQZ_AgIQztF":{"name":"scaledBy(_:around:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE20scaledAroundCenterByyx6VectorAA0cD0P_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8location4sizex6VectorQz_AGtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a new instance of a ConstructableRectangleType with the","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP12withLocationyx6VectorQzF":{"name":"withLocation(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8withSizeyx6VectorQzF":{"name":"withSize(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s location with a","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets or sets the X position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets or sets the Y position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets or sets the width of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets or sets the height of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1x1y5width6heightxAE_6ScalarQZ_A3Ltcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a 2D rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE8withSize5width6heightxAE_6ScalarQZ_AKtF":{"name":"withSize(width:height:)","abstract":"

    Returns a Rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE12withLocation1x1yxAE_6ScalarQZ_AKtF":{"name":"withLocation(x:y:)","abstract":"

    Returns a rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE9movingTop2toxAE_6ScalarQZ_tF":{"name":"movingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE10movingLeft2toxAE_6ScalarQZ_tF":{"name":"movingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A08AdditivecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE8offsetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"offsetBy(x:y:)","abstract":"

    Returns a copy of this Rectangle with the minimum and maximum coordinates","parent_name":"ConstructableRectangleType"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypeP12intersection4with6VectorQzSgqd___tAA0bE0Rd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 2 dimensional plane with another","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypePA2A20Vector2FloatingPoint6VectorRpzrlE12intersection4withAFSgqd___tAA0bE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/Line2Real.html#/s:9Geometria9Line2RealP5angle6Vector_6ScalarQZvp":{"name":"angle","abstract":"

    Returns the angle of this line, in radians

    ","parent_name":"Line2Real"},"Protocols/Line2FloatingPoint.html#/s:9Geometria18Line2FloatingPointP12intersection4withAA22LineIntersectionResultVy6VectorQzGSgqd___tAaBRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line-line intersection with other.

    ","parent_name":"Line2FloatingPoint"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP6VectorQa":{"name":"Vector","abstract":"

    The comparable vector type associated with this VolumetricType.

    ","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP8containsySb6VectorQzF":{"name":"contains(_:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector2C06VectorRpzrlE8contains1x1ySbAE_6ScalarAA0eC0PQZ_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector3C06VectorRpzrlE8contains1x1y1zSbAE_6ScalarAA0eC0PQZ_A2NtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true iff vector lies within the ‘inside’ volume of this","parent_name":"VolumetricType"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex2Type.

    ","parent_name":"Convex2Type"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line2FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex2Type"},"Protocols/Convex2Type.html":{"name":"Convex2Type","abstract":"

    Protocol for 2D geometric types defined by floating-point vectors that form"},"Protocols/VolumetricType.html":{"name":"VolumetricType","abstract":"

    Protocol for geometric types that have an internal volumetric area that can"},"Protocols/Line2FloatingPoint.html":{"name":"Line2FloatingPoint","abstract":"

    Protocol for 2D line types where the vectors are floating-point vectors.

    "},"Protocols/Line2Real.html":{"name":"Line2Real","abstract":"

    Protocol for 2D line types where the vectors are real vectors.

    "},"Protocols.html#/s:9Geometria9Line2TypeP":{"name":"Line2Type","abstract":"

    A line that is described by two 2-dimensional vectors.

    "},"Protocols/PlaneIntersectablePlane2Type.html":{"name":"PlaneIntersectablePlane2Type","abstract":"

    A 1D plane in 2D space that can be intersected with other intersectable"},"Protocols/ConstructableRectangleType.html":{"name":"ConstructableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be constructed with location"},"Protocols/DivisibleRectangleType.html":{"name":"DivisibleRectangleType","abstract":"

    Protocol refining RectangleType with VectorDivisible extensions.

    "},"Protocols/RectangleType.html":{"name":"RectangleType","abstract":"

    Protocol for geometric types defined by vectors that fill enclosed"},"Protocols.html#/s:9Geometria15Vector2AdditiveP":{"name":"Vector2Additive","abstract":"

    Protocol for 2D types that support addition and subtraction.

    "},"Protocols/Vector2FloatingPoint.html":{"name":"Vector2FloatingPoint","abstract":"

    Protocol for 2D vector types where the components are floating-point numbers.

    "},"Protocols/Vector2Multiplicative.html":{"name":"Vector2Multiplicative","abstract":"

    Protocol for 2D vector types with multiplicable scalars.

    "},"Protocols/Vector2Real.html":{"name":"Vector2Real","abstract":"

    Protocol for 2D real vector types.

    "},"Protocols/Vector2Signed.html":{"name":"Vector2Signed","abstract":"

    Protocol for 2D vector types where the components are signed numbers.

    "},"Protocols/Vector2Type.html":{"name":"Vector2Type","abstract":"

    Protocol for types that can represent 2D vectors.

    "},"Protocols.html#/s:9Geometria20PlaneProjectiveSpaceP":{"name":"PlaneProjectiveSpace","abstract":"

    A projective space for 2D planes.

    "},"Protocols/SphereProjectiveSpace.html":{"name":"SphereProjectiveSpace","abstract":"

    A projected space laying on the surface of a 3-dimensional sphere, with a"},"Protocols/Convex3Type.html":{"name":"Convex3Type","abstract":"

    Protocol for 3D geometric types defined by floating-point vectors that form"},"Protocols/Line3IntersectableType.html":{"name":"Line3IntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with 3D lines.

    "},"Protocols/Line3FloatingPoint.html":{"name":"Line3FloatingPoint","abstract":"

    Protocol for 3D line types where the vectors are floating-point vectors.

    "},"Protocols/Line3Type.html":{"name":"Line3Type","abstract":"

    A line that is described by two 3-dimensional vectors.

    "},"Protocols.html#/s:9Geometria10Plane3TypeP":{"name":"Plane3Type","abstract":"

    A plane that represents a flat 2D surface in 3D space.

    "},"Protocols/PlaneIntersectablePlane3Type.html":{"name":"PlaneIntersectablePlane3Type","abstract":"

    A 2D plane in 3D space that can be intersected with other intersectable"},"Protocols/Vector3Additive.html":{"name":"Vector3Additive","abstract":"

    Protocol for 3D vector types with additive scalars.

    "},"Protocols/Vector3FloatingPoint.html":{"name":"Vector3FloatingPoint","abstract":"

    Protocol for 3D vector types where the components are floating-point numbers

    "},"Protocols/Vector3Multiplicative.html":{"name":"Vector3Multiplicative","abstract":"

    Protocol for 3D vector types with multiplicable scalars.

    "},"Protocols/Vector3Real.html":{"name":"Vector3Real","abstract":"

    Protocol for 3D vector types where the components are Real numbers

    "},"Protocols/Vector3Type.html":{"name":"Vector3Type","abstract":"

    Protocol for types that can represent 3D vectors.

    "},"Protocols/Vector4Additive.html":{"name":"Vector4Additive","abstract":"

    Protocol for 4D vector types with additive scalars.

    "},"Protocols/Vector4FloatingPoint.html":{"name":"Vector4FloatingPoint","abstract":"

    Protocol for 4D vector types where the components are floating-point numbers

    "},"Protocols/Vector4Type.html":{"name":"Vector4Type","abstract":"

    Protocol for types that can represent 4D vectors.

    "},"Protocols/ProjectiveSpace.html":{"name":"ProjectiveSpace","abstract":"

    A protocol for projective spaces, where lower-dimensional spaces can be"},"Protocols/BoundableType.html":{"name":"BoundableType","abstract":"

    Protocol for general geometric types that can be fitted into a finite,"},"Protocols/ConvexType.html":{"name":"ConvexType","abstract":"

    Protocol for N-dimensional geometric types defined by floating-point vectors"},"Protocols.html#/s:9Geometria13GeometricTypeP":{"name":"GeometricType","abstract":"

    A general geometric type.

    "},"Protocols/LineIntersectableType.html":{"name":"LineIntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with lines.

    "},"Protocols/PointProjectableType.html":{"name":"PointProjectableType","abstract":"

    Protocol for geometric types that support vector projection operations.

    "},"Protocols/SignedDistanceMeasurableType.html":{"name":"SignedDistanceMeasurableType","abstract":"

    Represents an object that exposese a single function that returns the signed"},"Protocols/DivisibleArithmetic.html":{"name":"DivisibleArithmetic","abstract":"

    A type with values that support division.

    "},"Protocols/LineAdditive.html":{"name":"LineAdditive","abstract":"

    Protocol for objects that form geometric lines with two VectorAdditive"},"Protocols/LineDivisible.html":{"name":"LineDivisible","abstract":"

    Protocol for objects that form geometric lines with two VectorDivisible"},"Protocols/LineFloatingPoint.html":{"name":"LineFloatingPoint","abstract":"

    Protocol for objects that form geometric lines with two floating-point"},"Protocols/LineMultiplicative.html":{"name":"LineMultiplicative","abstract":"

    Protocol for objects that form geometric lines with two VectorMultiplicative"},"Protocols.html#/s:9Geometria8LineRealP":{"name":"LineReal","abstract":"

    Protocol for objects that form geometric lines with two VectorReal"},"Protocols/LineType.html":{"name":"LineType","abstract":"

    Protocol for objects that form geometric lines with at least two distinct"},"Protocols/LineIntersectablePlaneType.html":{"name":"LineIntersectablePlaneType","abstract":"

    Represents a plane type that has support for line-intersection.

    "},"Protocols/PlaneType.html":{"name":"PlaneType","abstract":"

    Represents a plane in N-dimensional space with a center point and a normal"},"Protocols/PointProjectablePlaneType.html":{"name":"PointProjectablePlaneType","abstract":"

    Represents a plane type that has support for point-projection.

    "},"Protocols/AdditiveRectangleType.html":{"name":"AdditiveRectangleType","abstract":"

    Protocol refining RectangleType with VectorAdditive extensions.

    "},"Protocols/SelfIntersectableRectangleType.html":{"name":"SelfIntersectableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be combined as intersection"},"Protocols/VectorAdditive.html":{"name":"VectorAdditive","abstract":"

    Represents a VectorType with addition and subtraction arithmetic"},"Protocols/VectorComparable.html":{"name":"VectorComparable","abstract":"

    Represents a VectorType with comparison operators available.

    "},"Protocols/VectorDivisible.html":{"name":"VectorDivisible","abstract":"

    Represents a VectorType with support for division.

    "},"Protocols/VectorFloatingPoint.html":{"name":"VectorFloatingPoint","abstract":"

    Protocol for vector types where the components are floating-point numbers

    "},"Protocols/VectorMultiplicative.html":{"name":"VectorMultiplicative","abstract":"

    Protocol for Vectors that support multiplication

    "},"Protocols/VectorReal.html":{"name":"VectorReal","abstract":"

    Protocol for vector types where the components are real numbers.

    "},"Protocols/VectorSigned.html":{"name":"VectorSigned","abstract":"

    Vector type where the components are signed numbers.

    "},"Protocols/VectorTakeable.html":{"name":"VectorTakeable","abstract":"

    Protocol that vector types conform to to indicate that different combinations"},"Protocols/VectorType.html":{"name":"VectorType","abstract":"

    Protocol for N-dimensional vector types.

    "},"Protocols/MatrixType.html":{"name":"MatrixType","abstract":"

    Protocol for Matrix types.

    "},"Protocols/SquareMatrixType.html":{"name":"SquareMatrixType","abstract":"

    Protocol for square matrices, or matrices with the same number of rows and"},"Protocols/TransposableMatrixType.html":{"name":"TransposableMatrixType","abstract":"

    Protocol for matrices that support transposition.

    "},"Functions.html#/s:9Geometria3minyxx_xtAA16VectorComparableRzlF":{"name":"min(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal"},"Functions.html#/s:9Geometria3maxyxx_xtAA16VectorComparableRzlF":{"name":"max(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal"},"Functions.html#/s:9Geometria5roundyxxAA19VectorFloatingPointRzlF":{"name":"round(_:)","abstract":"

    Rounds the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria4ceilyxxAA19VectorFloatingPointRzlF":{"name":"ceil(_:)","abstract":"

    Rounds up the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria5flooryxxAA19VectorFloatingPointRzlF":{"name":"floor(_:)","abstract":"

    Rounds down the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria3absyxxAA12VectorSignedRzlF":{"name":"abs(_:)","abstract":"

    Returns a VectorSigned with each component as the absolute value of the"},"Functions.html#/s:9Geometria2eeoiySbx_xt_x_xtt_x_xt_x_xtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix2x2 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxt_x_xxtx_xxtt_x_xxt_x_xxtx_xxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix3x3 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxxt_x_xxxtx_xxxtx_xxxtt_x_xxxt_x_xxxtx_xxxtx_xxxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix4x4 values.

    "},"Extensions/Collection.html#/s:Sl9GeometriaE13averageVectorqd__yAA0C9DivisibleRd__7ElementQzRsd__SF6ScalarRpd__lF":{"name":"averageVector()","abstract":"

    Averages this collection of vectors into one VectorDivisible point as","parent_name":"Collection"},"Extensions/SIMD4.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD4"},"Extensions/SIMD4.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD4"},"Extensions/SIMD4.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/absolute":{"name":"absolute","parent_name":"SIMD4"},"Extensions/SIMD4.html#/sign":{"name":"sign","parent_name":"SIMD4"},"Extensions/SIMD4.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD4"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A21Vector3MultiplicativeRzrlE11crossedAreaxvp":{"name":"crossedArea","abstract":"

    Returns the cross product of the edges BA and CA on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE6normalxvp":{"name":"normal","abstract":"

    Returns normal for this Triangle3. The direction of the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE7asPlaneAA0e6NormalG0VyxGvp":{"name":"asPlane","abstract":"

    Returns the plane this Triangle3 forms on 3D space, with the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE12intersection4withxSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE23mollerTrumboreIntersect4with6ScalarQz13lineMagnitude_AcASQAHRQrlE11CoordinatesVyx_GtSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"mollerTrumboreIntersect(with:)","abstract":"

    Performs Möller-Trumbore intersection algorithm against a line.","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentric1x1y1zAcASQ6ScalarRpzrlE11CoordinatesVyx_GAJ_A2JtF":{"name":"toBarycentric(x:y:z:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Triangle3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Sphere3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Sphere3"},"Extensions/SIMD3.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD3"},"Extensions/SIMD3.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/absolute":{"name":"absolute","parent_name":"SIMD3"},"Extensions/SIMD3.html#/sign":{"name":"sign","parent_name":"SIMD3"},"Extensions/SIMD3.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector3Type and another Vector3Type

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalize()":{"name":"normalize()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalized()":{"name":"normalized()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/rounded()":{"name":"rounded()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/ceil()":{"name":"ceil()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/floor()":{"name":"floor()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/azimuth":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/elevation":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"SIMD3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V14make3DRotation___5order11orientationACyxGx_xxAA14RotationOrder3OAA12Orientation3OtFZ":{"name":"make3DRotation(_:_:_:order:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix from a set of rotations around","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationX_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationX(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the X-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationY_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationY(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationZ_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationZ(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___xAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___AA0G0VyxGAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V21make3DRotationBetween__11orientationACyxGqd___qd__AA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationBetween(_:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around a single","parent_name":"RotationMatrix3"},"Extensions/Ray3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE2x12y12z12x22y22z2ACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Ray with two 3D vectors representing the starting","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE1x1y1z2dx2dy2dzACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE10make2DLineyACy10SubVector2AA0E8TakeablePQzGAJ_AJtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Ray3"},"Extensions/LineSegment3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"LineSegment3"},"Extensions/Line3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusZ6ScalarQzvp":{"name":"radiusZ","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE6center7radiusX0H1Y0H1ZACyxGx_6ScalarAA0eD0PQzA2Ntcfc":{"name":"init(center:radiusX:radiusY:radiusZ:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE8contains1x1y1zSb6ScalarAA0eD0PQz_A2MtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Ellipse3"},"Extensions/DirectionalRay3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Directional Ray with 3D vectors describing the start","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE1x1y1z2dx2dy2dzACyxG6ScalarQz_A5Mtcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"DirectionalRay3"},"Extensions/Cube3.html#/s:9Geometria7NSquareVA2A11Vector3TypeRzrlE1x1y1z10sideLengthACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:z:sideLength:)","parent_name":"Cube3"},"Extensions/Capsule3.html#/s:9Geometria8NCapsuleVA2A11Vector3TypeRzrlE10asCylinderAA9Cylinder3VyxGvp":{"name":"asCylinder","abstract":"

    Returns a Cylinder3 with the same start, end, and radius","parent_name":"Capsule3"},"Extensions/Capsule3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Capsule3"},"Extensions/Vector2F.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2F"},"Extensions/Vector2F.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2F"},"Extensions/Vector2D.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2D"},"Extensions/Vector2D.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2D"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE04unitB0ACyxGvpZ":{"name":"unitTriangle","abstract":"

    Returns a unit triangle where a, b, and c take the following","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE16signedDoubleArea6ScalarQzvp":{"name":"signedDoubleArea","abstract":"

    Returns the signed doubled area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzrlE10signedArea6ScalarAA0E4TypePQzvp":{"name":"signedArea","abstract":"

    Returns the signed area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzAA0E6SignedRzrlE7winding6ScalarAA0E4TypePQzvp":{"name":"winding","abstract":"

    Returns the signed value of this triangle’s winding.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether the given point vector is contained within this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentric1x1yAcASQ6ScalarRpzrlE11CoordinatesVyx_GAI_AItF":{"name":"toBarycentric(x:y:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA05Line2dE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Triangle2"},"Extensions/Square2.html#/s:9Geometria7NSquareVA2A11Vector2TypeRzrlE1x1y10sideLengthACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:sideLength:)","parent_name":"Square2"},"Extensions/SIMD2.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD2"},"Extensions/SIMD2.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/cross(_:)":{"name":"cross(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/absolute":{"name":"absolute","parent_name":"SIMD2"},"Extensions/SIMD2.html#/sign":{"name":"sign","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formPerpendicular()":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/perpendicular()":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/leftRotated()":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formLeftRotated()":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rightRotated()":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formRightRotated()":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalize()":{"name":"normalize()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalized()":{"name":"normalized()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector2Type and another Vector2Type

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rounded()":{"name":"rounded()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/ceil()":{"name":"ceil()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/floor()":{"name":"floor()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/angle":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:)":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(by:)":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:around:)":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(_:by:)":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/matrix(scale:rotate:translate:)":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*=(_:_:)":{"name":"*=(_:_:)","parent_name":"SIMD2"},"Extensions/RoundRectangle2.html#/s:9Geometria15RoundNRectangleVA2A11Vector2TypeRzrlE9rectangle7radiusX0G1YACyxGAA0C0VyxG_6ScalarQzAMtcfc":{"name":"init(rectangle:radiusX:radiusY:)","parent_name":"RoundRectangle2"},"Extensions/Rectangle2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5right6ScalarAA0eD0PQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE6bottom6ScalarAA0eD0PQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this Rectangle‘s corners in","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE4left3top5right6bottomACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a Rectangle with the edges of a box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11movingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE12movingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE14stretchingLeft2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and right as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE13stretchingTop2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and bottom as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE15stretchingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and left as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE16stretchingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and top as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5insetyACyxGAA11EdgeInsets2VyxGF":{"name":"inset(_:)","abstract":"

    Insets this Rectangle with a given set of edge inset values.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA10VectorRealRzrlE17transformedBoundsyACyxGAA9Matrix3x2Vy6ScalarAA0eD0PQzGF":{"name":"transformedBounds(_:)","abstract":"

    Applies the given Matrix on all corners of this Rectangle, returning a new","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzAA0E10ComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA20VectorMultiplicativeRzrlE8scaledBy1x1yACyxG6ScalarAA0eD0PQz_AMtF":{"name":"scaledBy(x:y:)","abstract":"

    Returns a Rectangle with the same position as this Rectangle, with its","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzSF6ScalarRpzrlE1x1y5width6heightACyxGqd___qd__qd__qd__tcSzRd__lufc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE2x12y12x22y2ACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Ray with two 2D vectors representing the starting","parent_name":"Ray2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y2dx2dyACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Ray with a 2D vector for its position and another","parent_name":"Ray2"},"Extensions/LineSegment2.html#/s:9Geometria11LineSegmentVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"LineSegment2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzrlE9addVertex1x1yy6ScalarQz_AItF":{"name":"addVertex(x:y:)","abstract":"

    Adds a new 2D vertex at the end of this polygon’s vertices list

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzrlE7winding6ScalarQzyF":{"name":"winding()","abstract":"

    Returns the winding number for this polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA19DivisibleArithmetic6ScalarRpzrlE4areaAGyF":{"name":"area()","abstract":"

    Returns the signed area of this 2D polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA16VectorComparableRzrlE8isConvexSbyF":{"name":"isConvex()","abstract":"

    Returns true if this polygon is convex.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA16VectorComparableRzAA0F9DivisibleRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Assuming this LinePolygon2 represents a clockwise closed polygon,","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE02isH6OnEdge_9toleranceSbx_6ScalarAA0fE0PQztF":{"name":"isPointOnEdge(_:tolerance:)","abstract":"

    Returns true if the given point lies within an edge of the polygon","parent_name":"LinePolygon2"},"Extensions/Line2.html#/s:9Geometria4LineVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"Line2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE6center7radiusX0H1YACyxGx_6ScalarAA0eD0PQzAMtcfc":{"name":"init(center:radiusX:radiusY:)","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE4focix1a_x1btyF":{"name":"foci()","abstract":"

    Computes the focal points of this 2D ellipse, as two vectors in space","parent_name":"Ellipse2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Directional Ray with 2D vectors describing the start","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE1x1y2dx2dyACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Directional Ray with a 2D vector for its position and","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A11Vector2RealRzrlE5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle of this directional ray, in radians

    ","parent_name":"DirectionalRay2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzrlE1x1y6radiusACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:radius:)","abstract":"

    Initializes a circle centered at a given point with a given radius.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzAA20VectorMultiplicativeRzSL6ScalarAA0eD0PRpzrlE8contains1x1ySbAI_AItF":{"name":"contains(x:y:)","abstract":"

    Returns true if this circle’s area contains a given point.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A20Vector2FloatingPointRzrlE12intersection4withAA24ClosedShape2IntersectionOyxGACyxG_tF":{"name":"intersection(with:)","abstract":"

    Returns the result of the intersection between self and another Circle2.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE12pointOnAngleyxAA0G0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on this circle represented by a given angle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxGAA0G0Vy6ScalarQzG_AOtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxG6ScalarQz_ALtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/AABB2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1x6ScalarQzvp":{"name":"x","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1y6ScalarQzvp":{"name":"y","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left6ScalarQzvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE3top6ScalarQzvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE5right6ScalarQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE6bottom6ScalarQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7topLeftxvp":{"name":"topLeft","abstract":"

    The top-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this AABB‘s 2D corners in","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left3top5right6bottomACyxG6ScalarQz_A3Ktcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a AABB with the edges of a box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA16VectorComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y5width6heightACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a AABB with the coordinates of a rectangle.

    ","parent_name":"AABB2"},"Extensions/AABB2.html":{"name":"AABB2"},"Extensions/Circle2.html":{"name":"Circle2"},"Extensions/DirectionalRay2.html":{"name":"DirectionalRay2"},"Extensions/Ellipse2.html":{"name":"Ellipse2"},"Extensions.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2"},"Extensions/Line2.html":{"name":"Line2"},"Extensions/LinePolygon2.html":{"name":"LinePolygon2"},"Extensions/LineSegment2.html":{"name":"LineSegment2"},"Extensions.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2"},"Extensions/Ray2.html":{"name":"Ray2"},"Extensions/Rectangle2.html":{"name":"Rectangle2"},"Extensions/RoundRectangle2.html":{"name":"RoundRectangle2"},"Extensions/SIMD2.html":{"name":"SIMD2"},"Extensions/Square2.html":{"name":"Square2"},"Extensions/Triangle2.html":{"name":"Triangle2"},"Extensions/Vector2D.html":{"name":"Vector2D"},"Extensions/Vector2F.html":{"name":"Vector2F"},"Extensions.html#/s:9Geometria5AABB3a":{"name":"AABB3"},"Extensions/Capsule3.html":{"name":"Capsule3"},"Extensions/Cube3.html":{"name":"Cube3"},"Extensions/DirectionalRay3.html":{"name":"DirectionalRay3"},"Extensions/Ellipse3.html":{"name":"Ellipse3"},"Extensions.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3"},"Extensions/Line3.html":{"name":"Line3"},"Extensions/LineSegment3.html":{"name":"LineSegment3"},"Extensions.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3"},"Extensions/Ray3.html":{"name":"Ray3"},"Extensions/RotationMatrix3.html":{"name":"RotationMatrix3"},"Extensions/SIMD3.html":{"name":"SIMD3"},"Extensions/Sphere3.html":{"name":"Sphere3"},"Extensions/Triangle3.html":{"name":"Triangle3"},"Extensions/SIMD4.html":{"name":"SIMD4"},"Extensions.html#/s:Si":{"name":"Int"},"Extensions.html#/s:Su":{"name":"UInt"},"Extensions.html#/s:s4Int8V":{"name":"Int8"},"Extensions.html#/s:s5Int16V":{"name":"Int16"},"Extensions.html#/s:s5Int32V":{"name":"Int32"},"Extensions.html#/s:s5Int64V":{"name":"Int64"},"Extensions.html#/s:s5UInt8V":{"name":"UInt8"},"Extensions.html#/s:s6UInt16V":{"name":"UInt16"},"Extensions.html#/s:s6UInt32V":{"name":"UInt32"},"Extensions.html#/s:s6UInt64V":{"name":"UInt64"},"Extensions.html#/s:Sf":{"name":"Float"},"Extensions.html#/s:Sd":{"name":"Double"},"Extensions.html#/s:s7Float80V":{"name":"Float80"},"Extensions/Collection.html":{"name":"Collection"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO5enteryAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"enter","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO4exityAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"exit","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9containedyACyxGAEmAA19VectorFloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the line’s boundaries are completely contained","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the line crosses the bounds of the convex","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO5enteryACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"enter(_:)","abstract":"

    Represents cases where the line starts outside the shape and crosses in","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO4exityACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"exit(_:)","abstract":"

    Represents cases where the line starts within the convex shape and","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9enterExityACyxGAA11PointNormalVyxG_AHtcAEmAA014VectorFloatingG0RzlF":{"name":"enterExit(_:_:)","abstract":"

    Represents cases where the line crosses the convex shape twice: Once on","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO02noD0yACyxGAEmAA19VectorFloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO12pointNormalsSayAA11PointNormalVyxGGvp":{"name":"pointNormals","abstract":"

    Returns the list of point normals referenced by this intersection instance.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA014VectorFloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ConvexLineIntersection"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1wyA2CmF":{"name":"w","parent_name":"Vector4TakeDimensions"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyzyA2CmF":{"name":"xyz","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzyyA2CmF":{"name":"xzy","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyxyA2CmF":{"name":"zyx","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxyyA2CmF":{"name":"zxy","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzxyA2CmF":{"name":"yzx","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxzyA2CmF":{"name":"yxz","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxzyA2CmF":{"name":"zxz","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzxyA2CmF":{"name":"xzx","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxyyA2CmF":{"name":"yxy","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyxyA2CmF":{"name":"xyx","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyzyA2CmF":{"name":"zyz","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzyyA2CmF":{"name":"yzy","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector3TakeDimensions"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O11rightHandedyA2CmF":{"name":"rightHanded","abstract":"

    Specifies a right-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O10leftHandedyA2CmF":{"name":"leftHanded","abstract":"

    Specifies a left-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector2TakeDimensions"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector2TakeDimensions"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO14twoPointsFirstyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsFirst","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO15twoPointsSecondyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsSecond","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO6pointsyAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"points(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO9pairEnteryAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairEnter(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO8pairExityAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairExit(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enterAA11PointNormalVyxGvp":{"name":"enter","abstract":"

    The entrance point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV4exitAA11PointNormalVyxGvp":{"name":"exit","abstract":"

    The exit point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enter4exitAEyx_GAA11PointNormalVyxG_AKtcfc":{"name":"init(enter:exit:)","parent_name":"Pair"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9containedyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the convex’s boundaries are completely contained","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO8containsyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contains","abstract":"

    Represents the case where the other convex’s boundaries are completely","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA015Vector2FloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the convex crosses the bounds of the convex","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO5pairsyACyxGSayAC4PairVyx_GGcAEmAA20Vector2FloatingPointRzlF":{"name":"pairs(_:)","abstract":"

    A sequence of one or more intersection pairs of points that represent","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO02noD0yACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9twoPointsyACyxGAA11PointNormalVyxG_AHtFZ":{"name":"twoPoints(_:_:)","abstract":"

    Convenience for .pairs([.init(enter: p1, exit: p2)]).

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA015Vector2FloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/Pair.html":{"name":"Pair","abstract":"

    A pair of entrance/exit intersection points.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html":{"name":"ClosedShape2Intersection","abstract":"

    The result of a intersection test against two 2-dimensional closed shapes.

    "},"Enums/Vector2TakeDimensions.html":{"name":"Vector2TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 2 type.

    "},"Enums/Orientation3.html":{"name":"Orientation3","abstract":"

    Describes the orientation"},"Enums/Vector3TakeDimensions.html":{"name":"Vector3TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/RotationOrder3.html":{"name":"RotationOrder3","abstract":"

    Specifies configurations for the order of rotations when creating a"},"Enums/Vector4TakeDimensions.html":{"name":"Vector4TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/ConvexLineIntersection.html":{"name":"ConvexLineIntersection","abstract":"

    The result of a convex-line intersection test.

    "},"changelog.html":{"name":"CHANGELOG"},"license.html":{"name":"LICENSE"},"readme.html":{"name":"README"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docsets/.docset/Contents/Resources/docSet.dsidx b/docsets/.docset/Contents/Resources/docSet.dsidx index 2df110a6eb1b388ec014ca5c066f5e242b2f96bf..95c47b2c10b332096da3b8c7c0017475872357d3 100644 GIT binary patch delta 53362 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 DTwCA# diff --git a/docsets/.tgz b/docsets/.tgz index 9d2cd1f81665fd547ad08d88a67c1f235904cbce..eac6cef4c1fd89bd9d2c39e718d3f021aca1b7e9 100644 GIT binary patch literal 1018649 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

    #CW&j>&s>_7|H$iD)~DR_A`JVnpxOHuiWs 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

    VVI+i$tr~e0Wng?b*SDoJ3}` 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

    lm^pS6LTwa9 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

    96-{X4Mv%6zzLEN@j;zSh!h*yBMc^+W&P{tD zhsJHJ%f?%SR^GFTwh}sPPueR@_;thfJ%6hVuh2{s^PsM3l(g7AS@f@5_~$epN^!$e zlrm5l?FJ19qh%(hz|so>VKj_(Fl_DT$Ox$&IP$v1wC}V~8pWeP;Kd|&@f(Xl>UCpN zvpvDI4a@0}FHdDO&kl)1W-iLqeuG=PlKcpqv~KrmMDUoedU<^}UC|LX1@c`#j;P>* zMecvX4-`>?0>Ws6n?ulQutV8%pWAj>k_xOx5-TKg--HTUIpVjidGDS-pA6xxEeHtG z_1ZA+`c}Kkt2~Zxi!Jomv7aSZ_0@!!Isy68jqoR~>i^a(wUlr*gS`YTyZPz=2$%Bl z;~b>atWZCs?!P8eER|WIVYCNru^A=ErDT7l zt5prnqy7-P&kMVe{|$jX8QM&^+v=81a6xvT8AzA=6oUUnt5nOifC771afYPkIHDf> z^eB|-h~1=PD%AN{mOH6&2%vvr8~Lm@%Jr6}0v0+d{DA1`lDHmL((2CH&Ec+GkN z7@hsofsxlg0SaXTM4^By*}^G(c)6ws){QZLSTN7p8wiW2)CKxC{pbwUi9UlPPPT1> zKn*anO$3tTkT=#)#mZBR%1R2}V7 z+6UM_99q1@IX~Z6wHJ>mgFblAT_%u5s%~cma7u-_ouynnPpQhb!Fp+*rYl8nR(Hcz z58x(hoQZQ&D}E&w$M-q%wR64_1Y2=v@OTXk6q{q9mwN&k4yZB?+B*Gq&9L(cly{)^ zT;t|q8o(P#DQmMWx>Lm7xd})K%N?{)9K@s+kMxSndiTwZQd3c~E=5h`=TfpQMdWRh zy-EXDHD$<#{6G|DUM*$516h&1P}}OPs3`QpyU#;LJGqV&OqqQg`@K4ollW8I-OQ4f z6SF&%a-(|MYf%wn=-rH(U?NNs4vxO3jZZ3bw&eU?8O9eeTR>i8%%mDkx^P zft~&j-Z&+m_6BCJAQexS=z9dY#5L{0Wi9@6MuF4KJz2+0lecmLHgjlL|I|#?SRjmn zG*cF4E^68SrVN+YQMO~E0C<)M4Phl$(LP?~lN?iKMbR`w#g~mK{U@YS0mHEjpddg1 z9za2W0Q?fqi_JP^rk*d7Wo3*M%R-sHg(|+><5tT%ipx5HQ_AM@8ofXsP6wWAM?M__ z^K+7YH14x%M9kV**=I1Ym3%1#B~)CdiNNIqD2kOgtG>HmV`1^P01D;j6NR#$ zAW{^BZDn}!IW8w&{H=wTKj@uR6Kh+;!fQYY02(O=kVXp33>D;*x|&GS>;*egN=2=S z0$=*dOJPRi{b0asl(M7F&vgQuHUm3~KSWACtwa)fX&{!A$w3uPZ%I6%9Qmt1Z~Mud zAh!18M6bCP?i4>;aU>*WJ|Vii2b_Ci26E#`C6xhSC_5mPlP{e+z zq$D8tPK>Xn3JEcH@fxMOcPF46lbS3-G{+ZwMP+*WHBPR9FF&Hcck2@?#NCz@9~-vh z0j_Z1w%^ILDl>vxtG*m{@(D8{snKK4omP=rA&}?9S?Y?smNhxXiwZ6;CgI5(MYFC> zk>52+aeAUJdeWp^8p(R8sM7ND`Q5}1$l^v+zLI-?I$nqH;Xyr2Kb*ubP1WNVzt|Hy zC2?ZzT2{L=HA7h(PC0pe?T^cR=q`5Y0Ua@%qQ$GIcgA6zTN^I-9sv=BltV44L?x3b zH=<_;l@;5M_z~QiBHdJu#xyJ_27Q@MHSb3@5_{L45R~0VYyOSS`im$hFU?e;6dL=1 zviR-SxWQk*Cx^**9-R87@~PiJwHYY=F3W1J!cgiin}a3 z=?nbZr$-Vg3fYDc^N9_`5;B7K`U8)}c#;eOgvU&kvT|Ia}vvw~X)vDVGX(4+}qxsvpirD-RU}uHSzStS+C_rYz;Eq!Bw@E{LMZ7fM>@ zoawVB45u5+N6`y61LR93k|H0fepDNWl$x5HT&ZAp7QB$r?7@2w`p$CIYLCSrqv1I4 zINPr(vpt&U4K=GUag7J`;w|6g2Q&)!tO&QPF(PaV9#q`#_nqJD78vMIPf`z9x~ zzLUsi^!Q<%?D1auFh`=cL9cM$V)Qp{9=CzB!kRg2rj=mI|4M?EtOox=p)xxSv! zRx1BZ!t{5om~rw^O@RZ1bgS%Loi<%8LhY%;N95n(@lTD&oEbCnaO!cIcWuyKbkQr7 z3;`?4HRp)M0v$&d^ANE%5J9uGfMQHB6!g)8l=0L%=i-xiA^BPwqBe(yXFDq^4j2aW6H}MXA8?cVP4^LJy<<>EC_}#ucHF7F zI9+hQEq{o{XM5zXJt^5GZj8Q%$=(Gww##z%T)BRwMj@QEIQOYZc0q;jzL$ixeL73p zX)xvJ3(qo!N4qXpYT^%BNPTyjY<)Zk=Seoj=C$qHzFuR*<^Un$_q-QL_Ndm23eK&m zXvtQ~70fi&#!R0zySUQeAEbzujFE{Oq!GZ9Y&M5w zi_`cN_AKgJJ(u;y`G>I)MYd$k0bld50?klEqE)3Rt3iyzLV|l@>c-qu?cpnSR2%Qa zMFKRN9|SlxzWDl-YsQ%Z}0nY zQP<11M=T*IAZ?naBO=j^*2{LOIQC0WKS?C^x7M;RX{LI7I?pRjd4J*&&6w*5^+O4}9bY=`3Sc&X=g32?;ii3F4?Kf$*chJ5Vs!?u(`5t!RGIWyDX+8vPVc=gU!~bbYC1j52u|;v7&DzB zeSgYPI)4c2Yx#g;?7on7sIQh?5`=$~&+yN#8U5HGdEx1Dw_1Mfl}Se-rYmJf5O2pM~TX`yVcH#W?{ z&)^tp^o}Z#{&MU_`K5g0$f2JY;<7xz*DIjAE9Muxl;3w(%W})lfw}L^!hy4^xr!Zt zmg)aS%f{mzNkcixQ$T2${%^D_1ca7RQU6o4Y%pvo_@MC~5mnbg^qf8Y2 zv-M-mPBQfiVmmpxITM;@gL9m-BmM%HsWbl#F8eKAyGI>( zMbnwkp*kkOQtN@cBH#9SVflD4tlm~OcJv@bTm9;WF5lvB&i@UD(D1(!W@lf15oU+< z%jAb2R&2!HvRLf~>nNtZSf*kPw-wg^VHYvMMBFI=X$=-pxAARDnQm>@1u3q%3wO zVg9G;=3GyF?Czfca@O^)k+ZTF2qn^KNF1}^Fs!K#McoY{<{jVQSn07vytR`lhxbVX z&xIldtcZt(y;_1sN%WC9y3^ob$r{ziXIdtjooIJg#ivHUy}-YECAT<)4=szyC(%gun<2Crk`RJS4+P%Ze^=E61LKv6W-2JgC&Vg&~ zb>ETlEud+Gj9V_pJbKNDdKtJiu4%Ld*$EH%&rV1Iu7Ut$1PVOS4 zD6hjGx*j(ZuZLwX*Pm&wB4~5ae_c(EF$#xBIg;8ePCCetuytjN`n{oUhQlO%{1|4MlUJitPM#|AKxJD*|X?_^kpWAOc5KF{)Y^JcK$zP0B#S__wdXEM8m1Q!Qi3e&pL(r z*IQBxTds9Ahnl{-N4Z4s4|TsMC*IMr?s+a84Xd|uq`%Qytwz_VerpIMTHb;V_03ZSIxl4nFc| zC_RIvDmuA=sl-oQ=s=ZiH-)#vD9pS?EETUrqrT|KyahvX5ot|BfeWl^xq#g3-q1p< zUW8P=Z5H3Z^c;6Dl`Czliv2DwGU37ord&!dq3>9kCe61Qpq_rLUp`Z0B zGQi2B=L11nTq-AHD({^RVVX;802dcs@zfZo$kWKa2m%@dIqm+LpvC~z9gGMA@|w`3 zEtje6ds}@&;2NxLIw+<@BacZlr!y@XYG^?m;goTQ4r)dC8V+@4`d@B7n6u>;sBni+(@$-Cy#8IS(% zd2~EpU$AQrzNAa$b|3wU=>#7k(Xh-pZHmVm(QCC$8LIH}4?o~Px$m6B*)&=~hlo!a zCz;X%Ahy?#Z_~XEHP};$&G!@)G5un>{NW_BPml%sk6U!Wb9}ljc z01K}lU!mBiRQA1PLb9DGA3_10g+CpH@>c^s_x$F_2rdx(3t zP}_CD_^d(lMhrOXW#QSZDl9GI3b1T87tFnx_(JKXU_or!-NHN_vDWBv!AE7qbLkVlL1NUdfZfB5$cZR&5Bn{PNnsd6y;veriWd zP1puJku$JR^yxB8FmG950k^K~??=~#doGmgM>kmT$qAQL?RoA-Rc;@&7H_WX?g_Z^ zeEtd3&$L=jc9+v6!mSe~CtTpq>$+e{e12=I2s+AJz-id+3p-|#Rkr76sb|!4UWRGu zV8BjM7WSNjN-b05bQBF0ZYq>Xh9uon5(^Ro6%-nv(_Dg8rUB`M}paj`8WPFD9!weG4$9-b^2^em8JsH`2=5#tI9S9k-mTW zI2EZ!W6;gCT(b!E>EY#;Sfe15EY`)|TzXtMyesa@?`sjD>u^bkphE7`J0|JEWmbz< zh^NA3Q3F?u7YxBEV|_6cF-KK-=8T22JOLbm5Am{AX?e6@*|(__T-qu^*K-0O)iHKR ztfns!N31ajYvzpdB58TG>Y27XfUTmrb6ZRjnRo;duvJ`pdXC@2KRw4jFQ(dag;tNr z%JTg2t<);sVnT>;&}c8iefC5I?!zX#M?9C_Wy&()>;78WnlSCg7mFJN?f_Ff>^5q6|)K3 zDH|JX0v@6U9kPv9pe;rROcM`5oC)l1JlB)qJJ?ZI3h-Cn-wbqqHjOpnx~}QGabC%F z<_HPX(!A1c;+6#M6{Ym9!CJZ!>OxaZuC360CPkW@q9UpK=6zE)so5$H0H0ZQ#^FW? zS-(6TBMdU1=sld!c`wZDM0;wy=}aZR#Lr>o=xL@GhNm!(soc|>M{t|n!>q7Bx2RQb znCbYQCl6QD1-Ea9OSHd}VoNx*G;1Y399#2TU(q)_tGJ+1ewG~cClx?Cu2jR?7}@g?jk{y*y8GAOUL z;nKw20|fWr?oROF!3pjjT!K3UcXtcH-QC^YgS)%WCg<(bU-xuRb-WN*!CDnI8^gix1j3<%1Uo#2AHr1eJ;1c*Rg&fAi*@`$Lk})& z?}9*?KuzwCpNC%`X8O&KErZ8%HqAqJN{Wt0>l=MH7`>b> zE?vYAzX+rf_D{RSunVYeI|Eu;m%_^h@rT~QcO;m*cSB~SrLAG%N6ArGj4D49o};@a zWJH*M$X8pwBt2#QLvicshUa;hR_>+nn_$gwVs1UBiSV(kd#58`W)OCwYBOK9{Ma62 zCQlnnx4M86efNUge1uY{R4Dx>!!mlyBJ(iMuHR%s3tH-vV0Uk7$`!MTA-l1jx6>74 zLzkmE3l7AC||*9k0@Aae?_&mg;rCn?EcXoMU_N#Ty~zJh>1wZ#BDS zH@jmYfoDHFp$$rTPqWjob1WUi1N~P9g9~Z=T^W4M>z66^q19&x0(+~gKBu&TP{oEj zmJ1rh-@0x+S)LG4iq!O_xiCmQezYthn2lPa*7HLBbxnX7-&cfI zWO}m7IhZu>rc~+)v=)8*4gvw2A3Jvb!UyW z<-RPss)Ih{$8&>b>1ji3I_raj1pR}H9u5?H?6Aw<)6;%ws8bX;+O@G!nAAJk{r%XJ zPd4)X^C_oJD7z8lH=u~lxqcHVr*jShqSNVo5eI8iL?eN)Za)Q+<{UKM)TdXG z=xTm7v#pjMBrqX!*PP$T+$98JvP&-rBLFWfzkjE??w0r0tz_!MT!^Mubx15X=ZYD0 z-ryruBfqy=C$qyXj3NGR-MQNruCWJCvtF8g7%ryRJBqT_iS24rfm}%jFBO=6WQp7y zH;mjFKjv=}uy3w8se6^)qWk;8dWt~x@*~SXA4dsP|Dg5S9gjR4U!ni*W%ZKWr=jlk z>&B#w4fyQeuPGI{I=N?Q{bSoE$+Ld`dg<^|eP#o%a`IKxC zaK|YAY`ecaRA|`Qz5i02T%|#JFBUS+7EQ|!7619AeqSW~sqE8O=_j;q)LL3`YRSJy zSkFbCyj9>_uPdI8sIPgyPtp@hq#bMO!<8^z3Kly-hR=CcKQCeP!s<^H_ZWJ3y5rv6_9J%&^B3m6fcK z3uGAi>Kg9Lx3?JSnZVP_d~T24l2^WbLU4TRI*!pAXuB3g5p9t+?1(tdJD#{GHJ={v z(9*DyN)FE<>RDssbu=u}y>@idt9oc2 z8^GV*7-N?4>@=#Ph%JSkigrteIGRMNqiKMOaC)71eX)AI^)*b%Ug6VgW-vbeyU&?3 zf=@B6FW4>V_(FP1_B6Xnm%2WA;&cZM9`sCbjC{aQcz<2LyiE85`bpOMvsZJs-ul5U zvTL`W0OxA|fH&9^DV3N+D3)r<CnMI>eGju)K?qjc%Yf4q5t-ON@p*LGx&VLDL(3!bVPlpaGb5RP2%9xiX3F0Xho&!LOL1A2%4je}<2>-9Y9PL8+BP9tK=g{NtK4mttKd#TWlqGg zf@0@P(pGU*ScsUV`5F@AoAWnG5!*qq#-0orMw!rFBNfa`z-MkA=`-EntT$EnKV z%^`n!xFGT)m>3uMRRvV7RPaxW{yGMytFNKp?pUc_tk*GC$>I>jB8pBw&YKD{$zA${ zD`*nWk4Qt%I8z5*0~u|_@SR8>9(DX{+z98+;Ch6Y>(yiboi%NG_*~$es%}UZRS3(Z z=Ih1D;8Et7j&*d9QbIrnmzxK#XFYcKA`Dyk4^vw={EzU&-?yw952PVcQ-d`1FFmp{>%RZ?0|y?lUJid+3eD z94hCaEqg$TZ*hL|MfCvdot^kU30G~(?eGDLXVUyB+0FgA8`%R%Iq1y) z?;*^t*fo2k<%3r;1}a*SR2rBM{Ir?B$l@i-`+fp8fj7+G{e*nU2tD2K?zo*8!t@6V z`5G}w5vB1EI8xR8GA?9BT?I`s7>L9t?vO4ca*GO1NXWedn+eJ5B9@$VB_JsZ4(GV= zlDviQqz9UyQa}H+>>4~}wB7$ZGQ8aG7Cnj&5j({pFi!(3#S)20!TQZ4WNsN6X72_& z4O$wEYUS0t^90$u6OnO-*nkJZr%!BEyFStvD zu_2jk0J`8GqE;X_x>=W83!V=&fi3){cz3k-jCSkFe<_|M3mh=8z}G#>C6E#S55-$c ze;(^sXkg|^c6q0GNJZGdiS%bauO};7kOL+>;KzX}R6rPI=>o%^t5=_rc^R%k)8CuG z&K18w-eUtzU<*lwH;NhET~`RaSdj0-o@4u@Koi)j_~hdYOyz^rh3V5BDX_B8n@jg6 z5+${xJF*4w8C8}v37I(Z26cytvLP6W1C;BLn@XR%f(S}yhpVPi6@TV_7b`k4beuu; zWAU@^bN8!J(8Go8SubY`QuR5rP`_Ey_=VQS^)XPZ+m`K;2qEg+_Fg;_^w8NX$OR0Ozd5W!h z-H9H6YT(tmP&+t53%iZeVTPqGDiO052jhzRN9hN=m*`v=nFW>JcsM!G8bJFp)35BG z52^#!OhVgr-^c3Dw9ks5I3;fz%Q_j#p75*RiG=;(hp&Kbv#iKN;g&55(CiRyh#Y+x z-o$1Vx~Zt}_PNJnmH65lRRyH; z{9BqJ*L)Egc<6#k?r}6q!*>Jq49+yPq3N+NJVBqe?x@`RFCAI&w5Q_anFhHaxI+*zy>XgK#Ee}2||8_@X?D)(ea7X)1^Er`Y^JT zH~W#hvkOJ>3G&}fPhL&2jTw%^Gy+hcdHo3_SSqH5l?=hkR#po{Y!Jm`OM+mbcjvPD zp-hW?BgBn<2Nps*aZ@Qib}8!qXXE3gd`Kv4n6m zr%yYX?Jbq{627z3XyGEqw1MIwRnzAhsWNa5);dOcAAPhP+^k4Js@CJsfgr_qIJdGqR!0JcA@h)Nc za)8{Z?BCqzFZ^%nYju=gM&=T-*pSd_r=E)ZKa&``s+kz-MN!fe2XvdIo;&J>c?y!E zqnUY}Krcj(cH)?~L)YE9#V?(K7QblcYx|fngvN)J+?az@Xd@mT&4QS>nlA)^!erOp zgC=-#^-7b{`GHoZbPJ2U%a_!UwPI{o)D=!e`oFxtQH6%WjR}7WJybSthw<+*qju+f zx$H!0TYyU;47%c>}6GTQpr2VtlLd^EN z@0DO-Min@wmiKrd%X04Nwh`pA#8HFa@O@>VK4%%Q5JBMZfOm>gaDSn9h4Kz{Qp^yM zAa0pv27$xZ;QrccKwNPzi$Sr35crw8075yzphP;tuSPfb55sZ~BTkpew(xEUHLDP) z4Kw7A7&0@IzJ_>`X7EuPkP^a}nt|;U<7)^o3?0o;H48+PWDPp)DJx&)2Er{y6Z|K< z_f60Kz0-Xbmkt{joR9vJo&DQ4sIF1DM20{5B83EE9sT?{`)Og8)P71>ED{u+S$ll| zEX=>eXIXRK>H`3~RxKx+PkaKwSRsH)Fz|B3OMv(sf+l{I`|=xFQ|O(&X~OcM<2F1H z-P&0MdJx0(!_jG)#W#F_{8%<3x$+fY3XRb2ZUTf|VqP4|%ut;4-!>#mz0>0=Y>evW zX-t&j8l}cFAg)9V0#nC@n@IE8U($)K8Jp3qX*oBBK)};szBWLPe-;LXo5#CuvU^0M z^K!XF|4Bj3q^bAyr*J%0g%Uz|y1vI3xBj(`HtVQ};&bo(<-AO#15l|ZVh(Lcf-+QA z`?caBM8i_kDb*dQs=#BKSUQQe;sQB8*BnKG=oTbL^9Ia=ug7L5ehX`lf%Kq)oGPXp zLzO-0lz@n-wiyUV?>>0rj^YNig4Jh`GK308!qv>C}Yah_0#jxg6sMKJw`q0qRdReWk zZyCqZFyawlS0W5PW)=_JI`FdKkaw!6`@MAgohlk?l_~&K@tY!H(mJmcT~1)$CX-ldflFZxR&_LAIl_Wc=2T=@H6=i&60zrz?;N4D-zm6mZ@JS@-2jT(EVBb6T&U`a!c+fvM>Wz=#hhR5W6l^F+ z)4xx9ZZB~vIsUz3G`kYw?)Y!^t z7kGkAtfxXgH0_a^RS4&Vay9`_4Yp2%uezZ(93IGBI0c@78_QoZ)jgX4Z8^x5L-v5G zHY1Gm{yrY6`TIT=z4xYbmt-Xn07gFtK>I(@7!vFH#{#8yC@>2ZKtWd>(zv|WhnGk*8jhzb!SDeE^B3BpwtoOj*y4`li5Zb9L1Js9v3 zmL)mVs8nllr8qrQ9EE2}&@>F}Z2)0k^EBC*eA<>s0`ecXlHjBJ!USY-!5`myLdCgU zs#dh_T_O}nk0N&YUh#jmC2}CKPnYoWf4(QWp@EsDA+`Jl?`2$OI{r#4C_b!Y+{c?X zO8V?|YM9wglSU{$P4+oA*YaRE>>k}gYzK#ogw)zP)^Ke7X9{)EBbK96_3O zUWcC4!KZgF-*wm{=+XtPfqI;!>k43S)Jp%2!L}G{nnaLV_2=V^^#`FRTOPDQOw@Bj@_yo!E6*QzE0NZtNG0odQ%z#AH(aD4hKD zmVi0uxT3q6HuLHskM2~Q%<}aO9b=b6Ihph{Hf*atj}wip(&DelOnxvXWR^U_IexFD2=NuU|t~025o-v9r#%-Sajy!SQ(T@ zA+5a_m!#34d>NQeyGx5OVMVZu+P0NO`AHp9rhaV=v6))G`2*%rN=~2iJ^j#|`X2vp ztIyqmi){2tt#0y156XXxoj9MbP3mmY3>Dyy7j0KjZ#EMe?uG;RiVj&mG!*CATzy>E zv)<>4Yun{r%Q1ZI$6r}~+PTEn(sf@hR;}fAy-dYd`{spvqvUr(wK^JpR$aFezFV=g zi;J(7Hdtai@~N(6ttMJkBB#!>viH#{g?8S{@p1L_vu)~3nRi6&(*eRxIrqmzwbV_Z za;u!%G$0fGDf$D&AeybgN#t$X7Nwm+4kU{{nEd}9w!DP=-(ibht-R)`Ol&|ZiGX@T z`@K$E2}ePGA`eix)&34#c;;7I*KEqg70&tU=0~l6l`q4`j;=e3of08CCma_i@FiQy zL`AF&lc_~IRd{qOo7P+ft-q{mM@h59HB*#GBs8iCl8bVSCiBSt>h%qbN7R1wKslhy z;x_Gec4%IG>FgkGhkg=%lqv#$Ik~+>Zh9%3#yv)E@q0P7S#WN8A?APfn|>*x+Vc_( z3_!@u6AcqBeC2ju1X8K?rut10&p;|w{EgMq>vBU!PKT#N3@@56=!auN4pZcXX~eU) zD*0h!cpf@u)zt=qmYyP}T&1Y~e8rK(jd3me@I30!F3b-85|7VvL<33lG_B&J$OX0{ ziyP}o>yu($`ELPO4w=fs+{@ zY^k`)%7(%!ObH%KuhG|L?2MbHRRJ#0`3%Y*^s7JfNx+RQ+WdQNse{46uc#$H%BDoM z=m*T%x|`2Y=F^H-16u)!qGdC25!GSOR4Ejwo~y-UT&;3dRVq1t=`dcZaEXW5s3CUu zpPK|j44Y{`)xQk+43SIJP`8MHBC zdAiKLFnc#w8)36*0R4vp(rQ0c(~u&5tbxw@DRlHRudqDxRvd*F&+EbH5#f6K;%1gE zx~zQKAm-X~?7TpF`x*&yAt}6%{q5tA=l4|Vn$4r5Car%>v_a2fWyc`ij)PndnQ-UB zicU`35*IN@&;3VB10^dy<0lCqlv=~wT;U(5 zM(V>XkS*<%8Q6t!$@vSX#*zP`cjqb2GK4~@8neMsjQ{?n^Uc4H_?DI>C-lb0mJbQ0 za{lwN4;cX~3i9da=lwvp_#>c3opYIPP_t^)H4}V#>${|1hF>2VhJ(S6N}o2l40u$olL+U907w`QiiYs$4NF<$*s-W< zDB;*qVzI-MH|a^&Cy~7h5MXfz{1DgQ0q?m>CV87 zbzR^v5%L8qd+O-m@Vybe5WZAC1%koqu4D4#sRsDVugKYjUubL!YpkiGqUPH|7KrAv z=62Miuh{J{`atO+a$|henH}FZTzh2>#VM*oPZbHMs><|reZ5^(1DP`5RLk&%%+rM( z`rHX9PEGE$9H4bKqBlycbtQ?Pmmd|Z;Zig+0=fm&y8C_iuzxVZz1O6tPm2EtUw?_r zxp_hbCMY*2Z_mVkBI<^SYjhA2v-<=Qy5QcE0zK(!Kg0-uhOMCw$_>F6_?!ci^Af1j zK9EfJ)Z^LVt%q5CvJ^0%HXfht94m(y1_X|EoRSC$@3h0Zj~L+@NFCAwAMn;OWXId0 zj4odGwb0N}58F;NJctR=+FfssH+OoamV>$@KS|<}$A7YkpZ2=1#JM~nPb-N1r1VVF zWhuX|qVnU_s7|}oCgoAOJ}syk3o;D9pU*FpKPiV%|Cj-*`F4;-3ak;z1}E@+fRf{r zuQmiH##)!o2CFV&aBQdQH%zwfX ze~QzS|H%Cc&(3|f2Dc!R~)*}0p z-w}g%mshxo2fms=2+1|IKLKMG91#|OC=2DDy0X45>auy<`?LRd>ERDSifxZ+PDnmW zrS$zdNR6s<4t||dDa_R5TtT0mi+iE#5r>VLXE0i!tM~aH3d1+>7f3g3Qh#Ud`;-0# z2?1s(6|QKanBQk8hrNBXW)DN#{sdQM#5sZfyF-bbD9?El&Rrn>`A;p~y!4mg&YfF? zkdypx76Twj`X*Oj(3{@-(jD8O{skm;$CAoig))o3q=*VSo4F8mhdSBaJGXb^=wt(D z7apcEC1II;iSs(yP6%jO`Y}HkFB(@*)n5FwLwUrk?sVfDtEmAE+u(_sSfW*az=-Q~ zCCWG@2u;|p7ufh~AOEtNgw3$&01eA5EB5{v%_`haP-gE=*`1OF3*snfCKBk&h}JJh zStcd6S?28^&YU1^0+ZcAC;XZY?!1r;23KAC$u!(gr1ZLtnm7t3nP3k48y1`aQa`d8?O0 z#a|MF(0Ex~fYZL%g(QoqLxJnF1qFqD{hW8B3}+s0&Zwk&qSPx5TCITjcY+dgws^)9 z6_}t@y0^K0pP=+7?EDSso3=l6_Xic9?z-g52Aw6{EgXr(D^)1ERps#~)PrX9FWXpu zCnyuBu@Hf0d=(;I*@DLye=-oTRc?~v>tQ3)9WD@dk6GR$1y>@pnWPgFk z#gHL(Vbv=bI%i=cdEW@fU?yu$hh==u+6*nmwkQQ9u`lkGT9T=NyEDMsEiuR>O#pb( z{R+MZIWiW#+?MZGs{5oCej#K#bbo~Ld-;8nDyxZb>Bw&=HI*o_b5(o_>+7%NvZF~) z??|G)ablG`>jP-hVvh4NI3lDe3?}*rls4{m0R`C%IDK|T)K}yNe^((Pz6LZ`N_Lwo z!Q-7dgeM`C2n_XxDQa5^IC{uH&LUE&J*}!K2Tn4?2Yu|C_`jh(W zcnh)@gH2B{ABV85>Ta3Yg6*!Q_+$WhinQXkH37Z|Y+>HGho8E8n$Z~#x z#eZhfZXF&#O7>XIwfI4bd6fB~aIV?+#H=%>-+73fFh5k2JHnr#{wVh}K?L|0$k0Z) zzy1~afAz2Uh^Vs(_WUhoOg(`c4!X<)MNNiYaiE_iBt-nQ@38~Vn=RE#rD-nLi-)^l zv!l9~fwcl$!X6T$)&A6I`#Sm*-M^9&{i?6M{=1#jiH)-&C(^`+k6Tuqy;EoM1?Wo` z-eU*o2u;pA9a&^K0R9yUj*6qO33l5tDehUIG_gs3dY7%B(x$0_TL-220psDE)wE+t zeb7uU5qY3VJ%4Toyy_P}W4lX&x(FhWQB~8!Uj{&kRS{Lvg2H*6;XpMRNJU#=oVQ6V z@jz2S3Ro%v=$!CNcc3zssTr$?z^IZ;iXvov36#4N-9A;VFjF|@?aE?y5(B(j3~et0 z7x~KVviJBpB%hfxCHY}jMmi5Vi=CcacYcy4v)~==K&|cX!@pPjXRG6L1k7 z-+>7SxrbVQP%$0yLX5qL#N~gpjk@B^{=Sbx&OtTq<4k!yAuw;Ez$2to2823bD1gdz zVw4I!z_$C2pRwnOf(cJu^^8J$4F4CpNtXVFZaXUP&`ooYPgm+Un*1N}33&=Mj0%*W z%BsOaQT@8MZd!w!Dn1)SzCyh6!5bm|LU=_zHp+hJ`f?lZIaTcALLmgTY^t6j6!19< zxJv53rRfjMqatKI#6SKjQkW2yYF)k`!OH;#;`-M=Qu_o0kdQwXeu7l*t?B3$fS~lc zpa`f*j0@5TDT%JC29cTwlyc9k$OWiq$M6DS&IRvD)&5{w!j3z&5Azp_bc7MU=Sx37 zM%rB(Ha4FFNma2q{82Yj?kE54;pouukvwWS#CH*CD79F1lVS|c%b4EqKVW3H^S^=- z#DBrawHF+Bu8}Qvz%*&1e`K0D>-x-sC#YvhjO8%K@Yuf52@v4U`#d-rTUx!@OT5bc zP{T4c7HoLojMqpTO+N;czajd5h@qI1WX%#D86X_QZSalgfitozJgh|mEBGv zuR54pUIurMk`@*a7t}782|mTFdM4t|RPB+7`-2c>;vh*;3%<#xKC=6$y(?_s!tuqu zFqWfjeAnl@qP!Eb>8cyy+XP0@{_xGEmHLN|3uyTdOFNNy)(=gG)kr#@OxX^>&1Vcw zySD8GoGaLS9ZFT$tXlI`PQuDOnv259Wh9KvPcjabR0uW1PZ7%`(k0(Gc!W(@gDL3vw2(+N!KAd?JpV)G;2`inf=F4HF8xrbiP@akNV-1^ks+?5bcs zK9u>9wuM&dgl?DjUN*-OxSx@!UZWMYxajU0in<19l$A0&6KE#GA6U=c-_A5F2AeiM z^tF9V3n-C_*2>egrv6z>CjSI(>-h5DamVCub7=Ga!54Is`{J?QPxNB{x+P!w71I9T zjIzZGEZIlo4oC#+8Y3OVNtVl3?D0NLj@uQeLFJX+#Ry(+li+0oojb1fkfwB zgjaX!!O?A(;gxfGG|xbH`llyM8#!`~4|$|_%&>F0_$78WpKwl|vtORHUQQqfS%n+j zx*kPX?huS5qGjcGBVx@ev-I?1)jd8y7CCXah}SQ#5+dMTx>X3|wdY+7fB^hM&#+-kLU{SyVnpCNR}@qFZ3 zCI3##{`jZ`H40l@U2Q$_C5aC)1|`?r5pvbx3PWIQ(A`}>zHLj!A4L5cM<0!aX+Kro zOIxG(_N}y&S;5+3lW7gTJLq^AAh(P3({u>;m40`f7Y zHa?e^>4zh_%czhl6i$=!$o@0-T(gYU%k#}!ZhB0ir2!`Wbecbg5q3=!@-f+e+)o+g z-{=k~w!&G7f3i(##Q7Op-OV5?BE2npJr@Ye0%cso+t2Xqtkm@c)h}dZ7i{X$jtt)w z^uyoRqg?BKrf*lGh(0^4&HW zs!4=|9D@~!Z1lLpqbM~zq28;-yTMU_YVpC0Gv9E$?hfX<=v@GN+?4%K*uyZ@tuBBT zohKL0zUoEBzSt%M3A$9IoST$;7#&l^>2o$xvw(d|H$Cm=eV(6IVF)IQQmKF;BK7}Z zh*;bEN#m}72;(!?38R?OAE^C9J_ybJB_B>Y0Qm^t1jvU)EI>Zm8U7_7)*%4-SjH6m zpU6kA1VBDc6aeypIQLFIE?WTd;a>od50aAqE%}K53XqRpHD%U1ygYz>pk)K(V=fdR zA5WwIFUUuQ^gHX=*Hiw#Mjy1r$rWT# z79a(BKQKN?xGIwDi+U?=&^=?wg3m>9Vm}uz#u`>$D-x=rCP2Bv9*0!GY~fC$^kq#m zN=u0M%1ntcEUBdsEC)}_7w6(CRN0#XehAkC;D;FYOD_tO3DBK|mDp;aXU052lR$~o zVW`s~K4H-?!_G=b659 zq~mCt1{omV)rG1AA`0ZY3Lh}OV87?PxI0T^)IBCYX6P^6!vDJx=K@&Zh1N4%d|+VZ z-;=$BBoXNAO}<((jH(Mmb)fU4iswwkgQDD*JUv&ys;<~m$q}7biCz{BNqiq-*8<~0 zTpKk5QADcSfG6iDuykQB=^GpLgcb4)(}gj!k!gk=9+407F-aYjobU6?vjz$3E*Umm zoQ0RQ`~J6)YX$Jf&A3MbSKU#=940#ZZIkrMs9b}dOTHi`TQxz5;p~&~H~VXB>3*Gl zc&`&jc&`(`*|JPF%v+%8dA~pG$TkBM*FVd=6}ft$mG-=ooRpd)VLG&>k&M5?s&5g= z)3laL!jK953UU;~gbG%WN05Xe5*pwC$SOn}JvZ;^jlYOjl6~u@YXLBi7lMkVGvz~! zq}wXB!2y7GfE>+cwP_<}%@qsgKSOs6t*bwSNVTWw|B8Mu`}CPha%pkr?V7h2K% z-LX^{k_={?Py4q`oVEz~ek3Sp1%>Au`%h%lL$CtA^6(H`la78ET@T>(Jmboi8-jDs zivNcptc1h=gs>72El2);9l~nKJanR7C;9)7fJC9}B|!?}!ZVrCEtB57oLFzpg#CR6 zw@-y%{SF4;hg3S(dcKLT-hn_pmnBfo_5KXb_Xq6|7WT$l>Nh|`{AjX+^uaj@d$g@a zD;OX))UpF;O3|Ei{&dBE3&y2xu=#Z7ZGE;Uys&@vOR^6HI5*cU#He^bHy^om-3bd} zc0O2))y*&+vAJ^j;_QE2-_Ej)Xq>ni4oRVjtqU+1xcWcXKoD#r#ZOyRRwrkNK`sOA zLgZ5*4Fa6)Z#3|PknBpu5@fTp1>A*y@-r0kW5imk#-;EG3c6&6{Xw89AkSLy}b;DKkp-Ln~)d;r3U|B@fH05_R&;Tbp z`i=%VTxD|sG*Ho`xMPqdXl-wGz01W11hCFow+*s}`$5Xw5eECQdnzV$D*nMw8^ z)rbMlK|8dSZ4e9J1@IGk1-=1*K0s6H-#JKC1Rw66SHrIAV>L{(46)8J0v z5*$w_{shvmK0nD2ul}oz>`&2gQoQ>jm}%LaFCux%)0G?CxawAJfezred=6GX9IKh+ zJ&qN{7hCr1n+7A{0+!gI>RBfl7H$WX*jWCqzjSbwDggRR2b+8}z*Z(?QBf1oBFOfgGhu!v0{#_APNMqN*4~ z(dC;Fuv821Ne~mho|c}?<5IR6Ht#T*_svk?L7z6&8&Ag%d8n$O7*rUEG5}h-5bvM0 zCSsj}^mFKs7aN6{NI%}PYK9Dc`rt6`tBD&_B>VS@g(BDt8<>lk-vfSNCCouMEV^a{ z8J`;Ej1R8pnY&7ZI*isizVs{q=s>fYk}JCQHo_m4L4|Ijp7}SSW!X6S^*y0wXD}6{ z?Aow&=}pHa9!K`C|Dlfct}Bns^{2rwfEFUmMxm<<0}K=wD9f6i z+i*FB)~n1S8Ak5xYWpYUHzWBs}@9`XjkB17IE)DMBT1OuDVVP>O{R8dx5p z7^bB~gz$i-u6OxLup{sj?GL7NAaqso@!bgVR`z|5UbV4f#p#3G7t4WaguGXEK>{!N zjrL@@6gsor4)l6o_Q+k?;1GAVop=9mPU+zau}>Sg1a*&Ov&9#fz1*OLDG&c~K}jK( z&Q?m4+Jh3}~v0-sJX8THDBJ@Wjm zG1ddA+(sKuCKe<-qAH((WkYcSn=W*iGL4{-%zaxahovd7osYZxluMFfx=fNg7dXx> zucN#KsVww+=}T^r_qwTKas4*z5BUwQcqM6(drKQ{>U**r59vwTm(myf^huLCc_l>e zgkMj->z>Fi(aH2QHXq@8P506Z(?j2oV9D3{qQL$Xq8G@~n3a3cJ*Scw3oMDxgQ$jJG_1DVn}X(SbUy@@B49}%JA{Z<2-c7F-+(A9;5Ha(R?}M zF8oH~2-f#p!;yN=o0!5D6wkq#3XSZK2+1V7lG!j|nib(9fEr9^bQwE*M^a;%tNXlRqx_tbS78iDbJFSf1Xj7@!DOuy!58t(huP#Fn4~#%39?eA$9NP zLRBu}NwM-cUmMW8=Cj^?Rt?)O=20VaU)I(-%U_!@t)pPpzzJ;^Y>`rKx$vlC@;N!` zCuUPBKH6DDC#!pwirckF!rcLR-bC6w@4@)k@$N7#{^6y= znZv2(gQ>CoCNZhLd4&P%gY+Zn8s)%Ls_u_d4DEpH6X}YOZ|Xfc^knYFt_soJN`L)_*#)Kv7Ia=aw2>MOX+G89>@||gbPH8* z_BzJ5(-Du6K_XK0@ykYGG5d6SFRT2G!cQ%;hqdafDw~9rVT>okJp8YX2=d&#P6QJo zl(R4V#yQN~uhx!?EJ`f!pu?6j=$^}An0R{J;@9G@-*U2lwmQ`-X7>E>?*&Xk!H zK2lAo8IwWnamZc|&lfFsO=MJ>;+YK73Kfe7S9586SzK z@bqamcvvhq^ykPZm%%+tu60it-IC(T_xz0G`Ge%QHAyIbS%7cUL*5@#cMh?mgEUlj zp3b2OqBnHUaH^nlX8L^{tj3Y?D$=CF;4cnFGaEMsXW|-On?v9?+#+w&uWjmM=Bo}6 zP%1Xb6+DEl$=v-uuHiIm&; za;cZb5Vt^FV@D*w9(~%g?D7yJn|>1Ekl!6SGr3vzI#i z1`Xu=xrDptwVm#|u9w8b$gM!7$%m)H0^3DyJPkX}{k-f?p48ZO!+T~5BfH2;*(+CO zCROE5WU-jfer;PZZCeU1L8r7E5K>-;m9E2!BgFxka(nxF>*j+~a~zf)-OvXQ=Y+-c zTU93~3snrZZ-T~ew!A?K%e8Ht;m(%3xGk@>Fy${lJ;t8Z$Sd*p9SPcyvs^51GY+3$ z4XRE$ig9YQ&D&bq&D-43XG`u^OU>IZkUEMMABO$f3eAMnED&Zi2&b`DrgyBuJ4vy? zxyYPdzmP8ihm0QXD=!=8{+ZA2*26>uPZ$V2V&^2k*l1txwc{1zBO846Yi_3VFK)TAD9z52BtpOT2Gy!7l?s8ruS?}>$K`>5D11&w-f zmU-Je;<@Q3;L>mYQ*90edS-tGO2%`{uFSnaczyqw;r96LMgcFl{<(Zqx%I?g6}MWj z7HLW5(9YJ&{hpVEd$78-q5E)UV1)P=g1@4$oVNP&8c&IICk?#nr_+_{;BwKT6Cb$) za1()Cnh-o^9cM4?^0k$AxoG|~`8KDztm>>eHkXduW9*?&R&wE}8#?KuYw$TnnOw(U^Qf-Wd|-8&W{xZs4^zIR{_b;Gi@q zrZ6P4IFdHwDzJ~qGdAqAYP`(_9wh?BgMcSyKO;+Ee?2>wK_2 z;dJ=ew2He_oMC*{7ua~CmX2G$%_h$JekE5379+44maiK(R82(Cc6%MfkR4dabq9JX#5^z z#o#05IHT-A7mM@;zTH=Ij)Zzk8!r%pKA%wjInot6pvf#$%R zLkN*%xfe}N;CZ$%)HR+KmGGr+D3|-jKVf(by_r9;L4?699p*L-d0PSPQ2d)v&hr7U z$b89u$Z__EIi9%fGk^C|RrgpS?rqI*ipMf$rX8dYpt&iFNIlCk`8qD4T07S@H~sZm zNfwSYXRfGDVyznGgO1IM;m&U2=UA|?R+%xUh@(;XFYtO(4H~~@f*Y0H=u5xHswKJ@ zl}{e;eb-*NUT7{sa(=49<@ZII!(6p@!?jyF3e%kD`qZ1ql`dFt%|A=7wMrxyh%)Il zx&^*>Ok!XP5~gh_PTW%(+2+(Cqa}9t`&7;dX=v3+%_C{ZV0r7_>}DUtv~lgX_vyMf zo5TDT!pOQrd0pvZ`E7Q}ns@52pH2iDbHCRbFqXTA*fM$};#tNH5yvrj5K{}=)&vrFX(Dn(QlkmonvYc&9yFMcrQ$f6UWZoOkSoA_`U38 zAHH*c)=*t>qES+Pj=0I5#2rsbdusl%wS1G-F4mlN)5meu*XnV)Z&V}k7Z-8- zumjGupW1R#sd>wj@6ioW(en)`(m0hM= zswq2M$^42}$CyFuW3O9gx7-FAWOjRE9!p}{q_Q=A#%K~mY35sWiAk3`Y5R+1{OV(a zVh($uM``j)it%j_S+F`OO%6M26@llI{-UW-UN~3A%5>M-b&)trdA;ln`F^S1O9%~5 z{HoSahK|vmGXI@D#R#6If&yXgpMf-lowJ`cS60mKuv)EOHT-;)N$msk)6BfjU}3@H zK_9cslni^41ddK$Z`$ISne8Y#Yc{LWe49ORegf}}DEi>UBYRrF64!pHsi{Bf)2)aO=wuk4 zXvqo~?`CeZZz}#6lhr|9-jIpm5AghXL#Nql!WUZS5Tid^)Q|uDtSSyxiw{O1SW|ef z;+u;|tSRR1)ux?w3hfH|!(`V>@7twOD;Hhs$^&plbpuSsEH|E>-UPbw#rU3mdn*1P zGtgcBC-E;eMMU_Gi4qmR6ay;HBb{D#U;lGN#z}H<|xHl98T|ZkO9W+t2JfljDCrIb7cgkiM?}btY|PLA30FuxID{YK+zyUDuDZ zkI!M=WYJhK|Enx?`G3tqtB`79MkHzLjho+>`AZ7NZvM7T4mMHTaG7n)pD;rvo}r|} z<=d8KQg?;0S`?9WX=rYi?heQ-!?>$c+I!|!F5X%}*a9iNug5E*>!W5E73~gQ(SF(M3 zOTeR9bVsK*wquQFwdYoNwGETcHz~at-^aiPaH=hVrhQtYdcAOJwvR-#OaMW7zRgHqVXP4flE zAVBWfdj&sQOQ>SsJqHlYiCD`cr8KT83P^K3TfbdoB5^??Xqaz!b*hN(%o)^W`jfSZ z(J(id#G+Y{ech#qJ2;#E$|+9JujE%Z=A6J7b4PXC0+CGsn7nfs3vYkCgtkzgQm`j` zmpG=x@KE&2eHOqacuk22R($R!5$~wyCx=07>NH{+`}+l+C-yq7f22-j?PaaW^OHGb zj8oPZeH77lVe@RBz@h2|K%h7} zz6OPzpg`cHAJAFi@&)?sP^mG-LG^OWZS?n#(kdwNho&OEV%_I8!Blg=3~awXwty7*I!+gnT-GfHqacq{-6e@YD~d`9N??o zBgiIv^A+p&p7nY-B+)-V?K50L76LjgR$I1P8(C=I(6heD=Lt``XC)O-PblycaCT$! zm$p3isFy$A`Z}K&s0z#Ir3cO3NKn@yI`oa|co)oAtJSVjV_wt{H z*%clz@DOo9fV0Z!miZjfCVMZ`sei7VA&l!bD|jQOK=^-h#FeO>=pJ@K4;upGsN+1| zCK5ZgKU-|_k>O#AO#>|-F?I;8Vdy~MSq<^Q>BHFcAR6^6hF;xoYZ@BfH)f4;6;2tC z|BJo1j){a#^e%zM8fe^I8f)C$-K}wVcXw;t8h5wG-QC^Y-Q69wc<;=7le=?ozRliz z*-hpj5>g38B}GC#=Q-zBpg!KC8V&+T8)S3|;YrG&)7_&blp(4h4l?=7(6)xgd~YL1 zxFzf?xy z=ktwJp@7AiF9=@1L*A@4664uX=xqk<>T1iSEg)RJb{duv6K(%hm5HMguJIyc3zP*sZOkf z#=$Rupy2PIYo29M>GvHZWGkw_@B<_%c;X5JS$(2W8NnBw(DX4Pxx--~NDt{TCtrxU~VRnSK8m%9jL_YWI&Dz?ZAKJsY(R=v zh;2)R*31{5wArdsgVlS}>7Xgpl4mf*dzdglozh)Q@R=G6ku9*>;TzfGgciE*A#~fIee*p&-g(QOl-*z(cr96;qa4V) znLDyioNa@=%LY_$x5fyo3=WhHMM89PRa2+5=^QrcXN4$s}r zuI$)G4dh{wSJ8n;BAnr`djrD^hYSb}^4VackLWN>E?xqjB=eDd2U{wQA3wH+9W)ij zhj+k;7n0El+%HVp;kU*u3=rB`0cS`Ize}MZ5HfqcLssYjzs^(9w!bE8)0*tE#|7LCQKYR~q!oh4LIJ>9wSUK26#tC1 z`u~Bo?05ffSSt&FwK{Ya(A}b(B&IPwGj(-B(S;#^4j0S#ZUp(Db=;2dZKkuDRIa*%+Rpb z9xa5ALW7IGd1<>xv`-UCwtdUvNXD@0D0@S#*izx3`4&vLTZS&2`0?w(z=<|Ak1@ye zM$7fuTbT^i!u!7QjmQM!PQF`);#hjvndY40pHF3aU_54b&`PqVH``o?6(BU9KS~EC z^yU#3s<3-uvyxMVnWumh4$AtJH3`7DrwDRLWb`dEb$;yG?>?5$+Q(41jb=#T(o3O^ zfbhir5*|YCxcSK6`Vg=K{%*EB{Qba+nNMT+ntW|*{9#SuU)Za4#bvURidkgNRgqnAETUewV|*qyc5+EE$4>`LV1gE z1r6G&evYY=!Ts&h@#H@)9WU-{S6cdvA1*hvlwH-uovNomu2nN)K_-{?Uz`74 zm;Yw%ky)nsO_JrDfx^XmZ!qKLa9M6I>ZINrC4cI8VC8rKZqabdE9Q9KBhjb>bx50m zlwz7<+RBV+e~qzVnY(1I>pJs}in6JF#g+Gt!ff30);gbNd*fKt=uZLBABJJGoXef} zwz(U^V`{f{72KWv{lG%Q0{!e9?lDW?tBSwJp=jJ5~dA+i$)~m>Qm-YCbj-T*(sy)EiUz1FL(Yjb-fxR(FBYM&J~fGxx%6X#Fmx?Igc;l_t~L zl)pPLL|NYE_KAMai=JcOG<(3%@9^kGX{13-s|h$fA*v!ta^cUVas6db%BIfh{hKn* z_{ys#+!R{#(+cjNF}?Ns*190VW7zx37M}DSw{Yp^lRGmzn%DtcLG7zkJ?Qx{$**EHuZ)$5$>Gv7zkXvgh%G7@T}a0@xcn73lkES8>J01ZIDXoV^F1j6e# zcqySk;?^@v`*vYyb3P8@9n~{uVZcGXbz^+92gS=8hNj0{a#$Iao2a^jXcz|cSEa2| zwre0%F%RH6oKyp;n4!7l0*D4FV=|g)R{P5EtO*TSES}P>9d!$f096o3f4PkdAB+$` z2G@a!IJS@OfyebGN;@SV^#^9B>IoI%>`pPLYZSUCPScQrEk)75UOAzq+ZALaGmv58nzmJ?h=hM^23saR`3{zn_Zmtce9TZiYuE9dq!7fgoG4A4C(^ zu^Blsc}>002^tsKL0UR|rGU%zj`XSXRAPn30`6TU#yUp`UXaANu3&I3BN+ zopd5HNufqlf2XHTGk^bBxZh{BjJ5Jy zWO;FMF_wIeL;Wgq_+3oF0}RUKkELCCT5PJ!`$3z=>G4TvY%Jc!PP@AFEJ>klf!#?e zPoA|`3?ci=NkaS6Udju}ZkQl#90S?UXxJKPgLe9@72bJ8xCxUyWB&Qr$nb z92CqhQCQ+mP@%LA>kGB76Y5A-wo&?bkI<~ER?8@(VT(O%J!;Gb(BRFdocIU3%G)!g z1_a!kJXX`et($pvgzwwX(k~fqG^2PTl{0I9Xs%FPDhi(_!F7)LRV(^qC+eg9jt25V z$eeG>{T5pnA$kBCF}ROHW#PD)aE4Q-zZGan1oz`^=HP|mh$_X-Jf&i?*feq71=M{8 zD`f@#&h4+bxnwic$N9!sH8#?cT|9&*n0qyFv)yt^xKjl59=NQ3dDCQnU9&opf&0L0 z35SEj*2?|y?5(TqP(z5N;-BDV|B>|v7qsE1#)1ywx@c1SwUY$Z*9V$|8bEOux(a>; z6ED+HyOL=2W-!9exHI+~BQo@y#l0fXgd%grtM0W(#(<;xanmyRBgiw8zDEd~13|j` z!9Z@ELSr&dl}|jyLMALtmi+5-wrS#(ke98Be&%lEbeyguD=ZNm zA(|F>X67_nEVER|3Fud=>D|4s73T08MM=#!GG)t%HUXp_=0I`W5j1z=AgPGNu;Py2&SX7e+(x0oP9+Gy$*XO}`}NhR!w^9m%QHl{GCdYB)BH+_n!c$m?Pi zzw)U`KY~RWXD~~~2hOMD&SNWDJr<10k)OjE1q~A6<=r?+pzcI6%QWQ5^ekgH3FQST zS}}vfv0Mbh^NjTrCD9dYSQlrOd>=xga<0YpWRXfZ>0p1e^3FPRq`b)drFOyElsPW@ zUTkk0B7qxJNai-jNAa4s7?s8n{oU@{)ART^!^Dl@{j{U8E;kMJL%~qDR5Tvds`e|5_I&Eh z^ho-~`<3=*2_*gGT+6y~fr$KZ{mR;f!E;S3$>P17!4AT;@v!s<>34HKhu!MrE*0JF zWv1mPfftAiYZ}o4jNvt;Q{XIg^C5;f;{VkE`TEVRx*riaEAD6{;y=|^vjMeLJlL1D zzc)arx$SLK8WuhP36RjE1V9305BDMUoOtF{!IQ;{GLONOJwpn1THuJZ}7-tr!X` zt!oj<*cyNpGmyj>XO`1WOp+lew5M1omsP6{i6A~g0>`GH0mKE;U`|-bxw@uVu+=TI z5GtUBDdLrGMr13EP>O;lp~!{x*#QZYQ+JqfTRYE8^D&n}=1j~OlScrqIaA`-LrUrO z^%X1J%KJJ*sbqvRP?(S)Kdi@yNiU+?`kjJoD0JHPaJu%NldFh!mD)QO;!E=BOn)U; zN0Gan{+?X*68Lx{H|mcP*> zT$lQ?R9HH#SHB%CL1k%f0(z z=DzC2yRie@f8|y)422!&MC$tg_iL-U=mPvA+^_i^_+)GUZ)2;Iz=l8?=O<)PiOHp1 z+sMdig*|)}QzhfUUUVSP6dYNyL2H?8>$+&DS@h0X4-HJJ7;&Rihx$7uX$jL0!dN@!e>`Ll5_6vfxBHj!4H6Ad7&D3bO5wL$L0%+xr zFzCSPER{mB+6>~V6jMS-*j=`iXkbf+v4A}q3*egmCp%^l{&juZ>U$x?Cm9t zpZoT4M#xF^vF?GX_FkM6FBroBjMB>Slpd9DW9USGBTM#22>U0)Pq@#uq<@(bIgqIK z2pFYt0tY=?=$0`=*)*n|^XBd?~^jp~L-)b6zBFAZwF^eHC=~@FXwzsM8PKBmQ8rU&~Qe zUlZ$BjE$$47&CM`{zs+vk}e>?o9K52`&Z||YZ%JnjR5(B5YPRxgpeSUHd zFl#n9OOz+5wX|AmJ#(K_a%y$uRY8>5-h%K-2sW&`UD;Ln`#K0mQSU4b0}ix}PUfHr zizXaKTv@~9Iu~tM85$4$$)Sk)-~Fo0DPpVsJDuj{?k}C@+LTt}OFO8Okjk&C2vbP? zNmKNKyxeUP(;PHQN~x$b!9hjHCM1H1Y{0+8b|C|N@G)>LhHwZ=5`3cv)qR$79^%J% z!RYWyN+xx*@NuLn(?`lwwWw99Nhg4QPp^L{u+O6|PiJ7DD?cG8+Drw1f2>C;UP~hEL<=3Ilv! zPeISedM7-d-8rCT~4ZiOC!F;{3(F zS_gFLT}zV_SV0G+GW`z=Wlf*6V)ga%X4w@*7Ud63ojYxnHz0GKR6V2LMgULeY(YQ? z&~Lpa0jm>I{Oq^>Fb4Eni$MNLl%UOx)Ole55+zEXiIT&@rC)eMCZK>sNpt`9CSljw zxPAPJ<0R8Ztq_#6%0p;yq^9_HH<*BrvAu&fC@X*F(BPqZC_QhxK?L zdyh4q?wWxvuUI_O^BL)m0aHolRZUro8eyMPNvh2wj@Yrs@e${fMc zPry_X_ZR-0E5KBeMUMZr9$+eIk#?^LuV9*E3?ysvD*uZkCoW(rDR*CR1rRB@Sd>!B z#D*~K5+2ID3(HE|R)%BE-%0J6CYCA;#xl0*iut=jeHGkeG)=2DDKK|$hGG{)2b z)mBvo?Y7zt&=NZyFxIUvFCcW#K)j^;=SiQ{)+TVYU%~|IL#ft>eC=S_6~>%+?p0=3 zjJ+6__$C+p7R!ET(d_HzEVjk{oCYoeLro(A=kvfgVv~1(l_VUpge-JQvZQaV^JFs0 z;(wqu_%+G1scpVG=KpH8A-+|y+T8bD94W)RultT|253?$ZbdR`0NjYr>3L4y4f>giMQi5cCZLLpxQbaTqO;o^22Rjx(YY1P5(lNr&ct` z)unUVawh8f)`xg428#s(ZUJ(c_+lTBYgMW}y0QDBD&SN*lu)}0_`t@;MPHODrm7!{ zSuVt$;I8J5U*FKKFUpGu%cKVAuiA)UQUeBd8dZ7#a!xq}K+d@vo}c@aa}*j=KII%J zY!!^d??5_Yh=i70#*ryruWb^G)&Y>|~hy%zu<5|p~a?Z?Nt~u|8oz?9# z@fy=!?hEH`uKBPCTDiyV;Q+>LWhFq)34*aEV*|)J5IAD8jVKd*RiJ>8B)YGT097fs ze|RSTb0o=Dmi%)h2?Fp9U?j;zds9sFhs>6I3;X_LH((@*pEt8C13{Ct&-#Aer9n3FzrbxPCa!dA* zAq=EE4ZLqkYlCsY6F*o7*eQpBbee_^bbiM9AAA?E;sbbosT$uJh3G+5A9n3!zYF-> z$sRQ7p@1u4p-fFMDCZt)bd{BqCuu^viCfA@=LT>&*OMNMbZ2}Yp{?rtwc>pe`qYv| zdUn4nsJU2U?`|hdeQMeWqaaFh7!6j(46BfS3`%Xw;g5|uXk(~kjEgY}DDN8gg9GH8 z^Yow)5#ysU0{UUgz)r)zy;~5i{(83Lk!24*gzhJ=iQ_cyd zVH1hZV+F)nDS?78C^V82Dsy2_%OUZu0%VH%kpOZ|6xb%MK0wY%vx(~h$T?rb7(Pdm z9tp2VSkoDzQ9ehKB)YSO0V7E$=b}A;kt8TI^G|&(m?m3Xh!2}j1c&@*CqKTjWvy9RRY~gt)Ja&7KIBIcs&8P%r7fw>$*1Gn!Miq*9#q_h@JY25wf*M$pnzmo6)c7^a$&z2 z`UpYt?pnx0m+s#Jy_4AvD7^k~oj#m64*9bj*<_Q^#%YjB=WTHtVgI9~Z^GoZ5#UnZs1DmCx@#T_mhr1m=qZp|4Yp8QO_E5{4h9b&ulV{X{( zmQ3A+hoaj--y+f3%@rJ|Ci#Z@)#=bluiN2#Nv{{~Att#J@Wxc4BO_c2B5gNwUI}wv zv9OmYj5@7h4ZT#lp&%F5o?^_(qzr>S!Hp^C{9U!bo31Ooy?>do05Q*E3y;P>2fURh1 zpNTWecY=Sj<5IFrWK7FqlL)_^w&yZ+vSilbtDri4%Rruu4c0}`z}{nX=xJ#9X0Cv? zq~*o78(AQdN6Dk1TR3%#3XP{317%f>x`I6k98DsVlkN7>3xNZ=ql&Ib`Xh|?H5`O( zQqP)Op_80zr}|f_VZI#MQMEz5H2+TmMWqB!Xe4>$qlY+dGcMKE9kKYMRA(1uTSQlV z^5JenDYwxrz*Lh;&BQ#ph@Z=-) zKXTD!CcXTSGFNT+_EHS1kLM%c*oo~NY};V7F>silt?_j12Q48Ci4=_Cn7gasYR>CK^$i7QDZj5;wD1rA4=Nj39HJ>S5vmHrGN z8f`;69{$dN&7m*%r4GuGxq=_-EfsMOeU*%@qj1I2Y+MauJ^zd5b`_7-ml(nNk`H8( zr!vQlK*!AE+Pzt=vbzkm6S}8z$Bb4Zjx}R$G6J_k?+(w}=bahWahp-H8%H+R9@N3pJxSYGL@wYY^IUd}yCZAi7t3C+fyd^-&WXv_oJ$OAMf zcBFpnY^F%qgtU9gA-5N0G&`zaVW*C<4w~~oCEQhId{ozq(;rip%sREHsAsv*nn;bS zb-;tYn+$A-I=7Jgp+^$_X{p7$h{q}-h6#3y!cqje+uItPPQ#iUy$<{ppOElZ&7U>% zIr&EB->BNG{WQhl?UEZSqY9_dj8C9f^X=!i$m?!09O`Q&Rca^TqhVA){eGv0!UpO$ z>mOyMg)BmS47WpEA6n`R7>x9ytjOf@OWUwp-V}fQYbq4VmvbJ?7E1@VO zSkWBq(TH<=9fb)&%}Xi^@a0E9%8Q-KQ8I14_icLibGYelcaUYsD_~VtyGqE>h+*dH z>NY2VmSxkVQI$1tmPB<^j?BgmXBE`Y)>_UPg`OBpk#jX%@xVB%E{laXtsnEIRYg6! z57t3cT8_J$*5^J!e`Lx`bPnPm?9Q^ZoiN9Xd<#NoL%w>#!(_Lagz8F z2R3%MYhO-JG~x)Ky$*+Xd+xjzi+X$Ry$*jhwGqBAxrt!W_BeS>F@ARRw9YnZK2Ha$ z;6U$}dTwa{_+nHh%XNa<#p1GazT%i8vyD7<9RWGZy}A;|MTu)gpOJ#%U;C&5?_$wT z8Aq+Vv_j<6M`gBlBBkw|G30UDwYhz9&|v$*s*Rfy4B=l7FLY0E@w9!v9n|%3;2rf^ zLxlaoZ!xmFeLMx*Dr(wt{sPWGA#JAY4PDMXMcPXhB?)(vO7_n6ts??wFCeCeEGv+GXSH9Bu(Umt^px2qU@&?RM2lex@gF3F=R82V$+)ejSRINMiO z+QTV4XQGRbT89SCUze9KW^#4;i`|vLp7AUM0TQsSy&=_oL?)n`DwAJ{-m7*gM2rMR zG30u{D$?k3ew%E&ASk-6;Na*~;B#5dzt1=vJgEy<)99qST|Y70ev!WjYp^TNwHXf$ zPXwhQ{Mm8DU=3!J^=+*hm|_e$k#^>^v3^EvcEPGpJ6ER~jHpb0EkA^MA~p0+*^Pqw zK?$u`Hygub9%{xcXX3Z=g@PvLF)X^V6t$vn_LfO_hDlKYIKj$j$|F;`+`@6>ZH=q< zXu%I7G5w0(c8yHtqe5|q$V@EY+DPUseJo@)Rw|lP&g~0D7ZupaYhM{cS!pfp?gQU) zRk-MMl|mjpk|t2=Mv>{(f(yi$IBIrn?|*UKfu231v7*12N-k>6lZ-Eggb+HvCv~i(Mx}Q_R=-7+jH>2QTdu2yUbpJ;yLcE zvF*rcSH6=v1tfP!Wlwm;pFnCH1UwjaoOU8)P3(g<)VCS4r}KxQy*)!h%V3~pE zAzQ6(Y2&U*El)by(-stPNs+Sk^hx#KRptbPOl^lz)+sE<^WRG*a2tG=FwKp&w%*I$ zCu{K2N6J7gznPr=FcINCLXH`*xRhea__5)7Y)k)h8N;O$s`R07NGiGM;ym1yqJYa} zY)vZDK5=(k6GN;#7c|OKH>2*vvcv@^FvQ3sB;wf!n_6juJzc4=#FeI5VBH3hCM9Rr za_2hK#0e3X;KS1Y{5$59=MR5c4Sd~9MMTQ#XU=h*)^dB4Di&cEM z`KUW0HJm&(qhUuRN8~ytb}x1-dNQTG-xs2cVXdP`ZwIp9sZ94*ow<_&4fb+f0%iGUht2q!i@wTzAG5_~q0bc^Z%pCP z*%}Kf%y~6pAf6T=F1FrB_z3w^$Jn&aVjn#Y)JCqqE3~6J-Uit%v4m>e$8PI6wPwk{6<=cY?jHj{1Y9t6yz!JFPIqgQQ9Pxqy=3@=bYaO zs1WQsz|>WVu$(IjdLrmWDJw>8GuGPn=*wq556rL7~U@HG7^%G3ERMsfTo zPWwToIcvLY(R2Afc0*lIVr}EbE4E9UTRkkqraB4-)aWudpMI`$7H~ZV##kZF81O-a z>4=LDky5oyY1|}tFNPHU&<$s~GGXF(lBK$E7gxErphH**zwizb-I)R7xtwL%g_k+& zg0qy3@4cb>SVWGuAXC&N0FROSSfgkkwPL-H=j5x#e-g90EekfwY_|-)xgZL?Jk0O2 zCWNA?LkJ;&EEt3*Ga0Zw66gp!HbfEFKOR@nW@2}8Fv~Kz#7un zPRsljh&P{G#o=|2l8Va0{ELwGh;BRAZPP#+=58`1A~r0!fj2#;D4^*Gy5e2+%sJjhqq+x_Q4+>K5p56$_)*Ng$O$M8V>bV2q~d0>Qzw)ah7($x%-_* z$V~o=+?ep@IL6bY`GN5T1E$`#TK`Wptcs{IR{UNouqx=7Ms>bbPoS$FGPRX0^X;J(PfjqPC-D!P2!aFWK`teFHcW zAxAc}j7z5odG}j1FlC;Q@Z)DTtY}G~^o>2#K^&(b{wIik^v9iGKq92jV(KGsdb;eG zDAC3Jbvx#{Qy$1}8kK^nZK9XRmZk%{l*gMoVj?CrM*cJ7JjxhZ4A-nET#J?W9l2@1wS zza@;n(H=SN)28y9MthE}*13Y@PhB_+KS4p*q!x9o#53GSA|8o9-^(5R#wNP<({g>) zLBkp9o7J8GtC;63yLtM?G)>S(yQl5b{fBV!Tvl1By>Ion09XbAlk%16$rGQaHFn|RO9OeF^6yGiUF(ZUY@gI3AJw;#KSqKPf<|L z0-AQ1LQDr;rUKWD|MB_Gt4&orf8K6RN=bPS?3I=rR# zCj=CL=oi<$FBrdu?q~EX?KAoXrSa1S_lM?BnuTXW{O{80TRl?`*_lR2Uf**OAnkHa zFiZTyK%D{6FRLZKh1VHC^h_@i5PZ7Z*Ob61aiUm0UP$N!?FN6~7-s0oqtKJistGyCXBpzYQ6gX2Fvs5O z&)7LqiT&PRvGa{v$AszLKlZd1<$e2pdiGSzkda@EkEmO~vDhFw?{ig*HL`{jAPvlv zf(#UZ;SV2SAVc~mcx|deU_$|mlAC%xafMz<;unn2KKuiTu(MY#kd*CFDM*$O0{Dsw zes&{t`y>N=YL#-=#-4iUI9vA51oqM>YS}=nO(2}#dQAMjOiRf1_&Tuy{hKEIn)aFgzly;snH*O}Q zsmsQY(169;`}Se)YFWIdo(2N*^Ty*)gOJ>w)P zmZZDuV7>nP;vv?-PqnbjsYCBAEWvmnbXPaZ##KYYhB8-?b8~9wiXn;yG0?1z2Y5PO z3Bql<71}F4#W$bPw=8Q=`{)i_1^!MepHrZXBE57oLe1v(JS9H=ZUH~_z+9Em2G#!BFHk*U`l-O$slbp<>W z6b%g>Z;+B&JBA^&f@r2pKj8ZW&-RjUnc|1UXdHr&o6b;rx;*Ngy@0yh9qVU?NLT6= zmdhD*{&8KeTd`Rz_?*}iRwZJ|WQy-%j{l|8c_K z+jZ4nkAC89SXBBFZ00PpMt5=_v=rYPbgHD$S|0VsO63pCfQ#QfQrhEgB=nC0N#mbu z&9<5J(QQHUR8)qI_$iHnfYW^B&(nObKUcLJlzu-FhL0=YFC@V#JhkO2tOneoS915p zwsljYS$(0AiAzXij8BH;diH|q+*ae}XQ&`=al;y~48_$=eIXQVk@L@dB-VUn ztBUyGbxJP^ZD8{RIFR{$*IV$EXVn0!~EHW7Lk%Q z$}`K7b&i{8p@n9bp5`PJD%b*#(eM)kY=!*S;Vxi>Ij!G#;tcY|OxLK4)zmjwlfz#u z;hg4Ta4!?g+%Y>|Ba|&+<{7{pPTke}dGp^u`?J{bR2?i~m@Q$d8%XPjee}OF`c_c! zS$>_zjzs-}*=)adOsDF$fSFdFaFLKGUIokk!GNJ1g=h4gJIer7I)$}!2>Shy<#o!s znzUo+*W=g-Ddwh^Ebw6y>ysTyNCq9x{B_SnjbznLVx7=(mXMoFF^D^NyU=aAw@-WJ z76Ch#4<_*ew6u{0kZGv3EU)A&p;Q`}9JwH&>`$y8UMIre6m7<^L_=`g2)Z#QoxnHC zRQ0EP?IRtD^kF6sv-)Fkh`YdLor^@j{;qFv&?3S!J(MGR!Xk;G*g1umKbtvXn|yQ44ho%|GUk`W z^ejt*6{TW-2KV^r1?>j*o>yTVERgYcp_|5LKOK}_6DfPeR&IjLFxs5L(}fS&$NX+o zTpb{^69Yop;SUss;=(6Jzc76Bbi?!ANr~s`CqpnZ!m+aOr;VO(>V^FfEtfS)iqT^# z79J*zoM8)P8zf1~-o8l6>kxqgf6H)d@313DGDs{_+0qCYvLLeBeAYS;zIH2IaOKVO z4|6>`@V&ap@It<3b5E%AzeR^QszbY}8P~D7CDI;xM%!lObUQ8-cV1bSQH1^Z^K8gs zI`-?A_8hrV)TP07hdx2tJfv%x>r^V5{TlwhzFy5D2(&Z^^z>tl%#>Q5oEeXSl&)=r z42`;io6h!I|An&WhU%e8g`cgxs7(hO=CSy>^Dg<5S9<#k+Ldxie9#fhFN!`Huk#!5 zrO_B~q06!sL$aVb0z({$3v#T=cu;>XT#~Vd6Ag>ieh;~bTmHZ``r#10F$+&2A&qCO zD0Q3+Q$OFoKlFlUi)eLr!jODB--17vEL&A)yOd?i_6e}I?`X+&Prfi3@o8OUKs4c} zTVEO;dvbFm3b=jz>=-JOeot1FEtC5g+K`Uc-<;f}RzMRui*Jq1+ zFMX70ySc-wuHky2wZ=YQz^oI+tjA#1b9rlRpK}FAmPAq`r3Mkbd#}BV++8xctYR^u z@>uG@Voq%ay?NRX@@HN?)t9FP!=$0eF2iCO(Imv`txn1mw)S!vpEH1u*L>xR8bcyY zK`Xy9jgV&58w+7m6~qyfMp^X`(6rv{eD_j79WADUCCz*7eRoFu^COCms+!ExlXjQI z@-p+P>wth(U2weiQqN4 z>(2YIlIOd^$OqnsuO&x!kVW!3ilp=fub@{Al_o1A&$1t+ChSkT;IK4+i_PdI` zxp-0-?$H|IoiE_{S1MCvL&U+u#!$_tNA`iLdNBjJQ6gsmJQC1!MB~gditL4aOGuPypxlD{vEh{s#$QsvIa+Cy?uaF`OLeo$;89Yo+<3fd)`Fm z=S8O~7^0@omRe}O(_ZJZad)aT^lw_jy(X{RO|7kxi%jQ(a9r$fA#G6HqzL{OAMH6j z7ZWtE0~iutPQdz>L%UX`nvf03>swRnTI-5d56_$9jiwO~za`@>(*_vk2Eo;kqnL*= zKi6)>FPmg?*?%Ev=ETbnbF|8;G5f>xj7UT@>7VJ));y6nc;pv{^`m`NGVAVmPam0N zi}luZI-3`= zVu|g^n`XjrIY;6H{eVvFm!7=nA#PT-)oQ6S#RqnCp4SYw*g@!+$8Pu5b)^tXZAUb~ z&H4((hlHOGtT045)k_)Qw*@wAIHl3hrLYy>JyyOk36HGj^}7#ILd_hFu4;Yfw>_?* z>1idqR&pSXaNyIP(F!u%#m5^%keY<^FIqf-aotG{UsUMnrVQx3N?`ROUI-EDAJOy- zi&ci*&mH-gU3E^dI8$+}T~6H$Mth{-<{FmtlX2?qT9hHRvq$h8iHkujJ)7=1jfpAz zmO^5;^3l|xOW^#rv0Oa(hpFI_GUt*dCTh;^X;9ghGo3WKT%Xn$t{eiJ#Y&d@x_gY| z;F85l@Pq+rCx~uMHWWh5-qB3z#DZ@I%5-DVy`^uT1*}-xZE3;6+)gCQT9;WEtrtkd zWLk`$2}RE}nNvDj-Lylrn>1;|);SWY(yXmx4TZo(jH7yYVfuYLhilAi7QAc8kFRpM zhwGaFBKMb(%C=>LDe(Fjej!f(P=em}Aj!jF9I#y-MCN4MDZBLvV8P1>rLQm&?-l%=z;Tn4 zR6qR5h!R%N26iB6f|(-wDWf+ahc3uNl_2b~v0sI!lO`$UPr9fnJHoCK*JPa%Gr^|- z5fbRm+&O!E(F-XIqV2LV@pB?};h%3`mDxGVuG_yPf=kK7J)j%NODe517YhwH2GM7e z-Ao)M8&!-#ZvT3bc53YC2)VmcM{ng3WlYwkK@Mp_PI~Xs8ZLQ3$3bECux-{m8F-in2K0 zye@ZIYVf?=lxfps4^ypuL#*l%dd=)+|0OAUq53364FJ3=VVXM-?EKy}guP>tF})Q# z)HkZ0CEZoqU;Qsx(NqLp2>H#cH-WJ50kghSW&mv?-$=|*MPD>;a;9AN2eR%FbQ6dI z+%nsS>!6rdXmBp^*RjrYhU@Ik@riX~#@^n#@FHr|KLNJ9!D~=@Xy0uc{2E_?wn_5 zLda$R#RZ`Rl~RVUtBC}=7PHOjb_qhivT~aU+;R0;XcMPF2iS}zdu5{nl}znX%ZI)9 z(ad-Pc!}wEwiszaPuHYDjmYoipbpyFdjek8hMp}A9mK&+*cR;bN@$pJiL6Mr6*@@9 z`=ioY%TsjNgc98@SxlG{{lkg^-7K^e7{4#Bz6H16(qPH`JNcSjMbYOp4dx?jxB8-{ zaSysP;M&!F;Bs$M)efMfqr^{yeUCVpCXTi_Z;2~^(4YW;%EFL(Uj`#npYa(XK!GuR zBY6U0641@kYW<*%^ZAeG11?etot~@Ic?=v21Jk?}ibn%v$NKkuDZcLfPcx$mJ5rs$ zBco$tegZ8`4Jw+%A>y~7j}f@ouBJ5!{^5>k(B0Ux%EDH&Ss#yy_;{q4Ua6O0Rl9gdV2i@uJ5-|`t z1Y*p+)g6Uf9$P{Vt}Gc4c3)2eX$QK}T|0pfId2KsWo;7~tHS0J3JRSFXA$$dLu5b8 zS{7xqT?T$g9{#hC2%047;|D)NSF#@sW;f*Meuue1s}TX#W5}Z&?iHcU1HiyEynvD4 zv1(6~I_W{-vr~y2d=d76x-L;z{msf1slicg<-&eM{_51cl^%%?(ywRZ%e77u$lAAF z8bO^o-&L9k?2>4qXD8tb;#J1~Qt>yClrUjHR^o-72*-ZZl9^aki#4??R6)~ z6^ew5E;fuAa|g|Vz)}~!ig#oyzSb|gvU_Y>+wY*~gm9IlB)5avK2c_&aDTdh+0OoC z9cUthg)~)?s-Q!Js9|}|@#7=daaqt`(~8EW=uPqiAvDi7W}!fZ)VAJz!5&1_K`Gk+ zTX|m7IC1u^^I};j@4QXi6BiCRD~7JrbR1bxL^EqS-aiJ|EAP-Hcsggs3ZpR7l<4p! zZ*GH7V1jDvd0F*;paj6?rT0dWX(<#pbNp^(k8<3a=4rkV*e*liMYhAeF{WM;VMOr$ zM$%kR!O{5MxZ+xl!oha&=R876@H-+`V0WCQ#q^|8BM`5#rPKGs?|A@5qr|OQpiL!E z0)RxxCHpAU`4E2e?`dT>B9Xwf=~4xUp76Qfl}Zi`3E&?Wt6d2aBK_DQIupuLNj9s2 zfE*m2gP4&(A*YHGvrN&;80j%Ue^u%{IdY)mo7MoOmIHQkU((K)wdF@S5h3eTL?}Bx z^IBEx%3hy&tyd{+V{)l*c8H#RH4ADo<^?_fO;($P^J??TXaL>f33coTOW_RQEiiHv zWkvz=jhyiLZSo2Oik5nq)wqZOM9nPedK^@AD_sLb=HPL}ixU;px&88oZOVxjRGx{L ztN~l!$__gZ42#%%o-}X@fx8fo{@`ae3Y1SQMdu7{I0-9$8!{8NNzfOaH@5I;l`_+Q zX?)p`zPZx6d7x;fn>mRWsmdP@3O-2Ol{D}*fS0Rx9?2F90h4HM!)JoLo!&tZ0U)Gw63@mX9)l#xewr%E{84-0R=B}!tHpo6d$0B%ckgTdcK2S?;^Kf0 zFdb7a+zOEo&562VB*fYYyAC%|+Jj#1*)H)6na%w`tR zSEz<*tGsf4FUqDm!tV}xL>yn4mg909be$wlcpJRN6e8RWPaSwYh5ay5+1VOpR z{6;1Nr!q~|WNUxI*EcXuPHNT+mncXxLqAxKD5BHJPfRn%!VS#mSTfi zyj}#8q%rr2vCJ%mYw9@$jrp}u`W^?If#76ove^MNeK0OLYhCEN0inz<+qv$*cCJpj zrIysoc5Xni7_gn2Z_5m9=fb{h=W0z$W#c6Q+qttD1c@)(xe16fKEQVFWwf)@%XTiD zxx&kKt`<)do~Ps5fJlUQ3LiY|14O9X&(pwY)G{<%;8Py} z1cK2dWE%*OVq{fpyO_;OxPVTO&k@#3EoIj6rK1w*bs2sQkv5rojz(WwY=A&#*>G-Q zA3Jt*j|AlT8P4_~St50-H_xJPjG4k9mS=_8?@51gfsMivEO z87RD}h6VXi(mAM_%E4rw=cnmOk!#jb@z7m8+q(#dlI|=xkoaUz1Ysd|S82vg3`1Z$ zw|~k*?0YAwP0CFc*!WFE;Im%++S(PhM{_sn0r?c-Xhm z9*R}Lp~6ZwJl2q*7O$=LEeu${Z?_TAMnz72~cd(jx!&i(6ZS^IOfOb0LKboM9){Bz_h9V_Ji z%XMUJ>7J4gZ0APYMms2qg#g>ReQ#b%R%WjytB_Md9~~bm6|v5d)bD#w2$=B<<(9v8~`m@CS#0?l+A0nKh8orj!n|XG>hgrO~F? zB3sk{d`u1;N)1*z8=&uB0udeXyn&T z))W=|_n{u4MiR4@`P=H!qm4U-7U+h&0-JFq1!}jqOGDXEJZn zbN>|FQ5m^IvX2aQKfn)Q*v-CC=@cT0R3 z^rgHYOLO~lZoE0vMG4V~d$OI>zO-FSlNe$+&p0DrdqiyOw@v#YE6twz3!p(Vcem0j z=6zSdf!sZi&o0eQvny{Q+Fx~TPZ5wMrfs5;tATGn67mXHVj zWi#3>lY70XB2kv9NMIK4uge9Sy>Dpb7MLzaG#s{cP!MQLycJ;@k1ns590^h8NSy^! zTZM3>fl;HDCEA{UDR&UOi!W0oxzf_zOftWOyAWOa9G6>lOj=}>+GH?&gjh`z40`l( zGsstwl~ys(fQ#<|TH4dT4+32^Pq@f>sf5q!(nj3T(>B|%{+Demu21ddyO|7)>R&Ec zcuFa8`U+#Tj8<*eUP5K3WlFSdR13NZt7lpW z8!O9&jnQ0s*1GRU`_c9pbuHmiP8MRWF@-GhgoHsuPj2t;&d)y4YHVifAe0QMT{gg* zHqWrBkQ@tBd<=sM@{RoM+Tc9OWO$u37}gbmrb8p$*cwAfmp=^r$h_zplRq=m@1n0t z%TPPZ;2ybP7h5d(i}bPKJ2ph=Tdl|YZNu^BcU5&NjQgP1;!2xatB*6f4d-`-bgE}D z=CJY2Yi=49JKU1(X;<#c8-}%8?hRY!F1El;$`Bi_^s@ZKFPJKlYdRF!eRH&QQ)pDBSHo`mA)8#D&#VJoOB*N^2_WSWw3UocSWqlVV|RZ2@SOzG`hBifn}ViEY9%PK z^UjvN&Oc$A^OqWEnQ;kD<~)TSbLVN#Eb0v7!+-kkz%r@5%jIz`QCf%Q36P`q9erya zQ^Oo1$VrjoAAJvf6jDLb*Ew0mWw*Q9lW8oz=|VD$^if-VC6|SF1Yro#hN|{zF7^sE zDsD&b`q1VO#=7l714lmkcPOWK6u`{b%e!TtHN$r+ZGNojUzJXnIW;A1jkPmavh_%% z{Rvsuc)o_L!RW-qeRnwdu;?RY*R-EIuy5N?$1rdedV{iXnb>W$f3Nli$Iw$~`%&1; zZd_}KJRDt1NMRzSxG<5shdI9N(Vzql_UIEYr!TSP5@OT zwhd3!BYXHvb|#$(13drASwC`Tg^CI60pQHyp7Z;c4J`6ug(pyz|HxSv(tBU?ke&@Q zD&Sb~WKWsnJ2xXda&sJ3>QK)e)(hnv7fd_Od}4gIcY6Oyzs^_Q)TiI&grj)$i!Ukb5pc7Qi*oEQDeHL% z2dw)fAZ5)WzmAuZZGo1lEBWnh`?nQ-TpAmHyQ*_JE&(dyFvnV=aCiPBBL}>`d6S9F zZ!}?G7|Win)B_S96iC`QW#U<(42Wl&kLXRz!Qw&BXY3wDRMcPQCOQPEpAanF|FVMwG7Nnee02y z9=<7y>cphK=6gkp)grOt52;ufAvK+^X=ad<--z&WR{9ZcZZMJ4JjTQ?Vn0rhlvTHF z^>u>N1*GRZKnM!`NJ7kT+0w>qe@gy{OpPX`ODdxLmGKdxY2<;y%8CYd$KS} z(}^0{{mwBvg46Lu5j6Talp9p3I=yOEZg;cM(KF27sP|F1(g)Cf)XYrEGD`oA&*biM zT3M6Me{gPE$xKbBY00b`>;S+F`LovP8yPJDgtN)xLo-5-;#yMu>aq}wtcZ7h zWEl5Ex`q?^@!?RRyR(?ZAOU1_jWLpuEAskEX-K)=PPDrcb;~;GfjmCSZXhh_&L(&h7pkRgn&wKV^LnY z+5C#OCcH~S5P?q63DMKrL@>$-X)LrlyI>GB3gP;FM)FHp*PX`c=8@)2&a6$UF4|Q^{;N52DkhY+!yE z_ibCCKLHuao|1C$B^Kl~l1NJ|SNicP1xTrEP=Pfu^*4E?rfq$GknYO?5u%19leP%V zO7qThK=)$N#aBFLQAvbPTXGx3hhOiF?Ak}C>T_Rb{0hK+(&g4x@Aw?z{QQ-J%6fkS zW?D5zDtgqdgQfm}M3l0yW=sDb+R*l^7J|zx1mq04Y+uR|7Pxv0LW$_YkMK3!MjQ;d z+|CM~z$bGYNcYTsBDP3OQ*j-u-AG2jDxduIi`{3o5k}!9G*YJib@QQ{c>;V)$S9TbdfOXg+9@`zWnPgWZ&(8 zi2qy4kM@`Z=__>_j^2-7ZKLlCoTfS2uSCM0{vlxdNB>s@jD=_Yzad}FXk6))u^mg->cU z-PrPC330tP@ZK2Yj(XG=`qq=I=nYf2$|n`ghx~vHuQ(A*qIP6{da1B5j@|oKnP=O|@kA z%Flq(c;#LqO0V3jck+dMc^UuVUgCea*KN|@+zaV{#l1MULO%UB+^hC4?v>R0UvsZ@ z$N%77Y=5|yaIg8JeFs0i6`XZj!Tc9P;8yIs{%6h-4>8B4^SvgZzb4}Zc;q!pOKhP( zBE_EVSb8zr!};u4G76peW06;?x6;D;cJ#&5z*aKRz6w~hU8_C9Q*rkc6Z+OqAZO4E?*~&kV4U7QX>T(f4T;KBm z#PyK!58~3d{DZg}EB`@U9A^Io;+j??2-2$guMtsbQ3<>Q->=5DnD3~l%MxE*^ype;df=cyuzd8m~TCx_XGHDE$|{71quF!nfkVwep|76+P>MR&TN9JWr5m2gurYgg#TL z^n_Yq?g`b-GYorxon&c;nDB*a*=}Wv@Zx3!Zhgf+Irr*QrSHZSmu`^n;1fYXv+i|} zrR7_5|0Kz;WpjhuRxX!T7AxD~{LNn+8p5)PtsqwRCy%?x1B>LoycEAmEME^`KGORn&v8fc zHTMh40>+Rj>d9ZmkmK*`5@E!g-z41re436(O3}p9eA>V}sGtJ#u^>wKmy<&Psh>`P zYlOfCDOqx0Ud8A~GUQGl<%@y?oxV-o2q}+Hvr-h~9n}mga)78WYtnbd+kI!p%?^)n zy;z@?asufQjoaPx2DR*Y3jN~blT6b=f3S0f$;{Q}H;&nfU97xF$zR-HwG`n0TZPJ8 z2tEB43$S8LsGif!#ia{fzbE46-ccpJNdZrhN6qxl5zEF8vM)#M4JJ0YxHYZZdJ@#L z#O3jPg}5<%y1${9NlMJhLBgth0qB*x;zsb_^ok$jjWipe2!io_Aw-(BPM%S&s3{|f zKSKm6D$2=U5oqlz0*%vnL7)xM9z6-$*;z#48QI}z)Vjox#dmT68R4Dlbs8ad1z_EA z5Mi%W7W#$C+A8^@=&Ni597LEv9PabOsb-q>G$DaaTi{gE_xM1?MD(7gE0S#zyS_d* z3^Ljg-Of;707dDx66w9LDwG#iby~~!VpY+x5(9iHAfHRffkV4xl#o*rZx1RdrQQ@s zw@`H&5Q<$le)WH}!y=;+6{V;K?>Xi^=dd%6?d}I(Q9WaPM+uGj;J_dzYlyzoUt(3( zAU$$4WWFbj#2(bLSbd>#-;2yoN=u>y^N}m{Zu7Y(xP8?^9*J_p*6*J3 ztV@CX6i}!SyTW_jY+!V)sY#P2)x0 zSb8=a#g?r7N^;l3x^TN)I7S<*Fz_N=+Bm$iIIkMXLxg}WU4Qepd$<1cXyRIfpv~UZ$tBY*Y*8=dPyPA2Mxp zAz3biwX>l%02V9VVY%12rJx~~6|Nd_SK>bbA_IF-9*30lcgdO|$%3&pd8vDE$KB6E zC@@{CcAv|!Ves%)!BM50X@q(l1V6e_kvBiYZQOa^l2gb#NDaKl+R)vn<-+Tgc0Kx5 zef4k?{i_in`wmCuXftiTGEE#s2KC$rOrAq{P8H%)NVG-W@Sd;+F%W)!=#&(b4mGo= z+5jI`(-(Bvxuj`k`Dk!C&mZP0FMCH4h%RdvyYp*nYlWp`4?;crA$O@sv|KO~HCtJC z=&;H>`ImP!EX`Gy7 zFY582?uEzW;I~r1&=Uuq9=QjOv>jy(?Qf^Ke%+GqRd@%99!9FLZ?U2>sWn@fcSNhw zw0{3^1Z1P{6Ug3qt z+~d_{80eTD)?|yPSGdUS-6p@oM&#nwgB?miHE?GjJZ)b4OjNtFyW-m0ia4*66LvzN zCDg1_1>r`0O!26pww+hdz$toscQc>yv%m>%z`RkxyNL=3Z zRo>|!2ElEL8%^o-v%SB4^IpPvz09e6+uQp(?|09&xMsIDa3fRD2F zAGgkR)Ufy*;J^3By(0NzX5%Y%93oX>Knz9dz$1yoHISbEuBQ+Zp4N$ zsA)C5_AIpK;OH8t-`}&EHOVDg}eb^ukNirE1|I-4b zdUWiYQ5U~R*M0sEu8&|Qs}It^Yg_LLlje(2eTEV|=%q4CJ0G=P-)0Z#X2QvCU`M-u zuN*#()R*2E>R4`4qh8u=J(Jlk@|F8~VgJ;@ezmUIddAEJvH5sRuXyHwjjZa3;HlS) zn?%RrIrl>$z8^|1Xrcf4!B3-^8T7r1p&Goa2gxVtCyw8Hmph*yUAJxJI5K$=nCS)i z8`n5quux7Ub|g;>*jEW5@u8l^TPpZeraOq=`twu`C4Kz^B4==!Uzh@?{9Lu5k)OBO z!fS1O`mt?NplDm}P8DNY85KzAG0iFfCS+zH`G*Plyf7iR(Enwq3M&0SnUGf&zs2_d z#Dqc%u29P?T-CRvKPEtykqqD)CBmS_)Q8FQG1BLgQ4O>xxaVP0e)Ma|Xp6x=K4Bo? zy2*;$rZh6w&@}P-79KoWiAE^A&yqmZqgq|wbn%$AWd1nZ&-F85V4J?CsD9}XE}H7* zrF4JDIYN~K(R)y|<~juVUR=rRS|pB5H79ub6Ar?|FISBFO*9L<1s1aOdYLQy1*KImUK$ms3sMY7`yeMpOlYHC?j5hnX#{E(A zYvaD@@5cSq7$+6_6*oDhN8Oho8@-!$!JOJXMnczp9Q&YrX9j@>1m)6Zq-1&dnjkQ% zh3l{N5U^~&1`k;-=*b^p)dGK$&2ZCY=@;|$G)fP#On)az;{8s-n*uX1aRSBL#`&<8 z@4~5h6x zD6InQ1>4r%m$qc9&$oanco#4QTZ*KACcYMW%}znwAKgS-SE`Va2mC8N1^FjEmAn!=H`1paEOCl>+`jFD((DQZcWNCrY!WAeRc2*8rh3IuRWi41NYF{3D$A( zHfRXpNm7P>YPouPFIbO_((rtVnG`9lp1v#PHNX6)b)WC}f84rn?3e(NV&e?<0L5(O z6rSBVENAERi1PP;hdaLdzu`yScU_^oKa98#H&JHc^}_u*FMPm$x$O!$W~|ej>0_4C zNy!`u7I^i1LCqWie8F>pCjZbQtApyU2K*2i;YWOQFzN-IQe!g2^QK=AcQW$ze?|(zctYPA@}!7@eZlr zPQ$qy>7aZu4A>{Ep~*HF2lfde7*CTxL-tkrkaX`P1FMQ$^psnRd1@_n%2TD4+KX|W$~u2M?) zG~(~!LeMcOFm?b-&q{blt^I$~#s5D-NB_S_P+|Q^P}zGRG;OEXiLN0WXd{nRN(2i= zWWLw(0HVv0EIIZ-BrH~pVYje*bCQ7?efJ4xjCs zJw)ueFz34)8IpNrxT?3&2O>{>r?TJfS|GQ#$!#O@Nmxz@fy1@4nzBGcAF|VKm3GN! zMwfI4WY!z);2SKH8;q~y@P4EvHOL$MbWq~4TkN;=EMt6jl^;PgEx(^nA}Z{q8iUI2 z-j4fn5Fq;Y-pDy*9qGQ!F&CG$X8*Cc$tDWRBK}k&1D8$eDa~s*Qpit(212Rgldp#* zW&6qfojKbt1gMUC2Y@rFPkc-Llz|djtY%RPN@B5HoN%42t8|05(qmbpSk*U=+&k@*916z>)c-)za7TXYv$3g zjhGSlKMuwPu@T>k&$lhq!gny$6G*V` zXRmrO0B`nS+^_Zil~|C1^s8G;o%n^@377nqW8;b<^VW%v)epWz&UHcRnSB5r;NuaTsIWtLKC} zs$Ye$L1lITBS}z(%bdctW5MubYf?yv{rKGFFJe%a+ZQEQi zm8QXI3ccEbPp0sw->jx$XXJX*Q*AcJ5Ss$yyX}LG)`!oSmpMymDFv_|&ek#`KLfbo z6ZByE!MUq4rhn)aDWrCgTbo1*fMJ&n?GKUqW0!#(49)67(hj#?yg%Ee_4*(v+&GNX z@b}fy_2+6SL2VTC4=#lH*AWeCxXG96XmR$EO$Jd#gW!yOryv^bAEPhL1d8*E(RYos z?eyK0>-t;T{Ynr#fxDEraJfP*klW(H>feu}zw;iI;Za zn>E;ODX;0nW0q|KkE~co6-2sQKpFs}`gXIZSdqBEprYX@ULSA2!`6t8lwhyNR*0YU z2Vl6K%J?!n<+^sip$6Iv04inES3q@@BwPafVYPG9pi=T9I<(tcf|utO2LTP(hEMfZ zUmU*-FOFZ3V(^#zl&94%AX0Uzl8(Xx;3`57ao|wXK``Hy{E7RaSPV!JDuejxtVp!i z@tW>uJVk6EnCJ;R^=AS0kN*$r$q@AG&La?MvK8=y8ftCDZ1W2 zVJdSVOocT8gsDPj{|Zx`^L9@p$~?)W+`_g|2-z|sP!@bfVc?3p8I2MC9Ho8d>N%dX z=0%B#U!D5^@S@se%1~yKZsBKK-n%-gkY&nxTdFp@B5S7f2Gh%x*es+0ACQyOJw7}Ry=|vGsuyz zzFVcZuDE~xB;B5ULbBVoUUMsi5msT6!m7-wpOqBXn^jBhLl2ib60As)UM)f`#F%8KK+r z+pYHp)i0FHd6pAgTedg$EafiDGWh0>*Q-1&hHsFD`$Cmw-2QS19QK$w9)-!3f~9`l z`{cz`?AX5bnT1so1IE(EA4Z8KrH^WI(e$A`E=p3afAE_yFMTjc|D#7~gOOtH`nCaW zmcrxBf(VUm+A;>ZD`*8CWfA(FFgiQK^t{{f(tYemaqN*u%S~jwA9F^QO~@eBv^hC- z_Vn%z?25c;LFbJ3jfeD~1`h)~!01n=HoWQg*R*3eZv8s4xJmHNFe5;24%F+JfvLFuS_JB# zJdsl8W`Z58WCIzM7;R(MG0zW6yGd_=cKJfz9yvbdZI5H*J-m_g0r!!ClTA*6FLxKc zrK~B;in+BB&p|6x(f$|}chN7+S}lY7-M(%bcN|2>rI&1lw;KNWJb*Gcq%Z&ntnt3L z+iFy;ThRmGJiN>T;=KvpE!(d=GV61EU%&u+iDP&Nf?2_ zMKlrTKej7pU`*19nV^A9+N{IE81If$qWsi|n-+IY`64;x38FB3)ZQ=+don6yZ*-eY zc^Dure{q~zROpx^?7Q*Z73f2J*1X#L)iF5f0~yW&5#VgpPqzI*y( z8x04Y6=k_7sr4;@7d#FuANcg0@v{tP)R){q{Z8Ie2ouT@4T+tF8HVHZF0NMP6$fui z{0~ug?{3R-7q3JR8H35{uY?WZJySF4NNe%OtU)g79>a;r6uuBA&@3w03ZxLXDqptn;zO|1d*Gzue?L_fE zZ=z1fh(9k#6Fv?GR~OFnCh-Frdqa z3tQ{vEf&IO0$sL~ytJ&xe+b_Z9+z{?R=UE7n6x5_9LrqnZmAG%9`hpZ3~K8(u5NQ; zwvsk(57J!#gw|@%9U!#o{XNoN{}9@#6l^cMy}%gPF*I@;+yoWDo9NTGcQ&|=pnXB~ zf>*9?hBcK0vyI?)JcCO{2YhJwDAbh^+<9%9aG{dj)fU-*RSGgn& z8lbH1!(X+1G)bM{G+ht>&h7B8(reI_sXXXQ=T+v^X4ad~LouGIjpbd>y*}ubQuBly#Yg$vsSJzdA{P zYT3CMrw!ALXI_P)eVp^V*XpZq4gz(rmrVaa8XdWQ+~!O5)vamq@9OL0jIyXQZemYf z4%$%&|3YIcnL}qd)g@!|Qj3IGpH4g}Z+}=Mx?JUv()!|V7YmCOu`<#B2i7i%{^&D6 z>nWnVdAdC83$4aK|HZ$ z4;L5(+3j~R|Hf%6G|5jQo^NHoro9Oq=5c(&)HiTEe(qatrmwflxp{s_Qu)9~O>d^s zWA-UzTwc=DuR^KPG9dQ%s5P|^A{2Z^X(t>PRJ1I$k_Vz&ZGEKX&M<))2z&M~T!(l;GCSmH!@c zj4IvZLMjvXamBT)b|nv%(0u`Xt2AsQpYzbJp_|}+1A#Bcx}^xwuUSL9y@gquR{^R36V~(t)%S>O zSs5m5aHw;Xusx8!y0b>2SaYr8@(D{Jx%7HDXB*1CJx5%g;|$@$&RX^~BGZz{*Fp$Gm3Xahbntj&vD&4=el7 z;&qnjz4Wj>TwOe)QV!UFm*U@*Vkr@HHpf1adLIz$Soa8Vxe0EyGnVX6Cd2{7+0>zv zW6_i*O^sXe!j#k$4@k_`9a22oYn7Cx-#uwUzS>}H2vFHXA?rp_fO0iFfb;5D6fcNB z+B9ejaU|>AV^t~|GQmr2*6)4q+Bn-Pk|Q31{=8h}P|~arjmAVB4f4K(o?NhO-!E$9 zJIdkwZer;(czJF?$9@_1^y2+Rgkj2jmby;l8ey!r10VJG4vR6AVQ5fZC*oLl%Pigu zB7OQ|9sCPISoIBfw~8FLqC=^;i7v8AT)}<}QbX~N8qK>26IeP{>2C&aCp}|Zt%pOc z&BkD{T58?_)YssxBRb1z2x!QmN;`4Kc_N&X+DX@tyNZ{&LIJ*F`j>7kK?osA8b6#2 zxHsJeu{!>Wdb(69+T3r!OXajD13_?{uOQyvVP^Vgc_%=;OM{rbfiW840`;x$%EXtG z-?t6m^FPQt?CXZi)1?P7qa2U`}D{fks z5L7I~zgkuVN)QCiT}89nnzRm9!T z)x3PhGj%GEfU<1cCDhpoG8&K*B_L-S}|sOf9QFc|lZdQb^bw{d?ep_pLO zeu`%6GotE~iZO4;;%NSN>>RiEMAPf1vczaeW?oT#>RA|U)D_-En|VHNg(1|`4LE>+ zwOsKH+t+XIQy7WKyPO+*sFkb=5GP(G7ZVR3m{;%p^{9fe>?mt zU=1(--9k|rd_)kAESTX5W=4@g)M_ z%}Sr3P#kN8PMo1a$f+PR7K;etZHeml*HbdaBV)hE&YUgl;=>Y@UgC9(LR4E}X z(V+rT^|?ho`snp|X(O)(Pkl<8MR}B0~pIgsa6BX-6wOO)8qE{75 z)#dD!5%R$A`-(jZj^iXx+H#LaEl$jXRkmJ5(}Rl5&X}&vS9al>HrT?ezM#0attOxq zJgOq0p;E2cp)Ip!9uGS^{7!S&p1A(ar{mqWp=PsKFI1c|eB4PeU?GnE;2Ib^vxShB zF`KDD?BFnwO}++IJ$8K9#s1Ztg4^mYek1v?%MJgqn|M9uZ$SukxdFGYI{P~5_HyFt zz@*zhC$0gekFgIU-5?#7n@>ZBRzbLtG0qR#OpicKhh~r8TI}UZS*u9UmFw&@$9!LW-mJxyAuxYkD9qE_{~ zOFjn#6fT`jpejO=$9_%%Wr;OYn46QL=U@#zslTh0_AP5j8-}#Ps%-edq|H*@b>+e6 zgOj`(AenS)r{(9FkHD&wf!eIsC*}QwUV!w5yw+yLOCF2fg48A3!$B&2a203SR2BrO zSdO*tD6Jy?Ij<1T7Y7eIoq0Uwr-Y?yP0RMkWWcP7N7LXoh5AZ*xg#e`^+r>8vEL*- zR(zUg=Nha=23x8RmnEV6WOB44_^FSe3ePdIg)H>USU2&QNI&X)VtNT zDN!J=fYhFmjQ~UvNh6EPv{;`_fQYSpApHjVoLWT^CGa9IkFL~CwIBsQBj5&KPWIr$!UrR zz8w|{J9qI+?H6uRDeezVAoJ$@^FCRPVZGE>b&y4s{ zesgT>cmp>@_WR5KujCmk8T7U7w)vtyQ!%W>rnZ;#4p#|Ds?Zd=MN#%Rn{%iL6j zG0MnYgZgkD5|vFz;rczwRP@_Q3y0GD8D*G0JE7>1kF*R$!1C}Cu%y*(iC%R6e1S|5 zjkWIR?atEvaBO_7q91S6&%jf%HEaypMDk-npKTiel9w~f@6K z#>h`NU6zV_ns?b>J#ex;TPZ;@Zkjqq6Z&ITQOkSG(E6cWJQ1{mo5?nFW>T&5yns>G zlhd-`(9_>pR=5eHqQNrNY?64R#D&LHtw}k1v~El0nH6rKyldDv`sLWY8yMW?t?2A_ z%tm){CSl!RrU-H3m1pZpq?NPe#hetaG2Y(fXBVvynC1I@7mD&?Ns&RvF+q@<;S%b! zs$`f;O`z>3xlZ}Gl&s7}gv+~I`Qyoo9uW5H2}QWOU<`8ai`-@zoDd(%InF;6l?_FD zJb5rDcoRUAVJve5iYIii);pi@1l=(JbLoQS1WAxRfyf!+`O#L?%)m-la`TVMP z+AE^PTmm?1Hv2iJYFf!sHfD-8A(|T0OQE~*!#qu1vKrlOZjUzJ*4$}awL=@hm!1uy zq&GIx2Z`*~+$-ap$~T^&DcX2T>Z99-KdV0&=p@(_pG0W3qFUD1t8uI3$M4;(VHd~o zh>zcqvJ~&LQ$Fj}dWFu9XwWM!r{ecFGr1L?Dz8c8$6w1yos=CPACJ>Ki9EBmCUQ&O ztn`h+_3pJWFWDkaqg)p{fmt|$tzXsYV##7ToVGGI{Gu*a5 z8)Uio?8~Bl;M43_#5;5$2XsU2yY=lidLJlXwHRErL_X=%rn$`I?kq_i zGz#OWc(Kta%>%!21y_CdK9V25*rxV7R_B|sSt`nCR{jNiJTq)ld)cwW=ZU2qjzXK}QPv4BdLGjj z5%fpwn9GJG%XZt_QR%1Z^uDWij`4 zxc>Mkn%CqxTbVyQFbhRhMOiCqroTRU9M6jYE9g$H(JHBR%gN zXsW&<*0esikabS{>e(r6r&u35n1`WWTU^j@!9sSM3jfyI1lCVyc-XIW)rSAnVrNmK zmtm!8N$g7btaN=)VGzB&8MODrn(wT*QLRGhw-lB4Qi&(c?UqJ8=g~4u8@i{PdE;s` zE|RCqKM#{5lW)D;ru6%~bRjjt27QIPjjLAi>=FKQ{Xt{5w|wmykbW9_oY8!BE!|GA zSvoH9EWT5|*ecvgYWEHI{0xhK$Gq5f^mD~lqz&CGD9h&IymYr%VNmEZnAhDC#{IcP zgV#br`&=9F+mM)7oOd*afiD}2CrBWLNawgSWBX9Y`MG=PPWh5Jr0r;|KC4`sZfTAy z+sB`s>w`JOx=W3jBSt@*MnnIOBDkdqiA%?E3i!2=j8e=#t-67Az#~7tIo$PQeOxlVF?G~;now)D4kR63x5%lq|2V0sL`Yf?;89f1gdVrU+_vMk#VxmC*j^WtGuf)2 zz)cl+TqctWgV5yRsFlub+`Y8RPW@n%IuN*jRaER0omai-R2qL#L;n;4W^-6yU}T z8%*mebIgTDsIxy^o=&#*vm824Z&*x|lTWdc(-{7<8fE0?B9*F#i)lJ7wNVY1K4;g1 zc#Yzn(q;qB7AG3;sf+0)Vz(RRbKyGrx?o~TVzHYN@Y2Q+eHx1U!mZROfu7=NGJ=GJ zh_Vb*nFU7^LugIdinw@qMRhJcvjj54uF69-NlNYgo*=Z!FIMEEMI=?tV=O_bR-qMg zFvm2#BqpV3C!a!OMz>v7h99Gz3#`TP)-UG*JxH15pEzjhEn*ky$;2u#S4VS7g$GcO zlOuzM7x9h?8yBee1)8x6iD$0pdFn|hWav;U2~zR8E`7^WJbRyapYv4q)CI%a%qBMI zZ-S&p4518Iii4$tthYpm=%gu294x-s$o|BLUtQ8vrc5n8FkGU7qeH(b3Z3S*L|x!3 zo4zt!X-Q<|t#4CGRbQ%qVrgk=%6k6!T!_lCiEsAILfMDezcVo*EiyFq^gcZk76r#p zX7q%Ix@ejb?6kjYbn&G7&2l}Na7l|GZu>m0P^CXtdMSxfYfJUhQ?6cXg3h@U)M(e1 zj>}=*wyaG3FNilyM{ZX&kuqU13(z5QM*^5|m66}vF1A6LHruuzdC%3j_j4_^j*@e4 z>|%wzfxDTR2%TtHI9W5Imc0gQy&Fp3jDv!-*)XKmn3-3%6j-&A3)UDu%~E#-7QdaE z^8XSXAkeYL6{i-f8)CI^@_TxzekB++UMRjGlJy_+!>yTaLUbezGCp8anI zHaO8NZK$e~&nIo9+}X4x2@a$)MM_@yghfE2wQP)AUbNc~t#{(4CTMia*42!vWr-aL z4Bwwff64ig1sC~qN?CIG=ejd=#A(zul-kms@+D@^NHfWU)0PqM?sNa}1rG#|BiOG= zQz^f!U7kMw$*A*jo*EV%xh@VuL#^Vkcad=r z^=(zF^8;PoG_X)b;1@k5E@?~7O7`W|Z5`?D0WjT7Bw7^pae+rlIPp_xc-46oDn;*p zeT{kFXdtv+@LNzon>4Bx_58g($2a-&&s;_Z@d7*UBh-Y?D`}jb|WOrE>7R9N| zY|h2);KjoR&GGFQY1Hrj5BA# zTA9cl6V(%>?n#UM*<8WhnG|J`Yo<@vi_-eTof6$b(WAHmX^Otl3yDr~@#~L?I@l&x zZB9fB$&_I7!=3x69~9}eMsa}7(KWL;`#Kx8waS$Cx$d9!p~1sKl0520{5x)D79%*? zB)BJ1HutH7=;|=PkgPIp0m3PX8<`t$wMCSd{_>TnCkowq3o1GcDa*GaD*~ViHz5OW zmt*qJJB7J3M}>DECU#*Dm+f{_#}1DcZO`Wf8bEKB4IIk$%D60CAp`s_#}i zOrdpV&!|SVw{suwluO2T?7e?7e)5@!9342HhC#qd#7n3`Pkts14qzs{I}6H0X zsQ?hJXDn;F`1~;G8Y@!o`NQtr zBGk;Qvxn`0nIep1Yik!hV2FZ`T088?Z z**}$3lJ`iAK4sKxKn}e;0d`E2$2Gk69)}(|<}_+g8j3b0Au7^LV$zOijxJO^D$t9q!l?L8jVawy1Q2Y;KjF)N3=D?74M^{5FyDr7BfQ|{Bld4J;L zY_jrlz;pII!Z7S)T5DRl z@J5~Ym5H)Zl}*6$a%NVCGEGWCgqZ~1B+dp#yt0$2=}`Zyii(9<%Z+mLjqvE=D8V8y za=8kuemVwn;-nE-;Xs{@w1?~G!|Ue?4p0w#b>}O&5ZGO=fkQ6`8a?4-*|>=X*bIT%^*V;GtrMXOcHTY)W9y6r2=P}1MSc3VKSt`~=1 zSPb@|B&aL#Sq}F>qYh^WoAOhN)5$i6g){^v3^l#-_O>p{Z`pRXkAO&QwINp4qy4n{ z?Br5AUGpa~o(|I`?Mw~DjF3I&DQ2+lRJfNWhOmp&(@$y7AF&M_f&(!(&G)ZZ z+4qvo>PLl*Z;g-G9qQ<&!k71P5kw~g9VGy%2dXZwB#%787oTTaSl5?LZVX_LuFKN* z)rqCz-7`n$oEvx25T(+soJLZ5vDjCVPaGS`51D4C%qFJ>QY-3fa=)jBe7nuXx)>mH z_vI%z)|tg)4bDC&Lg375+^-vkD?zo+V989f*fAwILkVlP$R>4E#yzZ$gVa|%*!}5w zyUX!;v!@#t9It8dhOg!epHxv0`9zwpSy*IeUA0 zT6-I7Fk)hZ9zhK2fLm3mTOT>L6T=3)mclthn-~pm?khx-h@qQxMTV=)O<1~D3eeM~ zer&o2FL+Dp>X(pQWF<(8cg~uH6wac&m6|*haPRd$Qcmdhc-W>XleRr;JdRn2TbnSi zLvrB=cy)7fY=4!W()Cy}FSBu+w`XnXN_)C2ce5O~>mNu6XyIZ$LFiR^NkD0c_#m9( zN2qcHv|fkt!=-iMPuWkekzB4_a9w+_KAk7r?IG5U>OA&kswaQqC_}-Ph-5_oC2YMxxV=Zc{x!Lo9YD4z%F3k0O=tv@;N@!aW!SL{DH!$ zH{7&Zmnoz zHgbs9t%{#B==Wf9?@yl}=9#>tqsbW8f>&<4A12*lQl9r-UnzTKXwppLCYC7zk8Jn2 zrC|ep*^v5S_id+3I&uZX(92I>XIpFk!VrkNZEcPdn zy*kkZd{d7OewBz`KZ8~IFRszNIiWN)^#@b2$+q0K8ePubsfy->{IF>MN;B)c9`B?o zOHpaEZ#&Hs$``4fQ$cm)I-;`|#xwL5)bw{8dK4~v6c-IKt8HOI15+oQ*T8X95?st= zn?9wC)U~gDQj8*^A_Gsd)96ptDVSL1PLID6(1%7GJ{$E9*lt7TzWR|Dy-bU666MZn z6XCX0XQ?Uq3DQvEf22VUmqHGM+*!EG=W=&=?UGoNv-OpgzhY|VUCbpF-Hs;YYUW^j zySQ`>V6P4pB^vE{FnU`trtcw^ya={SUUEtl%dMGM3j~@*t5|v$SmClD5NJqN;qBHY zPe~?JBmEU^oCEC36Ps>UyDB{2UM$|W#(%Y!R}Y;DYz{Q9YXn71G>p(SMf^lt&1m{+ z8CX=3b4e(wg^TvSW$%J}WVe8L1l}@hFmOnD@7H&gguBz&r;k~=C zgJ22d;$~G5KWN6PLBl{O9I!H4zV0SQplNb4bq6X$zw;3T7&Dz-P$3lj+89BP_KuS;Bu@*tR5BUWeKwRWN?u zNq$|{-btCXk~C|rM!&FQ9s4ZUD@?@)*K?_A zFRo4_h!DK(R+g+~XheTCJ05&m`v&;wM3<}A_+6t8lS@$%leRljD1}`N$^-6 z%};TcCXwXu@Oo-i-bzWKmz~6lXv5WyV2RHm<2+JrQ}XBZgDFnHJypM7Y*{(e8?YWw zJ$IEkRP!K-rhiIY?7$M2+)B*|iE2=ih&zZ^U61A9W)71crWzOv;^`%`=RiQw2Anz5 z*~3pQ-d<{hv@*&9WOzJ8K-QYi&aR>#51~q2LMaDQv^yv>w*D0VRjImVyvhs@SgA%1 zALbxEeF?0~1t0BZ2h`UmW;|6+=YVFy5IDw`{g0olG-K|IsG2YTXt2v<1IVF#G+&Ti zw0?wqOgbUj{B!(Z>R;e-OMH(M0QX}zrtgm?&^+)POO9{`lDwhz*t1H37q${QtH>+cU zaN5u`@VDlF`ovh*{ywk@XNpXYXgs9l6NU}0`6N|BM?Joc2l0cU_*Z2i2#l>OlrQfV zP@*=^3*FNb4q{nhK3Mf_Q1^r$>EHHM@05ueKf!y+ihUrb>QhX@hBoTpA4snY(xUgJ z*$)^dBBS<i*tA#NfL?4#jJEAC+$&7 zhF?By#yT9sb+dzjq$W1$jBbN=?O>@Q!}@)SVG`Kq3HKh~_)OETo;3)CU?uK^TwM`~ zZ`N}w2vpQ0GgI}l>pHp(Gz|Hj%7fwvj?ZAUEa3os)SoCx6A_x_1ttCk^)2D-a{U@D zsjdah*LS_j)T{-at7bfee$EZb=%hj9NYFA&xZbAdl1`x^~^O<{M+F=88Q;k z9@P8S9wdj2W*>a>?F6UE_b-qIuRXI!ufWVw<2Rw^Fs3$ajKVk5kQ5JbW zVdz%|$N*0mlnOO4+MMLcvjRGHxX3GRi}69`%?H1KlI>Y1TZmLa0d04d83e5x^#5ie z!2%`62%#9zC;$gEVmDN*Ur&Y3Xj+x5@5)IGmqK#n-g1j)`*Aqja*rke+cfc7+Fl>( zUS?6R9C#!aIU-T*w8lm`BI&HPB)aqxJAd%pQ5Mu#CE6CfUn5{wT72uOQA%~vr0rtR zO#S?2*c0%ujxWr?DxzTD$tGq zssv~oGVk_ei;3v|F)~fKEpcA%gN;#2C8(Iv<;?`n#01{n_)W`(4utXp5aWa28;=hG znf`l=3;4);i)$I)x%hX-X71`uRUZ{t0b(sLQASecIl&!E~73{I)c z^phKofflfPJJ~7pNhcC5^n6x$2jL_*ZXPt&vY|z{(|Gt?+GW?fmvNw01;3f7sddNR zieXsOddLxo9oatslkJ%0O%x%29WJb_m@VDi!g~)aMsfWGJI|Lb3G|nUH7!+S2JzMplUxd^S$FD>xIzJqU-}ODuK-oO14qi(+O31US0{;15hwz={zH`V z_Jlhf(?5$1`@d*Rw_Z?+Od2{1rJ;n6Wt~Hzi0CfqDyXe7H|!*f%&-p&MhOTsMOaw= z)DqW85f>cjZVhzm`3=qYn%V3sWB*!-!8C;NT@8@4%a?{0P-z|u7GXeg1}=S=dg_k7 z67AvExMaV7zHDbMM4y`2JadtKKnW|PC7!gM+WQ4Ag2=P^zD$BUxF}O?fH(fYtgzhV zi|9I<*g}_}tO$O0=}1kQx(XR~AG#3vXnAu1=MIZ)Stt`im0ZE#+n9i(pmyNY!@JHvVs@koB1J$C+Ph_ z8b#(ANX@(*1-n{p(;UZbhy8s8jX!>!KAg>{Mhjp2_10uK?z-#kJQWq)G@(6>vYlyN zx(hGC100gk?fCCT5AU#Up1L4dvMFIwVr64f4YzYpQ(!*75{tVJWpR;=*6exU&#YsH z3;1!42+mFc^*SZ0Yd_Sr;vO@FQwQ@L-3S1e@J6~Vg)yB5c4mw%xl%0?c4mdPG+8Q) zPy4q#W?^D&4-Il2PR73w-VB}b9@QE{ApHzGgaNzI43|k^Y(QJaYdM25~EOk6?CXG##;lpo8-^rQR#Sh7_ z>xT0ok1kztjq&KVJnOhbBNo$vP2y~3?YSSg3d?GtXcI+7=HFP?FrxRBu4MB2O^>*wNdBWrDW z{p~h803ORc%0lXT#X=m;GUz8C0PUU_QT7LfY;87o$87w>IW276}2 zb#Ule@}>f71L#wob17ITP?Yp(%0 zl4V+#<40i0pte@fu$!@`(e^(O;Dv_H;=%UXo2x5L>*lt{G{;!kfru=0ewXYs*-pD)>E!E1~o05y#eSZw&w%S5WX#&%(j zQS381YgcZL<{2OCGQ-d|ITBd%RVrWpj-U;pth98WOEwV6$zY;wWZ;7D^5MFA3gt@g zK)nrz>Vlf+WPwicgsml0?M9)X~89F#4E#@2sDV*f;B zceLmLUU+3EvO9les><2t&h%Q9W}bPa;<$8mxN+HM>L$)4Q@ARoXY`Tj?CqlKP>P1= z+KtIjBXfR97=){)HN+HgXAjXH+V1iLQx~>vVnzsV6QL6!$;o0nQpzFpkfq{4QBu7ss zW}d@UN4Bnt%XA(IL0m&vf=ce{$sYO(J6&i>;eBQ2V8s#r>Q9}S`V9GTR?6ul9vaM6u|FW~n=R}6 zevq&C9miM_;%ck;R7IhjJFn2hC#6QjFo~BM_ko(@mVaE^1U(CQsDdOIurFzLFHt3D zq@%YPUuM=57`u@Xp@1`!_coC7_J0luW4L#}tqx;4C;}2%m9dtnv8R3Zx}+Pxyn=h8 z8+iSt!3}%UWlGoOkm%BBG4OPF)GY@ypP}x6eyYJCOlxMw1n@|c&X)Vbv6Xsdt@;=< zvgS^?MI(E)O`yUs-wzS-&cJJL&7cCU_>k@8+9fIX#wJT%!R@J#fa@x;!W_8#z>F?8 zJ#;~!C(mg%MXutP+O|Y~Vjdu}`tN|&$iYA&Tw@B)*2W|-D1ljP`d?@KqGGCR$s(!K$ zULk(oiZDFRCACVcfZP`VO(Pn6V7+z}Rh8=zzP9Jib3JN=*6jxusAj|PcF}n-UkS0J z8Co8aHCbBbsAakB1JL&k_Ip$VzDokWt8WDCjKanCaNY+~f zL?-EZJi{jGQ2>9{!PzFi^RkKTvSaO^mB-fo+@OcEZI7K}X|;`#C|)NS9@a=!0}E;t z1~}fot$r0a+P_x8V`+@Hvz?vbuo7TWJL+G)O$Lr=)j~Q**T6fEm@|Na`kZ(RG%ncirbWF7@gy$D$ zx$AJO5ObtHuZF3pU`;i^Y?@S|q^E2Oy#EHJkCTOedT!CzVHe zU&U0uUwRuIDV$yHJsiHT&fc}Xot=5SaqZ=;9Ane7(L>QVTC8|8Rn0M2RX;XS@8gu@ zehEV*yoqG;TE-Ik43P_<+oUL@F;dGQ9Mt|w1aRLr zFl`q**?0iA$}=FO0Ty5kibDXm;r2~#^G7V#XG2}!w+UF7PfNs~*A5!Q^Bv}GG;nK? z5F5ptTr9_ro;!@n*ed1T^mxm4ygwS?4J1ASg^Ae{-h1W!)i^hILC+4)NH6K5oXE!w$OgAJ&qQVNr1jVLfEoZwF#76T?|>Jd+J(CrjWns7fc2sHcp3C*@|pWc#BD zaP`tjg9f_YMrwQ*u=tGM%h{uKrEnRF7lyCK8lk4>fw@)IlzCeE4Q}hHHHg?#fUbZH zxJ3K=8_g{V!yU>3%5RThyFjkuR-;Zphh*^MZjkGzs(7X_J$=1pz6QyZx{v!&yS>Ax zIY3|D!`RDDoK!&H?xO78**4>Khqo?xF}8?b9$yX`m_)x) zy#R==zNdxnjBuK1(8v14&{1Jbr}*ha3xkrKgaJ2j(5NMvqf2f@Ju2~ZCZA2lXc(+eva~$fWl9bR zd*yGQ15FwEK02$!oew?q=_IlU$67dTOv}+Qv z`D+l}mA40xIdG8ny;CdY=yO`oRZtl{7z3Q7mCSlW(^2|j4Vi~qZPN-@vHK?Rz0mmY z9EbIk`5Ee=j&y_Q{BHZM|7tJGx9(H0_f1+0P^&Z0ZWV`Rhr*yVXwR#a;1WCM$CElW z&|&wpNvvTs`o3#K($piX!PLW_X^sY~lmlRdxgx-5x(isG_+7UN1EY)v;fLi34+55` zw$~u+(bayqm6#umsp@F+yTi=KiJHya8zWpAt&xtoF+e&z1Z4g!<0FTP9H`Tx3J%U@02a*u*sz4n7f zo{t;5gZqg)<+nQL%y&xmI!|Z^|rvJ01csakg+f_weJKKuFtQvo`Bt_XKe z&`o^aAus{;3X_jQ=^y#D8)*F%Z8@VHovD9fjt8UC3zFr&C_FRlU9CtUW3o~{VH3BZAGr~GEcBnULZ~~vV8U!=O>2wo;)i+q7EUW%(D-1CM_2Ve~ z&Mj_gFE!*mW>qX`Z13Lh zWRWHU9z;j2%h>CFT@4hrA+oDhP<7@bk1DYHRkW(c#>CA_FX7PzfOBU0L6;`pDVUU z!KlNNy0Msy9a)-rGnnn$8or3ZkEyk|`BJ;XsK|~K*o!Dcxrhq)bfm2bL}ndO?YeB~ z0$CF~pvd<{hoxq~L5^wFOK_NGDt{Rak`}V2{g3@tmI-~JqMWh_8kS8?V+k+#KkQkq zT=jVTG-0d^(O+;Wnfl1#@fV7kZBLvcui@G^Xp+_;DR$hH z21VihTO|k1j*RN8tI+Pk&;u>I=b2(JJ8@ac3LK`bBvN!j{8%#!lv;A*Z?pc_FfFYi zo+r%8&o)gww2ww^2hj6TRP7kC?wFhTnx<>HHR+pTAcX%sjL zc8U}R-*C&H%ZA-O8`34d(+OT_a+maMWd0=mHu;DTS;I?ZDXaM+J0J#nC5FZGn<>ph*b=f}`PePJcT>^uY)OqS1*P^H5=Eya?E!-7Rv86FKn85arxCdX8EH zNgNH(xn>lVOe&DO2KoeCO&6MBhJw9Wq1xlifE%@!|JtaHs%Vkznl}PU6?-m^dNe(A z0I;Two2-_{aJ4bkVn428xC?q%wRhrrJkNt>8U~N-K-XoGN3d+#`oI4Nj!VgPn4_ET z{|-|7wTE>JObqwuH<>C{!em%a?mh!n?D zlgkR}Ko*>d&6u%`XLP5-%50JjcG|>^yerTpl*y%+(MXYH>aHUZ@p{H~9%$gI zMemxS5)=;oJWK$;a&ADx2Z)- zjtKXkzOa4CpT01-{Ci*6qM;O8`|N6Fa(0FivwTjbK4}Nc-Ub#}yzK{oM6xx~T$y9( zt@-+!^g-RU=lGk9HokXIRlTNU-aDw}qd=#k8%R9c3a9hmf!ef5jww!Oi7rm(Jh$uh z#XeA=Q;`+p7L#%p@6QXD|MwR@>zU}+=#5$`qjPZZPU8CBNnCqr2oTHpsS2DKYpe@V z#Ra@u6RR}Z{Y~14?|{T@E=9~-b=}{5W%EhQXyp?5eZTe=Zhjn~VvPv9{QhAR><+c! zU8<7<$2lG71!}j5k zgHMY_Xh25+DPhXRwk$SE*YeW$NqYu_x{igd^d0fUA z>F-1>(!W_1mn=B`S{1=rq%d!fm%&*GFmLHq{mCd%ZO6QozXS;7vwDgw58ypP{ZLJw z`3((4rwTs%yP^YrJ_(6BYdX8?nh*2y-}Mg+!6!Y(b`15LudxT9ORN>il-NnqhW_n( ze_Pw-C%xP_?~jN@;U*kx6zzz#Zeybh{j*YQX{OxyUa2L1j;3)HMwfU73vng{d19f^ zC0O@;hhZr1Fsw5UkUcd0Wz%#}RQ?$P?!Wrz^2LANUrqn$qd$BsnnvrU*)IV1gPs4Q zRYab)D6dbg)jmFIw=@H475BR>#r|p)jU@TsH)@ZzoWPnIQNS^P8?{W@?TvXTNBr>h zbPs}*Q=(!&Ux6F7Kqj~d+^A)tbfmKclDHDMKkzO39m{!^LA3yTw;nfS?~Lxb;=OX4 zQJ3_YQvFbk%Ving^RPWc26(bduom!JkWXisuYR3ARQrCRYT~_9dwU9Zb_<5G>zhNfrjewk z=-M8#2<>`Cg!pE;ID7>?^n!e^QR-$j&CE7!)Hem=sLPnoVlYE#Fo@V@Y6aTKk}3nDHkHVK9xtjE z?$^XIdZ`u4-_At8Id>16@#$FzOWgWJ+;-58T^)6a}xrn=?@ zN^S+hK9v&Q3HJ0%=G3}v)GtN8s8#F;FG6TE?v3$Ft*={P!k-o2hJln#cCl4d zI`?xRY;UJ3`D*7ede0+AO_}ltOhU8K#?=U0vq_eEnntzSOIu@p$zyPja_K*C8PD}Q zE(4cj8kY4%W#@e&69>2MBVv#yMhh`lE9){$S$4GADLm(AS`+?Vc86-wWy|2FaG{*& z0e4J?IU09XTx4e^G!m@wNm%09Cf_F}J#eUARA^`a@^Jz-pTo=y-{GqxRlD(8V|9d_ z%_JovYBomnxU9V*Bm_w_R8|oeq30~GI&*zc5~4VctpGW6mo811d5dErGc)!Ea=wkh zE>R)vmWjbzvelzOA1aG%QOhSuc_*ffX8wnU{CoE=d^~D1uWg5#y#$Io24?C#A0_y<+92dQ2IaGq6*AoPyoNDy}f_ zyFh2D{2?@@blEubQ|k)Dqmz!lTb(YrkIK2*U%50b%*lTweJU7kjBPE7h1a-4{Sba4 z5Fy96(tAii-c)SXDG`_CdZ=(Q$y8FtEvItmY6mx3MEqGge*@@anPET1Ebak*1C)<@ zS6y+WMRBW~h-NhhXo|bWZSTL*1fm-%Q~n6L<69Ol=dvPJ|A{;1oMgqksxyIi$!`11 zEc~%s96vhrS48=F)m$Jgo&oXfD@>m_R^cmb@%CtKT*^)ny0zxd)dPr!q^P4J)sQ|j zo$WHwGC#$_0KA)^a_D#_@o0l^r6r7*IP6}JEyz(|{Y?7yu3)kFgM@rrs@in7Ttg*m zs{%aTUY7iFv+XDj8H%eud7EHUYXNjN>12Lf^yEX>*O6Th`^FP<2^ncOT=Oox9>dT{ zrm$iY?cap#{2j?qI1@p?q~|*W5pTZXO^EH$!=xlC%WjVU2JS^;F{T=Dja#LeG7@Uj zx{j#Vt+_X>9k9=t#;v;wr1O?pmF_XHOEdN6L>kPAaV6DiZ$nPamaXoMUCkIR?2H1V zthKebSC3J#rUe#5dqa42%P8e@{o6+3aCwh8$QGXu2?g?u{}E*c|B140x$55-0;1A0 zs_lA7N{In*vAjyh**P;2&!&T&)C<+SId;Na%Gxq^XE*$3*O(?C&J9QD zArD%}P`7(tb9OoLSMlc}8j`LIX6n4^87zYeES~!FY3ZD%3K$5ttcATdn_qY$=yGCWq83%qNRz~2rQ0F+RUV7Vx_tVbW zu#qeNZKR}OD!3C_^v2&uXckt8DnOsf&DotkMyU5WB)3a<=K2H zwiUgSujmBcj%SBup|KFFE|vYBVk!UDAOA;+C4{51-?wnhI#4x4kq!`gth=s@AMSHx zjc0nQ=9rXZ6dSEpl(fMJ7b1tuab;4bXq9nfx{%ik9bi=lES`=i%dE-RS1ME^UoZ>+ zQ!L?R^Q(WPSiw`Rgi>GgiSpuP-46JN>@TL`g3Ffo^?H6>sqrsb{6Ki%DFn|74tD#I z5Q`O*e2*MK>cPy@A9<<>OT!HMS7TjC~+gt??tUIkgz;?#rKmyroLRUJvzFx9u0!w^Z z&1Fa=Q&cQUo1C!ApVvT+1<+Z<>w-p45&`W<8}mq!!zxw~5LB?86TnI` zGOzkfXcUe%5zXgmsV4(3hiQMvg0r%V_p9;W%S)1M&anNZUhpHV75BjqA7!n%BUuBu z=&DEYxS8vQHdHk+`qvR%uusdO;Y$TF!kL#)VCWhBL?0Rd9&vXdBlzEN!tQPXn+{@7 z9bRZQ1Ga*nArL32es%Vrk~GYnb6jMa*%bc{oUQks%9>1)(p(e=xI*IvL21#D_`@!l3&>-Ago;0;W=(hdYr;QBFCFMYX<6kK!vUiKtWLr}e5!hOK z60A z>%gn=cIdBsU+xJ~_{*0)JF%r!cVMse>VY?Ii@{e*xNbPQcwZDFeaa3$EzTEzFlLNy zgyC~^cXIpR5~@BX=8ic~)-WqpJO{0}O}Z7_CAd|-E=ul`tJ|JE&2eU6vv*yg80!^W3AkBe6J%K&rT1Y(?;TQ zcu?N`co;QJUm|W=SM)gG^hc2`6o!>tP!Z<`uO?&Bp*Su#;fGc$ZR}qeyV=M71hWCl zVW_}@t_*))P9O4qQEj)LC;ron#h=kwwb>@xs`t@YG-K!)k_}5tDV~Xe;0!2IpLSaE zow;vvpFRyXZbDSif8OyED<@4f`fns~#!K?T!Z@Yp29mC4SqKacqrH1khPF;15Uqo5 zOAo#jQZ@rf-_C14i7TaC=N)H>eCz8_!-b}OkYsS}IN5DcbiadA8)er}lEnM;6I+?D z4SHy#0@g>cmYhb-1()yz?0qvfY*(#iowBaT2ST+?FogQn$WRgeb~8k?+XsR3*6L@y z>oua25C*2H^8^v?W;^kPoQmTP%cp5mca1_sIe4g!N4(okT?``nC6VqK55C*`8aab&Bfw8+NGu+Vs@E>!D;gw;&{j3|O zQH1dWUVA@++UvrVLjtoY6<{`X;NTVKUME}HUY)Qb%pV6l7B5%5IRskaj2jN)F593f z-zciSYM$=N48u>de?m5~ax6fG4XkbzXt%_MxC(f>$Q&%L^8a>#5e=`pI ze||F_olIu@XZGWNPpD!eZ)N`PBdRR|w-vSn?dku?sQxFT`k##Ie=@57$*BG_ql#K; ziPq>bG?u`|za+R7wxH7ZjBJqPw6%$U``i|sv87b9$q?RM}vmGKUnMgx%6ewxIjm*BAYG5YTwT5I>pjC z7x^C1){OHclr|u2IJ5p*;o@>J=pJXsaGgF?_|L*K$;x@&mrRYP z^ImKk3_^r*W=hVszgm&)loWLmr7aYR_zTm;3KhZ9XXQF+QKMV@mLl=feo0$Y0O{b2s86+e-*9n#IwqQq(|?) zeS0O2Zj!|gV=57Ds(&p2W?%(i0~A8J)phHeaulgf)&=u8MeeR* zwdPxY)s22Aj*I*-FCs*A6kn~}56N6usPuWPO8Pb9)xTFrlE7G&BW_`>3fEkI4M13m zA5`+u$sz8M;7x1t9x*q@aJ~~yJUz&u)xFipjlMoC;g8E{44_{sMYk4x-J{OEm=Tm0 zs!GOT0JH*;ZqrX34a>8p)`%D|Z|=NwH;cbbg>W(Q?Ls%xiu1|BRv6Z?6W zs>Jdq%!#&^PIhe3E4Un1(J$s4Q-}VH>LNd1M85~iRT7W)D7FrcnY3WsILUf=G zyT&Y(z4%yN?nQNN#$M*CJk7jNhI5!LzPm&UTS5_)kI@)iOPOOh|D|W*`t-CyozP>Q z?y)`0IST6$-`non7n^TRH!sP|4^$zqDa=lXm{5u8;}iLbi0o|iD!OtWG+1FDW238n zOSlL(%N|jZNRR~4;~UZEg!?Z&ctA{01-IpJOa~k3G1s zelbR@0se1&q?+;cK-IJ?(#bf}<)DZ3e103jIVCcfvv~I_QTK-&QlT<&Xc`|<>=-s*v{kp8WCI|(IdpXz1%Ns0K!ls3 z%aha`iG=J#{S{w2;uj$=+JK47#^m#dhY=`^ahEtu>Ebd@)^5w>oRO$d}!~Fo~*)?ck4jBuC!}n+0ygx&3455%jZ7IUN!WgpJ z^{5sycA)`%{PF4A2g5NHk*Ad+TDa@Xc4}-$&@?B#k4Uzj-{-%g5X7dw-o{sprI>zWCrF7Hh57>ishuhT_pz51VEjbku`p?)>gLChu-+yB(8Hf+lD=mN2XI z+}bSCL*wpgR5#5?Mk=4a3At)9qzRlT^M0-Ac(sp_rTzl!3>@IxEw6g#l`L;{k{h`n zO)bU*CPcUlmbW^j$!$=TrU}B{q!=w7Jj@(8u{vg;h0LJ5T^}Fb%r#75g4Cvt91hW@thp4&A4hsC7WukV1LuV6u4oV3eW_`biD>Y5a>OZ2 z6r$jW@7{8(Ca4Q;;CgyY+^4`XR~c}PIQo8$MU~9h99t~g$ey37j8*WAS^ZY4Djq!b z2~fej+*a*xwZohBiybS;zOcHhUc_~%J*Y^{3)mwp35f^bQ?vQ2GgmQV>2uoQ{TMc1 z&tHKZFmg3I2^TxQ*J|;%GT!m;%WmnlU&3*yU8v~M53t5@r6|a4?P^3cEZq_@u~3}D z`&GBWO6}psaMOz?UWMm;BmVkWHx`j5pOeG8SRlPx?rXot zvi^EEWt!HOnn_6z7qPUQZf%h{L%l8dCj@;JE7W4Z#C&7RnCO?XILirkWfijoS>t56 zjce+vlu7M|oL1AC<&x`GUWc4*$g8HI3yZE|3Vfr4bejH%Zz=)mApvDl1qmo$%4*0> z<=($0dR{(e!8sRDGR@>=yq2(i{%eI}>(B)wu!Zzj4S6~+-Con!rTAd-L?`(2Z125! zIFR}_GS-&5&r(BjRm=jb;|-+9&4)OVNoW;Md`zu0@Ls45$FZJP#ZknZjd zB_=2>t+aG^cXuh>E#2K664Kq>UD5&~-#ztt-u1j=t@Xvu|L?4wIUI9iI&O3@;JnWB zIQGQq-Yl)zG2S{QiM)K2xVCz}KssJ-a4-`+uof2!vB-#AT>4RE3TrdW(5d{ZWw?`U z*XHAH=Z13g_}b#UgLSG}RqbPAjkZfq62-BPXRVu7;r8GM z6@g3)ZPqC4vmoxYfpjb&XLeym^A>Aov!v1}^O zsX{f}xGsy?K(Jy4zO4N!H6x zLxNmNyE6>MeL4Ih(9>)lSJ?ndte8fwzc%h4V4W2>o}W~+4V!t|Ao0VrZ?oL=%75-2 zEtK+z?OiW&O@jkH-Dv+DJ`&+thV=Zm2)Qiz#=XDC&I}rhu!{A}pEy09COu}1Ih3bY zV^0mn9dJ9|_nMP5`~5$Fb^0|f|8e;cOs^QYWE_ku_}rlPuD|@)l;_PNC0~-m6?!SE--t(K6)DtM)rUmZU_E8P0cE(`UcFn%S_e9d(A&dCR=tVxm$}@F8xt{1g(0U}CgjrU(YUJNyFy(g{k&a>c_R)41O^GBLg z2$Io^0zDtmB-YYf(;IU*#ulpIl79w$t7& zlt^XdmX9{~+Sqw>cW1)>#r;CFG-^*yT(j_zAXWifE?$4(O8WVBOQtfj;mm* zD5TqJ+BfP}`RdDHUy&pDwT>F*_9+p1CH;MFqR}c15DiDGQn2PrAA##_OZSYO#odJQ zIjSd(2My^x0}%0Wn%5GG8Qn6Ci8@meFH%2M0+hlSVLA3XJt)Jql;fKraivPc?w+v2 zx?%%x1i{SYKYUtFjt8xtiO6e-cyHNNi@Bu3F5N%b5gFC?*2T94h-g*I54&ZbCKhJ8 zeXL&bOp0kpmyz&(Z+@%#SCy9=j}ctul^y<5<#qM@&sAQZoSNAxpvuc7rsoeciDolC z=F>4w7f zxRb(O*^n_vgwFG>5%~pWYw608bh*bx`*nYQRbjxn%0|z-r^J7r zOOU404G8^;uN5HQLWsFs@<*v{YE{R53=|d`?bhQJ8hwvflw`AhLrwPQ@AEZe5<4_g zV>=2iAI8^`)6BN*c;JJzU5a9JG(~UDwcZ?RJ!amUNTb8|}@| z+_^;Ps7`SI5?Gq!3rKSyeF7I?1b@&ib&+mz`S+pQuM>SZ3-BjQwuO$)tqfo?ghqOP z<6+Xe(olZ(=zXhfYa!1+C}Sm+L&aa5yI5kB&)aI&ev;=fcfU1-$&{V_E+LPI*W-4i zCFI6zwR_EFmXX($7Q(;Aa(FIR<%^`Kzs(y6ACN1Azpv+g$!&JK2e;6uxWdcHC{)&p zgU_f**KdBkSs(Fe|5hs4@zwHUgZAgE7tM%hVRr74LKsJeKnFSIqY)36H_Wx%y{va^8H zbWl#-jbY-`x40NaL=^Qg2`&ms0N$2pY5qfOo{N}&2G9}y%BA_8+x8t7ABcc<&=IGA zoSp)Nx`VXwudTKE^sMiPn3?W^EJUH z5%~HdI`0*~-K^RFiZ0Xt!Gi(1#42JA0b0mSIR5wjWg@0)miFytr%+hI3nmc=3^?j; z2t2(P=*XEp_(}%lQWCltty1xiWH8qA{N-=0QR#O-mRpeZ}%s<7~$w@bgV>tcPa5pY6N{#Zu}l*zFnfOz;D_v7iAsfQ5HcCk+Fpj{YC6i z{)^ZHr>4f?lnD{%gU?5IbazG9UyFbyQaX|XPxhUUp^j2Yic#}Jrcg29;87=lh&%Np z`XsIj^LE4GzQRdxL&}w<4;4l`b2C07ZY^HR8F7aP#s%CFZqnAVT}{7m>kq|mO%4*t zCu0N-FrKYz0m`H7AwpDXrHK_F)L8Eq0JKLjS4@?aXSap#UDr+64_vyISC+|09`}*} zv_~5_z=$^m9|$1Ux|y4~FVX`C7`TgO>@yHtKx)J}VTd^WMbnnI+d}B^n@GozZ$~M3x+#-(RAEBSwRpK$YtI_ zj6g%!=}$vAG5!~X{u>CDhk!o~VNQJBVPz!UW^?7FQXIg>!?5dvr1py+e15?d z0nRTJc<7~1?gNMbvPTPy?4icSUT`l_l7%eICt_jXK}(SP>-liUEAdJx3IlWY~B4F&kP*$Po>t7Awi~P^JfO=irwBV0=9j;rOkE@U>4-);rnvzet zGc{P{6k3^*ZENHE6!4wCv+eZ{u3g z2WE;;2MeIcCN410F(c0XHuRy1v2d56yZTz_<#P;K+NUWX5Q#JS-uG{lSN#~{qFq7_ zep?a@lTcv5gc2FRrI)+Iy41@?(7k^xvKLEVCk$z85A7ODb%@aao7!_~3sFWI>-eRZ zcXR<2hJn2~m3y9mjHB~!AyY!r=xAldlb?*&GOUz-CvP zbR&eMFc5O}9$%1|o(o&5_g}snwY>`CVeUU+1Bf{*JEAV7zNl0O=5cFQs94hPk#Vp_ zptKqDOvtbaAXH8N_1dL;5Tn_}3{#!BY`>ryTU9yPt^5bt!(D1y4d~aKL-gG`(Yu9x zT);jaR<+F%m2Ol-wWd@nuFn|QVn;RY<+@;L%5?LnN+9y!pUZE1kG77Dl{?A+i7c9UQSh=)7rca@lGF!lvU&qcNev>U{Lbv(0H)8LA5g7qN{ z-PfLSnA3Q)p%y<&Y^#SFYch?2f>#RwvZte!7%=C!OaHdq zC}@HTpdrl1b_2NpZU_rPr15K!GDEw^8RV+UA0`$@%{d?B8Xe`rs*+kg*uj;n0biIA z)ZYbRhJQY_09nDrTifpP88vq}g>2trK)Q~N*mML)*R!L&t_uKQPhGw}E{ju^!7a08 z(*t)iJkD!P-n5m4t>6mli>Csm#+4vx;)7%_B*GSe*V6@ld+-zU8S@7hUHu-XSK%|L zOis|Z0y5UptG-$oamxy?4af5;I>-ts=$$t(Uwjvw+GSl{nJfWp6OJc?!UK+`zCN>2Ltnlh?o;GTBYSznr*jq=)vmho`>x zht@=Z^Rj&w%gJQ36)y$uEgR4cj(^c&A~YJ&BU8BKC%r;P2JQxr9)U4X6~0c!mTb@} z4v(Ng5k9HESv?;86krVx<4OUz8f=kqU`!GvqX@1BpR0jO=9a5?MFAWFx~mJLi!+`$aKW8oD2%V01fmgGvDl51sC&)Q@O+Pbuavz;^<0GZ>c95W}`x2ogyZ1``Lj z%64>aQj8?>yXO!UANuhcf>z2CKo?&ncUu&%9Dw z5!YhBb<%B8p9qBqMC+1Z?^Lh_L3}851a8F}Z7SQWFuW=-s0RbO0RZ)|=yzodO6aE= zGrVYiLE`+rt9usc1;aAA;==?XLoCC-&=`QIl8mkjLf+5_P$7rz((#g75Qg)8a~lu5 zr(Qa!d#`lqW5T>XY2d``H0=a0^a9g4^xO0yn_v3A8EOzEsiv zGICp}_a%2m3Q+Kf=;XzmEPj|h;}bTdM3I(f$;6LAbRvm7{d97lNqOL!Si+UOaY04# zY|r`_UMa~zgcgT!L}F6=zVCUuXf9*4k^%&}HFKS3BpzG1emd)EuI8ZT@8KaYcIy0e zd9E39P;XBUe-~unlzl(*vHYDTIc{v9_c(6l{7gU;+Ei#Kqq+~1G`3G;%+*86`In@@BToZ!Bgy8FY0Y_UUG(kd@{ZTF69-)QUp!q)^bU zAf5z)PjN+g_wG9XRYZV_27#VM$@IKp{+&3b3_L60Yzy*AYDqgqup}3&COy6gCAyM! zI%U0*Ax71%n{90GYt!s}AB?I#GaYNj`@Cu;Yvn`$3AE}UY8?|JuDOTNmU%1TI&?)9 z4x&dqzsK~#tDavh#3P3 zxKET!CaWRBQ5D0t1$(LQWAgS`iM1z#L^XG{VIN7ndD6rVV&6@e^v#@4dLw17=M)g^ z_I^C+>yeCQ=`5D%-g)`i$S2fcOCnBjZbbR@ZK*;JyB!s{n*Z($yH+my6C1g9n7wL;WbOL?pi7Evkkne3-Nl%%;DGO3%WLcc_6~X~Z+V?% zu5|vFu7xl1&VGVC+FtAcpYgH?{24DaOJD3nGkl`>CKrSm z7?Wm^Z*=m7H9a49$C@gJo6eAT_)rWzM-w#kpmmzM=l2vUt{Kd&oR?ZocAXb(JlNt| zE!_LOKR$Aqn>)qSWJD-Di zprfqsFZcz^UpjOieDBJ5tohck$vd=fHlp)gR&tjgg;HX%P1k^$Gt)SjF3M4nF=&k~ zy_zFa(}RNB7PMB+pp_(OQmTNHBGI;_oq9ipi!aad>bA2a=Z*N;hqj&6=e2v~@eS4X zObOmE7=FR>=UOS_OLC+Zv)Aq{^20mqKbfy4bQX`z`8cC^8OwRi>S|Dv(-xmSlBaK^ z-;uoIm?~^^w@TM*yf~8|3UU8p1?+^beQ4-YcnEqC> zok=S3t&OqHOOibuBgck1_qhAb-E@G%Z)n{Xz{Bn*zr#-begeB@Ak2B{`3TDpX z=g2R};hMTFfs(ds4WrL=rU%VT7kgIxDE(4bwKbXHqTEGj&abyFi`T=;F)<>H?-Wi3 z+lW~DK^f9$eLbE(eR{(0@I zr+!!Hb{+WY+FQK7NT44<=ZR3)$a2G_bM=0b^%HmIfRqw%-@P-lM+VgclTzO7-6&hi zs`ozk@o3^6?BS|BH!IpS`_TFfOJ(RG?I!)_wV8wYL;5FVKDk(Y%vrAmf$#1gcJgNo zO-P;``PzkYq0jrG$j$J^Omf*Ia_3L%9&dV{#JBTR@X^y7ujQ_Z&W{@WO=9^>_Z7Z!IR}T7pL*2(W4Y9{Jm#Zg^wz zf!0pS=4|u_q9c4zKo-*BLZ_5?W0`z7LR;(I?3s;-4}7j+a(4P0&vosOkv9?_Ipjm= zt{w+%1&#Ekt}kZM`;MA#w7Ogxt5jxqu0x{1BSrvCMqfwT+naGUS#>E6(5|S}FXep*MLw>x!k} zy;We%3t`@B#zxMmwb4)17a<=DWV7DgHf8YZZvN^y&jDFn$>kMGTdq@4oxQBKxcce- z{I0?Mz!95sE3{C=Ic^mo0MV&w2)^&|QD0M%7NLu^;LG(EXgn6bd> z^pVdMgjuVEc6GBnL1$ij>Y6!odyX;I{zp#FE!RMtZh`4l0(~yd(V$5WW^Jyco67c> zsuI&{g=TI}Sxo0=QOJ~PM5r`0{i$Cw1W!C-!zKbyBA+ce{H(a&!Lcb}GrWu?vL3 z>mB}lK|x&XH0#%loiRTClAe;M=uscy!;M-WL)PSN(qGxZkxK5vsgUmvjOF6a+lKT|nHj9HN^dSa2x$s$C%g<(GJV@W5`p(ndfe7oN% zDSuPgyB-^8yzvdcj{uLfTfT_Z1Z^Z-NNJ9ptoJMC76g@@#S6P*$lh^nyWv40>?Ff*{$l7!r>WrqcwCmofN>PqDVQb;;y z;PSWR{9ZYx)DbK>F9aoYAAs5tK3W6`i=w0#u_-7oriNia%IsP8LP4-(qFF0YtDX7# zBgycX^15ps*ECL6Rn>^VIVnAhZ4l4uL7E>Qb9pyqWIN&nv1{BYEic3EbiEBO02Jpz z*=Dt}(F7Sfclok*gF{%Fo!?>Yd@`75Hbw>?m?)mZuYdSAbz z^kvZ|XnUd|ES+DmDT}>50YexVINLo-ywqI%f&d6ZSi^bS+!Fv{Sib*n9Oq3>fAi2) z2fVH#E@@ONS$j}qnr2l>ea;#y1KdWmnFf+7%}JM9RbS3nQgLHQv1L?m+sEikJ^y(2 z?yQ!JRohgUACCx1C#*XX~Vr zrhDnq=gyS zYHmkG0Hg$dI`>8vc3U@ydT#RLfddnrxy9eqG+ho}Y9H7!3e|$s+InTN^t?Y?RxYw=i zjT!D*l@#Tbj!{AG9@TC6MLkv988MuvO32eXh(GFUmhtwZlwdqDSa448ZINjZEI3~U ze~Ca{4R{ljtx#h#=%nv6pzRl8a(7SpU_QAGO2x^#MhHo2sna0JJeN}K{ClXHZZQTA zA>CO^xa@?0c@;ZF>dX8jRD2EJCFS$}4+ouw(xllOl1a7v$bQyey+S?zrw!z=kI60c z$di6(ijX=Cw0^w~+Q)3)cco!iGnh`5u#i(4TPoNjo0>L_`vJsNbL< zCNA(1JPs$)W252TX0=8fSU#B(sMn+Uj;3>u^CplW44o*lkCQIKbvg18h&xUqm_CT{g0SpsGlQxCGR8XtH!FS!QChvoZ<6k%F@t1efsu#vrvP@L13GQ2 z36p`U zb(pu=+luf4ocj1npx&AV> z7yzJC9fA}cQmcs(l=SVnEh+#2x;L+fS?ddxJ@0V4G5%XveIPoP3twfIxb)pbL}oz< z5^jroy*?4(i6pEu9*BX;sr}b#o8bPCar_4-7yb{PY(9ou+-6 z=q~^|EC4_sf6KrHQ8DqaSKrbJ%4S~;1bybl-M`q*r7FLJNb^7Zb9=PDOKf45BS*t2)Sr;!CelYz!F^~II@#Y*rKbJj5@4cLJaeVQvyF(mF^$-0VyQ;g7 zfW>ncjy$v;5SuT*Rb<&v2gK$>u$q9_T(&t{1CmVDv9r{9n(mQ?OY<+WdAgGq3;*@_Yw!|wYRy%?_ z0m$cxEs(7gG>!Sz179SyyoBV$6i&LRt+6u8r-sCr1BO>-z>l~QKUWM-!@Ut(bV$jT z1*u`doDZ!?8f{fCXLST!lP_2YfX`J#(E^5jl=M$qDIkFV=6J}O>o?k1rc zW~=TBT=us3bkUjxf7-D7R%;>GVcA}kK-Nsv7cHIB~ zu0R22InSl9^@n-RHL8SZ59rLZe1l41UxXp4edj?xLJz!GrxN$|vUu$#w_gxaiC-^uTQ896k*oLO7uzQXtbMB3K9pVpi%U?o zMPAPZ!n#`jZh0FhNry_ zbe;34w5>K_(sSus@#&lLyZgqNE%5~AKcYtxOVUSHfow?;1zO;G(^9!PYN-x%PjWTvK>fd%} zm)mS#f4u8~aih@cyosH8?DSbTsbzO9S_xk?s&F&3E~7?a zkej5A;rh~COpD#j>9H>*ufm*}*KM|?=pA-KAU;X<6VX0K^Ok=i^zRU|@vOwjhC#;F zGdCf`KEHORJI!gdDJA;igEi$8nSgV--OB0`?4uRzVh!mHQpFoo5F= zP3`h|n{oT%lx6YSy2jNd8*%PW+0)C<@i3TQat>rsmlP^P5Rw!^|KAP-&=}Wo*!^~tav}!c22q$C!qLWC9Zw?vaPkM@?GZAGqL^l ziG7Ursx&~4<3U_?BYl3zeDmw3b4~UsYf{j30?+d}$OV)la0WqJ z`XrAhbF0m!i&sYi!GXOB913liuXn{2;XZmb{jElNkG~lujG15so~5q3-GxG!2w7S4azUJKF%#r-hTujB*5<* z-wB)hL&al~&As(+l*2oZ{7Xu6+|t+XB)K4kQzhX2uh-)75vMovw)pg=#D0-FEDxP4 zuYxwst0KglN=4VAUhK(Q!P?>DD)7bQbi7%eW-z^iu=`F~xv;XHneR$a(3onXuB5dE zI$mYgiZ=f$lX*CX>5yV37`#^JHd!>^c`M%iC1+B4*JXr@cOfDfDptu>5>&%h8RvME z|3a4Iiw`%e;SE`?(ns^o;O+~{FBU-s;*YMuzXK2(bKDcYK86SQPxBaOj2VX&Sow6? z42+$UFPq2z$mFmupu~F|1=|@^9$2P2c+_LA&kq{@EdO!Q%#iX69OWW^FdgXPL`gD; z<&Dh$#LlEY61-5N{$@!WrE+>4fGyfth*fK1A=W0b0z@D+MWug7AUIzvE}R@zo%Rnx zB+5{qo#mFCIk@lTiV1alq`TwX$w_kQ@R5e%NZo-=|I@{OBOwu+aB2zNSTxzg#p>Xp zJZ>T3PByg>gWZ_C$J1TuBok?Njdyd#x2s|$!d3CMW2p2!yh0yLYJ37MnQnaZj@)+9 z93#pgH9OY;KDDva%pe}@?>;}bGf7rqku_w3t}^oq0683GT9h#6dKPTP@>D+NzEIYP z2H=J(RO1u%>zWC8HAdU{?U^?psX%Jl62?0HL%7v1bZ=oVnV-YqOZt9CAhRrmL75DY>E@99idZ`HZcpV2vW~f=|)!w zlGD^Kz{cMZk36MO9}PhrQ!Ei4?1h_hTBRmj4fZo)#%6}tEL+w3M8NYwFR!GA8GP$RF2o)IjKjHehD22cxcqL3E#B4HY z9xBilcy&+IEz-P;7-K~)pM*rf<>J+ZknuyVnBKC@kY({d^tZq$q8xLEff_9&W~{M( zwCk}DRaf&1hV3zBV`|Pz5{K7i=Rs1a7|9cYQkxz|!H*}`GrUu&cw;B;X(~->iaAN3 zYOAiK&WR|qJjiOC5O0dUM>`8Simy{Hw>K*P)gp^v+L1wtuC~Lx2={#Lj+$&aH~`yJ z?JY-QP8}B$UPm^oF;s#sVWzFJ#I~ZKR9%ETbV+t`aVs$Ezh5Q#f6h9FB?m`d52d9i z6d?olH!*?l6Er&%#MEFLM9AQP$>WcmHr%e;n7hA3OE=!!CyA&dHnV@{pfylq_3= zlnl>FdKDr*6?q8Vr6;!hs_9w8K*K_Ebp|zb`CnsX4k^N=T0TO;+ zpm|VFkLe_*S}DHDK@o-N60p1@3Js!~Jos*!PBr~8dCIKIm1uyz3aJ~b-{l)*f7bSd zoS8(QmbpG{d0D}}GsV~xm3*)yRmShoVT6g7 zHQ-&30+|?PSTytiVLS(aq)0f-Z%Z23W0mWl6Bqf{vVXWzsDzCzUb*juu^Gn@5}~f% z;EWfP%rB#ZtfKYtT%vIb5OO((2?-E{qz+}qP9dt!n7lvIPOM7=<0nZ0{3JGjpG>#7 z{|>3z?LhBL_Wc35&=NfDuTdoHCvW0M)xG?B^WcBHCsQtDD`Ya8fLP;C-ut!jSU_!- z$N^6jnDHDAZIc})`S$3&;#POO@mH)U1rPf}ef)APdV-s)k}_c^NltbRNKFDQLf3NH z(h3s`k}{wuQ7zFkH8#f#*oqc^bi|?=!2>e5=wQ27(j0&cPXA5_VTA>)iW%;Dpu(4v zyBCa}By!#{b!$Zx(syov$>=BhV9{QwjzA@B{g(@l6TIv1?mEJ)6DE&QN%Hn3UWBrg zJVfhC{FSBj0Ii$ zIJv{LF#s2wY+91;AzjfwLJ)}%A5%&pU-XPXUIN;~^4~5vz5<=b0La(}R7<{X06ysu zA9JfH#&Hz@&?iCqyD4D$6~Q|6*FHEtI+g}_-!Lb|FQS8*?uB9ySbTy` zS&{uBx)&K{a&^Rj4i4o7gKWPV0ic8H7O($SYW}jv6d{v;F1>t_F&gl}!F{KaoWh8d zWE69PUjqB!{wEIkpE%@y;*kG|L;nAaL&V*v(J+lA)LQR;#~}ipp2nhQuYowk@$Wc9 z>Ys54`@iB4h5sCfP=VtR1B{o>U+mQXjzcE-2aJeUey1U|zta#p3L|ROdahcBk@gis zB+ks)mT!Wy<&XIFXC@s=O0d2dh5i2P^?UU)e3|=|@>~O1yR(6I8X4MHCcBpSzd`Qc1flFHd+41g-};zj?3W>dc3okBaUaIEE3e6i;8)626I+N=H<2&;B?r{_c^BQP7hf zA*BPSqVm(oXNnfpXz`f^mSntTKXiqH^2~Y*^UpXNLH4$Gdr#M50_HPWP4IyQ&*~MjKA179kLc* zdP$v`nW4c|e$Xt3_OuXlxrH#yahE-jE3MdG+#C#vEw+_}$~u;pv1_Wc*m&8q$RwO3 zYA(o_>K)av;prWgYMvZ@RE>*9E7|h1fP*?to-UDDWWR`-wt`DU`R=ZC>RYj4%GeMb zxw&tmaR#^|CgJ;6MQr5niWs(;Z;*(_#J9uRGfCi=8gNStq<-Dh){E#4l*AHj7Z84z z#9r&pV#nc>^Y5hODX*y8UzU`wQOq%X;s6Oh@{Up3_rWT^4%?}bo?nw1Gb$V~PpEWD zu5(xiW$BYA5i4<*jFx!2!Dh!AnccF|qX*q<-}9-OU_+!mNGTh)Yd_`v8U~^hVC4^& zIJ3tYzt`B&vRj+H_!%!Rh_;@y^_abtpRz@TQvG;MDY^g0w~2E~&A58?D>nkbC8O^gS3j_{~y&m!!7V2L!id!4!>5<=^2R2y^`Lt^8 z^c-*Ylx=v#%g4q<8Kif5vLSzP}yLpkGZ;Of}h zDz8dp)!g)9NOI1%w@_tz20kblS;=yW z#LKl5CrH}hjU~grs}P7G;30`y-U{#ZXI^Xcjx+8Yk2|js_>z&|SO&K_*687HT*D+` z@qIo0vnxktITzK%pI%sXCeRD}HQlW35-Cl#*d0Q61q4=BX^udHM@>(k{2zf;S=*WY zOdCi>(!aAPkKEeCoDMBv3@7h1{ zjGJF)MsyQJXxH|i&ZFHCMkJ|ElJnRcW*qRY&04{ZQ;nM}TC9_9dvbL0;n66*5!2(k z@j>eJY}U$1%s6|xsC>Q$Iy}d#GiU^-0dNst8?{~g;}*A3ZEGHC#}2Wt_twJ4U%F=H zSRouH&y3}2>^(*c&#yk3-!<0%sqd`3*);IscqTF$1QF+qoYVH)#|KG@l#Z5+ot%FD z_s|M9?s zJKUk4Hmpa$wH-aUWd7{&igP=wkx$3Akrk3Xj3lwfm~SFOd(r;}q&EU{md0$M2FZH^4xBDo?-AsT}tIL0; zR_K-28?Wu7Fd`_NSQb9bsEyl3aWPFr2g$>oCz1K=t-u?l)5`KP~1rbiaSysWwendSDK7W+%`BtB3zObmrbwhk(@L1cTw=7c!V}P zrjpJUKOiP71Q8Z~THa@mSI^;g8bCHtM@lsw{e`M~$bQZ(THe};2Uj5cGBh;_uF;h|Dm*Z}K zHeZP4R`n{*tb5u_$mf(|?0MCww#?D%XJQ>t;sd0lep^PIN|B6YhvE^x-G}ON+FJY0 z)0dv{l1Kio;W>s(bn@N@PuI8C{h905-$g!56^Yx?c#!*ey4XKV_Z`BynbN07rC&{J zKR=ms4R^|Db*{*5-z$|wSW~VILdiLVPrvyTiyXm1vx&^TK3Ty%IS?yc#?vN5%(Q}VM-TxM4iTo91nQT7sQh!OL;(~rX zMz_ax4^Fb~1(b~2)N3Ol$x##0;mJN}NQY{mk$K;K*6^MyGPl8os5nzGJQ)>H^th=S zJUlGJs!L?fa&$!HxJB}xdh^0$5hOh2IH*Nt%R?;wZm)a++CNb=W*2e*g3R}-ltT6J z6>^!NoEt+BhL(yrggUUpgr)^MRT}p6MIqwu6RtRmQK&Y}ur@yyNL8)C!v6PZR#9dB zWzQ*cK4*M>UG zQD`l(-&+Hl1;bUKG^-0sfP5IBdKR1)yiuzDQ>ae>{~HY5y;qJ6_dL$uP@5 zge~|8bdDr*tUT{oQDm7H$v4Q#j<>pym_T^=8g*X#^=A^U5$j|B9j5X$DhK5!h8(3D zi@1KrhqWDZm_L}xBk1v`TPL=t#W2|WOXX7$k2`b!)QCJ9;TIk4P3oE~m(mZU&zUxR z?b_SQr0W~VI$}jhTb{xd-91;Vj>Xq(?wR3x7$uo=UX1QxJi|)I;}Kgt}OKB zc*-PS#m0WUTy`JG{L7}|gTKdjy)X5dtZm2|7YVbFrjZ%fl_(d(gtlM1OUwoZBa-Kl zacoR`XTx=*h07J|fY*0>q9Zbvs+|$@gsQ6=pHB4>yC~mZgkK64jV4G zriAA!ldQO#9yAkEN{hVjU?(y$*3F|^{PxGdkZk3>5omN*E$JT$3hJAmACRS1hhyia zAd)Tjx8HHKP(VOs4!e|J{hwm1aQRB{k%c}cA_mxxU(vTVmTySP%p-XLX^LjOr?>O%WW8RG=EAT%AWgZwtd8RB<`zBwkUXj=Jv}VvhXMa8 zbiCYlpB*4ldg=^@)C34sdB5x7Nu$Oey~V5suSb*M7jU4#&Xg2_E$9-5x2XK~b!}Q9 zWbFJJ{$mEwMfGc{%rKbbjXgA!XaSHm5Vx!w$g zhCcRRm3Qj%a-cNi6H4fH>*IUGVE419ByXhhb>M`z>QDrUJTgVE^t+-AxuAql9kuk_ zZS8tSBOSDA1gC;8wK2@XtZsMs($JGx1Sz?uzp6n%@Ciceu@a{$VopIII5uKr6za%| zlmb6fcIod&*^qWH||gYnHM1Uy46oe+KJPmfB#XC4_+0B;%g!OItDE zllXp$5Wav4JfIqx#uoM3-yAx4g#anYT|pZ7D!%nh&0WQa{6g%M`n!(bd| zf(w+_sU1zOM1mmonV#1iU=TkI&_iNsfB*(k)k3yJJkl1E918=25Dl5VAV8UN1}IZ< z|5Bz%0LqjOc>gdIK$&8R_FI|qDYp4qE)1+pIeJSR71FiEKb>yMj|WvufT@%kSUsyHB|l>~R_JqZjq=n9pfi z_zwKEznyY^SvK;7x1H{Cg49a^0g-{%Y7n^t*@KOziH;cLN^8@R4S$al*zx5BC6O^$ znNrywkkyVZM1+w=V))*~NbXKXXdn50ACLwmU_iRY6<pOyuK)`(fBC`fkh^C z7(x+7x5%taZ15}4?5h9LJsXeIlnPi=?8zIU-c}rVtDY8oxRo_+;(Gr1O|QDce*8Lpy-r(q5)MS7l|PBydU3MZHTdVh~l`c<+7h(s6=mNrtn=)ekc z5iq4}Orh)Y&w$i9kf4Vns6!e#RRVUa{nJ#L*;{a~qn8?p#F0EsEHxsNf&|_r>gfYi z=chT$Z5JW5C97e-mMV$;hTTxjg&te{g7-8BUtqakqjF}L!?W1s`koLD*m9S0q9GeM zLH!n`sEwXpQK22uc}oe+oB=>)@<*`|5FFMuy|%1LtramZ%lLnZy0(^fed zWT66cS|@|)Z4LoV3%7y7^jvWTOFuCIOy4Je?1}RXui+cf`UNukchFv!5GFndpd%B9`(%QdFU570M9Xzz;nzEBXled2uoZlOJD#=Bh-z<;cJ7U4zBJ1 zk`yF-h+hkezpGlShC6&MdAX;B<**lTPgR9esfL{_apWK}Zb#?w$(v+olL@Fzm8cYHbbrizbw1&(Xtz{BU+f50+~>sN1jT8s5~;fk^VM-r z@}kfEcso(wS`EZ3Qr-%V3uW%uyPT7|Mc{}I;A`Mq=-oGSSr>MW_oP>1{yL!Y`k{Er z*je6osgDGM8{ zGXV@;UA28$X22lMa9YjurU0X%V984$;Su<$2&3?vfur;Xg=-kYgE?vGYXUt!CXK6F zL-eARDxT4#~ogUicZSnLQMf zqTF>vkZ#hx7olJzN@1Wvn|+XD?2v$Lz>r1p{B2jOp`to?@w5Dj-i#Y~Mwn?*)QH`DC*_2|F5&Iw5D z;NVN1j35aFaSdL5yj{Bc;Q1XNtoG>M6pD@XYUxLOHu`o|G#4@OC25cdsa5-(4L6eA z5%oL?J*?ST(8Ykr&bs^~C1@84f$}_9jCuJH^tI>HYvDzwaxzL_@vXT>*^5yuX669={ z%hP?i?nQTfK#^f%KDXghuKP5#Ihqw+RJAf}x&95!q!vL7Q}0Ka?W4d_)ajMRj3Je{ z-mAmEhnjuhq2_bbQ-(jG@~hR7vs2alPqjP)*UC7^AFk@ThEJr8UnmxN%kJi?DDDu; ztGoMLeg4icJZ)==^zpg0Ww<0tZH>ONBDv1=_~RG1lenj&IMvfZRa`(h!}+hUZI-^4 zV3>HX!qHBeS0IBRQXV&mseoX2PQm}vZr>4q!rx_hk2y8g-%f4Qt% zePx8im_SlYPz0dS)h>gY?Pg3D=f-#{hIugO4}jX1YMo1X6U9md`7arurd8MqTE~2C zgg45$^t0g!Yde^~_JOPx9K+#_{17kx^`)ZGOxDHO4z?8!{qE^PC1z!3&?<+5x|84I zhv;qet3BsA^i*!c&+CiAZexmz-Qqu7rSSxtiLv50$KWa^;c6<-&iN#Rg0JP;kY1gI z-9?1S*p7AECPA}a8vQT!-YTfBbz#@U-5r7i4esu)!QCOj-CcvbL(t&v?(XjH?gY00 zJxSKud+qa|bNW>GMfb&jk)mde87iYH19`vqeI8@JwuAZ~TRWx3rgAIZ$^zjr?j9eT z_B)*O)$ld?&~$m$0e{*k_TyE#6o2{WKbRS_-AetKvC=s^-LF33UmPRm`1X8ig0*jw zmfHZx7@u=ctFA|K&I()4P`}S4Z0^ORC#0i23JA2 zF^MD+Sl*0>sDwJ*xz41=akhuz=+h1Lpjn9!tU22WnP<#$Ijlk z-34`n6EN02Tl;=-S!D|#JUnsZGSuFGt=8vB?*KHsoG~=IT=j zdqCQXUcBy#F8hxCXszipKP_Q@Z=)?CjpVKMrx4`dg1Hyr<_?Wo^o6mpiYMUmyYH^L z#(V#j(kbJcN?XbFMBGE77~t&pKsTQxnjii$A{HfpDZj1ffp2^XbzQj5)peUFzK^7J z)eoPa-K0RLKk#Y(^a$j=U=n-4t)4?MIxe)#;Lu!7`F-{LC{@DH45PZl=SLF=nJMk4 zpZH5bxz`@3v?Caai|HIx9*WMlj*@RlYhEYCdMfzya-dw2i{-Dkugtd>@}X98DTM1A z_lL)->t{pen~V)`i*sGF3XlVbHS+GUW=x}P65pqu?00ULaf%6}^7P5H19))MIhp5C zyRTv${HL`I_jtyn>i2HdL^I||dR2;8$G7p=#jXGWf%!%Et1P}U3ywuHqh?+<3 zZ7dYyg}lK3JGDXJ7a<;!GBxLxF>NWUuu4teA^h$K`u6#iFCo>_mA9Lg&d{f4!_}#eD=S;%bw< z?B=+9l4a;uZulHh8T2tYdDf%+b1L{A>>8k6b(A9C9owcb5vRga+YPe=ZdY^f3C{(3 zS^41kNz~2wo^ra*=Mi^ZJJF_s+qPZB`kCuyu85403k`jR&W`Yjx!D3MZZ6643Z{5( zZ}%1?ui=e$ID8f_+4Y}&do$r{njyM=i||V;@Jm$MKm!ScK@|tKw=TRzyY3N3C607d zZ8@ny(x45~NUhVK1)dYu$F6A@D((F2}DL z*4U+uU#rT~M3J&w(qtb%>WLXpH#ge3o8yKX&+KoMdFW&NW6}$5h0|5BWp$$p>KR&t zoEfnj3cMl)+EU@N=!a1*b163fChpcBx2?{(FFz`9<8H5LT! z=7!3I7eeh*&nDc3nY;3m z0Sn`SCzzreEzjc@WfkS;k-J>BWfixd#sx)kKR;=H@5J-eGp@ zc;hpP-d)?j<{jCtrrpo2b{yGxz5DRjX&gU?t8&Voq+vxZ%Rn0T&AQQk+S3^^dv#1t zaBpkV>REX;w$;LakaRleU3Kky(LJ$VI{D=YkG#~j-aza5y71g`|KwfQz)+$J79sQf z)^>OYThwE}V5r4WTFr3Xt;TU(TfQ#p+^pL;)lAx%ITkX0yVlE8CDWy zh8ZBn3Z-q1{l|0S=QRgKZO4mknI#uz*DMmc_`MRG@Wj8sBXnAsjk=1j?8RwOv}Z0n z;zg+_7n#mJkL7`%Fp;5Vz7kA@r17cp#rl8*7gi8|W--CX`w*W}GH00ya;3 zlVEuA5=Oo7j}dA9qI?u#H@vt5>_4I=&-xO~>bb3c4pGXw7c)f4rcqLfTC%C^4YiW$ z$OV@PRqyAWgpC<^xnPf!j=IZlShwctAmYokA`b^rv=hzQHx^jz|2YH@yX-Rl1wAnd z6$B~4d3S_=EkfIOf;Me7t5ZH{vDT({nc)pJMj2pj>1W0`^;vg?A45S5UumvXcCn>0 zzl-^OeO(f>mnF6^2)vato~XiIynNK=Y2fIwkOMT^cP|sAOjK7A@S}1fyU;dlp2id` zZ1!L#V0)ApT@D8Y&5mBSm8$mB4sW)-rN-K;`z|zSokk&pS5$z<2wmsR<7c2#+Aj?5 zIy>&WraNohcfY2M%QG%0V_TXZO^=OSE|*=QqP(D|@VBTDcL-7F5K>*U%{u$`i1`q! z&R>XRS+J$vXBjuof zogyi?SG^~79uXoUZe}1!AuR|KJ7YjtwjIM4aj&@@A|t>pHEKMh~t`8d2QGi-@cr&xDZ$`QOf_ingGpCBr-7XKd;Igd?RtQ;>Q~Mf9yG*Q> zxlLUEE?bX*({uVlDVwIof#0jLWJE3DUn6pH29n<+^2u+j6bQt0?;~>Qt4jCH+w4Ip z)5{@lP7~U{M&$a5?$=A?B$o647?IO2HMs2lH6j;l*Tw%oKY()B-JJe=L7qNCbvS0& z^OA|Bl>gU${L~#Q``7upYD?li4gQ-jVr&1*T!HY*ja8&dH(upBgW0UoN*+E=y$9sw}Y^a0`W zxr3OQ@`|L@Ad&p@q79lyuGfawiBANtUQWlC3eKOsxsUClyGPfOcc5X!vO5_YvPT>@ zZPiCZ?g3{|@}c4Zo~PGL4@vn(HDo>q@Qqe$$iv3+SPdflIfG&Y zoIw?dhS;Y1n~K6OaCfZp#R};k>1AMFx=j%RU1oh2!1GR%RhQGa$)4dUqhv!oMT{Gy zV!gkY$T4}ZPJ?PI*==*Tl@pu#?;vXg`<6Ec30i!~cO`z3`i2?d_F`^L5>AHGri4HI zdBo${ksq)gmtVlxcZ`*3W6q-JvoF~XDD5|hrvxnv9ANl;3Pto^PN8TpqaHqOwJRi? zJN!O{3d)mM{`(Z_0rr1>3N_c517DP)z{0Uzlj*0XBc#*{hggsuxZR4MbKDP#Scw>3FR?_1)Z{XLO+Fu; z9YyhVIJW+@XI0Pe38{^hPa9gY^!oRi6!5>#q@3)>dB3jNaYY;`7O^%*xD3Fsk1@!+ zkw`K!H-GnMn)MLVtqIMKLi^IU1%Ir^(cq1-t!aS@UaqH9UKyTS- zAq}gMVAX#;nsSdxJrn_IY}Sma>XS-cKF%AHF7Em)aLpo+It@-(uv(~1j&kw8?O2aj zglgrj&{vK|#ifqRCi)swL8Je(WZk!0^5Ni0HV0~gQTf{*EqP<7zh7d`LLKb~0eDy{ zE(1BSTV1eqc|45FSG(7s6>Ldkd8{0=B9FQ@OMV161C!(4S}Lp*))la#smFjU7EYk8 zZ)8ERJ`~YijvBb-GawKPL~>$jXHZ}`AJ9ooSnJ^-sU|D+u;2q76NMXgNalYl)Z#as zO`;j0a1G=F{bSb3&CcXbbhzVgZ7D3=e}Y2thR@#D^`oa@B+Q3{%s5?5NZ8Yc4~Xyy zAp?QQIeh9s41vLP`cwlI@QpJ{Y!8e@NIz4j)qNw$$KnHmN~S*WkXq>Ubfw-y;A>yF zj6>0M*afh_SK{4-?gxChTEtvN02*{TC;(H#&u21tT1_31Ey-&h=`ZO+s@nd zSnGm$tHMa|twNgYpt6h0Yo2_8ZceML=rz=w?8$*{wm{kQ{#e+^LQ;jcy%%>;uS9+gJ^Yec81w%Y;c52Bv?W~VX(A(BC8KFAoW$HHP#kpFbM`sX z?)T{w%<)ALTwy(n1~DAi9<)3sz%rj8CJ zSLBouz*9wP)V`<%Y2wI@e+P9T`lfUkI@9c^^Zw(g>i>3QE+Hld8vl=xdGTNJH2BI& zgJWJ`vNuKtx!L{V2ApbFAdre2L9XoF+HUk)?D*y+(y}~Y`lay!fH+MA2#h!BLgN6m z-2Xt~lz;OUTV{#MB*YD&Od?7-u?c4XNFm-mN|Ht)e-O;Hh{D39y zI_9=hG%Q;^zlT*AXM8__vHtr64{|Onu#+I>@EY~lDGNH}7DT~KCs!X!hD5NK8(-^ z!W0=Uc+QK*AOM7@j8;KTYBn|$#)3z=INxVZ0Ra;|ElBdy994oBHdM$A>x0dyC(2kD zFkkEx6d1>(V?c6OA3Ph^xH9dOz`?H>GKy8bbt-u?KQo2Z7RD5BY=+TB1O`Ho z%1YNYEid={|CZW0lN80g|Nk>;=Q2(kOO+hee=|G(o7wr_%+CL2cK(0D?4;onU_Em& zYrrL}jtR^gNCXVcE#HUc)PFatLH^mShW}Tyn&{0`>12Fg6&WA@nYr~O0m0bf-0Oa; zRn5i^k2R94?wn2jHT?vsO^$YZv)!hYmYIN~#8FqZ8flBtwm9H>I`QcqnP%W)={(C_ zk>uJ$p(EdQKo%uXI6Du9R{6GEn~8^<28#|^!9>mSC%Z!cxf9Jqpf{r`5A`Db5;6Gr z{>BkZTO%#MBRB`Sek?}Qmh`7(1U~8ytT1E4tdmJ6;oCnA>~jK3DEwEY=V5EAidL+^ zTuIkopj-Qci2AIqcW_nsPrHx$e27*~jh0>D_yZ=h1M2wwLN~v^V_S4rE6yujFR%9s zBp_aOYH^A=U<-&LBzSWCV7E6+Y5=U@iP=aS27`l=U9*znYDLzeWL@_IVhX0+|G?RD z9yXa?{f$lhd;Cc7o*km-0##1-Z-Vmk#cr5|04GJ9!VV$&)}j$t4fr7nzj>V(d0(Ky zG4pH3No5hQrKhQdh^c)AIj6n{ujRG^W!fJ zmbrRDjMBfW+%K_!DmS31+ySb9u~6Ldq~3t910`%_VLteUNCJ{v4m0@sdAi2{xFQ!y1; znN)8VtRxcQKg z61G2x&k%BpTL9wIt%22;-<75A9r5XpGGY1`;!~2UI0k^{#M92fd*NS=t2!0FQgPM^ zUpWmw^b0pBb63>I-$@lby}!AX-f3d;lN!?td%BHc`*uSsYXSl**<8isZO-alY#C$~ zYjSR~c4=hDm`;j4+$f!XR*$=+k4Pg9aAB-FrhE?2x{ZVyh~2y| zf)^S0KACD#lIQO3;i$^kom$u7C5-vX(Aw-d>h}R2qsbnFZL0cl1v4}&-~)9nVY;WN zN#f8x!{tmt^-)>D=6ZQ31#O!*`p)pg^wrLremNiQaZnq}yy_||PkudRo6A!LWh6tf zOO@)05qi+z*{i!M)v%D1dEasMYoUfh%Mq$dBGrdtZ9KOF^pb_F?D4O2A4)h}g}Mtt zB^-Czg^zvH_wF-VZ1v*<#99T^*KBPa0?$XQxE+!>`Y%zx?`-GGnnzM?*8NQ9@WQb# zU0T$(mU)~uW@&6*c7|xcg&W)q6=gkfVptt=OEuidT<2=iZq?SJjTbn1`QhQhOZvwz4fmhs(!3SAyq?z2LfPfl1b}M0x?i;Q5yKX+hJ#w?h&Fm< zIi;TQ{DSE`07GyJlk)<=5Y(?fCx}{>6m8uV+*#z^d)mRcVhpIV~=w6&%mwl z$hq9I%oA6%H8-N{8y75*Q$f+hv#LOpasSVI+1u04s+DiPJ5U45KwFOOF3|y| z@G9wv@|WHIRw_%U1y6#9>la*3bSyVQQdCjI^4m2lVI_T=@-!^21(->)%NR8wbpz+i zpUo@y#^rfsznb2K@bD9%^LU&EtYd9ts=+h`)JA#D<$;W2J++)Xa5*y78!awte zB2aE96HhF@h$84t>>P`xQS;oJ4bC+uCCrVF^|X(wFCV)dwT92)JSWUSv>n__RBt=u zQQp3p&GFZqKjmMX+Vq23adGRu-sQ2mXzhKpdJuN(dC8WqJf#fR{-k;I?TlevaL`+H zr7dE|@hq7(4YT5@F4+^Ou41HvLy@)d{m=@ht0L9$E}8W4rCE`!9fasv7m~-z$Lmep zi!%Ht%8FN4T$xMe0RF*?8TawR!g|FGa!0w!Yah5xT=k z7H<`74=YI{zicxkjJRJ#GPomxsuN8T)t&K2$Nea@D|zt4DGuE^8C?~QhDIOYI5%;z zPo{?}Sl_b0YO4IqJWs>-=}noy?U$V%Z-^Lkj6Iz3!kcK`fQwr?bJnR@w=gx*z9%r# z!O#C1|GW6#E&iwY@5-UTSs|20!bDQ4^B1|Z7ReAl9f9aSLf6r$e~>EBW$&&6S3@#- z+7)cC29JpQ*?){yAOsH0%7(nr{~x#h3;mc3Yt(}wM*oeeV7v%2X>YktIJwY^hhvI= z{^Vg5^gjSQtD&Y68YX@hf=h8ZF4SI2{)wxA(eJo5lCzFZ|BvFo3h~2mNrlUs*vnYR z*=J};&M1jvl^}?lu ziw@BLL+Rfk7*P7J_Xm{z;}VMm*wE%8fL-ax64~mwgblTXi{vyKmmFkEf=5AnlOkKc z*n4{?Zkv8zHueWFOYs|3VRg`j_iaPbY^lbPi0sQU09A2SK=n7O zA~1eFCX1|Q>~mS8QU4wuWB%8p@8}J)n!+eMXKBn?29j6l3g#;!eff)H!!K^K^tNDS%UM*ci{t{sTT4x%``GE7M0zU0DtLUJ_*rHwzzO&nn3eg&m zyY1VNGv*B0yyZjIZ62^q<^lE>)Vq|oZ{rdR9%5Wy{qJf2fv-^W!g(Fwdp(-c?yT%% zJbIHb!%kn}u6`t+G#$dIZMP}vbwwh-#vpx~phz5-`v@>FMO+UhXn4zn6p%uXbw)6S zI@0m_|B%xiUr)x4bJ85}L4uSD29545Bke7NMB;PrqcPrBu4{k+Qgxz0$2}Tn_Gy)n8kP;oJij+@VVyStiT`9rjT>n%tDno}s zX0gfc7FRYjrxgXGPp*k#0J3>3koPxErtGrAMAOpi78sd2(MX~x0{PEqwZ2+rCrFdi zRR^u#B2UrM`a?7*D0T`b!x>^={urx(nS+tc zF&Bt$|9a(6bA)A27YqO|Au8leQ1mGU?i;A9Z~qN?+P@qBXT|dXv1uQZIzdu*JtUtE zK)U3qYp&I0DsMVQPH*|?EzQfaPle-uP40a4zFW_0vNVwT)oShu!)!eZ&-F@r2^<^i zX(&CDeRy(IJ)&B@HnldD^KCFb-VjL-IFq`$fY^=WS!YdsyxN_K0l?BeNS*zZ>_N;F z<3k>ThFFpbmC6tJzcCtjkmk|D&*T1VMGm~gfJ?3WhYVWsP6kaiX5u6e0XUsNzuk>+ ziz^``8PiYlqI}Iyl66FYooIM>I_cb}vqkcDmHfKn8(O~j6g&rTIvscX_^1MKI+Xx> ze^UcL_e62rl(nJk%7%3{xg)o>8+amG9rV|<3VJFy_rx0`p0E1Ir8~z_+YVrZrVt0q zg&!5O9yBa*yhOcCAl7tc0`QC0HlcKa%;Gjq(iz=5GuD=@BDdPy$w7sV)0{6DkvL)% zIy_w7uCLQ9Oh1c+O@|7vpw^8}`D{yremVV{mm$?rmiyB$%)!=OYI}C8Ibb4s?{s&W zsqt`)p_|ayyK6~Z3?Z^yEe@bzY6EDP+>-QhKLIpMYXA+?D{~{M?MIwgVWH1yypaVp zK4WG3wjUchX`vKx*RUaReIteFvf$C3B~V*TO-B=%0L$&6*``|+S~eGwl&SpI8G>ct>e^#bfSIU56<3NOPTZa3Ot5Y_8{69 z^Bok*`5P1(Z`g*&bmGY}_pV^V{7(gw>$-L143MS`k`kor3 zC{Tcc2@{}Tf?EbA&4W-~WFoHzB)O!Zde!Ms#8Zb?Ku{jE8+CnD42J9kx zxvGXGR=&89Z|CejLy)TX;7K2fExG!CSSS~q6-=M$4 zLb1nE-MS>oOMJn!TEws60+Ip|?DbVQ0GJH)k?UbKrPaUS7~Sa$dU7?Fp5O$-2oPOQ z4A9vQ7zNBLu)XJDfP@=gPZsVlMjDvloe>)Gn-RKy)(jT1q>k#K<0o8J*KS4_4b_Ct zitUO;A}P&aLg)kKS)x4&6CkXi^90Ol09zS4ec?y*;+1vt+$q_iORlPSJYq)*0E8Zc zP^+$8+06xLls5C3&Rt*}?f78Q2A^i&6|L)P?Hc1F#r0 zshD2@SPXk0i^pbD5L!ea{=cypc#zo5p>Y9!uo#KIu^6lX-%=mIw^Tq*dRq`{u#f30 zcjBInP4(_uDzQgjcu#KKpEw()dkgL9E!z9`{k~k&{KjG&tvkW9+9CLywW+;hF%+Q; z%#?x*6ai|e2PmkJ{t14YDqn=quyo+fFJtio`rJwDruaYsk#u;4JC{gm9t8jLEuklV zrG|_2tJTZdojB>Gr|d3pAhH)g*T@25Zvx?t+%fn@tRN*n=Ig``q+)q;(vQsN%TJ1- zS~IT!Dm+hZL|4YvHM}Z|Jnqud&OZtYG#OIGwJ(lOuhrfKo+TH|>sk|pZ$JlimH{n@ zoBO^mu?X%ey_n$JgW&vbNg3cp8ktBz9VgHsbLFh>37SNH-Legfn z$IB5k`adZMdN!iCePpwN03!6yz(7i5Vwr-~r`Gut@62*)uJZKS3V(q@eqNBrlecs`5kPmyH666~`k zTf?6*PDu0;`pVV9#@6&I9OVHRD;>waLybuxGj}^In$xNp z9u6IhyN~LDA>d@IPnxRX8{j-94WA&7yYbUk;)w0^5qk{33o;5cP#4zOem_?FWD~N& zu{+5hNL9mmJ*XE*)yc`k`W;xx{(^ZN1YlfZj*+)w0;6@`Ai~4g0+s?`LMf*~6CH`z zu1&ra3;yeh{z!x`=lhipsrZ;jTV^Ak?Yp?jvD;A8$G$+g`=vI98r_k0YK=s#6PUbt zII_5a^#PJkPa1kPl1;Zf0<0>46FRQHRb1v*L;Zd8F+QY}9k4R^^LQwf{C+%|{(d|> zpp_|MwxKwW#j`*#K$?yzm7$KYsI6M^u!1=0wbUnr#Q@HwnBSmKRTgr>JC^sEK}Kgg zZLbe{ifAb;gI*he7b*zX$neNdJ@Z*a5dT}y?*~kvdm9&{73-l13uqn|g%uODlTx62 z{|k`r2M2owAnp^z_ZKeJ1^#1wnJsBpN_4m7x;z#r{EjFj*!V%>)v}WV@g?6f7&k5livSQY6-`O}KCn=9#*gxTWF->y% z*RwssmFP#Iok8}3tK(PEokOY(qGGVl;F+&o7t1FaWZH2DmT|jpQ{zIpKx-(-vQ@)< z?gtKrt1@26kk}i1zosOfepW2Ydg(sxF0p?ky}2X+%b@Xwo<8|Bfqs%>K7sb^-g&)C zLZtgXH1KqM5$SvV_|pPATiPJ(WvHn3#YouReDfgQ8L(Wk0DFJUij z8V&SK^3BVg6@bZSY6x;z_!PBs6z-CVne{lu-8kDo-drNRU4fzfEV#LKdWaUIn%f&E z)7DAM0<$~jQtu87FCqU;{ac?~+l?h#t>0zzKw$1DdFoB&}3t_$7{ z!cG~ggM`dc$$)-ZY(og_hP!SBLlN!fV2(m~EZ%MCY)^8KB3<8%dZXTVQ_+~kFhyQe zrrYn~E=w#|a?BEK6oSc^2F!W`U#O)~W1Cyus+wU!wW+4g4HDQ@eo!fq*20(C1m>R_ z=7J~}?pC^AHRs7Djf~}N_f=1TYsHISin_`bj z;_0(-8W~4U#f%)f!6a{tCHd;ogx4?ghVN5l!7y{{vBNC|=HG_bt4}`_pR6B;oY1la zT*)Y8U8t!5& z18Nq~L>VxYmW%enC^m&9FDpvMaH$eJ!YFXW-i0Z?8mqr0oR@-1#{FUY*afcYa0QE? zRQb|Ri2?Z)1wb7<1mD4DLA2Y_J>R&I%y?SRco~+GD%|K|n9>Qm+yT=81zT$Wq<>^+0KG}l|+usT^Y-K8^w%Bc^=K9lQ5o_b?twvON zd!8O+mY2DId$kdW1J&_sZK_{Ap1}fpLL0fa%vuo!f&p0EmQ2Abk>)R&Y#Tl`U>F#n``~M7G;qryeKrN@r`ME%`-B!dp@fC zC@brMDeIw-or_oZXHU-bUjd76paA^Xh-=H0b>FwZx#IqP{M8*d#$i@;_msOx0~5T+ zYHw2&e`%Od!M=M%Pc>WplWe9&*y`heIe3c#cj z=TLOSl7CzToJkxIeqfM713g(=g^ndrn`Q0S^!zZU4IxZtOvOy39C2e<<^>`YPP-s@ z!1{MuCi}vgSr{b$+_XEF?vnXv2m-(jXBum{K}6Q z6Ni3?jmtYqck1oB)yar8u|N{<@c})|oYV2oDY+PD&-3K->k-Hi#HY z%+(qxThk()R58t;eQ#ydPpX4$pCMiMH_X`{pjS8Lv1-aO>OW1nrEBjft{g4WCTqy< zwd1e{_LyotwmqlO;hJ`9RlfLqm;NGeMR2Aaipdk=-lXNwYkMY9p0{@uXbAk{qrl6s zE$%1OZ77542o%@iO&#MUYR@H$Y?BMB*Kfuq-~8Ixo6M$b_CFF{d{mDZI8a23egLQJ z%mHQwJ)#OpZR+VrnHB-cn2cinrCP#92aS=ET2xZSb8KstVRB~QOrYI1p?;=B+4l3h zuUUr}Bw{UL>g5|@K7ZT%9diBQ=afr`2oD2Xl=8um|?!%FlR?YQ|E9bdX?GruN?(M7}&CP2IPis)~Yz=er zMb^u|?%wbWq<_CyMQEuN?&(P%VMq2HPRiM1GreDdIbn>vtuv5Few|^@pm{xY)JQKk z0>3eH>KXaw&kj<7bAXx49sLt5paRDsq0XPy2fZ&BgOu6WruG27ds3mroH%l*m5>&ZgLOM~;wvibepGBZSNTiw&hsl7Y9&Z}m@4YUd-Ql7P}$O=+! z&%Ow^dL<0+3OZ^u;*+AG=)oqOhKkqtiS{R@g_Ot{f_#>X}`!_aRA9@%EHl}eZ^O&RRvfFDItiFqE}M5=7cP`xb}esBPbLF$f~OB6F=B}%!`L@W z``kv7Z`x;Hx&=P^#3-2%atHIBJ!Ook>^pO-I#&3UBW~t_R}BDkiH?E?mBqXn3z8QKDuW)jmKc>@}Z1lvam9xk8F#o$So zb|vG$&&IN;VkHSF_9FIUH_(h^Jd~loHiycV+y%E$nr_HvSAT^KQEPFyHx~>|r@fQU zJSPl#7%o>aTO%{837thlTNuY|JsG^Y#B0$(dukAuY)y`X$@?torC`Dh;L^}APk))% z#bMq5NcOQ=P~U@;JnD_n+0=PEr72foR4yFV?giG zfGd4_PEvx|5NE=hFfAH|Y)uFJ$v(Wsbu>|pw*|qd@H(-+EF?4@tv7b$L%g5a`F;@4 zCy>{Lw+Gp%43NOQG2V+1LfCHak7S|;tQ8i#Ft!eUR;DX;Qj%$yzKquL*>B(Vj-Vew z6cLx%H%vz*ymI4)NwcsUZAGgp)&@3VafeXwfU z3#eYF1WG$oF|bhkD)wQaafl|g42{{H*F8S+Txi5gK#n!aPn{DnMoIe$4GLGLpD@;y zYTPHYPv689h!F^C^B2*CvKt(zc`#~*q<{+!wZZ&5oW}DvoTho-LJ(-D>HC*j+wy%0 ztZnsT$x3c;@PpKM(sH$JFGPQ5x8yzctiVZ4CznYV$n3y}7efZ2A!<0HS;Br*t`!J_ z4gNr~^zW0>}Ga%84P@6ofr6h5A&eAGALllj7kh@uSEiw(!ju_@ABWUuDZ{;rt1ZoX)>y@A%* zYj~5G_u>;MeP!fUd3yn?0vY|O2LFKCOKEcvR|x9;O%WPHdr+uG%oPg8%Ah-f|E@i9 zANfQrI=$i;S7W0D+Ds*u6ROX}*2&i0D>Z!vV3+zu{{e29F7N@O;DJc^G53DP`V1p| z<%%|ARA`pdG~EkUEFwp>A|t(n+xsZx@KGtd)%$n)$2m8E`R|_)ceHU?wbIZ?$yg4ND-nYJB$zH_PjqEiI*XEA z9dNkwg-opJ-;r^lg?X(g7S!-pq9Y3xSgL?XFxn1am^b+5v+tdZU`ScIA8&k-F@U;$ za-<2c%op2$V^oz0H_-tqt+%F+S2mw1_?RQZ?V)B{lh*2n^)Eqibu<#D7>+o=ID_C? z^?Zn)=NQ1$cw@7uPdvY?Uz8NFCOU7nLj|pff{Pf_Ojkhq>MNz_`YGw_k&lF;j!ql= z7E7Th-ow*BmH@<39jQUs838W1YKG&jK)wt5lL+J#EREe60#$9)rZm_*vUe zU@O_!e~1S&?fPZNVUC7=yA$HFiFDN!9)jh=hU(9(Q$3_og1C>8#i4%=h#06;U%2Uf>fd_`f!+k8#f0KYUY0vY8L(?)KI(=YO*d?TW25v zgqpF%a;fO=RFWNt^*7G}(-)vrfDBp7w}@^e;l2C|TdCzZGNO!W)^v<<)d5TWcCm_z z4RxTPNdv0?S9E;8sDK1z8;}KJUI1eR^F6_?v2c@Hsku-m>t=*sJgvSvDCc6wCIj(b z(QzsKU(s?mII@YlGksTo|&wYhuagYP3{{Bn4tuL7@VRVr^UhKbs z%6xwTm7O4b!dMjXgDwF;Wmf=Dx!vIpP}y_xUvL_=$SQgOoaS3ZEMEm`Pa)Kg>5x%y zWs?8^PZ{PXdt@ARq&STT%O9R{{}8vbc}f*3l+qJI_oD^?PLtAins-a4mi$c7jcvV% z8SDyx@h~_I;0}QXj<7X;M1z_7WPLa3cM6`h#v~Bzr<4GXvkmWpRNIb}I$y=3@M-ZE znatdu05etV&vXdHzqGq_asV$Dm1ax{`&6s)C5S z5LSS2b+uSuSG+q5AZOA*KNkn2#x=h!I;76J78jWOi-#BGg8jfj98_9G36(jx80Dk& zE04jU+>T32D)dnRl*rNQS1v(_)D7$_gqo3`fw8FNa5jK{K|tyyE}E2F<9_CvLQfK) zcMxa!5&x*yCP09=pOZna=un-j4RDup+?2SkypLRwV(yK!i8QQwEB(qPa0e@)0@+AOhl0 zX(R?IN+wD$qwq;<0G#`0C@PQ+4``; z-xX8XS9r)krPeSUn=J-V)#nubouooOw{i!WU(g{EKcFW805v(s?~1ANKZ+^YKZ>bO z|5i+CdY^>;R!rUP{#H!6|E-u3Cp%08uVY0}Og{#rwdD%J#Tm3QR58ZK9tFhz#{CdX zdZy>;{p$Q;M`2`)!e+$OfzmJ1j ztIp9T5ge8K2V)F+klx>qhuNRU3jtV_f-}L6gb=0gmZ@N1HZp=>!;~WN zL7|_&A24chwX~jZn4o-s)Y$EJYOF>ozNiJaY3^r53*lqzDG7K1BzqTM*@Weggz9&k zw|-j^Bn?t1^Nplu2MGYF@yS^O^bN^}#YwI)gL&q6J-27YgLgW{INA)R}P=$}$;=TL(Fi>y3S z_qmyDVv%gcX~>e;GNXN*wUOrGw~jNgJUX zzE%o$U-ueGUP~c3tZz_Fj-s$m3`$;{o9{hc@}Q6REr^?p%vZYhoAnEspYaFUNN#N5 zRJZLqJC}8AzZ1kkSSQYYOLCkb+fXtcPFY$%hO1y+k|N*z9VA&K4k8BZ93B)%Vh9Yf z5PH?f62*#onYnWVvS9U`Z?v=Z8=crG)k(;=x^h#e>#Hc!?&)r~lQAOOFe94xd7U|2 zA+2WLjpPzjCthl7`4f0!YO}Fxb*JErYLL=VT`j7=t>DTDt?X8qkTap=F8G;v;C-5- zOQ68=7KmZq^ln9sBZ%*4P*22=K~6d0%$0#3Wv(7f}jPB^cB|ksGkuGIpmnwV0bZ4rhQYobpRD?A5N~E}+!p@!z zmD?UmBo%HJVofY8UkNN%+d3#_L*{%S+q}Q2kOo&TX>L(k>)TOY>vL1a`_x*fycVjA zw-uZtQFc;{?q$e;lc_w=(REI$E*ADJX!>V_J6n(sn&^F>NNF67&Y8_;cFXbEC@IAYmT;82RzfV0{sx~O)PtfNH1PBbJpsk>l`|U_dR=P+ev{?kt)3Af$0(D1 z2#5C*Pn{-e?r&AP%MST=snDt^Ujov@?-aa$t4-9Z)lk)dm!9RQ6*j&zLdOfTAOSab-Se- z*4!A@gk-l>JiumTK_lF4?-ol;q*VABFo+`K9oh4$a5!YpDky-w9=4}s3`{kZCg%5w z9yq&xWlB=-u&OM5ogA1WhnH8sxNR*?I_{p}%Vdmvl-~NnMtX!kt;HcUnA#6bnJ~6I zPe6GA z5~~#l%xe?}Wc3P$4&0Pu~C9aBFRRI!@`B415OQJyY-RDL$JOGPkTtzncGA0P+4Z z-qsYG%dwS}%kdYOQ*nHTZt24JL26^nvMb1vl-itA|wCo{_(^2i^0xFQrh z9cn8@fX}}}?z2?nhTF%wOtEQC?lOPG1nx4};`)6{J$L|kjoYDahT;M9&;e$lL2she z#lp=MG1Y)j>N^8hwiyd=+<;olL~E|;`NqO&=y>MNXp17NbQaeR*MV2~8-q;u(6$qO zdB$*MBab(e+bpy4b=buC0=K%OG_+i>2+y439)8~9T=K+uBau3WD`^dl_`^e(82OhA zswx#j%?g(c+g&IEzIVJK?V_`cEkixpB$E&V|T0KboU>~pdQ<0PPaaGEwQ+! zar5MT$f`6xVoZQmXiK_#)~UW=*5X9h9hHD5!j=Q<=)8B)e!6<67> z?0M?^vnqJTARXf*^K4~RtKGPYmrGCuHd~wJu~1zj%X#GzYIG*XA7-80oTc*T6ruFRibt`RdbXWspq-+dh0Mw`*miORPN zSh)u#O|oU&L)7lq$MPm!+Lw>fm+9@n&P5Bqf&?E_N?Ey;s+{BtE`IrrN0p^$~&cq)Y zifB$MNCDeFr-Bk(w#kD?BN-i+q;jhqJ~S1l{Ai&zVd+SBkHO;uUTSRp$i1U%S(F@|t@OBo1vc{VUxd2=z6%#te z7TM+i=S7Fl8v-Oug)n;Yo7`=pG`w~}&M9apV9NmuEMo~K2 z3SY#|()NT-!Q7EqdArWDg^PN0G?@1sd&kFa*=|%cloD?$7#B2DG5N;fuBi+*C_tl6 zFxAbWW&iKQ-gJM=IPRlRT+*q1OWDiX|Ha!|Ma8)_=(-Rz!6mr6LvRo7F2UX1U4py2 zLvVK|xVyVM1oxmhRmobb|L)Pfd-pzPpR2m~YA|YEOh(l!&+Gi$@&yNa0{e-~9bsP7 z8n5KMG9)ck=QMKHEFRjH-Rcd;^SMzqD{1}w^{MIC)1A$)v-SG>mG*Yl$nFQnmYos$ zy2-O`*GHSo8S*9jA^o+*EWq}mSnznbYpw2`wn9LZ^ILUeXS+DJ43ZXZh81%rtE@cM zBuegVdao;Yb}fTi^=3A5-*;2`=g2Q*^B2xMPi>nQH9Azrr%n40>gzI_7B0_PUpqH{ z+;M7`&7RaheZ5pa33q;DlNCQeN-)HWrJ?GKUUPO+yTU_DP5K=uzq|;88K6^VGMtsK+f~?LpFV(>RUC1Gs-k z`62GgY1l#NHKhFW-cv~D$wURD{Ue2qL0px7?RBXi z@8&ix$xCK2w6xVEYB#&=$`f(*ZBsvMVTS_iZ=v2&EEeT#+B_Cb>YHvT-}t8YT56}5 zq@hoZOL5|CoXqqTpw=bz)6}^av9!BrAoG+k&05-me+%}-%*805MHcPEcppmb2C@{( z*L3bfyx^S^9gk(8e(UuZX{P_^_4oFSG6%Ea%#)Qlt_>u|n==NqsR&oM61?1n=N^LM zY%Mc}{2p~jVfhMT67G2|du)L~UejWFieS7^ zi#>)2J8CU>)v?)ICfe*36qT-%Y@C9Rpcr^&yS&o1Y&XWlGeyZrK2z3TwH7;@kt?X5 z8ryGAYpml+O=wsN=|ksItHUH2to$R}vt#9DT0di@2q@%5DR96Z1UC(mUrfrd4hg~x zEA3=t!3JF<<<*oi-{Y2{{Vm=Lm$9&?8f1*`GRREtopPppo6uMhBU<}P8A6)OMgcXy zHjV%)1O8I=>na3i0+WyTK0}wL*4hWg|O~bVopfqYJ?0kn#a0^F%9R!!u z8A4BSpBi|SF_5`75Wt}oH-)s$h;?~$=7rRmLPS|)ENERix@)QgCA_B&@rvnN|FClo z7LvVYyJ<}3jt4T~42YTEy=(yiHyj$HMTJ~QaR^}3+uvu>+j)yCv{ zAf+5buI48iL6_NLzKN3;j(1NP)``ZfyiUSatV2N`y0B*;NWH_<>>S;G($clndgs)& z49}NSbN7;OWiV)4?Fk1HG^4AEzhi6nQS=X8UY}nCR{_%3|28~^p?1}1;lAOZA7KU$ z9gsEObOB_|Ukksq_$lVil*;S=kddDMRW>6D0RoCTK78?xD6q+y_z%E?tp7K_Bdgtu zEy3p$13szh55Qv{2=ExM!_2J7oe9qd<$pH9BPoRrVZt!AKWYk4JgmO-gh3D)IB?o@ z+dV@0K4SALzWmkOPxaNvwfyb*y*@0cBar8AJDj)=o z?R)wk6X4|}PKaSwJEuGMFRWZez|BNGR*ZU`Vy9q8bISDJ>V53hf2!WAcRu}Zhrjm$ zxO&r`<>3Ys+vzrg0KtiKZG1lw-wnV@V*4mVR6JlM(fS<@%vY?nICexh@!aVqbj1HA z@lAV2{8!?8kpxSM%u*S3UO-4iD`~eybCH#Tm!qLZq&|nGhYx_O6E~?-SEY0$v3-P- z`)M;}H3*&rh#~&apeb-sXq!N&PSYuDpeYyn?xHAdkPkhuVxfBM8~*BRg^=9fD8S;kA~AXIJ8- z<~0iRcj+KSB^h_+#vf=yc9$1XU@4xqPCB+NNZ4-3EY2bi`w7T~5P~6svyC3rV}JG# z%N>vZ`=EFEja`Uh4~xi!T+9TDWFa6#{u?V#yFFp?dk@j?&mLk5xIAaLV%iym{(~@Z z4^ht2X#QU#-}1+e*dQ98AX4hcj=lq!9TtC>9Xx+AJM@9fj;AkeznLB1Z^0}9%#M!* zn@}20uL8#pzKPzQa+O_k$@>x_6ZZ2Es+Fz#0QJ5>(+TEr6C&x?#3@wD^CKdYKQjVk zUu$1SE1%d!&1W3MoezQ#3o;+aP#LKAZRNY&iXG+K1&)(_W7w?%5kxl!x4H2zi7_Mj zV!*VLRdF@H+t%%B?kC|oj(@g_?SVUJCsKG0MkH~E4Lm-j7GT1SfB?zarACC0t7#!2 zg!AERf<9(^HOEwUg7+EMWSMM9z=IySmF$?n=YZ^TWNZz?b(pvh1m0LkcceJlZANR&UUR{yX7aXddCH125CYBz{@I=p4;4qy*aF(K|r zQJnE69I%JTso$Rn+(Vpi2|EGqA@X=-YMANIabU1+>fi9!JfdNP5Bk=$$ee35Z4e%xBW!Yk|4P8{{R+9#>N0ub;(4175V6uc!0knTqv*c=_kw=avBdmvf(h zetLfgL9UrMFf*GB5bmRZ!o80)I#9)57QHZKy3D6b{5##yQj0ILXq7)no)$MR0OX{kFe>6oZz|pJqGn90}~JX?=+|UwXi5KQq6$xI2fHU?o-yX z@NHdY?Gncn%N zXU}1dQj&fo)j2RwV1Z$z{&#^v*fpEpQ-URn{av^_0SLgHG9=sz0Gd;XK<&IoSp&*M zjiLL75=G4p8tw1v@#XjRu>bpdJR+AWq4ps;&czBq(16>|E0-e9eNtU>miz?oq}yDZ zgB0zk-%RueF>fv>aBA`0_VtR}*9)N7Q!_`ZqU(3L14#3M7`6u2zN&?(VFBFW2){3w zAJ9T@{d5TkdY1zj^8m?S*$EZk?9G{A{e`s~OFOm5C zAQ5BahL1JOhGbvC9h48sjSyn|>bqnhy+JM$>Bye3g?-ZMnV8&Pw{8|=L{SrWe%Wee zX)Yvl)@)vtNnjrX9w>``0XzJB(4E*G$Meep9Crda5qk0G4^EO_jP$Qz^x~X2QM>Os zIi*Z|C4A`P2c|8(k#?^1;)C$r0!Jw|Iyb#In40YMn=oAZBJ(~6E@x{cANATZK|T1Z z{NTT-s~eaeRlp7<<`l+%Q+^)4kj&=BhRV<9 zee51rE z*?hLI%h>JcSv|VKRaG%GRW&dnDbTwx+I3d*a8A)t2!>efX{M$hFt2u{q;|yte^@@j zy1*kzY)j45>q%W94L+ON#%cE_AU?N1CvcPJcG)=Eh53Pg9)8d0WB!kHbIixc(ILdm zE!5-~VYE|$UA@cGltfix@(Bfapx&Ka-HKU>{70mW zli#b@+wR|81o69}Bt)Tj@;7r!Wrd@72IgfFq{V0`yub}V*Pal>v*jgZ5Ji(pdJad; zpFD_hN2sb6lgxa#b9WkFbxv<|CO>(n+YTC-WNP)SnDLF$L(L~o0EMHC?IJYifm5Ra z0e6|CviikI=K}zQd{P!P&!352GwG#`2_Lfb(Szu;iP?XdM(9w8J-s}E4XVB>Z&+tK z#x4c?_>KTeXHfi3(uin4M~>uK?zGa8yrjG{xxG~_iAY8-xulF4GuOPFu@~S_)Q^1= z`dWCaI6AzGt5fRP`6y%?Yb?&t*uT{5H9)HrfHdvBK}s2|S=`4u3z%^vvMWZq$~F2{ z+U7oovZ%FkM0CMz8FzD?o_vNsVo(uB(T`G}zD+|Sn<3wA99s?um%oaqo^ohb&X;aQ zwY&R#B#J&uyyH)`GMr}>B9%0{S3wQYG^2mbC=+$5OS>hA7?hH+u`x!NE$myGl#8QH zyOuurQbJbCUGnkd!^acRAH#ThHTLP+YTfdxL1U!sLy;=83D@WUH1* zAwSe$_$pfypvL;s{)M697rfEpRlYcP$!V(Ro#fMx~yJH(67%1(m&n?*%o>#xV!Ai+9CLRLWV)TZ%k_jkkzSuUAOD)FV}? z1|HQG9(Lhn?$BadiYm-%%bHRseKm}BSw@#%ZvDHQh_A{*=ig!6*&e0L7Zscnwp)7G z@(X+FR;HyzY~*O@bY4xvy#m_YSX9kk3D-%J}TI%d7yt=f!wrcIZQA6+a&KyKsk z^o7N-*L;FiFKQwc&c!`f^D_>Ct9GO0eR^?QrzzrTy~eZS8@RVS8>;lBZrEN3H0cdm z&C)&tCc||A$?&W%(QgW@F2H2?QxPB;ZfQvP+x#h!hVQt6au302lYS>5WgW=zd6zQz z>#Tv!t@qBw8!!>B^JwNKd4VP6V#0Vd;d>Rs+y53_CQDqZ`myOC0F#*OCIlRA^ecuul*{!S;l~yQ*GGS znOLJq`0x&QFZJst9RfsQn01q_dr;@MuVjzz&R0i-oR6cd1!dt#Ba;>d?T`iI`*Cxs zF_y4h-wV(2PIhBaN`-!q+1lKdwyV3GKx}7Wy*S|nH=IKjwmmGf?>^pM5mWbvvli4v zhJ@^@t5nIUbncq{sClS!o~f0O_$3ysTS)PogVn}Upe5PswNRUPChHaNtzq!vth$~RrZ~5%lVGZCi~Z~i?C(xcyX<_Ka(7m;cHfo zOLz9^`$rc)cRlG%GpjE1S-jVbZq>dq{6aT>0i)fbRIbfEx#wfTE2h2|FPglLvRt1> ztJuX-<12iZGT4AAk3_OxtP2=El6S?g=Stkzt&j8J^snNchwK*C6D3ixf*}}d)Dn;G zx{kL}nZZ+@Y|;{aM#>KOgyCogXG2OW_7aJ0!EY}T0<~~oYAslLHh^p;R@*#hC8nXP z+W1u;2JZa!F8q=4N|yPe-++33bnE3t<1^ubp4ka#Iz4eMu#nJl#>ewsv{lNV|D<_+ zWHy)$X6u%zBuwTD<3@VB8S(iRvK|4n#&6(m%xntV*JqlC@F8<(`n84j;}d2j;Nj>8HscSJ2QPd@h$k}?xxD}scTfhw70vVFn?^1w*_eI5rSF5Ige6MuN&PID zoclIW$9%;S>BJHpJ_Ux(&Enj_fJaJ;+lxY^5!!Lo!rm?^8jE@(`JJ!vSg2ep>)b0V zA&oV*a)*tQnnHp#CTYTId#leK!bd9ak7lUxx$Fz*ft8UD5|M0+-t@IUt(f5tQR-c9 zTSs3aC+D#FQ-8!Ap`}>#ez))S?3qcadNo!3((>eQToy_?z)fC1E!|Ksj<4l(v*nmo z!$L1PZn;ks`Tgfwop$jD4X3+mJcjy2;{cU_4|h4y<#@Lqj0`TMLRRjLUALE1yHV>> zZX(GH@CpiSu!2t`%9bLHkR}H$8{v4HIYLz}=im2ew z+9}TJ@5cAK#yZcFa!54l$n*AWEPc9~33_|`XiB~dNi}6;)^PpdHuXlr3G18Afn(jp z%0+DQm*WQ<==2o22|8>1!}%dL9nw=n}o(E6^X9dS3Tz=r=*3DMUrOAQ#{l(CD1r``}ikeO8}Uho^dN zW=@B~8?o9V-*7*&qILO2N4m2Niw@?H=j`T@jB4v)?I$0$xl(#{Ln^~U;G+hc0b^VP zuTzl??$-tp?Zp)qF8t&8 zT?^(nffJo_BX&}kuNMWD)re)JC02(KjYf4d^}Q>J{VI=ssS#3N_hiMNM!DY{sI(4$2R6Gro zGq4=!Z+XX02yO=Q>veV_mV0nt^;)OR5$zldHF{Qly2{#ks$M<5E@k!%=$xp2%xyF+ ztLS!02+mjfwLEWNmHsB9N>)kKf#zs+^TqlmYI%*<{3b4USg>=g`kZh;lexc%DVdv96vkDz*1;|=xFXk`ti&sJxQLdg%< zgx7Lq3bnPCA2kF}uu7dOEIOQ*zR>CYw8k@b6&W!nKwH(=l?Xg&YIIQRF`6Cq$eo9h z#xv;VyP3K0nC^;VdQKT!AcZ6~cv~4i^@Tq^^zn={By|$6Bfk_*jvmjbpp$z}Eqh?f zn|Xy(T@}ZOPQ`BO;813+J8t!NGY&U`zG+dY4-KJJ93s5mfu1iz{Sm#fSyOSXS*Ajn zkxb9ipl(umYIGMDbe$Esl+9!9@=Bj>E&zuAY@@VcnNx`v2NnMo_l*-vUcAt%_%NU;a_Gv|iok*x{WFZXBUS@7l0Ij>T(_rm7& zBE?hgk^w!5q7PknXSZAJiu6jk;oUFCFMe`};jA1muK4rm{lu@bcLPPs9e5zZ?jP4?XA;?%-a0y$Py4{XCmECWoycus-rWE0=;a_JhEJAHT`;6_?q# z%jA^!_0= zDLH{d9_Y`i--C&Yn2{ZG#=*5_C=VJmPJMBZ;!pe-J0JD@W#0DrD_DQ2KNrhx=v)R8i+^z7XcMBFT87YBt8!Y4J9$FV zDSZZGQ75nXSngOXjZ(1bk!Gh}7S)Lx+PZ#i=CWF=PB~AacreF7-ZNu)UE5!t_1cT? z)wBHBWt_V`k8pBcS|U78?*6vg{9zud+zY=}Wup%C7Ab{VP2i{m4boH7Ie`xUrw{JZ zg{(s~3*E_*9~6Mm?|o9=}0j~N+qeP^AfXJ(^K^JH($ zkcF&HZxrm=m}e2IP3E(`o-O(@Z-kAktcnqXZ@UeY%W0lTMN(1v8RqE54RlgxdX{~? z6qr!(qk{wksi-a2SBDzAUyty4LJwx^hZ9pO3c&-O^_52|bNri}Bg_X)mk;^aMKb-F zJU@OLmZQ;qhKD%LxU=}QnKLiDyubT}JUsC3^F?+fm_GR1)1?2jPA8B1OUl)wiQ0Fx zU=x;Un%adZsk0$eyd`AOgBi3VkJgWBnm?4f)E=7M%T}M8O-G}X(8Guc+$P`~Ct+!) zTZ|!0bv9xN`Qx_jDCV-AJ1d;%cG+hWRsnTw*&KmFW*IseJ{yoMK*{A+>I%daD&vg?XzIG*RDm0%2fI{KAiH)l=A7XI1G zw#!WuTj(I=h^a8KAd>vMB8tevVT^)tJ?<=7wG<^p{7}4{{Z6+|U>ojLd(xoO>rJvh z>ox3i)%uys>#H|_;O4rgKWg)<`=o+=d|Yjadb57A;h&9u#3^A z@|G=CDW)91mgSrhsCtb}!t=ClE&k@R(*7Ei`Kx`x`vO7RqT&=F0ooBf7#rRf+L3nVO`$bReWOZ$k^(ftEUj}q=KOg) za#xY>(}rW(*GzpflpW|JmOi@dUdaY@`hFvA|$lWWkN5?&Thm!H}-I&P6 zY@{;^^D}nPxkW7r#y$kE@m;$p!>;Si+Bas`aI0%qJvs)S~k#@iU_ zW771G_JiBn>cD0F4ZkVd*>?)A6}91$G}topH|4^KxL}2bNwGl5R}p{y%YGLG*zfjO zCTSQ;4cjKAH@mvNN5q#T_c6D)cCdW+;rJAxU{s*Y!reD*nPnDOuszb5>ZOlMGCwkP@EPZ=n2x^_Gt&^By9R3~XP1Yx&Lwrj}SE_QSJAxuRw z?v0jbA?^`Twra1}Kz-hd;*m@xjmFdlO)FOEgSeUvbMi}JwaZSK1jekgr@C_S{W;=K zTvA%D#*B!T8lVY(T_pLp37`JHp8v}pCq8vbT5TNLLz;HVFE%q?E_bm-^OEbRS|AG% zqmhu{mQSDWf9}055C1jnJ{#YCxo*$w%(B{HFuyb4E)7n`Bl7(fCSxpgBlB+$KC0|% z(cU%Weok83BVkvl&#yZ`B{Q$cN6!pp!$W`6?-D;Gak^!kIz76l*Bun}@6H_Tzjo$k z4M~1?<~CT@A2B@n1v%C!Sb`EY7JU$(Klbs8?N~$DJ%IMfS~uG;q3|Gpn6!OVb6{|N zZ6)?uz9K6C>}J$G6p9|d_$XQ{(eH)2;Ec_Z+ zRykvUp(>bhsq~>|R+q4D;X`1^4=#DV{L&c~6O?xtll=mq*oWp>0fbovrQoBAa<(1s zp=d?vu|+MbF=@&jv-xrBd11c$qtWnLjR`%|hhs_@>mh!F|J1Rv%u4VK$;f=%SI>iy zW_b^-(Dp0!Tf;NR_6vOQjjuR?|A`BSW+x16rDP5~`zk0jGpm5=3hSRbn=S=h&>bN> zx{6)?AIe)$r78L!%G;ALVAuVO(c)SCW(UeF8b)u`|AOmMFW+0SOtZU0-fW(N!KtVa zOYZ;Bd4DMUkIp-I&HoMOJq38}z30KWe|PV9 zX;M8ooeB8{))bxNv zZ|4$W-#a}o05?ND;sNZqx54hRw*YqB$+~JTi@Iq;!KP!t4tq8MI~iz85PD>)RHR zQ+7wB_1|{r%=Fo4X{BY)go^hi15mzAeB(fRZRs8%=<+q%Zix!lZIje1Wb2rz&l1n@ERKoMcHdoh&^Dn6*_BDF~*JQIOi zt7Iq9BMe#w<^rPe@V;pewaK)7^OWU%5dO(u0F&W9we4eDlv`b@@IY zGY)XwaUsuq;uQR;Pcczf0c-AYf6rvN0cJ7|^cN3G?KOX3B=j$^DSa#N^n8+T$(0J=ywlmGk?i*qbc%L^sKRf&cd5X`lM ziD0kh_q2ZRqWyawcOot428+bJ;!YXHS7_+2dU&XpK;Arz9|lzDNaM`!3kAu{^$bEap@xrgf;Yb9 z@dFINa{mIb+*{r$>LgKPasawce8AP=lpEY7tp3SsDpQXO>#GF!o{DBr z6$1y#tXpI_doff`DM0pE=)jMvUI5hA9>Vo^LOnkzHx2B}7Ni`1*D$M;Wqj#9I8{w^ zTEhYsL9Ov853~07Uk<#(YzMIKA@l*qm5EsYBzo<$eGNwk9Vl=+oX⋙K6VDAceR? zplswH$}} zwUWcMY3`CV>DLcK?BB>Kz2C?wRVw!dnHtdic7qGuzlu-CjlYXean{3;IzGV`;AaUB z;r3u^)GN2bExzT1Tz@9qkDURA_+Jz54PsFCvL_&Y_X{q}@Bj4t02A)Oo?jQR=XXiE zh`@L1)uFlal(zS-(fxx8fU{;S1LUl=pn=$nKD3pmi*PW117O*J#XA7rj1Ip86i%i4 znDPwRj+?}s19pF1_ZsuD ztEu(v0haqRlUWJoo|4!#N^{?t=L!`I>k6jkK@{+iphfjEfJ1^N3rX{Of?-uRE-0+9 z0orku3nf6Wz2xDHV^SjgNYC~W;X}Eg3OLB9^e0GS71&1cAWuB(*uZZkbD&hpp&QA~qLo#Zn&Zmk(GHHVT zS#eMED6&JFl7Gq#jj&HAv|auykkRuekWr4(k}8U#_%ZFDCmPnUbHJ#^+R|;a7=nt% z`3>n|aU80st~>(x7K2G3^(?Y;LT}H zNBl&%XF|8b0z@L5^qWih-`7-K_1q2KfZqe#aZ|tBaVIRlz4pjqDE(ApD&%WK?%x*- zFyww%z180}*$+~!9Rp~>fqZ!n-&81JbYHO zpRp><8MP2E>&Z+Ohf>bbc9LuCPl_q8%TA%Zv`r4SpIr;^>N{51pGI8FsC*fkNgGabgoQ-x&p%X2JH}~GJk)+zz-^7&jH3>~9G+J!;#c?wtVNHvTZ|Zo0uF?3HKB%^o?niq}iNrla*O zSN|(u#T^#7;{NtyrLN$TpI9RdUNGJjR`{?K(UqNxQ+V$q<&}{F{UxU$LhRTj!#Eth zSUY$iD6S&4fVH1(l)?q03^!^-Rr}AG(MlwaY;vyK?t~z4?Vh%{Lz2SVM1VrO1DR_G zm|3ewLk`7xsQPmFZP_~2nfyjSRZ!!ypdQ!rH|DI*pT^Y<(4R{!eBgYo6%=(2p{BuK zPkt9|Epl6`2WLMMHhRdLOunPc_1)~5Wn7mPW}3s!B&~di6>3h$=30e0fm-7B`fq!h z3TRKCfZn^(u$9t)8C_T>6@)658$D6A2NWxmjxj#RV&Z;^LViu1k)Mckj(-<`~!~GJciDa`HrLe(0i1g}crLC>Gfc~69Kj{UDQ;v22 z_~?S&wQ3oO#J|DMYSl=}@U+}ADdOih_nAB0Qs*qSdAfvR2k%Ep8Hj9>Ukn2xMJm#QYDKD3YAg{ zY*98+Du&kBTo2hvRhyhxE=hCJJ`SlDx~BXu>DM#J=ChMK%RlPL+?H1ojeS!x7OCpK zq^^Li<}#-4EnwB{aQI-=CCjC%W=l5@GI z-=PUFDpSmQ@j9`2b+o<7QUAK|1bowN5$cAzFYryiwP=FsU}$eRlY`w?JNJ>?uFi6eA161xz3&QYiO`R!* zmalHqjTWgiJU}8wqUc&^l1=wbDs5xnsz`e&BND(j(XMmEy2_HcDX>7=!C-dW&RB*d zC0*fQW*sa0*x0|m``pz}%d4G!y^?^Aw`8rj0RWv)N=`E?MTt91d_KU*B`d_^G;xVR3G2l*#zms6L3cTn2&+J-= z3#?u@fL+Vl?JAa?aXUC)gfuVMancJ%w;<~L;du8dz^4<{SD8tQB=pm;5ae|&$p@H+ z;SkPSt(~?tQ(YU6fp&OKf9FN1s976v*O}L#xRm9W^ySZ=$AlkoVya>@EM`-13N)v=Z)(lW^&khWANL$xV^`qo8ijD5 zCols@NFNmtU&zk9HEgs7YC58N|GhT%ZR#WmjvfYiNA$aShE9yVG@$F!VLruCC5{@P zjXKCgf@=DQPh}we;%IIZ7KhEee3SKxn4ij)E$s&@{V#kfadIG^>WF9KU$nUoCX4@v z+T2?D6_4hCwwO|Zw?ne@&ldBbr7UM6O%tX$?Sa)Sic;44>N zBfVP7EJ&Cy6c>;GzVX6+nv8S$eAcmee&6=y-8p~a^!>}==7rL`VYVgZ=C`vXW zu<;T=|G#RyWCI&77E*n28c)9)FGrukB_Db&o2AA=m3e@Ws(2cN^cTj?#3V4f4YNjQ zdG|;;k-e{<317|I*yPr`r%|Q&Z*v7*#XZY`+;*3Wt#ZM%4!2 zf6AzuyRXI`&DMW0LP+5GIFYy4p`*`4ZPs!6e#S$wkV0%=k#rKtis;8-9a90H_<8*-(>PixdWZ?0`{VZcIZgL0fto3uQDs5D*Mhq= zds>dhw#yM&QgM$GQ;~b-o?6@d(?mM7Rw&tIVrZt>vh^aby;$z(uBpDB_Q3EQpz$Kb zoegNbDDeVD6ig<64*pi#^8TaR)O{j8~{+m$ceytsvb3sA5T(d7oGh6-4LbxxL{F6fNAx6;CNM*3T z(7b^`&3q)pB9UoB%;qT}>f^+ROlT4$K;uPNs*vC_<=nECl4VPM{nBw=knmE-M0BMb zhR*wu-A>qzPL9XzK{jkn47xr8A*vX^qkn6;NDltfaw*XcwZ7YNMjkIxSULK%a|XL* z7-h#A-ODZPLy}$n%@g&zF zU4<1NqE&8~cD;9llyoATFSUtc`m0p6qo1d536xca?0M^*fdDtn?}Cdw-6c?G{@ZoXuI@`v|MU4s~cAa*?pXO-PzKrSGXb0_-6SQFEN{KtOFi=RucRYsW`a*%6M zDKd>LfA=F9PCZV$B~D}yyDjaP8vcK$ws}F1>7X$sjP(%cw|y})S@k)^9-7KWnRV7R ztz9M-J9{$;S~v#_xZ%Q?fFkpSt=!xPV5%6J>3li2ETIUd((3hu|5sw$V*2k%h5s$F z&A7wkyO1JaE<)Jhy3I#yyJCHaM&Mh{M4tF3{&6{sViTK9I8p+xApd;}RX)a~Tt^lf zj1IjUOOZp0(%T(C3+U&xJi2|%i%ZCX82 zeE6Tis{FxC7WXK*d0!W-r&~}jc80lyD&iN8n{4OU-S2)ZKaSocS3U;Hl1fO5B#K_L z8vF`1;Mr^Xx4~MiCo9rGe9ipuRSo1K_(fWipHu=U6Ec-N{^1+A#5nf%=oy(#ds|0g zEM}J!Qyw6L-&`;U?Ce!YmZW_Qwq^Y_kfCx3#hIVDu>f=jG!jP^1Ux8vm{UK7{^?A+ zE~F#&TjUivyJY5?^rWQ1B4?sGPVSyixx=Z95YKLc22@{5!Wq^gXYJLTpL=svB^Ywc z3#R{X1`iaxO>r;}5sLx*RK1WpI+xx55x%N|yyX9Pe3kS66kj#dkP3%;&{Ns*UW8lq za2K&Cz#?Mf8$l*{l9bB&|GnvhLtZA{u9*wV0cS10K27;2uj+zLdVoNu3J~b_KS+70 zRT}QmsA&1@muhHNw#tnvH^uzY(tZ4Tc(29BegmAY#RE*&p5xUDfW{`FQx=n!_Q?4* zC_*qnj7e~4D%s*uX(?67JsA;@$Y^Z$PCwYOPeQ$ji4Y_1@hy@jL7>yGowBR6&_Ze5 z$ZF)<`ny$y)W3Q_+MnP-|Cbc2#l!!CVnyaL`C}j!?f--6gK($5u>Yg!gL$rW>$Iq7 zpBU2@Sa5Xgqnzd?Oc1&SDL0$}hvUoxP`RU@GrpX72)_Lf{0_Niy3qONVsd&M13g>p zVlb>L9*wn5NQ9SD|2y<5eLEJ53Kl-YasB%lca-w6SJdqYwo{ls0IVw$qs<^{543k5 zTNCj^;88rA#}WU%-_&_3K_7qV2qfGUBsa9WPKfl$5?%?4r8i2E`5136w#0-qonsU1 zk(eJ{)6x0?Uk!M_E`PV>R)df`aP43V`G@5DJ739Szzjk#^*1PcuqKc`ZR`1JdXjCq zyg=%T4=(xJJ&9_8;VhcXac%UC4=@Clw=OD#yFfU6<($NC@Q?B8nWvC&R_m!HbqYX2 zS#vzE!6oz`zkqcMUN!U>~3-2gx84 zqgv^#ycPzsYmUpO?fD+7j2CxKUPYbdab?&0Z7HMxP(3@!B?{267=$>c+HLFU$Sw)~` zRh`9DEd2;le(v~qgf*3pgWc{a;UfKbWF7432zcp9jK<5%0L;BVLxlfs9=%uj@UQ1a z2oW!)XWzzRNy-B3O>{X&05%UGEL(vC2t&N?qUpZmP9^_HZYik z*#iyT&wZBMtTTwMk%VgJr$i!{Xey){GC1QbLdW|TX;B# z(C-;EgD6Q*97p}sv4cxwoPb*mg79#Lfbta+kcsxLoXNl+vzqxqW|t->?^YNEbDvdk ztM-9*Mh^+EI$-rSkBCQCjoh9onyiqD`JX3^YZ%4ACoMI{cCmPsjcbRJ6Y`{#QC+!s z(7)B?!awSA&$H*YV(C@i-?bP*7*KK?z^+FiA8>Y{a)pz9)bD+kZ0b;$VD;bEqv6l> z(D>_mOeV_}XkFgMb~6(8oBgM6yTd`ul>R0oND0!+o>EL3P^+ z^nfK8WMB#AvVors0JN&(1uAkrrBR7GeR84;Ke*u;XV_|-V#I7ieB3zTsu5I zk4gS)Ig~|<9PDICzgE^8N$(J49-GyHuIKc=-MOk;6geo+sERm!_F3pR;@h}?ktV)b zIAe=Eh4K9&3U!vtS!=WI?zE>3cz+n2o(Dsh<94kvtkG1EXUupr0j3O-ErOJb9o+Zq z$M;#tn~S4!{+OVptmR{k#qE`;@EyIM&L7ZP81%Ehn6l^v zpf5n44Y|daw3Dm6=--Z!#Kj@ko)W!?MW4)t9jMjd8!oJP zqxtkqmDdPLPL;JdbW_!wKa-tP8t@L2C6!kxMW#OOc??*}#~)`wo9IQp+oIF|k}|KH!5Z#H zCf^x6=HzV|Z^7SvTf+3%vw}CnKuV-Dk?21G6rE*0f7r#S5!-2o0HasGR4ob)B1Eby z`56NK$8(}h zLIS1bH7cu)0Zk+L^78&E`5r6qPrD52Z*pp`+a{<(vAdt?i4%DIaz(#{OLVPp8k$iF z2Nk1fsPiwANXg0P7g2i7yI(i$NK0nh6kfX9A-lbnFJU#wYM|@c2EU64X}1@1KoKB; zpHJMUWr-HP2!X1AY4G&aD8OJdW0To%(-T(ciFBV!wrd|IseOF_~-tmH~%z7-Mh^hRW%n(8;*KNhJr) zpNn)4!EsDlS&gb)zd+@JM{E18vEUS3vr5SxTgm=Rb8u`Imn$uaszVP|CV=@EcMZFd zlb|v#tmbwQCNjR5$mB6 zg12?Qx3k1nwssST)(5G|kY>&kkM~%C)4A)FueQ#Fblz^Y3Q5uHe%9JB+5-u#9*V7P za~=o_9={^M^x5i%cm3f?2b6lU87yfksH_xfUrkXM(ABA_)NSrBgfEE=b;d+zUPMc> zjpj;0ech|PYEn8gHz(rXs(-Opyx@`U+R7DpkHg$gEw(SxH*pEY^e=39d2fcR^Sm7z zm1Il4mXm_)CPNC+)j_P>1=4ydf>Lc@tut z4`(rc-B>VgqiN!m9ver3Ul(F}(=C#DL#9eXqb=_sz#@*3-2;i1qFCt*{f zjlP76&PHA2x0F_w9*ctuoh)mmM$Yp%!aE5?12J!=41RsUpu)#EShgewqX{6H3`NSHr2lzi+4|&98bxe)qPr zL-2V=5OG?yFUQ>JbfwRwowOW&k0tR1l`Zw5tj?A_LjJl}|C0(@^KDHrW9hvHwzrPP_(qm163-yfd}GsD(=b}Z z`>*5HRuX!~;p5?5bkfph=JxL;6zfP86|0$xiPR0QR^)|98<;&L#zy1=2P3F3+B_^> zULZ)owLge} z${2&yHy?*)=4NpkRZpxoGKW?d^r$k4?yF8MtbuLNgcu9Xtjw%8a&MwP53CVdsraYN zYo2~5Fn%&>>H763nz&#_kBw~-hTk-Kx7+yOz6Fol*#5xEm2oSG@l+6)ARpZjL)V=u zm8=eKgs@_hZHlMTZtl`})!kn$qb*U^+%Mx`emj#zdK?lqLyoIMZzr~yteQMTOyN12 zjmH_|hCgNXRrNu2^)mSTx3c?M!*%fclaHN9vk$dlCMC~rG=&Eb!e^J!zn*`Qwx8-M zS>yD@^VUsk&7(<%w;_eM-B>0Vzr`ANcyl9qjNTBRLq(D(-CKG;_w~c2nskcw;HF-& z)SBthj^8efISM>*?311i#gU7!w}^@{by&JCJBak9K*H-l>a55g+Bx5bV#`-BHl!Zh z@b#tzJYU}RvYAvbsK!@c$AHIKc*~Whc!^(3{wUJJ_)(OBY;~3F&93z_ZZ?M{J&t_D zbor6|Di=v&L&@4Be?ImS`q75!)-Wa{ix(+i8}+^LaYIx_;{_Lz6>W_md0#FUGrPU^ z%U*vdQ#w5N4rzyR6<2vC-ogoegR_|J#tiwiN5)33k0_q~r=DTg1+E{#@#X>CUlm@* zpRbK-cxl_#A9wNpANJlVrp~rex5nL}xV1PGYjL;YQrx|`yGwD`;#%C@wP66S{bKGORJ_9w_-;Kot(~*$}Owi?fC2JF`)w2Za z*3VAk`uyZa_K4#S9OAnJ_WT^>H=P|m!_Vm7tq7h9pKgD7iTG9!W#_ndM7|O)fcLC_ zJjiZXfPJing^x|%?(%01H`=Jkzh0Fso|aCQ3Vh+_W;gUQxzzPCL%iMcgP2L7kh;Cf zadcm@7Tq#A-jb2FaGRHY9p2-j;SV+hMQz=9?6c@vkJ+sln!>+!l6gscmEYYBjeK== z*gwOxmwsiNQYS`?b^EZZzlA8YsZYo+G4Q<$QeRl|l^HiHh_J#&Yy0->v5;e}luH_u zC*(H_nGoW~ylxR0(XR5FO%+a=6b+kN`|i%-NUx9!{virfby0=sxlp~L0K@*XGs%(J z-_I~I!Gmbm^Malvr0t_$YuJ+4*7jI0!a#>VFee=KZUA*BN`6^tFH9k14|GmNU!{>~ zVh;v`u$BT|I#H1yMFn?uWd`@v@gGz4-(nLs_2N80Y$9dglg%f&uY?%6t?yiOag09u z*o(PSJi9ovg`ahYVkSeUCezwz?>IZ*BaCSb^&j#;kB3$6Xz!&}VqL2pa~csVP~f&G z@cdRl_cpJm@mE-kI!x?hNM@529SoUO={ZkC{Pv>=tva7;U57)W#!${CuWeRjbBv-;Gu__2mUK{iH8uju2RF>aVB)qPH!a*TQ(c6+>vJ?q6F|dtXe=T*sQhLnNJuFof(gX8Bz37V0Y`Lp^UO(QJ;cc%)C{<~G zudeffKog_el%m!ND}l(8&Z$o@rB7%>L%WXibT+%+alFdOTy2TYcV0*w?>YQ#4(82W zH4V=jHoj(fBqh5^Krn{3j6)R!InMdRcYA4?23Z8`CGz!&K2Qq?PxuD8&unW41q0}8 z;LwyNHeN?n5=tP1ckSGJwA|(=CBm(*SzHyC5w8myPxm9=T9}oeN}yS zf?gSO?YN~I!zuK-QO_ z0`1=LSxyt%hFEfj2J-J5o90HuV{`0y6LpoV))g9mwN=VL+p+z>YZ-rnLE1vZ9lvM& zBd)T)jAAHSG@OyHUGJeWiL}#w^gUHO)BWM8c&O2_FKe<)$>5QHz`Q@=(m_dJBnl4H zC)T%a38On*9Hai!Cm?;@zrWQdtX5i2Mfq;uquxBrULe4U;HxV0YH&=U0eeCO3c0jZ^nTBBI6hrhAXld9V zM_;zu2kH~|qdCiEUaK8WY`xq>wIr!wV$@6RFLLGM^pY!qzDbd$3AKmxp7j&1mpeVj zhl{gy zc0_stsc~gUq?=K_*dCmx3KS?ty3WUtyNngdfg#^+UAl$6AK+<8@$_h(L#;nue|Vsx z8wGEKbQDZn(=i~l2H`;djY?3ULMC;TSDU-vm2-x>Nwlx;~>;j4X8*UB|9L)bsvVp%(%`Q)&hPE3_=-BX_6 zk}n2(nFXc0FuNqgXKDzzoNZCK8oHyIb6QF@I5;5k$L<6`fdYzet@^%5Qo3};5SULCrw9D7fIe*FLM3Tugnxdg48G^}A-m1#(%vJ!6 z(1T+zlNrN>4pzhaKZvZFl59F80l0Q!2HBce-J90rnQm_8bVscnzT~>O(GfDQ{iD;T zs=8wGUyjosEtRDTj*F6tU&$*T>XmqZEyyG!;^dex5YHT4eI>_0F|mpDS;&gVrmk?L zHp=r>r3wv&8xhP+IoMWfNAT-TQUvP79($t`ki0SDFc6Jn4&kjGJ>X8wBZ`F6{I^e& zEL2On%QPQ29I2xBtSBW}Z(*by7%)M+BTo6|A|7_)|G>4K`6*Y$7RJ-e09-rEb*Kcu zwVR{+JYHL@AbEowFs<-38H@7Z(VNIBxm;_(%15y=11$CI zJ0P-x0z_73PD62k$VvkcS!JWxUF;xm_o43?~XsdU)ql?*RKE~((OYI@>pmaYe% zGf$GI+~odl`6F9NGlW5#rOF5ZWE%m*G$P(vD*qc~d(D^X(WW)u^xq&`ERYMKTg4fv z?4!gn>+QL>_q6U&O+cRY4k%u`igA1!@plmb$rDI1rzTG_)D_*VaJlw`lsr%J<9njF z!+Lu&(euxi50822x9&hnp+U8lsR;{LzrhYD#H_iA$$yru`I$|ry#4V(7a5VL$uKJR zH!|e}-aqak9>a4LN^Fy9m@5B1`t~PdygY3EM`dO7)+@gA1Ss1UKZ)am#54q!w=sVi z;ZKT!t*ez{;y8KEIt?+qW;x6r{Dxcd1UMYOyd8kc%Jcxw20HU40>;tS0GhS|zgum01b7_4+O#{pUt_xSb}>~j=2wm{0K z#LAX=ZQ-p&(ZBnP{H;Z?Y2HtVP{I-~bZS)AG-wA|UzV)rK)Xj)``Z?W_Ncb{w{7dk zqc4ADR?qc$DuB#t{G?K&0N%|3H~`KT=MQJ=`i=kijk9g?me7!S&-s_LZT>gTHnO~{ zJG=O*2j%aapYctU)5ZB0T6*s3&OYcMM|6rR1B2pE9I%9EQo)7(t~Z-iZAw01vr=_U z%?~W5mAQ|%QxFT$){z~B(4jDR18wV4IswpDzU}-Cw8c`H`V2ZJruw$$ALaes^MU{9 z3mna2EuiUAiG3j%I{!Q)Q-7Zk%YQv1RI37UAwGAI1hvIqLE*nIImA&zT;qMTY|X>w z{F^dv{x2zG$3H1!wO?ibd&=0E;a<}GEoJ-yfxIXM_~HPa6&0YfvX=j=v!ec^vyyt# zSsCZ)f!q}X9;*=0wMc-prG^^5?$)_iI(0pAi32Hurx&+g6^ZfKSYN9kf`WxZi|M}t z-3S9n+XkkAb$9R6Pv;l1(rD7i6k0Kvl=Akwn@x^uXpMb43T}HK(L~V+ZZ}M`*UR%Vw)TQY- z44ZEkv(cZUs2qJ!iImj5&STr>vyA0jqI|j6Mah`7IZA7^uqIH}6~T&-^y|v15_soj zhm_;uZKTMiUn0a0(}|E2L3FnE3)hOJ8{@wyZ@*I~i(BPz4ui>LM?Fa-h`S3i)k>}$ zTs6|_j70RZb>Vp_o&Qk|C%k&P9Z(JKCle%Uqr+bVRUz)|TdG>3#p zbtV-EiMgPu>1VYfZfu<<+{rP8PZd!=OkJ%$)fPV}mbbuA$m@x?wcSrJIcxv;#!oKj z6~925^o0cF2Lv#q-!XLrmHuWn?GBnh71vcoF^l|cF^PGtsQ7h7u@p_4`E+s@Y&5^r zOo$K_9gD*e<}9!aH2o~((mj9Ftj}ef=j+`jX;N=_u_6Zk^5&>>2-F-WT()eSmST_4 zz;P(5(;_DQ^cGyMll2-CM|ocgR7CyBXa7{}(JAS#xuf=+^x6a!rgmJbPI)yodK5Tr z!JE+xL_J5;)(thn7?hX>dkEI4&iomqt+$vX3~&??yHV2bI5JJdphTR&(Nrq-e!nJjVy-Yg}QLX^Nw3 z@e}I1>0FW(Va~nCF5`Pa1K5BJSz^vfFRfrI&CIM_rO<)S1wMmDYR%AsEKM~){)g=mW{ERfo*>s!^Ls#120BcqmJ>XM-itmNux zS0k6yjdX1;%in#N7K_3P%Gf2XH)1hZ6-rde6UdhDehGYlj+(iAvh&pU|0$m(9C60h_cgBg8rSUWinb>mnd6dBAM8gsvVWux}vj$9stER@=9Na?yjc)&Bx z)!x_jidK&h#a3k;4J*d&i!>YQPqz5BW$moHTh+VzhPiCUbam5d5tC{0!!kZ?C@1kd zqPd?8aVCYB$^~DrAbs;`zFb6=772Y3dx<}=#yg0@FfWAtX(~W|olE%R);u?I7@Ajz z=muDDOVI8w>lWAR7zPP^3wHs|E-wVx<8#&2bjrkZ?uV6}4@dzTKJfO(@alJYO~+=mb#q}xEjPu) zs_8?E+VPlT!lf0W4zr=Ph^C9j3u{$3@Z&2oH@D%tmeWrkhka2Mlj9K`!OLVnh5D#S z`fxJR>#;lzL;nc&gBh=>btzRVQSUN7pTPlPr#*%A^&M^@<18RwC60&fYa0pds;bYX z@W_nTTuJL^nnj$8FM+_uv&EW^vM66OXtM;*LF@E4%0;n+;VmR}^%B@~|bShCK1Dg3Lg+>01O(gs1CEpgNsH}6&<-LZK7H1pf5P{YO*Z=K^dU931?v^`)mnF$I*sUTisgd!p#ncC z`+*Su7N*3JSzU(1?&;;2#;NocP5nkLWVLT5l($`9Z#qd~DTb6{7HDVAeKMn^5K3$O2)$SVY|r7HdTbzxjR?GKKFdw zJDG(dyvMn);LwTsWgjaET%L20?4gQwH4t$;nnF^H=nPr5#Bmw$G)^_V@>FkQbfzTo zP;k2{Z?0B?oKf38Usbq=vNcr=@rMCfzZO4(Fg6J7uNd*3dDS+&^0hP#V!cy3UoY%naN_kE9=k<7h3Q-;VWh zI^xZ}-^9BD$2)eN{J45Zf9!aiRpx+P){f$|pCcj?u;JJ|Z~1!GB^#KY*t zRdEGZ&$Pkb0h;dI))ksW=VdfNg3r;FbV`pOE%CsfyX=zVChS}&b4TYmcKTUTgTGCT zz=qTal;~2DcjVim?$~Jz4}PzCRG~(!+>a}E<+Z`Qy6-=Q7JU4(@_7gOg=h~_Zs@|F zJ?ahxamyEEyljRiTjR}y0Bbh%~I;<^K7G-Vf1zhHxZuxKemV|yu_w2!fa)Z4b7hMIZ zUgz7d$<21BpIXuFuGKHjU2Q@A+)rQK9OzPs2ogu9MZVvq+2Yj;O66uDGwvH`>B5u> z*|Q4OAODnj>ProL%kul;#D)`w?m2Zgml@|A9vPmXYbbFmoz3+t;==w9D~85I-tpAn z-J_Z0q(-r5arwIG^}sfwUP|dLC^G(W1VygU0K$3>jr3FdRYg3{H7E(yLPGJA=;X*x zXqEghk|pUkmRmu|6qunFLHFG*C4nAexx;4Xw`hy5LKL+^5X-_-=UIg0{`j*UsVm3p_FIn1; zuhI3qfd+yQyu|^5x&=f_{1~&^59{{ltogELOw7%B$b<^1-J!yiF7l1X(Y<_~BwOu; zV;=b=O-?o_0rI3r-)A{&7ursR6oO1bBW3Lap+rVPGq|!C4JW^gC@h)XG<7ZP>$bkg znGu@bQeKd{Moy|@ob_>siF8+ITt_^t=it5{%~0^VY;#vFkr}jfdb#`U^?DxpYI9;L za=n?&F$_BHNV77e<>c3Oz3Lz(U%~z3%O$7WJPX8r%K|(!Jc~JhjoaaxOve_2 zN%4C4`+tq=IkmvJP9!7xSnxKkiv??(&$#^^*Q+vjVuQSd)UM`8?ukns;t`NXspSN3 zNVv$LSP!ZLpM*s{GkzM|Fm-f{TW#ThCx79{?6dqR-E$X;hLL+=#D6u$T4~{HqDTNc z0WII#7y7X2V=r_I!^pNf5X5WN|BEd)04z;*sX8Xo!1gk)s;vNLpNi(3L$N(T%j9M_ zj5rNzRm_W!P@076JzeR}Vs5hbQUd!GJTy2Hmf%>^JUIu`jAYG?QLncqKU zv~KfkyC$fVP82x1jokvp5A0?9cfLHZ?UNCG5lYg`+Ts zSk>42FP1r7!aWh|p_h|E>TFAq*r7UpPu8TA^q%Hk&TjXUqgGDNYsCAPKZ)bvlRRCW zZ0^^0Yy-J!IwVO)t__+mJ-L&&Dex_|{&P{s2Kl?FbF_SFz;TnG8jJJ6==Rwo80fG) zIfx4+0e$`L^^zb+585@sUy9sa;_}jt;+t)k!q_|t#@();&P*UDUJ}ihbXzdy6;W{& z3S?BFk5f-Mwn%wJy7y!J4A(|*dgkYdT1N{=Mt_BbD-tBJ5qF=U>0y!D*umOdqIQp3 zHf+y34!9PBSl6jXS2717TA=FbCrs$XXR>SCOYUn#%AY9E=lD|?RscGR1VBeIbsJrx zZUYHHd-WU!O$;o}Bd#W;6RQjr9Bdo8Tlcdo0!kL-7$1tvzWB=)iO((}!051{XUrd^ z7Q600I^z~&ex&E`Xapd6TmmIE^LOwcOYVN~r%ijJIvX*oct6A!^3vr|CO>F-<96Sf zDnEK3;r=1yf9e`nxkyGGP_#4DJizj?)px9G=%DqjNhjl<V2=qMcCJ%q|)@A;GauJMKBx^mvC z!8P2o>YN9E$X%hiMAPfMIc_F}mEKZ&wXM!0?p`CS#!$%xY8Un~hBMb^4ooDN}OzgYlv;4k{Le8d=1dZ=K(q$tAO|2w`-fUuF;%Z4DV6jaK zq#zK7gGFys1b+WyonMs`WBMnDPu- zF2*nrfd(cxzF8>{zmI$XU;WG{`+UF(q0$!fv*188QSr1$#^Te;cWyK!C(L&knugh~ z+%O2)6HmA~aNvTfQ>i+2Q6LGY7KH zK?jRR$M#OhDT46S-0;*P4eS7fV4onf*{x0z`wl~pUbX6er*qVm#IJRRluyY>*FLct ziy*KKHqi%&7l8pt)w=ZUu);iZTlymAA&-PE=N||9uBy~^w!YJDR7*54BSA5%uO?jn ztm+_E;T6_Gk?BfQa*LRI`=Vh7lrR*M+m>=ooc0`)nTKA8FQjIOyl2I&r2=_=&n!?FfYQm^%7oh|!y zm9Q->JmWYGF;|w{b6f;ltI2G4y$Yf9N;3)x)!8^>)5WJ!Jt>&`vMHm!+#!u?K+)l^m~-{8DvIon9bPURxvP#&~5 zmn)Rj{*z&OiG*poLj}kYw}I<&9;B$FO@P4I!)I8|m)HGN1Xl4O&C3$?{qLD!y!nq$ z(W@YdbkHPMbV0Ic#hO6c$?R83wQHK5P zI2+GSv}LDcH}bhI7kQmCro5+_H-K~^4Y_kDL#3A*PQ=Jx9m zss5HwiD;_zo-Z%c?8rznLEfHZ*Q$-!Y%WzZf{uYVzpzbKg2bT|E znfpTYz2I9FuSC5;DmiQz2j}jlOLmEC-4sQa0ju4F-Ii`_-y9)LUh0Zn1?l5=xTSlK z9kX?@sTEhcU}8_0PVcwapDUt5~nfKPYvFJo9&Kg+dEbM35& zP0uqcw1WN4rc$bdRRs%{`=6k81hypO9Sz~6$Nad%=8jS|4Q}&J;9F-+Uq)y@(ds$R zt7LNp624yK>Cti17UjhPG`3JA5-qUT8`qhM>&^Uf3x`}adw zX+7GKIuB8`e;*q4EH-#7G{N|CV(4I8MSn&hd2hZkM6J4#d_e7b-lQ;?_9aeliL^+4 zS&VCJCnja~nqks>@f}T^ZLU&ijO7xE)HmLoF^&P#3L$j$^BvUQL{d)b3ytvl(u(eX z)@svBV6A=#v{pD`G%L7l-ruzU$hiEkt=i61715nKEnaT0OtLaP{+Vs0A?fG~X&=tL z?&u}K#N0!{RK>^+v-um?%?W_r2gpZdi6ONL(a7@A;pE4T)A!IaZ|vw_(vy^{wcX35 z>fxhnm!0Vp^QEf2e4#gMf%l^HP{>l_>Br zfuEzV*ZsPDyUTuGYFfK|E6`*z&w%IYrh|vo>B8_c4$5ZJ1;@>Wv`Js|!C+mbz=?Bc zy*`FXD;?BK=ES+iwws-6YOHQuzaL&6aK~I$NN%23Dm6M0^@&>07x_1H1au z@GUfvruga)tmyu+!RHIQs!&|oVCAw&;@pk|wh#lF{b$v8JP3jw9v}8cpK^($vApbX zYlY=MH$V7{gv2_J!;o1~*K=oWh&uZ{vA%0Er-tLou(uIaR-HpDci5`&SPd>P4cRXu z##sK@5q-HqK`)&;Z@)%ne3smLQsL;TQrXvlrboeuFvdZ`!l@=OSh0TGz}XH>k%6{vGC|7PAyM z`b1lE!)aQ(AXdFU)}BxC`-t9x?Z~QhzM%0sPu?n>X?Zes;oPR{ee~9BM(P6QW$DYX z-iHVXvSdi1y^vFqdc;79^sZ0xc2ld|_f9V|X&Ll9FNf2)U5g{^&zoQK!kS~uZZ6B ztb9*OPHjak0XZNl5d8JW&CXt&VbUIu$ISrqVJ(9q}81I9p*l zQPUvAcmLx!u6R$F9~nzh0g0S(PS^o_`}nzctCI&iaW;{II0T)wQ0C4&wgkp?OaN>~(81jKevr411zV~oV@s-}i#L*vqWWD64XU^|cblNRkr!+T|;6s-C|9hT?`VJ{LM1W4%} zY@_Q=WPPT;JJaK_9147v6D9OuW3e(}1jG~3>%BHoD+EG{rPVWickkYk;m}DnA6D0B zbvEa}Z%p?7e>WzXlZtygp{KvdrtFdO+4y4^hjS+{Mp(EE`)3=zpk=adI?;_Cw2d8- zpp0ef!Bf$=YbDS%^ZF0Pb&I@DV<^9lZs~G6K6VVnZ~cfkq3?e2$t=-wo^;+J0c;Fp zC~WxG9;Am#8le2}9=w~NeIUf%)mm!BSF8vnND_DOYD zoE_WIk{TPjm4WehwwX);uKcJ!@V(p>UO!10S79gu8(h=%P-J9E_@ODOuab3xiAx-w+lEIZcYH_!YtriuqS%B z(eXxi51fKQ<#zv4wp-P6{MB9VfT-X<%nMjT6Z6WnCGXVW8t$MdpPYdhv-z5qD$+q=R+fI5f1?q1YBcVvWvI%jX*Y4ft_6|hzjsJ9f8ro-4d654 zeE0zxa-iJ){?|nu!WYHU&JtH;57XFlq@!r-hU$XMy&RGP(1HIiRC9Io2|~tW>GqSw zNSOC8GtTtb|FEEju#kZ36s47ujPC)Hhx^QB}#-dmlV}9XRg%5KuG$GX3aK~7nUd3 zx<)$7!Utxlk>l$7^z&zz`P`tDPc$;i{agp*`a$+>U#O9+a9#pnT|hQR&Cu*DwE^m* z4{fQ)afnbI4~!Q+&bYlb3wGT%qA*J=$Y&}a_o4+sl}&?@3pzj>j|$E{I(TO%f(cyRDJzPk!`lpYGWdPt5^+ zo8o}{=$&2DDA7Hl_r5KIz^M;5S>?hPdPE>US~m>;mLFvXsk2`N@}mI6m_5i_69?o+ z=~^JdJB@!v_Y)KQ#UIaB1NqTnO!KBq4r}w{%r1AvOHtw}J)+8|5k0=U?h}ps=O&P| z^Q5+3jbv;G!~kG!YRm+dr$6ygrd=uDa1C&sN8%eCEaM9_uq3tV_wx!M5FBl9?NJ(_ zJ^B-9k1B&S%rR{H6OH6JB|`!2QT2bdN8@&cjNaO#Wc-cC*mj|t#1=q%bdrZLEaHs$ zIf^|W?()@CgaouJ7}2TGTFM%wq20IY>Z@+Nfq&4%io_-LEG+(MtxN zG1mN$0s8_IU|&#a)-QXrFW_pR;QA-VvKsC2kNAx3sow%FFnX8gRLcEdt#g2?7-KIX5T7x>IeJqi7MUzC_XApt>!$fqthq6tW9=Sv#4buani< zx(~E9kHBq|DFSE^a2aQUK_z-@c5+mZC*~_@=43wQq;YZS?2k-1T>|tPyHYK3a3bhi}!YC(4KB$fVX_ zTVmY|SSvx58dSRc=^M+SH;yi^2WH-~qtkEMQ7{&}H$7@!D@YVYQ+bsouEB4=0Gi)W zz3WRbJ_I02>dMy66;oYC=>RWx(;ZJ?^?T`Pz*GH|4wb#Tnsp;3{nmG(9 zeE*11Ed&1e7udQ018UE0id@rw5S;+SxpidthH`Fony)GLnbM!$wOJ2|RUSUFy{_KB5gAOaS#A;;mMOboGs%=BU%cg(xCR%rsL zs75)|N?QOP1}Tr^=N(lORBi;iSJjAG{Xr0&#{S(*v%wCY{wTA45FL-$V$fM~!6*kA z9%vREu#!MrBMC=co!UxLS6;hm&2*XuhiQyrGk*F)?)X7t-SRZ<_(KC-`o9K-<96nr z2hFii$H;8~&ADQ`$n6k~xj}23yeP>r5_nT9{5+27H_8-lo-t~Dpk!o;IT1+6j)Wl^ z{+e)iCm<)(%%uW~l!hY;oC#?{!Z!uOG8dp= z=%3i+;?}Tm8K_Uq7MFVhLZjp$Z}4$ae8n4l43lvYE>qZx-u^2q9rl;>0Guien=Y%r zKMe#LW`2eB^vt}}2I84{r;ySU1pGhGh|>DoGxAS?ROTM@tw2h@SD@(+rvkH8R;=*8 zU{%NFkhy1W{Er-UY5Kp&QH$T?sFPrh|4okS+i#?o@+L>6aGtY-gI5L|4AO571^~=_ zb1=M-n}CCX`pv=c`5pK#Z4dD|1q2YUBP!rm#$^;xgY~Yn`lH1VUp1X&eI9vYj?j^z z1D_d0zeYt#<{_gPmGnP$=gK1Og1aXKCq&xDSi7>F$3T2Z%HkxNy|ydrQ)DS#kcSR> z3TjzOxpaEy&KzlxbtG|n8AY?_30J@gJ2yUxeMO^a`zx zogVqPtBAW|Ydg-k*tSZTh8<{E$r*;%DGuCCxnNbtkaC;66=laD!!PvPQO}Q?ITXPE z&?YW4xtVw$gesEjGf1k0M4H>7AYj3?6dY7#Yi%o-jv7YSxrT%)_U-q##gp=y zllyf!NaWArTmADVYn=G&Rd0zgfM&QV?R&wGdTVTr9? zQsjwMOMfo+|M)mr-`HD5!0`PK#;7_>_1@8{=y1PPsmI2WN)EN_pp$T${i-C4^Pavi^a!(PavW%*^ikOXZLqVq7xwVN>pK{Ic|HU*4H2uRg zb_+Q_mzd+#%ZP=_7|Nn>rVENM%RZQe6axVS^m=q9 zZIfv>F7KJIW$*ClwOG*yrK-dkE$cY;)4E4k6P8-a2xKJ0-kC^#auxk_01%HgsuhxS z5>1fJr(|Eo<7PC!&mf;%-RRenI~MbO@T?`vL~h}KsaVr($K*a*4eb-@I~j^%daXOk-&K6fq%v1=oML@Uzi{6Y4k$Tf4@3TykvpNx3Jf zD^8b}e#ust7%j+g5y_mI9ErH9!MK-G^cpN`;z?Q^+3lx&wx3-XI8pWK=?rlS&K^kFC>*HGm3iNUJ0def>FuolmwJxnwJFXK((>vF4DMkaYDKk6ah$ff4b+s;Vxbr;t zaog&qmm-L&kv3N<1}l_tjp@o_F*f}0H zG7Y%|<_sH~HJ8YgVBt)f5mEZ?hj!3my2GebO_H*Zw)~};biwTau#0qBs;37`49{mA zjJC8C$OJeqJh*o2bE(4fOR)?m2jG+lr_WY0d+Nnx^4!E>`tu@OFFf3KC=FPOdd52Flu^1qhpf7{n_=IIk`(>r+b>|fILQaN}QUK&i9rnUR)roDVd zIK;5N9n?*uMLzr?PLwr4FXAYkTb`vv^Gq9dbd{m|E#JFYJL1UP>0AEPJ&J=TdxQLe z`@7nUt4PY0b{HdmTi*kjh?K~%+yoC5u#Wo84f z984?6E>V~)#~O@ga$WxVFW1!g3Z3iAoO}53b5EY(9LmRI#IFZW=0hGd zhpf(y5v3pQqC;-~AjG(%t~R`#lUskTF4ET*yCNDt5AWW#7LdKPd{jJxQalU)Xi#Jo zJBGcGIG$$b&ylxG@H2amB*u9n{9st8K+OHSY0Zgsy6JR2<&-4uGuzasL6h=HTg1N0uDvcSy;+^Rq^g^B0t^Apm_XY#`zJoE%u-nG1=GH6;N6;vF_9@L6nO5(CX0kigWt_SbI~gxDSn~HI0_yR zWA{fl0fV@-pD23hd)aJT^bGr;a5qNw8RH7y?UDb6#%yPAeKoZt<67gnf;8}qpPxmcq z@`tQepXfa~%L0;*8BG?unclqMvTDz?>K@HKkx5n7Fl?GEjEMS@m4ir(GEI+2jFov+ z!5Gr>-Gdk}$>_UZ;4j3VTOQN}8f!%H&KJW%l+5DmN`8jg>FE97a1G?(aCApTPPLBz zY9Xa>(AvVG16u$VIp+5RT(dOXok}Y$16q9KJHa%%Vu$H#zu;r;vmQxnOSw%K zLn|+qdIu$>S{FxkIZO<&nf33{@)UlLY)+l?ZvLY1U%1>xdFc=|(h8`~R7u0DHJm+2 zxqGUd8ZUORk7b%5CJY$g3Sl|-Pc0aclAAsFt=E=y7-)V~Dz9%hEi-wzbEs|p%=s|< zjZH+8<2;4;qe496^?Ku|=kEjGk!&|4w_}>XkZB)|&8Z9uFKu?&Lk$OTxveIdxyqn&#tf!OS-%Y$_C^#=^rwc(WzGfhUF1+7_^^s1)m!gATM`)^aQ+aNz{ zW@>5*VVrAm8fpSFH=}e;j+?!pjT+vjR5p3p;YPi=Ykad-`$SX}vDmTYZcQ7wj-7d-i~Qa-+RegvKTQ&3D>`L2@CTaGW z;mZQY`^pXB+JY9F_5At`&$;k21G&L!3!-Z*RYbz5A^ExtYrnAvoa+vw(MP+{2e+Zs zZPoFa|4=73%vSOW?Qr;2s}fJ{T84Mdw)Ht<6Fjt2 zW9zGUzFw%bzuI!cQnN8W(isG#{nzQs+;W>=XtBT7y3apM91}7Sk%XPWK#zoaabE4P zd5U2%qs{7tJOFBWEEn*jxMzD3Dts*cLnHmQI%eYYdC<1yQ>t(SFNIlZSUsqb zAuRPdD$|rjGyABvZE^Le25BpTc!o(R&t&pomWe+>Z&h#i#2#;Ta&y{65lP-sL;wDy zib!`AvVxzy@F)ROJ*Oy^-0SI(vfZahG}ud#_dI7Gryoe2?k)+&m(iaKgz(XA)wsZo zFh55|(Hp5%^$*D~IPvye1lnsuT|FYKy6{9huDcQn zQIg+IZtrZ|kG$T#vT@saIjIHeZyedQ)hgGUN!{E)8nu!sP!zV>Okwvg6{f?zl)4n_WB7 zr160g`7t4z1@{u2dh=7Fl%A$VLl*fJaVho1h?}h6G-tj@@i^vrHWmV0d!Msp`|rDx zjqk0oi1wcdC-SLSQCPE;kfhNlf+L4(>8%zMWYTgTX>9oGd0UKiUy83h24y=-J?&e| z%Dc@DXYddh^0Cq*5p<;GkjZXE2_}vs^??z}qSjgG8~zL9UC~!dr2@L$eh47SX&#$YD$Zo(W9o8h%8~&h&A&m{d(?E+}DKu zpuAg$FdnL!DKWmFyi-Ry_k7;Fa;dG5$ryQ%nPRabl4vYwIHTnk@G%J4w|#3+_$(-~ z$ht4W!XV|7+Y3U^_KZedPRdGhD3^86F2fLB@$E#*j~#hRt)W}`D((v~g+DGkGzWS1W77PqOG6O!ep%-(gJJ87QBrS4OQ0C|BSMco=WZ>agLV3zeX-3Tm_H zvafOl?$^jwD<|~YIZ>P*^@S0R{bGX+zMgtWk{&(u%F~84$dFA|hE8>jncyIdI(sjt#{MSUQ3!#Kjwx_&WlZ6_G%LQse9ch*sYWHrbU>jR5 zQPw)jEh8QZf$;jbWhA2UroG#w-2~yj?}mPGZPYZJE;4&t&nN*eo~i|x2Scn~w!xo4 z7gCVF1!195UHLCepNyI|>td59%aJwh(mz`_-K9(xFefLMp4ptKCWrhd3@{-e_6G)F zqL9g2e1Otr`yz1cT1t{Hb@lF%?ninOX7(NuVniwyuZzvbP#*Y0;mf~WJE?})rS(92 zOl_~HT#F8+5@y30brpHGmJ5&Cl__d>(Qf-VlW$PZ>GibP{(ATOmCdO(`{7(RZD;Kr zQK|Zc;Y||>e%Wi8S+b8;0g-?E`+E-$>8O$7R_h950+h5Q$smn4sngm&QYZc=P*eKi zSxO`$S)!h4>A8$bu`jjn{O5WDJt&^Nou*7{V+|*NddbK{%xf=r&#f-lJm)C!+8hkW z=DE4baq?KQkzO=7J^&X_YBkJW4ZA77{4e(2GA7ct(bC0f92$3bx5lA?#@$^ScbCSc zad&rjcXxMpcXyXlyx*4Dd*+->COQA+*Bt@`QmLvu^{ln7>z^*b)Bk4|VCt(2u<6Sp zb>;n$XFIr(a=TXYk7zVJA||SJeqe z%Esmn+hxGpDB235>%T2era`Vu*8fWzpftpl@6hb44RF|>&rcP+6Orf+j~vGqPugQZ zlEp$H-pYF?UOR3CcD(r{{c?L{gS8!uPRnA+Yzgz1A0ih1ltWH5G-Oewe;YrYQC!JCS$cp2 zzM%G(ISFcDI8?;{&<9A|K@0@+0qpYKu7U& zQ=Kt$cUY9{Vpdu~XqYv)xF##tlz}LJFZPFaamBOr@7+F)c!q)0KlNCg?CL~kkmB<2 zHB2*y1J75yM3&NtFI@_cQJH_@&Mh(~-Dy8;Q2c96Ek?vRcXBV-^Juwe%Oxcy+h|wK z0IdKvg#@C`p>WToB6wu_51hl78f9+R()>kp!MsKzq*n)L%Dq5hewSjOBq&v2q zTnd1-!TN{8b|53xT39=!SzGR3{Tyau@M;3rK)b56R@eP)(XP+y%+LKPiLNS#pEsb@ z`Wc_}eLeqb3m`%`n|vU{M@jwrBxP|4%A(NyrYb9wc*jsofZ66S%q~;slKEt)wrpn% zuS*yQQO_Bw8YZTx*{|vO+m12Y+HK!28PNX~*a>Im7`6Ij*`T5dR8-+&DlL0v0`KjzLt;b# z-YL^cDf_>)1RUR|B>pSkNwVCk{bN@zB&YZiyof)n(y1O{sKN(Uijxr+CV(t;5Ukkq z21c+n6UfgV8)pI>plrCv8{U>q>Do#GI|-{z_xV{m&p!WysuMuDdo!h$2SZGlp`4mzB zsFby8d-6=IqN2++HGxUzWSb}}uq`;~IWeP=>#O2o)zum-URa3KYe%j4DRSGyF_wpN~d<3i&%7$(&n2p?p04v5|*UxyDC~XSVRt$OD zg`ly^>Kign*%&DN&%p)n(H5X-!8P4MQ9ig>tdqK!z!0-ji5+~94uHC^ z)YACt7pTxdLzfnE&Y}^UEbY}R-j)mFzW5DrJ}Hwm*a51Uc5FmjS2Go15n`2uQ)&iV zZV(hDI`08Mqbf`&O6@SUCtCN#QUhF7B0bv^Ileiu5m^uvf4dl{#w+TX zkk8~n>%!CjUR}WGYH`uWhK*fApc;L~i8kgqux1S%^oN3m zfBCCC!`cV{A2Q1yaH@H}gEWqVa-+ex?#Xt=tM7oC+5DvAs<~^kl#5C#=ixWUAu+SO z`(M~ojRwG(v!g^qHTb%GEPxyG?pt*=I#bQx>8b#nrxnzskD9gNp_PghpjD;XCN0+N zhEk)7kJPS{P4#ymb3QFSqo{&z?|^h-gTg{tcnb*&VqC4(5{)6h||Bg9*kB$~f7 zA$~Vj{&F;A^GTrp%h4dP$l3sbj<9ylsp29Dxqd6Nnr9REzcEm`nEwBBpweMPE{Klu zf3Q$#K+wyy^&z7tj4D>bjgbQXnYBwzK!Vi?(%p~7NkQiX?i~uJp#8Kh=~`$Cgu>b3 zm=!T7sC%ttD(&zC1Eg5}d)#USVxD7QsCs2KOzUUX_ta9u2X)Y2%Ht~Z=WN|2YcjynPhA~9B|(9vjzxZz z{$Ie;{{=k#U%(TrYRdlwJbl#!yp??Y{{I0yxw?V@J*STsJ&XYp@e$EKZoH-QG8Qsh z$E^=!eAa@c%MdGp=yPMe?sfJBUtUL{^tkZhWG%RG-z#45AyAbcmmThYxWorErfE8i z{kUutAzvwmq}d39r~Y@N!oJidalUNaKTd_TFQ>xqpd+g5F+9}uteX)qCH`4Ns@Rz9 z5tt%z=xWESq?}*&M8u3-wpZKz^(@ATfQvXk{0_@jz*PBAL>ZNYp6(Q~9n}u%{iuJ} zm_BPvf-rFs;7WLU`yS^)z4!ejODj(Hp*%{$B-yk5i`g{i+EHvUt1C6jD>Hmj387PW z-VHQcU-nh#+z~)k+oO$F+CC*rTxPP3!({T4gWzqY@Z{+?*GeYZAh37I-%vw)D%g8| zACtL?V?WWBE*UQ}rawWbg$jA-aL1N_Zjwv5f)IcDLT@raCqVMJx!f$Kxn*q_ zm|gl_q+3@jUeM0ZP@Ebb-p_o2Kh><&{dwKim();Y%#6V+NsVLz)Dz~#7ZHM?z6qa& zGUpnFCGk|ILpC%^ELb zBHeSgGWW;n02s_)Cd$exgq5qZWPP|GdpXR(N=Fj3bSr#-V8*uwkl z;!AJp>Mjz3tV^U8rHwT%Y6Vdn|Fnc?SSa<|b_o^l{3zP_s8_VLQC!PWv_0lom9@PG z4tYh&n9*EY<5pWYm02y>8Px~mdz@=ooNuBpgUpl8M88&KC0ke|@hSUR70J>-;27oT2GQl)dn!0akD0?j7 zCC}J^YP9hBv|IH|y$gIFG(CBwzzqCL1#fes_u+c|vX3@*r+($T_11x2kM=e>DsO8o zZkxE`94l?cuy>=L#jdl|!#2%7N#a(|%El3UW>}nV7^lUx*yOAKa_+W+N%*5R&$M}* z!sLGMyy%$KKAN9W$+5V^9_m3uNkv_}4Mxf0ZOBkJKSN3%k4LiFM2F_U`mpiVKrrRr zi5jauNu{lBE*%>`^N)x)nj7zj@6HYq)FB?Z{`c@SuF1@3u0T0HQAqUmgXoC|v-l2UPM%l)7S`*QQM8&yIjJ`HYu}lLb1sBehojS0 z;c!}qfANoM$iCbI+$35kQgqNL58sJxdL?K*GJ7`;-bOa>PR$P&@8CKstcfkme<~a4 zuu%&Wc{uy>SvOb|J=j{(m)odW8A=4Oxl!Jo?bLspLob3cMc+-BuQreEyhpoccdG^} zSnqf~ehKwbvu2oeiqyZugIv35{JOy__PCj`S9BCf+R>Y!m2h7Z`&;ir@_50byS({J z+n{$)TO{C2)|Vp9y}2DvhDCAnqED`M8Q?->dkTEnXwx}({oRud9>U}Tc9__e&^GMp z%t^E5=fr>(LC0y3$`cezFy4f(-lLec4Yqymo9&w{`N?7q;{^5|0u0`RdAIjIQ{7SW zl(u>%nzDMJe``JWBs`xMhE(_-r7z{Npr>~E^`3+7cV>yC!?{l)~RNAv1d z?P(fqQ)h|RR;N7`17{IJ?X|lkpB3-=e5I=}mw>Vjl>dfqb2LN6q@c7dSvW(@l(jf=vIO+_uMSE}15;vW zYvR)nBdNU4vUFi=cT@bwdEOU_2>eC;yTm(;_nJWyG3XJT7sJTvx&Ru7MIK?VULN63 z7q>9wx0=BxRMoyh2lRKtb)n8Px|JA#+DJp^YL=+iMlx=%pFIr=0f(D)*5-Zq^2!qs ziy^D<)lU$MVT1Rz?qafqCC}hOgttW(1(A0UUe`mdqK1mcxece^DpKKGm0o-RK&e%D z+8M!)vay$9?8q8Axzj)-Tf*Uff&zFv>7BoC4ZLsJth2||Ta@p0mQSXmY&Y9dCzx;P zIf3!7??Y}sj0sPqZe=S=U(^sGK7~tCuxCSU&`8*xhF@#<@ms>fNf#z1dE4sH_6NSJ z`&ODj{zxt3`x!plvDca<+Y7LZY}_iATijb#p5%qo9XLn?lEW{2IQD|ppKg8B0< ztRm~~pB^x{r87U{OR>h|UGa^OQ7o+~bN{?`llb#k{#Ge33!#G7q#Iu({NMwv`{v3kWdsI)=s#K+4q&^V?E>|(2 zy~5P2w);IsH{M4eiDqBm)GBkLAA4x=YJ}9(gzVVhAnz5Pr{(07ZYPZ^yQq}7D zO2wXXQehxvflGlOdaLrQS@=f7h8m)$JWtqlUC<-TCzJV?q2PffIo7zD=Jzhy8nGrlZ# zGG55|z}7LfiG8&2w6NrqNV~|X9(ufO3pfv$)O((7IyamDrIiJ$*Cfa%wbvFaLN`Nn z+3-@YiB26RS*5-9T_qqXg|lizJ$YE zu>J&u*Nh9k@J6GF)P3#|td)#LKE#p>*cLV80g?r+79m(-Or!s$t8{8^FF@sw(S%0@ zKG4eaq_K(C!|?@KAw^1#uHW(Az6r0_THV78oKD&3fnwY^kV*K|_wXsV%TO!dv|{zu zom(>FBw-}n zC#Y!FNb-NsVDMSUyB9|)Nkw~^IyQ~DR>3>hfAqJViJV+fetXxFt0bb1)@v@<@eq$1s=U4q zNX?yb2&ph*YpNj|O2uiRPNfuCTN`LiW$s=k1ppkJ`J zHq2!yV{su?va1||eh_A{VNJhmyP292FGt$p)UQ^|25aV}38|jyRJgWar!yjEv)?1P zj1g3NB~Y+A?v5gH4qG0DUBf~5z4@wok~jB9>QpNUMFD?fboj%+jMRkbzVH z+}@ZJ@$=hKn?Dq?e9L#D7vg@l44KXZa%ZxY;X;zZoKY<)?qa2)$^kYQIA|EEm16h_ z@wCI0Vp#RW@{~bc2aeMp!M6(>0}7B%rt9aZEvt?ViTg3yPU0;%a@Z6hmq!jz_O8De z2cp?JVU6$G>6&3hZd;g-ION`;?&7Ak3g=wEub7(j^ord)Uc^$LXL&BHyN9A?Hx$R+ z7Kq@3HdmCJ@sjnOY!&l4(@iUh)+N;OW^-y-9m0E%!_)(ft&@@)uT8g^n|zwwu6`n? zR}MA!#>bxCEn0Gf+Bg8-A#!t`6wh+APbi`*3hg!^Kqy&G|x}MDJ1@qrYaV*f#6Azb5&%R*W|& zu&xnFF3!x5SttEUT@zl8c8OKycPG`JA1owjt>GcpqwrW%uk4t%g= z5-}pHiOCrg6f&~b;vuXxz%obALo{+xl_v6D+qt#n($boQsJd-1a~DU$Vpp4}ZH6dm zj@Z@o1b8#JJ&V`GjHJ{VTg*7cT!G#Yp^)R}Zj`g(|JvTOrhs--5b2T`6O33EXq42{ zZmT1Xz&89*?&DekQNs0WNhiQD=TWWFbSAXNrA*FsLYOjrWA($Py6ONj;W@ip&r*i* zw0SjSoth6eu?C#Fb=tLDCY!-`XeIN|!b^DD(#9HwgrqlxK$R?rHME|;zwFTJ@5;3N zV#No1SKLp*;EvkbPi4czvJ{BAz7=OBh2@NCs;mdDyjMd{{U2x3=Bk3sznRUu%fM^V z&M?&&xcF;8Ys?r*6jHA3(jxjcoY_t7%m3N(Q$6dp`xKxbuC;b~Sr|!`k3FWAIfH#?iqNu_(UfvR0`Pm z0cq$cRaGks>ktX@9t29C(n;Lz682*Zjkk9kWg_aZQXc{QW$m!hQNY8JGqqYDgto7- zR!%_Uk5S!R;RQ=u`lJ#1;Zt?)&YmzeHhQJt!DK!0=7LUH3s79=(^RxIXV}kQ9+n;3 z$Q4e$M(zoV?H-HH@rz5>H*nay-TgE+AdU0E@GBw z9GwUv#gXddv=1I&(yr3JJED@@LUK&jHLGRDcJdy@OZ4VX%5^1VrCN}X(tF`m z=zVsiQkijM&CtgwNfY~P+0OZy8k$1eeh1e6NO-ZO+I89-<%!Gc(wYa%sCtR!!}MAe z?W9H(dXmZIqQk9YJiA#hJ|~|=Aegy%Cn=wGSUN_ua=VuzgtqllMfQ{jb`MT&b=_X1 zo%mdvB5N=G`|euIO8D}+{wo7w)XeA^#3#$m{BmO*Rjo6LN(s++8V|n9NWaO0pspL9 zPR4{n^~Za~d#bq-NPojQP9~k&br^)^cBFC0CX!*CkYRx44gahaJ}?)UMd6 z3)bhDSVvMv+QH7fdL^JgTpI&1>4d8MWQ0W#s!lkkq)n|eRB%ToTWF%)YV0e_9=DW9Te)UflyVcx_m2>soLARC&EVbaL!KY9h`7R;@|Ga4*G3jnaylx zbZe>DD!zJ&>a@xX(XeoqO0N~T>@^0K4k^^`eR$-K{1I{w(E(?zyAvI1-0GmiOj5RI zo-_1!iM-RbeeqJQgX>h5YuMtjzwB|lS{uac1m(qzYXtt$m3%wb_lp)2ovjdn`Zau27w)jt{W!3NE6#J{?4DhVJF-F)9XZ= z$6S?kabUe-8hR~A89X*x{V{*=tfEf2ZnoYD=EulPS!yk- z++?=dY^PO6Mah~=E04NwmPCJ!IRm*-GSXCNZxM4p=7ZSb>C|TCwb?Rl?vy(ZOmQl= zSzAzMZ~11-=TSS6?Fi4-%i+gwaMrHszln$4#C=ydh)aRB>aF`!v!yHTRnod!CK&UPO7RZ9g0XfFg3k$l&#v@ zXL$)cWHhNfzFxWE#MfBgaGddoY5WYm#lk*Gxxz`;^2+{&+r)=83w$UI29m(gx zUs-8_o~pK#K@uh1g`MZc6GQrtk3C(vuyhI0QD`Foz!JeAwZ=wI%&U#P132NZO@uE{ z{&XOJIpNAraL?I!Hl2x9#Psd-!g8=#R&2H3cKU;3r9~X5da)mx&KEwMTHoc5Kfn&j zUCAG8Klj^w4>`pOu2YTdCBu|mo0(zB$Agl}#BQB0PZyte>dqVv@x4AXz24rv(o+|t z-JA=hB(6rTFa9vOt--^id!f}ABfHugWBEJW3`r|nNJYV?CT^QdpgobMADNuWJZ!Q( zSR13j>&LM~2G zG$T+;jt+lV4R!W>!A>>~?u;@cDU-7Gbd03w5v7gG$3z2TLV z-S}bVC)VmclSL6ZdKA5*c7#dtbd&ye`0(&W6iK0$6ST7LcPTk0t@rzjlmc}q@0b*% z9)@}-3df~Wr%`^H7Cn_}a>rz!R3Ltf4myStqk6!Afy!{)Cru7*s&xHe#*W9l6~<)V zBT(lU^w%_nB0X{4hl> z6_(hq=Oi(94Y@h75toaR9?B)<8$y_v_67jOSt1YV_?NEH34k813B!>Zn?B0D168bS zRE!rWA)W9?{!}j5q`P|c;#*wIAB_bfJ_@+;q@spnG74MDBDS4rg>mdW3>jLY@9+3w z(fASI``4502z=>pH`nC77%_}~>cFv)fq?$d>%GnfZl*gspBgd3IUxWt;xu#GsS{R! zp^Y}F+R&5^cKqdsqa{xijO7?u=6>kK2%o5Ir#zX$jUqw{5#ui#($2-1vuBgx!GU`6 zdRqk4hY=ZQaB1Iv^2J_#hO1)4YfP$nA@yuQjC*ziGl>N=B2(N#D7_4RlMn$I;>>1N zo+tVm8S#$`Sz=^mG`Vuu{3l+0Uy`2U8DH_lHnXKiK?Tkh5L*d?TUqKhwHr~+uVM&Mz;M)H3mn%)K;J`=fVrXZv(yI=j z;=cCa4zI&blIdSUH+RbpP--iLfkyqH0toza~E|YE$MJFEfPwvcrOmQawQyh*Z zNKGjrz!XQ*z~Tpndig!?VWSeZyd4s8;@pNEJqe7dshuux^%Ugq>GvYg2`3 z_zv@~K)F{b(k5SIIm+KCNlV2p!aW=hLRQK;Y9RkKiO6Qr08Jt)lsOiRcxpu%e;?P6 z3lANTnlCRMIE-kod|ZVucrTm9O)$2a$2Bp5iC3O>oFlL;80a}NqmkL?Sj6w`W^ir{ zxYWT8)7>NHwk_w&+AvQ(L0B(LyihN|=?yr&0jG~MUns^Ca~gqao501Xb=+Lj)S z(BA4IKNc+V{=T^r?D={rd=bwLEoE|hwA=&f$NP?V*3(y!c&>i0}@k4h1TZ5D% zb8FgAlul_Kz7wnPDf;Du6DZC1$>Jva#|PIwCEGnu4)DS8*G9n8C;%a~kbe2#pa4F& zZp^U*^>{m7q*T{94rGwVPQv)z?{f!mn5B7q}2PEuu$Km6dCVfoj~}Im-eN5vm?}(vrmG@POLn3|jufhD<;v~_HnIrc-VkXW5~?*o#- zP-6(=veoMTtv6JkT;^cNEBb;3pp3MH9sENXVflwLB8DzC?~nx5`ay!RuS<{r%1)*! zc!%d=i-l^?a)E+js2lq<_T6giFaP+#W4wEj9@Do483&CFfEmt+9x0WX&?c3;ON%iZ zV1`RGQgHtX2R~#g5-_wH2OhkP0flu-AV-~BDGp5{P!Z@ToBwHip?hKI7OGVq9&|yT;T1x)>eGG}%T>@GFW8^joLzuu_n9qQ&xJQ5rNV)K6e3>k-Lu^hZ2C?uGG|1#v!7zK^dDc7m|O~k)CHVJb8ft_*_I5h>HqNgp`PT78o(G~ z?Zu^NvN8P8+Ye2rIlPX(`s#xC3hX$&+R z(~9S^2A8n?{u0(DaM=*>KR~HKupj;O?Xmm=4}hF#+D};-&L*n98bhZ3uVeuQ9`3CJMoI$y29zEcI zTb3i!m~mA>VEgNurC=?prJs&fA;cNwrtU`2(Ac35fQ&q#0w5!4+wdrwO(1F8df@0C zdo6fD?UU%G8YYO}Ce_;F4zvK^`qANg&!u+<<4y z<=-IE)tBl$z%1G9s~qB?G;N2}PK3j(P33F2cT(nS;PvD?DUEpoW4Aa+Oz``B9nzXx z8;HkFjuuT50m`dZ{4Kz*c%06Fqm}6EAao-uKl>8HJp*g*IDLGH;YN@&4%@7cih&=03Gr&eVO2FKo2|@$iQ$xs9iP3+iXTHaxsBC-N&Ox5lGQs;g$7c!8X?6< z60Z_t+QR~TwHc@0#X5{=u&zMoBNhO3nmxfkP6b=WYF5KmtN8atzT2|2B1sFzRs6gn zO&G@Q;;bT#9>y((rne6S+3IZp_12kRW@SAd+41+}#Ckll-EWy*!z2MF{zw`F^IeAd zWZW)NtHUS{ILwN%lCP&$1yJdjsy+nGc&qX6ooTffy`V6=Q%alVN9eqFCT?9Q`Wb|g zJ8#4EAt|gd2c@FIF2hagsE5(3s(oQW+&F+TPAVEN@p#*8)T3h$M=9pZ{{{-YG^w^d zQs;-eS7jsgCzIY?oHgSK9PR!m(1X45kU$p{BnOQqVN?}+pnqut`~Cg7dt_yf;2_mSn33N48pZ9%=Kp8aSR`(ugwInkt z)H5>oKd&>G?`VfrTm4<*{XkXPQB}>!?nJ(nHX(!gG%4$8ez4GuB( z^^8AazBvN(xY~`k>3@eV_4wo6A`qXET=EYSChvkdq}pw5F#(j3CL&U2zs}7#KN6N+ZH{*3JE*9Wx^(qZCX0f9pu|reS3xXt22J}l!HsDr?oSHn=mEFcBCbz>H}fVj&xf5;a_i_GL6r@H{zG7^$XIXg z>*H3@?c&l)qJBsas~BE&kyw<>mK!ok9z>hiB)GlEJ4bd}A3frFmVQZIDdGjp8^Cqa zah>sa(r6zXbTbEn~@6WWC){i>)I z^kyD81*qh#Q>0MN)^_Osga|LKLgm`V;<55s3`$A{wOK@7`HjXMa@lq;UeHQc;7(!^ zwOBVZ=fCX%6UU%TtE64S|6Uw|`IDE$U8AjSp$$6}&%FEujy*ylG&8bc$x;c&|GXyeBndRk87N6R2>tw>)Px1W5Q;OrMMg+HZv zxK5~61kyC+4K3UP*7r|CyY3%c;d{1tR18mkADp-6!&ZuXVmZfEBPA&eaE%4C0yrck z|9Uv3Hosx=kU4WI{Q4xEjqALX*He{0iMHQedUKx43T2v&;24O6C!3*(2_^NcCDk_N zO)(S$nx=DP?*$c?Q5UsN-iMhHQumr(_JjuOZ{&@YPWO06T7d^72ICjg@^H<3iWs9q!W$I?Bodtq>Bd*)0lD$(hdHlN(8jM)ZD^`)R z++kO72?uX)MlTHU;xun@Yjzuo7Y!`)u6*vK-BfFal$xcyi6y+)B5bH3j7^lHS3K)h z8$u-zBcHj@#$jXDEJLiHrb;DaExnZc9iL~@oN=4R`5DE&BVOuC&A&G9W?5%IyRSyX zDs0b&*lSQ=&Dg5M9l^zwLY{fPkij)d?cE*JHnIZNpHM;k7Q#Wej8g%|k zPh1B}r$aU-TosDf_A-4rf0WuiME3fFUWcQ4kVw0B>E=s3#k2_5%7~Oo@n`9AyhG_u z;?bYXY?5%0hZ^i*Xs4yo6ThZC#^}%+F7xdo8L>su^FSgy$2LQchnxJzI)Z!Y<^|A% ztgPDBU`#ai&yqi_4KdHhn_Wfr*TitU{h`ub6dA(t&hIQ?lHHG1+-I{Ke4CEy7U~Gk zuj|^OY`D+Y>8lC~dn6n&ve`T47K0p>&2P!@ZaKHuosZVmd-Tt7n`n(R1!}a;%74wm z>O$ub96wy19e*jsnY-Hjb&k!|gDbX2_4DpT3XV)Wq~L^cJ3*U{s}OTXPo>`fnE^HD zRDWDl=$3fLaB<(#4!E-Y;N0AezfG)+d<=U^SJ^^YuY~2EZ4v(QqC^LT{JychBD$^R zt0MRsAnScscyAb2X5EvxEeKVTobqtz)}1JQ1m z=#aN=e7Wl`A&tm)Vy(_?3QH?g?ZwH$XRkSKbN1P4=qU-(nIuXx9@zIcAFSF++w?kE z^q39UBI5=2;-y5MyF)4!6QRr4gC6^1o9yQkqbhm~PvNznOpP@#Pt`x7O5pQ8P$By~ z6gm($sM77?A?7bJ@ktayMC08urh;{KU=r$%oD8Fko=Rp1w5V|eJu_dRGG6{1m3xw? zd7+&xomSu9E9Q=HM*e6hGxpFR9&_QIId%+_auz0zw!+%-^Cw`N?c|~9dYLDVBpzSN zYg9KiaLkO!v!Dxw%SgcD21oilNt@R;%KMYmlS6^TeU0qYkwX!;JmTh(vAQ6Daq7Rm z3KM!P%!Yt9AzgatlAKN&bFC4d>oq~7zdP<(+LDaxk0y52o_)zVsH9 }uho&D%3 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

    H5veOMI1?aYRSj$a0y=p@2*I~c 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%0Dd5QHl$<-*4=em_cCFr{FIO>sr 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%0A`pz3nn`L_3$ri*n(pHHb7&nye(R~11{sqFy~ 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úTgFxX)%GG0y@>hWSYvNUFTHK%vdDony1@!@A)CaR}HFC(}khB_wVnp-9 zInB9yjNKn_h-yo$k3jWFZ8zSg8HEeDjwRz-2DIl?#`EZb^uYhX%$L@@alc8{*Ud_S zH@dp_Jz;j2?RC!%rt-39FVh-@dOeS|Z$1d2wNI%f-QZKi z;a^0F`H322Bjl)V+U8}Z4k$8wdC#tIRi%idJ^_}$FXFDG0EM#yWK98L`%gJ7@Kn}3>ir$0CE-3s}lhb-kS~LvBDNT{Kv9bqZf*UWz zLe0NI1?{C6hu5b!x-qU%FK@$`=|U zbX3LMIQy`}_{i*~Cuk?JKLrpkcH&bPt5{<`B{lIAX$6S=wHo=Xm!R_s1am7~)YMsl z9h_Kg*FHdn0vQ+_45=D+sSM&qe$Lhm6|whRdm3qwsSJECW00u_@LWN00M~ID;n{KkJCLYRTki&ws z2SaU25cDPZve0-9zEF66qoyl_lGnCp;ls4ccfhEFr`Tz=ccOps>jChNDkqn;Thx@% z??yfE)&7~NmAocuPXA2QJYbZmASxj6oQmZ@L-|G;CE&j9YIVOP)@w11W+nGuGoXS$V>nv^0VV(aL7iR3h* z%Ikd~=--q@f$B98>H|>$D>O=N6ew^h>jm5>dI2{;PWsY-=lGqOu!__7w0YeQQ21)r z$*~XwNaweCBCdSd2j$|T#W2{AEQ<%uyGx@H`cOTr@e=AjRk~F0URS}9sZ8LFE@=1* zd=ASN@#{ald>1Urg_|RtmpZ^0vuRGbT_b*AAFy>`LW(SjY`l%(mbI;t(m|k!E)xNM z3OP-Trctd-9mHnN8T?}EPTJZWuhj?fi z)^n!qNjTvVEgJdA_b;WGe#&Ma&QmfxjxD)Uy-((>g6@hQ(xt#K*{zB&R8GyA5hg-! zjo$>Tz&X&Rqs!s-juX{!GuHj%tXJZsD0z_1ZOOVQLRu79P}R4bjsjGM&Vf2`7$_!F zlx#=(kb!l<7<`z$WYS04$TpIEOzLuWdo;o?9F!Ex!%>1GM3|^EE?-b0#5p2x3;A)S zQy*>f=AC7Tb!H6Zag-9m}4wn9(orkJ9bh-MT!kBOl5bMs%I zYTx{dtvD=I((cfsfIEISh6ieQ=(Mv;{`9WJ!lZW1e~k2*vR$ZX ztyURi4T>9qGH9r%#Ge*{iU-jLJ7{z{2^lH*PtsD6=Lb-{!zmsgGUE?|xNX{;%2#Z7 zO-+PWo3os=w%HSku+!AzX(vc#Q&D15bXk2}j!@oUjVvKP4G&v5Xnbxw?>m0J1BUvK zvn3`?vsRPukeED%V&~VB*q0yFO)p^F985bz@z|8B;fe5?5>Aa+=133-PlKS`bq}9F z9$Cok`S#4O{h9^}+yf@qWx?Vav)TK%X%6Bxyy7PAs?~g#4B=D4)BdI25&9m8dz+xF z%l7{R7y$nG%ll8O3q$##v>Bj&d&xT4?>TG03cA^uaTiZb?2H z&3CXrs4%@xa4Rlkne3F|J%7w7eJBJ-s1bd{OirVXjuIom`mNG3(MfRRv>X_@s20YQ zmXMGsic9b;NC2d`s1(A>geD`2l|EOBQsj`g5 zVu2WYtD=R9wX16{5)|p-rb0PyGY`k(>4Re^UY(McL(R>}uHA(RQ&OLf-#PQ(Hlyio z?ZLKBd|Oy7=eJoi@$Eeq>0fnO@`NWvh@DbSo6mzes-VA7TJ5IiVG_Vxe(k4Ns2LbD z6nrhAZ_mr_(Kj#(rNBa_%~jy9%$NnuMaz1dB((l z+PuHpobuau=Fsv^j?Gf-aDtv9GW`htWlOf74uzA*`fG_Ox&uG!b|1 zYaEl4MHI-EOG&`RU=&}arUTEaOG;8QbZ?zw=&=?VwjX_-6W_U|mN@j*x()olv>k%Z zx)W+pto8{Q_RStpC4y@&M=gq)SDHV#AdWr)!|)TZL`PugGQ>Y|526Ded4NY5yW^IV zuPa^lzMDS`VYJtn}NC+JFup=XG+CT+?iT#XX%mJh?(;2hL33a90l_u=G7QOX)uMPrpeZS_3B76VP%!!0PbNI>OXIo3!*n4sds7PUX@X z#nc`taH0^H%vF@XG`y6rgAJAUL%fDaSMXKver0*U07W3UAGItRByixH(DH8a8>FXZ zl*MAd?@%*NbhC2@sKNM7!cSOaK8QE!f33p$K*BCZed7tWp14D`DB( zMv2%BvC$p`fgVq{?6sAkT&2gr7yW2~14iThK|bLUzrMIkQcG4+3sGrJVuepq1q(c& zg6_G)xXltFut~(~$g9NS2RA~%Q}|6g^9ikT;>-TqGfP&yAQ#;jK4jcj+;SI0qE?kw zY22WbCO(^8_Xe~^SGfae?e_u%yh?`wq=e>TS3n5|TyzUQ4njr2Xcj!8OpS60lwCOF z>0lYBGO&NnC{3}^a@>@J+Ai5!gxWmo$3#Hak)0+I`}u8I@U}3;@1Fw zW1!s94_OEUA*5kjn4wX~5&%=2O7)#mPX*XTgKlTW!BOIV#13>loe_RnL9fK6SIwrK zadW(^pb3g$Wv=8)uA~ov6*S8C6*?8KvA16tAJsgp#cM$sQf2aXoZ_-*lvfxrh>&hJ z@KBOAI!GBA4HSWJ=;0{t>Jw0{ljL8L#LEwI?7+}%8h`j7iWrXDu!b$n== zgMLwu9J#T*N;sMvabEY1CxcQi8^@EvKMx^NPzEtv1f7nqbu{**FCGZ3T#30C4@3z! z>q>gtqwBK`rP3=*Z^HApVazgbf!nfIlwblks;>N+c0wKtAE*btxJ$IY{Cahl45y}^ z>8P{$SnCA??vnO^iluR#*>T5N=X6M5@90Hr9xiQB&oYsjk~{v;e34SpSpe9^^qt;v#^;yT1=KNMunC zS_Fsv#Zw*_J+Y97_Lo!SH!ek=o)-F>c8HoBqB3GIA9#04sAej7e%8~?cS`1O%PWp? zOR?rg0IP_8dBtAH^+Sg4(e(zb=bY`S``Iw}!R+Ph231BvHH;L5+arTK5Uw4cd@R=R zjUM7#y+ncUK1p(@X2XuA)=J{b{qO&5>6?B!w9OnV`j^jNM(ehSZfhz(UQ zu|5qD<9%BNrC!Vko%x*2a!Hk>e4u#x?n566Jm^8kC-j;mvK#@>~hJQVZZfp8d1Kt?RZ^HayBcCRyx2s2c&7Lv*4@dgt2$VRNqA% zkGY!Zuokw)5KcV4iYXSRR!!N&UEHE>P*d`si@fn~a#Wsgw~~a)I_E3WSMNfFgXn@d zwN$7IcrYjiR7&gh1shitx)cbBoq`{lvcnFbZ!0a)#O%|x7+O!i)4CVW zoewW%8CV|Ia+p`ee?R+p+*oKBQrReIK1}qf>AC9rH&yX!6&TA6-MO3avLXv%0hZ=A zp6b;{C-;EsS(vW-{gIO+xZ_F2=C&iavh!`W=4ThPuKUPCtYvSdcgx-faK|GjJhZ?w zsjE)-BPR>=Bvkav)xKRk;lnOXwaJ3>!>cusf{n#9v#A*Sxx_E}fyKD!@UoUne1VVA z{W9U3T80s$u7&8M4s(+!-e>nu=VCVFrlAUh2m!7Iu%S$%ViZbs(OPEmRS*Gta z?^Vy9c>~CcHj6g>f7AtbVPMxRKY1`6JS0M>c04{rvr#1Xpkj)$yZ5HMk)~03d84;I zv%5XbwGMXWhT*rY%O(UL(2hHMO*=nzIHw&yWTx_h_Y#DZ*2h?Kr2)I$DfzX|wyN~% ztH;qg-CB~f(#ZRtTi4nI*WYFGU%U*Pq+iQ;5&grZehpm}dOCQStHNP+jU-z=sI%mG zbXRST@9jVeZPwdYvwT(=F1Z;UE}d|{kvN7kc16h*xKNKFi4H+%{ZxtdY0ftlTEZ7x zH!Iko!JtFYBV0@Y*SRpjYTA6=r;SP9h#r31W5XE;iCF4booK%-6t&I8$olaazr1 z*J-s=pT43t*0671YKzJ~Un=i@y#4zVr0mBFM5!9UxImG^5jsWh5AGFqW1!K zK~+D<-9>rFh- ztb5xR$Po-k(%--Xs$a4GEO@W@g6^pp6wbMOi)*N-GLB$hG~*-a=OEg@w(z7nlleyl z4_u5+m-Cz7iI#u=%No7}VTBwgRpq(e0XV8V`*EkvttDb|@8TC!OIgYcW+eCRkfOr- zw-Pa;Id7-ZMP*(sx)|T%v%S*$S59?BcvGA2FAod4h7LYF+W&wRf&+Cfi!kj^4^kLi z#5D{C6%Bsf!;3`h%;r6CdBN9+Emr2tQwiHD@;wYnGhwS5N_nyeA!*wtg*wYNyM-6wb>bL>0=;jl znm77-SyRSQAwy(L6HoAaA6cd!lw!wH--&slO;~1;73mnC6O&y49YbEKg0DX1-mlMR zUQ!J7ICYdm^&wfAIcB2c+{4xkh*7-?f1A`@Z-vRIMym3j+Q-3Z{jUq$1-s?)lD4zi zQ2#*w2JMp$oA9*Ev~%#CU@=OS_RJLwWot%9q#vZ|(_G>EOr1VtE8UuVH-=>krVT4d3|Z{6w5{WpVsp!wn5dq!T1{+ z2!D^0|c+hjSB z`Kvj&gmS8l9=2ZE6aRj`Iexa^0ao+|osVs?Ng{t+(Rcn(5Z~m__$f;>)8_lP0HeK!5tA6=01QWtm;2G#J$kRna z{?UblGbyrf^-`*wr$Oqqo*u*g#l@h9+v^4SFRXt?Yvs_23TzzB#$D{fvLfFVoRQgH zceU)hBvyCuf~9Bw%$j?U)n{(8(iI5ESu(l6ltUzNZ1>Uk`>eI_e^&P4 zXE*)r;#Ia(W9zH$7&30oLR!w$S+_W4(k2^JK(lZ2{!(Ni$K&4htXe*P57GD?aK zR_>ODK+za`>vsH^yy~t0R|^{Ae7VeG@gJFKZC*?esA2eg!7%*=Er~ zAaFqkoCQZ5@Bd_Lubuc`ZS8Nj|DSB_Ke|WzW>fA@{Fcwy28j?nrV3l%s1+-Z1?lTd zzL!LSG9VIX?oK!*KlNB8zbG=qhx!BqoZIaiFR^b&-eJE$S&+9+PMQUws5Wgg~8M9Ft zJbr5eGLJG=>Ffo7|Ihq_2`Bej02mTwoHA~KV%q1vEC}DkQzG!|vd;dR6&sNON#Wbh zKs8jxU&z1^=hOpjV$L`Si=(GMP<;oU_^?05FW)xM1xGJ{d!zE536bx2$&WDvO3D&D zVNb~1BOn7Y2a&2hwYeC+`I)rq3Cc#2&LM`9fezoU4$_uh4H1_ z2r*vp?6@Y1*}|&y?3*f1Q9k>a_M`GH#&hLVz`flLAfLWv@1$IX8N=DgcQr6~TcTuG zYll2lrfxoa2WP?BTDBoL-$AIh0_-*D{?ApodlSSQdUv{HM0H*7Nf3R73a}t)!I3ge zFJUz@qr~8oEdNoS^p)ezYxv_hIS{Kf*+Z@LO zxVnpQZqOcS#0@WSxJD8W2ryCdiKtXcVx zN~Pf}RX@JphLc-8YMd|@1R$CpY?FLml9BOMf(0=oLLqXmfIR!kiGCv_q|T7t*+V^_ z92*GMRC_%3D=Z1|`-1o1Z}|zQ4Dc(?ej4!IbRTGK-Zp}qoU(bQ<`x@F@w@}r|8u?y zR}38RzAsgd3EIBl2XFN5<$p5Kjcw3@GqMy4Ru%wl1rKmPp>=n{`Z+$Ro}McZy9%4Z zScZ{YXAN+^%ymVmJr^MISK6tW zx+c}do<>tHP+N&9?Qy$Nnb~D9TP40m#`fw(>jtp1e>T5qr^FMHM7fQl%~f@RY$7n__mz^2G9f%wA(Km4%~-lp-TRipx>rXJJ(GKQg*dvhHCI3nmK6 zvwB+{{j)cEA&%~28r><^kd7OrUD*|dE5h}6f|31NZRYqj zlCLq_BO|ofVi$`Ns`r1>H_$O$R_eoRO`=^6l`~n@`FrMfay5x}PGUY8oxw^lR$I~k zDpF2Y-Q``;g3~oMBo6tcIp~$~$L%m-uRd=7$8q4aZaS1bJ$@cw5&f6r!TtN$i{s%c zgPZQyAv>Q5-@8!?lKSbq8UJU=ke`J35S+3Jq&!ZQ3dt22tVX3=magLckKvGZT3HQu z?{k=E#$goRa>)n)Y+y){QV86E@chI{vYkX$zaA@c1jj*<#D0oC-(67ko8wkG<|)2! zCHFuIH)9IgUczc9t1}|V)M~J)m8G~e(FrPhO=_b1sFcHX^1Wj;A=RbAUy=ygkADI` z|LJ!>&%@@o7g(>A@s-*7v#Cowrl#JH7ItRu_huY@z1uUj*34>L6(Fc~n}gzBDZW#{ zs#I~YlrWcfwf4|94osd7RdzkiyG-=N)~v9zw$9u0c?s|KEIpUZKWzIwcrDr5TS~FE zUIn-XO*a#+vM6^XX>6sC>z$efa?jn8dw26jZp2@fd)w$BD>uN@y${iG#=_ivO!9s- zpcE-dP`!MBoV{z8p|@ep8SVcZA@tj~7GK!a0M5NT$4wb#=B_Bnl#t)l|pe{;BE+k7dV*KgSsGA< z>D*L#u+BAeZc{!Qbx(?|#c3sXqc)b(!3%paI6MqM@e&T_ax;G?-Ym}5Z|3WHv)oIW zXJJ?R$Ushq>xnTA<)pjzd!0Omm|TXT0oI|SUq5iFYxHUM32V5+HdXg}g+A>V*$_Fy zHaN4hTT9q%@FI7KYQ%MUKocX<+qyAscvB+Hsz>eU=bqlyNMxkfuHKIclGy(B&KW*XjekHOE%cHhR~DYU(D+7{x?9AFY` zt6YQVSig%~8GHj4k){rMX?n^{z%HtHU%Y}HX(^#t-l2GWDq^`!_G@GVs5#3=Yjsv| zY0BAF?UVNtwBAW=e_u8lN;}6R847k@zQ8=oQ{>8(A(S?r7M;iXmbz&T8dH9jf@t}NXYy=wnaVP?@ai;AD6KT%beHR9 zAZ6js>Y{7($hv!UB{NSs`Ag{dG4ceNOJG`HrI7vy#gmcF@9q2}!&`40c;}^CkA>(! z{C2g&XSl!;`|~$p2#4K(hKTLNlmqLxG$yzh*z}l8HGd8GXwk~ok^U%LnIyzyJCuaW6UY9Mv zX6$m$!HmAwDpg~?+JiJYY8Kh{(pmRj4VnsHjDTH#jEcymS#!oNnSZA>6;ayUx{?oW z*~T~LS|@_UemrxNwLa8X-kY74SJ$X-!5uH@mXGN4StsXHfsPU>%6XOsUdmI+v*OEl z@lZ^4+^p_MFd?l%*i)7GdL7mLk~-cMkF9G)c4OJiNMe~Jx0%|-pMesn9}Rxq(-_n_ zh!8aCqHq8qG4XQGj^Df75ppS9o-3UsguS>oeE!dM`OPv%IA^~m(nMH<-s_H~N$4)B zajBYAc(A(zx@uNa?v#z&v(p1#!n21du&6oI6qAd95wbxZqHemm^@@{h=-c$0l5_(W zzM31Kp!$uSxmR( z#~YIS+5=4gh*%AR&tD@}@Z0~5I_1;9s#8+DviUG~Eeg$W1UNs_uMdPY)OQo%A9!9O z{W0D;$llbg{~@BpmR2Ly2-B;|6*)Bd_JE@dW(8dyXVU*FyhZQv(oC(L-FHs?T(@$G za95&JwqDKI^11Hv+oW66yXCWlSSn^B3UU1C#s8H2Orp2FRtW{Rrh zBKQHqTi6%j?G}F3#RHlbCoQ4YwRtU!Jf|Q9350L`R(BD(a0fs`C6k69oPJ#}T0MF^ z&f2p(m&qCDgETDH`@;&A@J$ zZIixUjKopiwH>tVf5K^q|Iy&RPg&WJO?7}J*-R=vK&75g`)OX2=40bsH?(qy zpIBV%_u`*9Qg_|KJI*`0?)aJa&q6(%*p46xa9& zf$=jY#V?9Zh5fiDDRsW78vN)Zft?dWaeO==`a#`QxhRT!9TLVbrdd`(N3Na4J1nih~jWj+MxSmH{Am-VN#kecu zRNkXeUoUYR`1xv+X*8PhQ!43i+xWeobxK23*De&G3zEl;jOjTb9xkG$NTa2^tGiI6 z-Xh^j?oSr2rj}RCk{+2-pIYWhic)|PXDXYXm11IZAYSEK<55uc#c)SIYt8mE?!!Q> zXdXIB@T=z1KFQ|O7DPDhKJqs=)Ub#ioI*pN4N36O8g=BwE7Hb*BoOCsR*!m0pb^HW z2n(zKF*otu+RFjv3x7H=yz$D_GR zBR~Fvmc;X2+YOamiFoAaMrRqZCT?Pp;#Pi%a zfSKqv)qA^v5O$2ZW+pDc^l3fp3|{I4>+rbX9)XyjP6LA`q{Jk z9ws)crt=TwI>(p$@gOFB$#IZX;3c$0lz2r#IXB3Vd+XP5eLwl=j|b{?t^C%K ztP|hRm&z4aO}!0P<#Z~?M~-Wtapmp@NL!Xxj3#NuEJ3z29k2jeP5b?vu#dy)=vT6V zH{(%9#))S5{bc1hop7SFTY#zMd`x_Yug7Vkn@&UXrDY{2>HL;lz(11%`4*d`V+ewL2O&W4 zP9GErZY7+p`itO!h5S)0QoZ(ZwTCNvRvdvvpU68f7Vn`Wjjx3+U7< z-q2%Z{P1#u1C1Xwq9}4BFqyvJQ^XniXqW!Cj5fQSVS$`azH+)i0h?j&`1X<5DZ2DB`XIMphzzoG1LN0XWJD(} zMnX7NBG4$+rV*gx4_f}cXp1A^Rn0OodrQ&>lDPBP&^8;*xIjagKJrU@U;J=rg(I5M zI}puQn-LsOy&j(T@ zi;4&}d*cs;9tKXOYi`;gH#f_3FG_80jSXcg-S*|Lr%cB`UYSX(pffHqr zfFV~MFysmYhFm7Vkc;@`w*e|18YV30Z-cHla{cD0WpjK`{|I`#AM2;@)I127$rmC5 z_zLsD(c=wiq#}H)^|Cic@4Fc|J54VHx4u$U8-UtE6lDJ3TRm2gZjw)T>4=8(y)T3dmH}uh7~vw zg2FVbS=j8l{A^;*J%%pYZG>OQjB^hoQL~BK0ka7ycE&!w z2&5E?A+L&D7O3HXq}J{|U5GTWQ$C=0^2f{~DcrX}$?8+>e86&`9a^pH2So!^tTMz9 z)h1{gPGL{%!ZWnbyyR^NErB~_6l_r}Mv}=^;zQbqz@4%$z@4(empf&&6JHi5IYBB~ zE?ES@V#>?LJHG*U%Eo{@Wv{58$H3(qB=__()!Nqg4L&7loztY4<=++SlQsm7Abb|b zA368)OWb@Axc@)uN4mk+VXWN+qsF~=Xrq4039nz0-xzrIs)rAZm|y8v-G>Q zlmv(QLyHs=VH31Kcd6Qu&x)Kz6 z9|1Ru9~dj(W|4T22>mEbX)eVMf^ISr^b^JB0`d2inlm6()VLw(w zdHyP+6w&t#QH-etb}6Sq5Un*61mL^G>L36XG5}!VA34j!B1dSI&&UL(AYjQ211z~U zV)w!>?I<>rh#?m~#;N_o#MsG&V}HFe_sK8=0eEGzH?L3Ft$yKCIz5Nzw;XohBpD&d zJqNYc_xN&OT#VAU$LIdC1-+=Ezzs8SJzi6P8lYws)zyg(1|904R&TMdmk43locJLc zJrKB6Cehgn+$ys`KjQ21r>=u}Ipas>oKBx9AUQE1ID$ zQ~)*5vwHcsqr9vnRtq7?x?5k4m5svA&HBG97XTt!BFN%dW&`aYP{j8HLB>f1V*P?A zufH3Om|9BLSIjrOm~YzM_&c`@K-9>@=Ct5`Tl#*cgY;>;iz{z<2l6zh2)s0=BMVoU z;5IvoKMkD$11=sQ3Yc=MKt!9eUz=7^TZl;R#RL07V-$heA6hF%hD2S}xmHpk08?(! zPDI|YhrjYCD^n%+t#{GBq!c-t&5Wd5j>u96#s{~&qEq8s@?;D>vF1Qj+k64rO6qUN z9MZRQLy-zab)DWU!jCkkVuBbI%EmL1FHD^~zs6qm<^3nAoX3+I6{x+QclkFa*F zv>r*G;#?db%ibt3gh7T>liA~gk~%{e7HlSj%33sngm*qwyUQbWn@&_?`yE43V?p>{ zo*XjA%oH~IW3H(<=i=T{`cidx?q{-d+Qek}@=pt`RP2IGR}2QTu(b)=$xZAR8u>k3 zpW?#UyF#WssZMq_{Clvi` z^X5LTd2(lM#6`xU;1vAqcB#jMIL;9r$7#uZ=}eK_yUrP5cV*>T&$&T~%Tq=tAp?0B4*;(pW-{XVC8eJVVoz5)YNT}d9?T|h* zHo)?7^lk#9n^E0qf0#zqabUB#8-&ZDM^v?DeKVX^BzI`@YRXKYs81pYcKk8#%7fcI zpQ=njjC#Sr=5VHUbiS{avveeRmc`@B*ebSC;yk}tA`O`404 zl-1eG;j|&9hFUQvN%O@VM85~8$xZ3$g5%EOQ%EPP1lC!@2?ygZg2=9s+7egIm}?D{ z-*JL>m-xrqv5pZcpjwLtO15Wsl*=k+Ejh?G4)#w(S9LDk;HPXo*pn485BQ9zb6e+5 zvaYY1uUT;x2g>4PjaoNJK7PCY=1Gg#xZmK!c09SnB{)wUtU&avUKu4l*Oj2d+EZZ1 z-zGb;f_aMAO)iZTjVRBO$3%rId#1!%7^Ps#l1ywHfg+UyNv7j5KZ|S zqN}FX$K^+_m`Az0pR@M3Hr$J%Cw9a7092?oT%DE|*l6R*9l!0`g}lp~O+Wuh1&^T6 z@&f_ilx*?>-jcJf@JA=(2_anvTRMQ&3PHX3s`Mcc!AvwL}p2duO?oy$A{i zi(rS~Y-Ia-;;%#8LvhTos|l@oa+AMdHcji(?+iqT$m1g}bkOz{%<^;wg#y^i5Xgk+$Tb`hv#u+xRPRzYzB%@q0Oh}<~ zca?eDiiqA0zx-nY$KkAG=ploS$#e6eJ&jR%Ets=^I``bn%YItw3vV`NaR8e6hqrB! zx75ek_^I)&8dq-NY~ixhmyLJBOCDN}tD_?Xw*40(w^f97t^2;WrC(fHM!5J{-byTT z8DuN$AxE@?e#3q=(v`4E{doL&WQlh@XvfZ)adl)Em#am2ajfGb{pHcuko*!h9IHgK zQ2F>7tc0<{ucsQP3;YdEQK7cSej*eyC$ z9q#!pMpJh}ffQEO-plUZeeyUlH&tARg7M6}9vTjj%!cgiKqBQ z0!4#@B}JBvQAQmd>T6t<-!warkasBS}EZ0kCo4qx< z@zF8=gT1$mt!quREzRthA!cTZV}>|piaCy%nIUFoW{49r^ENXxGcz+YLvQDtI`7o& zy07c0Tdk+=`e}Vj*4EON>^0V$V{Q>zUWQg3T7)~i?|o336>4?k3)w9qZ2FcpJ!2mF zsY>fINLxnsrqIEIf8j&0jO<;Z2p{E_Oronyj#SbNRo_kCQmgUjy87jw7t6|fb+h@z2E8md%T$ve!;_sZ?mm_K8@g8LqX)1bEGi$Y z+Gk6Pu1)5*R|sG4M)_XOwN@1MO6TXzCh(fhe9Ytx`;XV1o~!bYQ^o^bzqf35qz=>& zi-}%`IyLDs;)b=m z)jPjlp?k@MN@8Wa;bB5p;AS;eAKIUcsIy2W+w z`Dqxvz~P{CuMyUI6j0IFAsn~FLaqt|3drK+chMU_M;SF%wIv)^&3uWh!`U3AImM$k zDT^0&P80hS(?3+SfOBE6BnB!Mb4z6`_Azh=cESRt`N`VRF?CHPs+fh5jU9c1%gh@K zFMM3S?o&fNCC8o;3xZKfU5}4#5>u)YZoOch2cO>M|-2^g4(}qofH>Ri= zLb3Z7Qyj+sZJe@4d_jYZC1O9t38O z$k~O~D3~v$D+`aCliOGKO?(55{R`u4xq!URH(2T@cK8X5xSW1)|8qzz3^hw?`YU!q zT@*@P{7hK5&ETVrC&2Aw(j?((>-<`WJTU=^bCh85-MO zerL_>xNG8%8{=zw@(>6@3HB1{`HB{K+vv)XUAlJ<*uQiET`qJ$Bd4w~j8F^kuxP4>UXp=fR#uf9#V#6nt0W(KnewS)^ zBhVDy2qlX<*2`>6b!^^TYv#~IV+VHH!V7E;2+)JGW!hAT0oTOulwvt1;H5;`z40<( z-O=&{2dJ#0JWx>Gy`TG*QI_!l+>mVjGa_;*Yat-$5cwX6IpOZ1;D3cRcCs+q(f zk3Y3OLKl~5@t}Xz-Ar*s<)}Cp9HD9^an2O-*IDB&88(29N4O#}ya6PmV5<38A zxDG)*{pKJ~+|b?EBCWaFZ7=07!!IZt8R?} zn=@3x`$y7<>z`KanUWje;uoJ;$ofSRj7V4G{C2(7!5WE&tnDla ztRc9NQvBY1Ri~6X%B;?Li-1Z7rN(2vP0F7k-h}L!n4j)q80~Gz`;Mmj~`7flH*7^SHcL1D`HcF#v+#?x;saNOFvbY zH-X=Z|FOWe4`b@Z42O_40i56p0ZwquBx~1DWHpz;V*dEq!06Sl<^L{Zp}yDj90Ec! zke@p}duk2N6{`EDBC}c_YmraoIs*97OsiIhF1eW+4;sR1`&V0eTJv&1Flr4VtwZdTOnW zz6L3v#U_)8KmUoi7AT>MiY%8FE367dyBvQC9qWhrfur_zM@H z!p~iJ;1(K@lV-|!>;8VTqRcDc0w?z0(Gf9?&-oQxN|f zbquj3-G_xV*{SS_Ga(@u)@?88a0@^st-im&sT@3e01i(fSOY(SzuF(-qMh`4*~tXu z=b|%9}+$5IXr2eoSxVOaw+}lzC+J{PnxuRTEp^0j0TMWfM|K_2##lLwd z=x<*WW4#B6?&;7Ra7wZ2ea#?I+znbr%Pa#eu!z7x6d<4kl05tS zGeqM$IB7efRl`@`ui_a@#%&lB{%)&=hPl~y`}3Bbjzvbqe(+TX^eXv@{EfJ1Za zoMW{K#JO9hdiwo8O2>ABH(ziL;B9HhoIx0DKE9gAxg_aQya1(_B zIZP5jykmIpQ|ubTY2A;k%{#@Fuk7zVEz-T8_p68>_{VuhQEjLMk~gP@G;h2km3uMz z(m+Qh#^9&2cE@pRb@!9TSgZrLZ6?Ffd_6uVDb@{(dH^*U+Et&ADsEtbG=`Vt(h%_@ z6tnuT>0i)LAJsu;egVZz%8A@YHke~754u5Nwn-nX=NmCiT49isJ1idfqY282(dt!% z^b{}>|2k2#M3{OzS(>}56GKu`JGms^&5uF3;&%jRcl3 zVQ{vsS$dRaobRa^Lw6f1iGVF?jOFnv6}L#ijUxoJQ36uiCR`_I@})N;n>$RZ$nIt4 zEnP}z_rCkOdO%aia}|DHKOpmt^Urb+asF*Kh zK?s_h@!l0Xdef)4-0YG;1Rv69sS4S|KOJk13wj(2IG7u9$8V9#zHV zmzS5)$zgI6<~^_!zl_S?FyHWnTm8{>qJ{ImtIMy~RH5pX-GqnJ%Jx>2d+I{yqYjlWCOjocpMh^~_dUb*Wd*t1G!>*6|AGAM3{tv*$j^RNi?C4}uAckB zHX1L9kEe2jY4k&=lV)nC%P%|*wfH#d9986L+IU^lRpz|!*MD+9z}Y`>zaBFn_xmJ{ zyo}!q&*SMBW~5FHm612K$}+gKuhSfn+01zNF*WPMyPFMt`Mit<)QI=7Neeb4Bs>KC zhXajYHr|U93ID>W9_J-l=@`;S3tmjs)Q;Z5|({#>7%?vVs)iW89_ zhU2e1(GoA&j2ua}9GN{wlqT=>QHE>BRXz(*NH|k4+Qb+>ss0irXZGV+pIwkKQIR30 zr=*B?^zB9dwUOd{C_ax)X~t{pK}XQzRs&pFw%jas_%Ve)d1J%Z8snsW91=QvU3M{3 z`c+sWam+HHGHU5Vc5V=BK%tt|N%Zr_h@eq?^)dI(pOjS!b!0h^S|?Q+3?#SxdlPK5 z6Y~?LBm@H=f3Xbuod+$P*FVlHv8u&L5_l*dNWK#VE$EC{)Lil|fQ;(*bjvNmQJQ6! zmUX<4$?B#9Brzad-h8)86+IYvLVVA@~cY{PRb?oMu z-4H7|JRzNr(RJtKHuebGu|+IA>&&(}B3hm|p5}(@Sq)$|DqAB)a;kvLFvdFI;IVW` zrxnNzMjFGXdxJ&&Awz`@V6>)Dt^;nW@T3v5in0JJLR!PU?x!h=IGViYyb+K^c0Iv~ zvo0CdUO85O8%jMavS7$HmYu_XM z-dH>e+^)k}SazudKhfhCS&dKM8K9N)FecfvTE^^>+|5ki)o6rk)s*z4O#_b(P0cmJ z0Yw>U^`c6ft8DA0Pm6{c;YnNdFfI11z>9#FQ)q;HE;it(Dd`=W?irn|nO5Bl&#;PZ zs6^(^5Ln<^6zbzU+})nv-``glhc-5eKe-E!q~&P2Hh&WwS$U^tE61V(pO6wgx!(Lh z19kmT!u>9PWKcx%d?Ay`XxPF%)2f}aVHy0@)PHops_{ETnh+rEqc0UI>offh)A1Pm zuR5NfRpF3GGv-tT?knp9Ve=HhCyelB&Iq)73OAw9M9gqr@=zm-!y)HdyB(h*kif)` zwLh|i&7WRvJ}Tuq@Q6TI2?+s)Qm7m=4Tbu|>X-YxN#s=?f0C36Xn7DC@>y%R?$z5d zT- zCY<8FejLs`M7Q5^%2?_LJbzxW;R)%iIw=HM-)NAIm#WX~Lu0qSHs@Oq)K1(Bs4t-N zYaB{k9Luh^%4@V`M4KQeYnA``aN}R1UfF`GVQU19kY zJysJ6S;SJS0kBXqTby2Ss7|h3X)3C|UVKIOcuX0v|AU{ZOo!;APpfNMVkl~?VB|BL zSupA>O3vM&5~L@Lu_)e~#kuoSaWP&R?h}4q2J?PAdWv=h$EB{WD7I>Tsfer5e8ti9 zT+8{HT9)Fm-xAAREpz!EU+#X3&LsV(r$8So@~cM~<<^0}XzSN6yvgH`P#gHyoE|U5 zM64%nfRiSh(#{j*pHy`4C2?~P@YxSoA5$aY!y~3>S~=X?Px6Y$kD}mDro@T8tQb?e z6-WB?=kUwWOakq)QE%d@a9U-v9u_}M1U!lfXuQt5iYhi^OcQ}z zC4a?rBl}@NX}B2dJduL!`kudcc(w#glqQIghDue;qxl$Kv!}d;gy=)jYUIZK0d(oK zaW$)>rj|hYjsZV2|9sKHJ>&;gvQPZ$MK~Hpj2SbZLN+;3rK!)Unl!OpzEl+OO3B&! z_qeW968f@SVqShoVYlv!S+qDhWlI`m-4wK58KWFG+q2G35_NGv+c=_QxDh!omUauW z{`N|L_h4WBiN0~^ag*@%zL)Q1u+j90mD^S76DqEHEVHB~Qtx4&y~t@)k?Q#J=gV$F z1b(hUt*%WBjgX+4sm+vD^H+C;*PEVmDq$7ih(pWI8K456F$P8A@YzXd$ppudMyc$} zp=pL`ZvCue*0{0VqDAD(i6i$>0-NQ{qVau-W$$g`vE}0GDH~VHk6B}TuHhc7rk+m2 zlvg$6UM6Cyei9PItS2tp`E7&l@5+WasSoZXuMsZ=uPTAz|#n%oJ2td;9b$l`3I zeLU`p+s{;6+NDLcK98)ETQH&POoUX|^MfGSCEk4TK^BR#WINIr6xTj0zpYzH ziEpkS@s6KGQa|LXWJf?ZmOU}_XgLVZYpjz!6al?-Np;RsLi`g!3U8szbXl~9Z@+4WD{>J7xL+gQV_)MbI|wqh+i>Hf~|DL*m>o9LXI z7CD1fPKL=(XE#qVMC{o0i%fqrUEx6xF~$ibt5>QfZj>p%_y8K|B-~zt%D6n8gw3tK*pB!2Wk$Zdu(o?mWP;zY9MX(mb7N>g?5ns^JUm%HS4~-Thk&rWck(=)OLDe z;|pT72fe_NT|*DJ~!xHYYyU*q+|ACpD}@H8^EBRK>ZsBKaq2A=%j+{5K& z!!H2!4o4#IyER4lpwr~ET6Cqt9nohviMl)>%aLO0H29ZVAkVXKPpaK4&xa5fPu%E= zXI-Bg$nz$~H>D(eReW}6%4XTrfI9ShT&em|mA1PDKaY86K?IwEkwAb;jW|VH(;&eAF9X;O4BJ(=tR-kjcBXYG zqScmnn12fNnW`L1De~vVO^MMrr_XeqTZTsV311Qj4VyJD4G6W?(Y5^Y6W0C*ens8+ z8-Crx(lEydo5i|~B$qHVj5o6WRnE7e9C`2Xk>R5MBhBjo$83RB5!KTgi3a_A;i`Hq z!a13M-iY)FuW#rI0WqHKO+xarI=Qcbw7RI|EoUyeB4|I6+VV+5Fyx zd2-js26h$`5+0;2)Hy_*fGo31FVZpRJu)$ziO-mHl5$JT4LT%Ih+KyfFwg)>=a-L+l**cK(@6{Y;!MMB8 ztes4hM0&GzVC>$#cj^ZbzAn;(DRZL`RGG$7`sUMK^uNquAC^gm&Um`A+DyOiz```W z^L6+vUeJzlgAj6TAZ*qT^3!zpQjDd62MjE2(9z-y7C6G!5030~h>(|`d{tsTO&)c* zrj-WGbiL-{-oCv9u4NsbU%t+RO$}R-NxYR|xyY+*7{Q50nVCZC^u|J zuz8Jami03jP}%fJXgw#RQ+;k4tGy3c!=LM=UdPFBq!PmlCZAMHXzK${>e~Hby~~L` zW$vNX9$1mZU-ps=A;%S|pn43cdn*pJG{PFv?MJ|ge#S3#4$8_wl!qVBfcnlFUBQdf z)o0{;RDSii5X7YHuH^YsA)}4qI&D zbz#1AGQteoGhu>yMU;M?lN8yB@nZo41F~88|NpYt|KvRXlk@yf&htMx&;QMGo>I%y zB*ffB3ktnKcx3#<+Z*x3&TAw;=iuirJtOk7oHGZsLntSsp3C$M;7`L{S`M`1YjSwQ@+y}7@3=AGD2hp{0GtKFP zW*}v$8Ue-imTQ>}q`^&?FycsUX4Bb=qG+j6H87elWxIBGx|gA5eabnNXzjrrFW1mi z7w@0x0ShF#(8MPg55w+!XJhX!>RdYilgIs(EIC7^I&Nnf+Xc`#fM*i)F>KLY0yb|v zFk1Cap>*1eHHF;vh80#OX;=<5j~eF|6`ihhCkI1y9zm>mNG=9&u+TY^V0~^qf3P`9 zH6VPIYMbLf`2N74`>5DM#bDrq#MGhGl1pWP#d5`?biqc}pL%BqxzQJ(a`OM=d7~$>tz;>vJEuu`^&| zs6X}+0(z_8d-t~a=~Fy^46-XTF-Ac&3;@L85^PR|bTN=_9M{#ldK1||`jxby5MK+Z zaJD(Vi+?1rm7K?KG;oBFh+Oe9xBJfQcHCZzXUjzvJap~2J26@Hd2!?IOBxgIJ2;q%nw^*qJHPz!umk0mrzcbH>9#N z5OvsupMf=i-r1m<<>Dl^{K10o_L4T3*iuQo>Ex$;$&V#rezjPdpb9msrFW%1+3E}S zMc+F=`Hf$n9X-A%sdyU7Pu%tKzPdKA_|b$8aFsGCIBV%1KPHp5&R7>-8hS0mWue`+ zHN%ktC>IKpE1L)aGB%Yj_h~tz=kkcD?#4$StuEZJ8pgLFFKAC^J2 zNS7UxE-4Y}9Lg>oN&-whJJHtxopK&&gX?o=RN<2Z73*OPr)4YdP62$o?V^S=gRp!{ zrVG&6;p@VO8a=Rt^3*Q8wVoNB1l7CaAAXfDRg1s7IkR)@F^6O+*o)u)1Kg($KMj3;%s!>o+6B{~6{;Bb(V7}VWCIYy7dbr99z zd3b`%>%)1Vrk(=;TtL*wlU`>e;#Y68i>ExIn0vEk&C(gPCU>MZCr$5nMhqo+oO~UM zn5{OJW@329Tp???yTIQw8)E&;xp*Xy11G)mne#I*O!~MuAm-}eUBL(=T+42%mUTHN zBFZ|={bdi^uwOSW$KLgrfirC=gdqtE4VWuOsw7m;D>OcC;T4?QzFRZQ8g?RT#w`o!vuO9Q$HzgiCDf4GIga4p~?{`p!96>YgjH+!$66 zD7Uhn3B=T&#$MeDKM5Y_0Cb%aq(`vks7J6k^u9y#Y%>aR#5rJVB}R5sRVIIkjdZq} z7GvxBn4EKT{Q8cUzcdXE7bk#f>%@yqXWhT|VX+T#aB^O5-?+A*Yp==&AhWhSLV0I| z7Y&zL>bW$DTJoyA7PIGH@e9`%7Ro^LXIf46;EDnltCsAH_wVLQ1pwIU86WMI6zoFC zE3ZjTw}jc$=5B0%L~fAi%6hCVhh+Rr08rkhr{blhi$mYn9~!#wZ^v@ijx5ZmG-??k zS`Cpt)-+{p_${irh}PZ$gW*v;0lxaX=iR*H=mEO~-Gi%K7LK+HsxNdD0TlO~Dnkq# zWUpsacsZsIRs2OSo6c5KxG&AOwUw=vrQf7CINqam|IE0WGbthSj!!( zs?e@E*=lZ#C6w*Z>ZPt`8?JD6Q7+9gK81e?+cggJZRYqjWs?7L(unrjIIE#5zM4|g z!fot!JCRUrU*Zb7%g+&vCT}LB(e&u~YUR>d(lllVGVNcb+pH}B$2{yO+E`2ayc{R4 zNkcKGY?+VKyG4i%_?0lrUxAYm#1c7vFBW{{+#nGg^H}s~?jl`5!8;k}(VAIuQC0La zOk&E1lsi%(xpB|XW=pf-(}3{vGtp(PPzsUlB8eVh4*CEw@jlV1O30Y>bg@}&dBtra zjrw)_DIC8{w*!~0b;LUgT7xni%^(L4hU@Ou=pW4^0N`uIG&8G^G}oui4E)BVi;gU2 zAD{CY?lu0ScX7t&7Ncu&E>Jo3Xq>Xc$2}?qcuMrQ-7r zlH11iv3zvtORQD*6f|6)wtc#9Gt2n##L7G&Upj%on}W`QUU?)?rx7X zGpp1KUu7x_xTo2w>#8CR0Y*bzUwmoF0v4N!h}83|{fzmR7av1nlyL*zR|=}J$W3J}1Wpn|-)A3rDdi4OTvp&twhv}wr6G-6< zS^@jn;{zKVMD|u^x23y|N5**~7o!z-{Ke1D`jveR)d!359B}MBDGbHbW9(HBD(a?i zJ8pF7UgUL=`(rYlcE#oB^VRS)Xu>_W&TCjEvx|uv%n{d8I6>SGyyw_Td`J!1yz07Uvxj09JI^0XQpUM|$}lt_xZYO;HxS`Z zGj5!R0B+)kgVdk4iC>PxH&OP5q9ef7q__cT87!J)q;WHk=RsFu#!Ch2T`9?Ix59>u zawY!^`z5d+Em#@>B6*vvi_0~wtK@<7rQ-(<+{3L-;n4l%*H--KMgp=i!a}Bb{}a}) z-WRbKDH=`|tzqdEnM;KYf3F`fwt}~)aIv0}AsI(x7<8BO#I|7V{NvLa<5 zG$FZ`OEksZjY76+bERwXc+8`MH~$pu6qhY0<4cx<=n$=OLeO_DHTjmR)}|!AiCTr} zKZTDgzA@xjcns&!`%)>kid+Fdc&htkz#g}Z!H~I?OFa$-V~l?cJAtc^OC=^U8S@zQ zfO75Gb&cZr&AIfmxG#WifE)56`ir6F^h^}vrU+b6%+hu)@o>p6${;O#m;3dT6Q1^u z6A3eT9qOB*hsEJ3)-1pmj4#UUvqE~gi6%3y=>IS^e0?)DT&u^zG@eEYqBbJGnHuQX z;<~E(oG@mZynZ2x6qru0d;t}`6wa+q!qIrp_4~W1p^I0y_;;up`gf@MB;aqM>T|rv zy|7;_r6uW3HQ9Ts6MBH3k!R*4Rs`b_{8GVOoC-#Au9wCF64YeFE#I_04lg|g`&|Y- zifLS1-_Arm;*+y**VF|eesE|dv+GHo0m=MR)SzZE=v|07EU%!i-k5bREGOkSUH(y3 zXaAc#krigP61ik7G#tJ)7RI6>J-yvBf$k;SpP}k>o_n>^JoY@k7SGCd#BDLk=sw>> z;>(+@tGxAnC}(56U*gG?lbWx~E-cgBbIYxDDI%f2Oy5G){NO;$&v8hplbm^OjWZ-C znTACB-yr_`2Ci3uu<#L!)Ok0|jXgN}@a0~Xf8hORcb^=YE%-0Irkid?A1IyEkOL)A z6QgmB&|L{%@!Uk*c|K~;?*0qX&tvrm=@0vZ^n3l8v%ZX14V)M!hoAok=qHXTl!Wqb zTh}KO<%Pusx(Kq;(tZ+ng@J(8)%BUh6Lhv63|1%mp3y1y7gp;MXFf=O#m*_T8@B!e zvI&_43GVeTWew<(|14`*P|6*Cvo+`pBGv|-Pyfx<(D85C8pcEzwajfA(6fnIf7>!f;an5p-f z%$jJB(|(Y)H*>&9VWJ@Q0ts2)as-X;$l>jy)6Gc7%qyBcx|d{<4YXRlCMV(!@ZC03 z{!H^Dvx=1tyG6&HBTv#X|6+rf$hei!M~D>^#mAeXbu;e&DbTMKB-2*-2j{<@CldIe ziOBe4ckn3rW!>{$XXcPq>*gFo`dm23#avhYO~zIm$-ej zwe+!W?--?n*vPYg9+1OhjJe0^bvag#u*p%+fObUER)1#H9<$|bEEa=!PJb=Vla+)Q zMbUBjnZbJ**^r}w4T%FRB~V%bnx-U{!eM-2;%ZLXPt{xQM2))h4f7ZD{e}58v_JnH z^Y?8dLjX{qfg8DETxv(L)dHfR30ffjuWty~mm@B7^9ltY6q=<(-P_1MD&2RQ!G!Cs{&%oj=$?Y6gmLef5H zzkcu;44)$l`9E`htEKMHVS^mWQQz!Rkibs!0pm|o@Y1##;ACq(!UuxrnmGT+U4Jc} zqx~*t0~^LuChlel>zL}xKfH5`;YP)c193Pij+}GJku$AHk63O)1iEYJuxsr7^QJ?Ek#u6CnoLTwS-6wu}{<%z5O%w0sNeY~qM zgfPK_gIx6N(iZ|;Hd@I}ugQlKgq)Ga7(!>F-L{r%ch0wyYZf?6h>qg0@JA9|?Oi8H zJ0pD`E*6ER(M_;po9^$A3ESik*w#F>8|Jf!?m(PrCeckIg(Gu8@He@G%&33YLjp2( zjsfG^-=`iECGuOcTklbg0DuG6{-`wkogoJrxP_EldMO$K+(L?=+_QMwLMqzZ{(yWp zSK<8OM}!aX%E4JFG;3!F5H7A~!6aBPzdf?PF*50IIKRTc1oo6YmLs6VR2{V^F=oB> z(#kcGB}0CtK?u;#pwO1kLHWrPk0`2_!h;ZcPR^=Ipk;Mv&$)#TLw5sx4#;@WBNLi6 zh-|1(Z8x#XM(XMPL_o!E5m2!U161rn0TsK%$m-^qz8kv4AnN8nFUZ2MCb)-5)5p$p z!0mYmz(Y@ccZ3$lk;SIt(mQO!{QGU9FwNthoYSyHMDM~p`qX9pztMq6mw?CsA4@ia zuH>hz)A9e4zWz`8`akLG|D><~_eo#lMN-;01XLSEqHv1&2t0Jt3SP7cGnFS)?!My5 ziCzlDccIJV65sP(PB7lZp!bYZ5oB#<*%9Q+-|>{-1F^pLK+RxQUIgzYoQt0IC?l#cg|OiA*XE|Gt!oN-})S@LNh4hhsCPik^-Isf>oIa4_ot!y_FbS@@2w zlHoqqp9 z*{0NG!b-pCeeSGTGB7phdwF7wj@gAom zq?39t%1CN~5R!1_#%)69F6(rnkKID3$RtOBw9JhB(|ck06waJmosf=!(KpkAvY`b0 zQwR9y;CFe(A{`^w=!wiKuuPf^d5~kZ9lJz)i7Qu$Sk+Q@jad2Z%VBPxP!>s_=w-TV zPXieh_Fz*Bz{$^=$jAHmE{H0iK0&Fw2zQ63lbRrF8NrCSUQY}cK`w2&c4did2n&mt zfb*E&u3uQC(E1r~+;vp_d|dHZS=^&PJkU%fjkOlTE(hfw+|roF_B-)yINEKv-=lwH zoNNfTh3*T!9cquH$dR$tw7hfCz4|q zwMvbi@{@N2!;!6o-IvoynnmNLW|*S4X~0n1NLb_m|vCs{t z2)_`-h}*aDAgo0>bv={tKM@7~fWP&$Cm|tr5#3Rndm5GF&%RWerxMH@q9sdVVYy~G zeUl0DWG{NfbbD@4P5Ys7@(d&jPrw-Awg&4>VoEc`a63F>9fiS$ub@fLzn5eHc3PWDZLb|1!3dbvI4Umj=P&;n4;{{ZVaGWqacVpEt|z@(Wl67wUb zBMmplRn<`dQ)BrzU|BnB(bDzGv2{_WwaUG6Rm7~d`SjFv*rE3L)DbsDdeE$jYgzh{ zQFGJ#a^!_xe!>(+q9RCak*YO9-N9Mq9Ph`kfIQ%aPivOvK`Y<=eF9P*fz^iSRc{sp z#yH-R2KQTGy9)e!Qq_EBDk|bBf<`8UFzE*0Ske5k?n0d1z?h@{rko|`M*R9?xg>! zu$}rxVH>jlcVYW6^B}U0cnw(CcBU~IyApC{SNIejJXoY!{q_B=EM43dFEh@>63ivU zzJtG}M_nVg%o&~7H&st!_A+2$yDP#{unaw-;shTBnFe_(S z;}1@<51lqFHB5|~`a9$w=;<|WSQ)iv66FdTs-X3LOCZgF5=bWO3=_PVEzRkGqfgxf z+@=KQ;XWGV+6|qe)E5~-+sh^s8oQj)(>XL-K6f;mauq){wjQ~64ARp6iw1I4Spn?t zm2JJ>mF-%`KP%gv(Czg^;c&3t_jS}Q3cU>+)WFKy3OCeox zoI|-9_PMGx;0NXgjSV{&y->d+OUYu(Ky3G~y6`mvXLz5J5L?J#&V%}Vk5XRm{sIZy zzY4-@Wn7;f565|KpsL<mBtK+kv z*LK9Doq{%UVtloo*K{h&Khn) zBt2X|_%$gjG^_aZ>wc~{Ku2{)Y!Zkhcg_8ChCN3MJ3xQ&4zrC*6))fiG!gLedZL+! zd@;b$Zn~`a7!;By`58x2&YhAbOkT0Ukb}bOe8Z=ee}zLy5sb))Ax^4NGq2+^*IDmiw zq@llMTRhryK7y&d6{iJFnCR-meMO+P!I9zROL|KA!RC6~5r0#I+gSDQcL8@}KN_bg zVYgFgIe2LRxRAN0`Z9T76(VWxj7u&I5Sgt!=2^j~@4kp+2&n8!3jXU%pnds6EX3j+ zi5eG<){bbVh1)(Qq7?ls(Hc?l{(9RbJr6cU(ycpI^=9N5SL(U0SXM1xK3KQOuCQFy82X(k*HT5%&hgyT9SvE6{5xdTZ*V z%1uc0ZzKclejO3H{Y%edTJ*o~dE5~9>q$;Yc7?)f<`v-BI%4GfJ<1p^<77DW4kp?Ll1D#1M&ep(#OL=ZiKnD7M6%lk3+n^)p&anI4(#~i*Xg_k2+T?+qOPOv1$=HGKb(hLK4dN`Qk42EG1&6pS9 zleBe$3m(CKJ}K^{=daRtAdCv~z!kF@y}2M&TjKvac(D6$?A8%~rhWkevBK3!O+(pC zt7Z?o#d9~i3;Kn(PE*UezQ1;jV8k~%hKLqNfZ(8J+1KE0sVC&$BL{Dd?PSyv6qi6B zyJ%%*4f}tKA*dH4N5`_GYY)* zhv*Qw>sWp}T-c!?pL>;vj>t*Biwod@dRt;l#6L_kSJ5DN4Xd+`*2ldK^?Yv`A>@1; z>PbzneH-clWG3_ihk6Eo5A^`Aq}O7XYTE{iCHJn7EGS@*Gh>MaV>whz^qJvcGW724 zxp9b0mc6Bv)S)BX1LP+>X{Zf7P+_W-MT_eyu#rENb1B(0Gk~}~Noko;ONGJt>Ri&Z z5uztqmGfKUaY(w(v(1TNgDlGErr3B>_#*cevTrZ5;HQBSk2}FYU?uIP*D1q*VBzNS zz;60qNngTH*}3h1#*gf6+jvap9Cu)WkY^>&FT>N*vBk@V#3lD!p$r&D`IJS-jP*4G z1Kul^wk?)Jx`%_L8J!i+xEEaenNu3GKy@+ zGDhS}7!W(%lL*dOXoLhSYkp(&jg+SQ0D>(wOq#Yw}$RtOhk`pptM_?aK0dy0VXMS-LjcnQ9h~J9Wkz_|{FFt) zsDbH%It1?f-jdUCE+VRZ$1$Mk4y_%9s%Afv@M!PX>_ZE?w8dEVhiiESnn4`L+=kkMtI#f73D3B})js z<{sUeE3R4lAaAy3j3QUu`^!J7wAds#4ytMn_Y}k?1VzHq34HLV@zf&{OstyFns#Q?1@3wYjkzHQRS|Z@q5L^6qD$>_ztS zbuL^HlgA%+;5WQqEF~L28%Zc?$(N&eV*?(1lHtS&-s;eNYB@b3@a+bcCUNd)IM(8a zQ{b^U){;|Oo$TqLW@dnFcVKh-&@^Qs4yiBEW%Xr8#RP@-9m6ZXclGH2h;}{oj`rF> zyFv`{YBXruL#`}%i(~-NVXE#sb!G@Cq`v zfLudm|K8W)ji6*`zvJDGpyXw5XwC%wV`oGq8Pe`Y3pPpCk|BcnO^NUVV+Z&T>m(1^ zY-qYeAxq5hxv&0zopk=d1-E}YVQ1rInCP7T@#xmiSxDB6qC5o-`ld7;sQRrm6?RHv zbdz9B{mT-mPrT;$W{E_8Gck53szGEEbPc)fm2E$J~mQxGxvc6T3lAF!O1|3pbm!OM&jlvjr71c zHDBQ8Mn4PLtC8jdq*jbA2Tr%1om<=pxFQHp2B}v?<}5ic?R+&=ZluX?g>bTM0dQ(L zzjHpmD`Q!X6;AA~BzCrD;SA2A6*B#0!9Sd)uzOz+%R_j&M6vrjVR*8|F3U7?Y1XTC zC;gQ?crb;@QaPWivN_Aail@iFdBq@G(|<9u^)!=lxz0mvE9r;BWdSf8_NdMFy8cZ( zwX2eI{0S@LmoY&z;5@MS+%c4?^Se9+f5ytN!lJ2cFp?;!%{NPRL|-Nf^7m46S4*z6 z5_K&hYDYh3E6nAPi7iwS@^iww_HUS-6mF+C&=O!OqEo z7&WO0?4*ss6?yzf z8D$e6t<$hMZ{XFk?^HM7=+>)BTBjp(L?{431AKKqe8#z0IFGN0*(ul?h*`rmwOA2K z&g*x7EkZEzsi<&$xpjF^!%)l-`x@j{(mdNT%IRT%2*+uqsT94KP>u*fJ6$gy{g$qr z5`Qh3*1q}m_|K+2$ftV!#%KR>w<;%N9HZ9=S^wgg;?&z;X}i` z0e&exltv0J`#!j@XY(s_CQX+kx%#Hm-W&t*ibGCd*ISG-B87ikS-Fr~DE6M=Tw`<_ zbWd(C!ls4rJWsP|)*Oy6iVI)_?Cu&a(xv{^c8cdi9bcRXl+J#B?g?!5Y_7a*Pj#{K z=9%h`77@=9EF+fdgeToBWKlGH^l4w6;MRC_ zv@r~A9PG!+>%M#Yra29bpt?%T%M7AzBmcBVgfS%hwe=No0AE(%rO;QmTapp6wBr?f z9#1-Ka;<1755uCJQ2tJ+rV9J_d_ZzhI5&J)0?K!VWHt;b!>6w-3IGL&H$D zO?;Vyu4BXZm2Jkm0#KK0--K5yLw1B4abqf$Y4&?>QtE}QrtR+CWmKftoyk{YkpR31 z5t$77a`0A)*PZzX0KsMyjpplu(&kfG+C%r1)Crw3)t36o5=ZYh1j8%6JmU=wiu17dAY2of_h%1%cM00UX+0sV*9!!2D9hp`%ZYHO zn7O*@+%HCW{v2=@rBT3;oz&OKMsIRr%9p^y0JB}t*HOT>x25w!)%-*DbBHtf(&AnU zvXn)uJJ0DopF!5(_;K;%@9Z8vaQj?jl84NMpn?U-IWcgw9lKZ!Ln5^@ixCSJA9@>_ zC-O*EKMtR7RkhW%%EL;0eUqq53#HtPyk_{(r;_@kk}(hQEDHGhD9vG8v*4yAwamR3 zNw?q~&z+FG8_K5Pp9woFx1qvl$;7-(SQp8xi5W^%d-ltb z)aN6-DDl=$jWNz<^@MA#)T(1olG=lo&?|ml<+h^X_bBDB)Tkq;{d%X?ZaOtQ4mTIs zzrnJznC|AV0S-(Kk5@^LBWJArK__$x7Qifq55i?u5>(tXlXS;45D6Uw5fVElmk_cV z%$r0PV6t>c2achzCvqlC!y==O&?*UYfI>yV&DnDjoVD#UQ zCY_GmvDI&DgeW+qP}nR>!ur)Bp9Z_ncMxtaH{rpGG}*Rq7tI^31CFyRHF= z|{|>nw^;YM7eQxzGMX}XItBzeGOUBlP1(}027M@uxE8I07HQ~b%9;vR! zNyAr_%Ij9Q{*aTF4<9p2@Xq@-i6HurQ|DFlJcn+Wx|wK zBc}!*#(al>n8}K6<^$l=nrHn~E!QWQD7`pFD={-@fj+`yT-ev9|NR2`q(knKO`B5U z7bItD?u@Z3QKaw=Au+t$PC-peKkAk!xtA}REDu9uu~%yLwKVFO!Ae0oF@7`|OjBgb zBT!_Exf#pNP{^8xUDRvhsd@!(JHP{HXlJp;Eqfv6>$y)T5q>EhS-4u*B!R0&x!R43>s0Ued zET?9@$Uo(4NZaF?Aq)aoqv@b z2(p8mF|mSW^@qYCIpW;*b@Z)pYv}Os@Gk0&2Me|`1g2f4JZ1KEnkio^{c4_tTh@D-&%ed52C(ry3?bqhsO-_{W`Nt$>O@dC6vNsbgl}i4JH<95v>V^^g zx+q_xWewdihEfV|LjZ4{$W#9+f=m(HFfDUYjh6fxE&K3U_vkogvFrS4jCV-Enwna2 zr?eI?DCS5X3fM?Y5R;l6*|Kz6I9pW0Rr95Cl+RD435oxzKZkpC&dTcyNNGEvRBcBB zB3BhF%Bylc6F2_>Gy?BUw z%)~7`(nZ8u-zVO3uiaLsOSnziA0OU|HZ0*?xuV{=Fz%kU3sFCsHejWXysGA~?tJ6; z+O{rT&n>&QEWP#{oZ8;4UddOuZIFp6ky2;V`et;Rn$$1)h~^&dwm_aSK1|r zTdw?d0?(p`RzVbkax3W4CkSF&CR-P6t8NWuy!CtrQJI2IAYXXkx5O?vd zQ+LxpT+$B=9GT#g^2b^;Q_P1b2`sNR^WYloUafk`;;yu5i~ zD~u#9*Ni{qMB|(c?&-xvX0(lC0I;Ax=ImEFwhSpmwdy7&QF6|korLdS zh~7fN^8z-C0e2t-aE%Dy(fu7%{T(v+AAe9Dr7bL7rnr_i7F3p3R+_d-Wp19XxfgVb zvfqtrr;dDOWiJ+}6+)bFsc-2?M(s=F5t_-;O6jCWNhW!xzuH^WfJTA8SGSkgCgAAn zMC3{4|3=piG)riRq$C7P2ZzR#t}bd!km;z6(p*1G?rZnk)Q>wrDiz6E`@jYz<~32# zDH^6bbKo#Xx7G{u6RPKKX9lv6^-ENFp)H zB`3umrnDW}>`93pg@mIo7SJNwW|1jVvf`-&TGSzs_EWk19@;i_bzCX1)xqY7i>=KQ0m-q>s<^37BENt4cJ7 zs+Fd(0rP#Z!!T-v7-oQBbh|MrOBD$YKx1`A$56lb7+XBTth(iBR_fR?>%X8G+I|0u zaI{0aT-#<}+p<2@9(<~7*n4hJZk9dsI0JptmaUP7o2ugIcW6-O$CN!HA1)Ta8aTu> z`DaZ$9O_)#C^l=g|1`1wnw(^p8JuY&i?YcfbSi$H!4=F3D2x=zh_Fh(9ZjiLf+a=PtDx z;2%sipM7A*^n5PIjl!f|m}$C}-LQ^NHdQkFd?L_}%>47}0Eq1Ea=6qCgc1$EH(MCp z8*vdx_X!iz&$Uu<0z9m_M3Bji(3+)V4r+cUUar$LqTKE~;5u=mGp3%@?H`#$8Pe_zvC#EbCllkOOg~_*y0&h^c+l} zrG!;Ck)*8s3KBI^G7UuM#!4V4*HWXP?ZT&fO*SWk{-WbYU=qAkEp3R6c0@{NIR?iDm?Aa4 zNCtjv_omIh(gSBdJ`#0#s*V}FSWjqHxVnlNKrxzhixkLD>s`VRln^T_tVRD0E(BrD zr?DZMc=<|l7opzvacn6oXkSEd?vN_god{3#d3R6k3fO&ifojjGhgHo&wy_6Hn>x~O zPV&&zG^BUMIo>R;q44wD-l>lB)3=s4{CZ#Sk~~@!LveA$jB+1ni0ra%np`u19A;pT zH83Fz=3_G~kc8JRtz#V8kK4pqyza!0Y^4{F>RG(`QIxNdw-pBSDwVF@`=w1S8uzke zidBi9T-9$~PN&uglNpXb!F3(9;n^yA^V7nR0UKmO&L;M4`Y+|$>;V0%w!F;&@+b3u&06#+7MTw%KH z>Dq{BV$+dZw1lc``L=h*4hmubWJh*DjereCNM$yl>6&A_K}iIJ+}mn=C(}me;dmqn z-M*XCN(TIrE$;~>4e+7PpKRwm7NSNwko;6jh-Fp3zfkGvv& zjczf5!chj2)&-g>)7+{E(F^1NI(;-%I&hU@@bu*+MpL%?ntDrkd%80ABBhezmLV8` zzMK@C00NYe-ljjb=d%O#i`t)`U~6Q}>WE;=w|a>|7dxPZ8f$!j14-KCl3!yr@I0n< z=Yz#&HIi-HS%08qD&WEqID>3@1GQrf&m^ChNJTaow%t*5ikF-bNZBMC8Pl7RQ5Fi; z8pXAg*&3SQ!FCPqRS+=}R!yS;upZ(QR;C((h0)wR$`!Nr8UTUyzM(w)eY;t2K(WF% zL!r7k_1wM`14Z%Vrp`|%Q)RsQc>R!rKk)Ty^5ds7mNj(iZ^!^wznDWrhI(hTpuk~46XCOiL8bRPnO%gmMb0Cx(Gg7jC zLlxgQ;^9wP`5Hs1Jv3Q{QESa48x4*vGjYN0`wO|F>m$tp>zKz1=cYLP=2jk4(cXmE zSoO{9i_J(NXv*D~EcDjb30VGL%d;*M8+~##w$)^IF-Jiw4;U+RH1@Rq+9i(*mSFqK zfrAS*LR>W^Hv8r$MAg|gu<0qYJ{9mf9L92MFF?#rh1{;Fcie}UbS}(;`!g zBJj$19uGEPWhzhFD&xRISd`KlC=k;j-v%a}ficNt*HICaP4L-lD48-deSVW!bCK{S z@cWce1D7I)t_xpcYHyRPmrC1|fFRkO>Fk~?9b~euH`_M05CvgrZrr>|6<9iiO5h|X z>w|wihuZzI&MQ;55r%v8DdwoIvBAPp0)R)h`mEtHH|1Gw7Y0w97h|;;&Ms<4GsGy6 zHuqhpc^-jYx>!m3xE{Wi+z1SABo(YsBT}d#zkRq@J8-viv}@^Q;?P4SApcejs# zvD>I=y#fw*+zba_Zk^=$y9j)deL*T^++5zIZMzm8d)5XASDgj*Bwrf794m>tbZ%E| z45?-hn<4fF0`*?uTO_5Dh7{$p7-$&f4pPk(d7bmW&kYbEdjFn(1I1FTZZrDH=?PoIt@^=AD+FUc4WlRD-|aYo&nyJPne0xH zWNH*E8+2722ZgE(4aHolvtx*$Ko8Ui4b>P6TrDPBod9!H!B-Uv{59bA@6ne(@)h{3 zSTM}BPd4swUXW$8{8bU9^mCWdbmOt5=JN5y_=r?DcrR)Sdq?CcaRTd(GIpyh_fd{- zOb}5)N7D1LCOM48GBaD`m@e3f?(m__WGaKgk738ICN+n(-WXY7lTxJpT$_c(osO+;I^ z8U5r5hPFeb`KzrB?H_h^cbrn2F^WsWGJX5-i7EGv88TRo_o&tr*E7P}FW57<@9tD; zO&DhWdljCWz{L&RW<5{T;%ABV8=7WVx0L)*0WOO-Q=0*D*uMo{k}T7VDc@g{_|)^M zxSk}ejapervRdcD%N~D@lRoX(V#GBunt5nBzEQTQ)_c|u;hnuFIrn>UDT++?eUufb zpXqY*NEF^OuHD@Q{_JFt8{bTHh*?>BxxGx(D_{D-$kjy*H8U(lqwA|+x=Sikuxnf~ zV@UT0Cd$N^!bJ2E2RhF9ViE<#phmMmQ6we6VzM^SSQKw^!<)<*6;I&!`BD)&}%9gxR5)^}Cgc`8=nj=JqyD5tYd(f0O`g1$bL1V=Edru)C}kGi|hM$!U%akBAr&Tpwm}Fjb=NZ97Jv z4aY{Gk0dV~zs*|@K36JU^W+`Nd>iLW6%UOMPgAu5w;ONR{nFu|!{=@S&mDw%dlne; z4R^gfoSWY2N$@N}X~dMuJsu}t%^x<9WR`AoaGp5oK~%@2e%7<>l5^eir!H!_N_6CE zupmUWWaLk@%sk#fZJ4JAm6NALb7YpCNWa0&P<1`WrrxoV*tjMIK(C69qcV0+ydd5Z z)p7jk*nJr`bYbU_haD@ec(&Ld47X7Wt&f^JmbuJJcaF;I=YX&C-HRX1V>S`T4S6`@ z>1g}qk>xhV7=^CW{xG_~q^Ln+Dtz6hkCS7?T9@#H5wY-CPZf2X@8>e3#O<3&Na~I$4d)pyP;ADnUyJZ$sCv!fp3n8AzI&-UI>*wKsY!N^L(Qb(%C+8hER_2d)z{pi!LzMo#m3Td#f~@8 zMNN3kkf>8}^GnM4G!eWRZJi9Yn1Ih7E+D5!x!r-FD-!=_M{px_P1~+Bw;xemPfDGb zf1++a_TpwSUe80vYhJCo=FEeG(3rDI2;X5m-Z~yGc+|1}Nq%mvFknbA5s5dJoF{=s9xN?|+ZD+-wcvVZSoneSjALo-F90JZ7^+YHKT%Dyjz4;hO7;{^yb47rSI|E`? zShV8zKp~B9FtB1Db3ES3&&@Q)@i3Rts$PkhDl2H(JP%1~@5@0f?kRo56U?HvgqknM?sTYI86D@Yg%}OE_eMlw;Ob1 zqVDSOh_l3DWMkuxC?2^^h#!}lg4o9OA%bhXBZbOxoTR2j z1RfM2`b=_mxp5|jsbq8>q)CMF)&Mpvy&x~yDr?j7~Lwl|6@7^?3nYbUDUKV6m0wIue|7$e}z zWPsMrj=u}NSR_{z&AS@T)YqMqPZb&~e@d(dj}gPqv&qbbKY;c5?(vi>TV-W+IJ-UM zK3PosJne~6mRWMMpn6~Qx7P1VQ#lPvTs*Wg?I6G~TdOW%lW2h_1kHC)B*W5R)16Z? z=_s!o&5MybcU&amZW00OD5;%nKg+Sa<*u-Nr9w$kjOH$VcsZ(yGV4>kFw8nd+H=FZ z3qi@zjlew-*uQ5x?aMgv-eT3zS;BtBVR)K9YO`@Je&}>>AQeGBQOqz_aENMDcCZCA z7q(rDk-R7ux9_3))YVxkm-{@$rtYBy zKAzs6JWtg%S#6<$*z|oi6dEV7rIk$^`?S@CJrFyDdZ}-i5po%czE*g6HT^6dy3Gmv zz%e`OXFyud6VAWtZlsS?$9606=*@8r1NcUprlQHNp~?bjtL#3i*^o+`#9 z%n?4SnkLb>uj~{unXP18re3xev>Gky=||w)4tW@Oykq5F9iz0~hZ2*c0l2i5%GD%p zTQk>wJ4$3)SY|J)-l!{mRM4C?x)?TX73K_D313(QF~JwOb4pn_P7hJrjF$}-w)}92 z+DKwqZ2azZG1DSM@LR##y^_B9;J)17`mHSDs@Qtd*4ir6Y7xG;4k_zIJ?*mqB{M{>#^uX+kIQ% zwZpoiHye@jxIF1Yv%W?7^usghU*S%5o8A8w{ZlCa5&etar=52`(LJB4H!~8!A3fjq zwYxrUtS&WQo9B2gs?psA+BVnzQ}jQL)$FmXbe$bq2$C&~4*ZZ}SHC^xQrP(t{JGxV z4&Sh+W=*A`lqPB#Chb0B_e@iy#4e)dOk1`s2MzrG%5$2ZuUDk>g%JWf!&JM8#`SCG zd{u`vU8H{8pJU?OpKBL)Z5ut^r*~i-+XmAYk8N6QZnLNMoj0r6gutWeiKL;i36NAw z|1ZkF;0|6b53ZS{d>SFut}9$(q1C7u*sqRQP@{gfzgbA z&S;o}PBB;iIWv3#Z49fU{w;cF>(?&ExYa5dv86Xv7S)u@-`Lra~1amW+Ah zKJi0EMPAoNv!k&qORa_tjP^T`$qLE!P%?2TAfth(?Y|65NN%e31KJCf)7h0bU}9H=DbEMp6n%Ad{l}AHv^`h0J4(mK>>! z6-G)l7MBEL-3=$Zmoz0&(kEKA^^!Enl`H-+1+M$MmecE44`-CYdHi~JhjZ$0?)kSD zF==MDL@{}f7*r^QKjLJAa)M?uIN0^ZlNZ%t4;&kr&eh2dBGzEv0=b~g>ehsQbJFCc ztiKjA{UB`s?k1t_1lQBT@_OcSR5CE~kUk}A%nv;Y{d_-bJ4B<==Goc}jJngtmMRgq zueuv}9&l1ddlk|HHOdL5rkNb9as*lJoZ7o2wEbiK3WUuF;Gw*wNwjOkv zw+_1IDdtL;dAjfV9I|sq_;bY`roe?P`g;x%_?jMtwu(V*id=LJvGL~#brwbBDsT<0 z63%>GomJPlxRGbOF~Rb&N!Rr$LpMHh_N$V4g8$(TJ&k_u_cCdlr(E+=Zl`SLKQKYm z5&A`#vT&^7`%(!VXXt_E*oK4^y-)NSWt@&0e5QWFYRUBrU`GI9jOQXwGLsJ>Y>_dI zBvXgbL9}IeZ&kN7%u_Z`vpYgy$u{nS6By5J`wUMy;)akQDn-$k5x+^_m!s zIC(Y#TQCRdba$53QdwAqJjKv?hX8Qnl>--c{c{vMhi%~c5Ps)x$^cc{Cox5wmRE{GF=>6| zN!=&8Cg}nuU|e-MI}3fhjR*!uAPJ|;^;XN&8hG{xzETnI6SF>U3ettnY$Z-qKU%HE^%W+$yK!TG5E8!UgIg;E{~T7)43*pZCQDaL8X2h#VhTb zW&3A=Ax&Y$e#LhsODQd{=6Q(TH1`g*854(zh8s}sdp8)Vt+ZG&)F+wmowu-bVW7}{ zI1wKf>4hsE*V{hTL_dD@qC|i-q%e})P@dh|_b>lt;K1exeMpmJ4%tzB&I9dHQkW1rObAC& zztT|!>qwDXCBndp)gr+1Z25cbo9^n?qj^~psF!;UQLH4;Q}m98!#aS6>Q{{F=~R&v}2wYOC8dNo4|cTLYEuJ zN1+?Bk0^f}7#@^`2ccbqyV%X@a;7i^Fzt-Dei;$O(qUy^wNwQIPK z!@ni-?`5{Ye0ybD1u>2ynR?)xN*|n~=uYS)2+j8(+*UOXIcO6AU7<6;QR19)zjpZA7J%^Dz9BDf z-CM&SpyZ>IL8fE^3h{Lr|5~NAx{TQ${%KP1Z(MXaIf}ZxA|#BBoG+8o(FDtz(U05k z*vmEZ_4Rc--FUbdxea?c_Tf z_z5U06#>xJ5DW#@++16sY|ViL%+!!%VDwDr%>E4Hb3>qj6O1+vwG~+F6r;CE&-Vw0 z)==_EnSVX(P8-W7rVx0xd`6gG9#`1?lXc}kSx-QHW&Nj&34(x`Ws^V=q(I4>gHk0y zt%j;xM-ed4SdmeAJrY{`wdz1?3j{YgUq1+2ZH)P)pD!q}F#?zE2t3=qLCiI{-uQ*u zv{G~k?irX&Ge;Wx4n($)D%Lyq0~w4kDE z&;U>(ot-1IUKOokp-ubr(9&4Q;2Tx~U z)%rNs@717t!uX{kK&$?l!2<@#`|%>f^+mBZ8aw=_>etc~S|)5+!T0^i82>)^E#u?; zd(K3*S^OuU(XdEah&5~!G^vVH@W3M%e+Z1W-k0gRA3t!hnk4e;AC8h0>@bo{vNr=f zEzL;Ph&lh;Xk73}-{6n5x_+dTk%=7oG!hb~8Wxzn0lxqiG}TczZ=hwb@(6aa?_i@X zSUtIkxxO)Pn(rWPId=jy0=-3XpTKs8Li=>CY`ffm8-yza1(%LG)PVXi@R}&urZ_yf zE}m-wu4_F?YA);xaKPa$dOWmRW!Q z@qn@;rDd=)pU{Qk&ekezbX;%XGVb`H!MqHDVZStF+0^`{w??VK)@@=+nclCPI3iImYMNJizAP$i=9Z5FF5ETc8NjCF zD|nj7)h`F)nS}F9(@+xF;0w=s;$1`w%{^2K$Io{eHQcS{;!tH~b`gETuPQ&R=H|~T zWtl!4QmL1`Zd=bSm#PVj(5i&i1~Dv9c>Xf5TJ{A-NLIse=q5R&K8@HMaSSLOHjbOI z&6(jZcsop5(iIMRjtAT>nA={;q`K(R4|1<{x!1emx%X9B@Bx>}i~e3`mQz^H+gz0c z8IMnDii7=$Yevl{jB^j_|EBKE^`E-8_Nz?N+aVm0bE zyTpu7XNc6;O<7#;j>>|vrta({BP^w%J~iwcZU4={1#FY=(5ZI0BzLL_E6v2i{}p}L zE<$e|+va$V?OnBsSdKtR{T#ct?pHVBw2IynmOg$!${r|`|1El>7@62Hsa{*7dfbUI zb$hw=d4u_6^z`_6=h@P5&NYBt!HZh3sP7JSwPPjSkwg{O@?!JD*c9S-AS{)+j9rfn z|0%BqAM%%csr^xg|3$t`NTr$%G5(*bJ?#k8jH$s`Qmcgz#0T8Xs^NY6_*{8|wd(ivqJ5E}8n#(K%bsH`x8 zOUjq1Hb70h*XgS@4>CL1^O-!H?4i#g|7Yz5X3>r9oXEla7A zN@0rKS&F($1MGd_^9C|nN8%eE)C*5ail#K9l16Z(>XI@26RRpWguJ8dH@R%>q#_M) zzv|pdXcLnERp&M-K4+xxz^%~L7pOWVu_`a;W*8EuCgSwjW*}FWu^z+P5tn`F#q)ac zJTSI2_4qnU8d<1746qwXqM4-WY-?Sn`9Vnw-SK+zPZ1lh+j3b1%C7>>yl8@xsJvRE zTaH@2u#9#cKf>Cv+^-!gE!tm<%lv5m0p3tFsN@w1&yTHT98(%J?-*Z*^ey*=`_y63 zQAw6~+SZ>cq;;$)G|!RuSGXd0!et0)3UH&S{VbxB6DJYm0=4pJINzDS(M^a&5;ATt zt}=-x=8!Z~HnuhTiZCyf)#ocehQXu}VJspbDk-9#kBCZg6#!z-loxL5QgSd%O?c2xW`@pIj^PQ8Qj=9JR&m z@ulX!0{}zIp{$iq9}>7})Luu;W5uD(rCXyFBd735n0(H0Rmzl@6_vD1$}^h$M&Ght zxB?3=rNoe--$=h@by%OX)BC1Gq2~2U!zF zh-(BQQKGddzvm4qNV?uniobm(9{U`x12wM8@=leUgq7!u4MQ0U&|AR)AqO}aEHtDf zK%*MS`oUb`n}v%8!%hfug_RzFfNv;tr*iR4r!7*$d{vtH{8MR$U`>bBQ(7`n0+|So zOn(ZLl7EK%z1lQJ{(r=|^9jB^B^&<+UA)eXLZX!eplZ2g;V7_=((o`743W8Ma^FU9 z2-~?I=`e{4!?ledrRgr;IP`c&z34tifXcCX5z+!%*4BX()bF*Z`pC^r7}@*;``NL$IV2*bnqtk1F%Pfsw3iqkeSO$$uP_$L`wMR&D~^?TQl98RHcwz`smqv8QOXYO^=@s*=B*g@~HiZ-Ou*!9_Z;W@`cYgLT2qyoa)W{ zx_N8l-iA1X9n@#;vH&I15eOKW#u_DqRe*2z(v%64r;nE*QJ>|o1Okm!kbA3WawLOK z=l%^iNoJ*=ihwp()}d9$RW0cZq$L&9R)bD9VB^agGDjuW&1vE(Y0=-VMPz(F5T|O9 zZ}G-2R828s_x$#a1dY^ok)qf4_Vl*_4h<`T7O5P80Vz2pI1DdaL~o`7aDXGaSsCqB9p6f&T-S^{V(d4PrOgHDx?#&2)8{~u4SbDTeNmk&_0Bawthw$S-gtRqt zQk=gSx^WB8Ypa$#+l)d?wGltwDbK7EtD$%K+F5X^M@rtKeyH6JaW2qxonOi zz6xn5iW;!**Jaa3(J2Nik(g?7^v=X(k+3KRFIewZ z;th?0wJ*GgzL@#+pR5xo|H-=UZ`Mx$SpMLN2q)16-V&6xNhqZ+`i1_7el5(3%-m~p z&3_F>EJ-1TEG^aNA7h6j^;dx4@L@MQMjesYRxNJ;56TIUFW@~#`U|{{b_2pr@o<~2rl(bODQcx(%!%|!`BMpNVLdy~ zTCERGsVKy9n z2Ju*{ciDLwS2rLePY}Boxlm-k3bkHM+IV;WL(I_PMLo~Q1vUq6K@2`Y^k&W>)uY2O zV%tZgKQA%BR&JhtQEHD1MN^w3)#IWw0{i#*HUJ^|?>THJOQ~~?#mccF;$*IE&psu5 zj7t{Ta1Ag_g^m;_U2qOlc?i*$Ff%}^r%7K3>0%F5k0cdV0oD+Y!GQRJp3*$Gn5-X% zp@s~0*Y6*=7zm7$GCe)W56w;+os)K@NDp3^T~m<`YypM2wu~|T^#EQbv;WOs66@p& z!I>0=rk)JhO5qyU7uQ!DemRly)9I<6Kdj8_2%NIw3!^X zGuSS{6i8dTN2pIha1Hma?w%6ptL-H2WVA^aKbcx%QZr;A+#Xrt&V2?Xbwyd4s=*W; zhld9~)6a)o&6P8$C9>Es;=GJ|>@Bp5{iaUk3R9xmgzZVJn3;=M>e5lKu`W|z3Sli92x+)N=Fv$l>|)tSiy6jvkJ zc^xX%qs!;XK$*>DQ0bfY1obVvs{73G${*(q)ru+VMdiAtsi{mF=VE7mAypRG3;8$e zmhcgEfRB5n!6zY!Iap&C;P?m1!EK!ZyG-4=lLC4Ahu{yx`HwfY+?v%l1uuDVW`Np$ zDD{9p%1#BwxmK+K(!HpWR^7E++woH-sYOSZhmdm|nkuWqzSUP;o^@#(m8iRb{8%X5OMeP`*+7-#R0s*3cwrf6mmHJVFXR*8!9`#;CnU37*;VCSiFs zE|$~{|1bx%w6d&Dri3Q4vf5M*?WOr}U`E5!DT~oXH#)OayME-+*opT zo@Dy{`;fx3zC&h1ya&Be%)INJo_Mb0S^+vkJY30?n-@X(hY!27+Q)zX+WAvw6jyR3 zC%N`9$Z&K$<}fhq5(goFKt5a`j91uM`LoFs07oeQUy1pk+ii@p_bd{5O3liu7`50< z_>VDFZLX7e@3O?Ky_f+XjL6WYDz+QOSYJBWxY$GFcx1;AO<()f=>D(#Qm;`wr+IF! z6Z6x*C|1(|9mOMI5!>Iw^Wak1l+Lh}^v{ck;Ej=!GqZongF3eN?rxRci+ zahvbPx_YRUT9iXQ)z|NlH2X$euH1q;6-~Tj`z*%jcfJ}J{nex`q%f$ zrHjnF)%U9Qha^#N`l12fTmwV?fi5;|SVyI6*wYt&6iF210 z<%6Ad6;n?DW#ao_oH}{*1y>QEW|oaUG2oM(EdHg249z+GEm#h#cokjYLY4> zp;luo?~sK@J~c%=vN#k*#`Y1jX*Bpp{1owjz{}5HyetP9yk>DsF8kLdw#(w%2$wig zHACxARiNvSNGD#5%qgBU}8ZHe?*g3g;d4`s6>B(Q=&sAb% zQ4=s)+PgkJ)^0C#d2g`9r-IdN_K1dxTkJQbx8t>%Gv6^JmtczVqN3SDY5X(aa?+tsZW_}p(enffX@KU*`(>>7 zgrlvT;n|@S{cpUy(V^2vQ)`$1 zpS=7K5fJvlcV1GnP`B%c5VWM4e?riJ({k+ZUEDe4l~I$?pa5Bqtt*jxaZ~cA7zY7b ze}Qk`jZnhKo2oX$zJCK}MU=l`tb|@4fnz7tU2jb)AgFq%L@a5rMjn<799y^%F~4{1 zvojkkr7k7iz<+huipXMG6gsYP6-aY}OkZuY|2yb}vN}P@UtBK#|G;Ip{~niJo!z-c z9Vo7(<&NAJxfH;j_dl8@Y=^)3!3@H^9w?E3;SXA}!WFFs_ipzukL9N@6x;pTYnxFD z0AyoU{LU{d)}~r1JmOUXX2dvOK*`v_3KpWFQZpmwl!C7B&1Hz-rMuDpRa*!Nr-wiP z9*GppPCJVvl7vMX-d$uoB`TB5oQKcReuqp+Uy3ZG@-dr_M0r8Z?!S)?%ih5my9c5w zS>{7)4WVn>e6o{NF~ekl=4D;+^0btl;VwPw_Pmt6@fBacBF_6q!`ZR6fW!U5jZE#E zUOAZJVcN2LTg63fP*TxX8`kb;sovtDca^k-lJOML|ELSAT9dZ-Ns*mWf40*^`)0~E zlgsVx;dre``%?LTWB>=0w1i&#phtR|zocXIuoBNz+2%ofdh?KoU%yu6Bt-oMBPcmJH$XqW+$&Cq$q3<|qarxcF%$gb&g71P`KM!6 zxpQ`gVM7qfVA?OLSyRk1l0a^7b3GI0Pjlw5Ww;Pm!PtuEA`-K&o-Ab%l&2<1c*#Ss z>ixiPuF{Iy2EY(hag6r7W&DplUP{6Og7yU5qY1x-5$tkHY2wY*&-lE};eAuNAg<2%WGRhg`%-Ob zng{h3`+ga9ObnERf0@Kg1b0{d)5Rc?7z%Sfzm`WapqFssoiu86SdwVBzcm(M3RDgN z641497N_%t%x64lnxg7?6aF6@;_J{UX8Bv>fqyJw3b|)Y+rb~UuP8pg?Ak--5$YY0 z+1x|jb!Z&`4M=EE#?KP9k}zC-9nJBJ;jo{iLX~Jer5d~l&!x(y`K34>kv>D4(U>$6 zHrbeofesmTy6<4N4>4@q&%`69ueJhu&@$N8E$p%$9r)OSE!)x_khm~{*VF}VzrWfx zh;~5Xw7dhq+9&au^16>JTv2hkhPq#+E2Ain=gA?`J!vYg>Oml~oqfuV`Z1s|y=2N} zo-n{tYp~ncWQ3Z#32vUb9i%T{zLg!qH@lCLSVHA-r<)knn7c+oplxA|sZ&BkP1jB$Jaz7Yyk-x9 zBH$2HWzzu~HAQ~Nha#)*QyH5Gg!_VI^5q`~2y=DD1*D=w!oBW`ck6wx;18BR!}DmD z660H(je8-lsQjVVtBoaD{Fm2_IF7xMB2i87-75_Giy_HT&R!=AdSMC8Emq?&&%-%T(Wg(%cU2n8wo}O8z1lNQTCRB0vGE^GST~|^%nbM_}mdF z;P~S$qMRglx@GAcGm1lCQS_C4QeD&4cY<@$iVeZB)hAlqh4{fy zSzvM5PQ&va1LE!wOsDQNXEkCXac=(l!x^l9?c)GUwxgiDyKa&o%V-tT|3%(e2G!N3 zYZ`Y;f;++8-642@5Zv9}-QC^Y-QC^Y-61#xcbHB3`?~v_={Yn1=MQVwyNg{cYEi{= z%k|*0i4R(2E*(b9RHst1wB*|TUXW1r3?H8Rna(Ge*`!HOy;AfG0>^(A^Sp^1Vd?Ql zWM3Zn=OzC}l7cJ(ge8T}1VsMWq^>hh?$44sJr&R`g{mEKd(Jie&su~m%eeH1*eAoz z$cM3{PbNKJFI2%DDHy=KI6kq$F~}{+3$d}xQ-(%2^JQ=k#pv$LuOJ>1;H2>sLKoi; zFIJkx=1Hff(nD;`WCTwZ`!bZ4rgT`U31P8RmtRNgpq7cKmjw+D8(^8iIY%wlg$~n=l1D}vOB3%l_4qF| z?tHkhHawqBg6SE_{yqm+^z}*uoSS^Ow6Nx*Qk5ZAsPV8gn$AIE&)@hX;I)jvO?QI% z;mWlou`&9lC;;CdLoYd$3!0T~q+-Tgls}dfJT*Afm)mvdolcOcd=$K&@b&f zYn6QDmn7nNo%BZA_Tp|QF{{HSX{g6EmY6N&muXNwUDFnvdo*QuPFVR%GR9{5RJqRN z(gLc%EIh-a?G1d@#Qz!Io&R7K9lcpWpI0)zCBP)2ci-r{MXukT20iJ<_iE>(auK|7 zRA1%jWW}NOr#8+Wo0}w_1(zaQ!x6H%-;XzYAwy8Zp*XbOxAn@U`f9m8R1f1t8>T6H z+NCp-JuKozOHm~=frcWriig!g#+mg-&6CfHv>M^Q|KHlguUaEN+RQda)00L@!t0Kjilm<}25^u~*gBA+4zwy;ZY87jGk6|9JIc`0{@>Us|C@*0qNiAu z>MC(bu=Fo(O0Gzq9V%=|Xyx6r?RRSV5C0ghVegH2c$OhGW(`jQE8!VUta<7gnAr@{ zZjy23>@I8ZdTBG3Kl9z(vER9M9U~3S#e4B+dh>7dxO;ebSW)9yf`~797Q28!4?@Evz(^0)Nv;=$(o^|(Lj9-E#gmjc0$_|Or95Aztn(R!81{mfPH z`D+R8U*54vZ$I&ljl$eF=)Y6b)H(p~m=vY%$46>9VCpED>}qgr{r#r(P-U>=i#eqX zBOPECM!Ebm3zOG!jOP%S=lw@$N*;s^*qR&4!KPhzLFo>|FwdPB6|g{p;$X~8F1hVz zgW1P`lcMez4s;k;lJolfWQp4;GbWZs*Lm({ql|hU0iy+Ybn@X67BWu8l5eZNEKL9I z9h(-FQ0cK9s3YQ0C$@$rGjlU%H_Mc!N}dj;I{-NQ^HMJ=i#HO2m=?M%K6&!u0AR}4 zDwC>{@<@!-p8hDT^LQ`0{auUi#UEe_Q2l=grZ5R|t4s!psMs3p`pd{!X4y&fBel`$ z1{VUGt+b?4nUo_-H_ z#`|10%!Hdc*dNFgCJFw(Mq^hrNv!Q<*Dd$+@u!T$I?e1E`Lwx~eAkVP$OV*PoZwkb zG3U4Y+KUX$Hn&%|NZOQLBk}(1yIS|hotK@~(opWJs?W7kt=yVv;hJZ{*ZKDWYuU)7 zSm%niIk)b(h3v`d7bA z8qaFq$?}E)-t(v>b8+7Em$*l-&#(5V#R1VPn9BeFO6Jp#2m67B2bqFpn>Ehdw6Due zt5&&qP}WucY+ghbm_5eKj>q(r=knUQiU?NrjU?BP2JN4nHeFdc$)Q>dE2EuEb|vK_ z&pd4vzDSvY7BAg(925j63{=m8{6N6>GLsPKZ#clAfTuE)W`qu^onI54%ld>uC|_UR zoFdaz*A@&7mRQNMBQrnz#%fy93(kVA60y-B9Loj|OI7ybCz#&g8Rb-HPQ_=dUesBc zNTgcQ?-pJw$cI3s$7C;T1H%1TZlh2%y&Dm`oDs+mwgrR+NESa3>jrEs3ld^6_eY`6 z88XPYAt+^ug=_P{YbADBS62@mCbq?IGok)@tB{Qk)Gk0PEP)S-?qHQG9Xp=5Ljx#K* z{Ha6V)GmDS5l5|bQ54}1hA^B&@8gzA&AWSpA zmVx99Q1E$oIA5+Ew9M>qf4arZuhW$i0#gKkCyta%^Vzvoou`L!RgQK+nnwXxD@O zcB6x)4vfN~;Q!%9uS-WFRnM=_xmA#Ka*q_|yd?~K{fl}6aHE3<#kB=NED^kV-XqFd zSgLFQ5DpVRV03MGq=3q7`l17sdAF*dRB^cvsK+d4IUkM`#(wI;5Qj(>s^xNd$dcQ> zh4a?$nu@UC;fYU&DGQnhUJTE-^dMzP!&T%bpkrl-H-#)xCt1s10#}9nb7bN9L4UA! z)0vD~@|m!rk4W}I*D@*Z`%70@>8)S`#d>0KAm5fU(B$Z2O9~c_E#pG9NuGEz{-5wC zYgpgDH^opV9)o!=9N)5)g7ZfRT6tn?U1cBL`cI8xRi~gc>ne^~m7wgg5%zUE zo^Y3$M6jak)iBS`V7(F?HG1vRtzwo3xNOI*GVy`1((HUBvum^^msUZw`+PgyutnJS zQ(_c}#zx1cZyNB?t+!$yQcyMy1Np}f?&nv2R4{^_+$$&TjWQW7YYz_h#OT|0}Y?k^!=XXk36cothUEsG-`F zwb0jfwI^W68seq@XZVTbm`B%IWkHg1UOXdG>9fm_H8|iy@_tCnC4|5_DrIHtE*E1yY}eZpsk)3viGQ`{1Db zNha`{9=<`2_fG;fJ<#ntrzMowtFUKH1?PiGa&7zc-wzmlYn_0~a}obx&OWfR#|GfW zqj=7f4je*h)*vRE7ED=#Zy`hc=8~*cj+@d5!9}oJ2UhBou4Py>O}YF6M$z1qQoDeO zl&m?av0&LVvUWm5(bv`StqdFJaBmIAl>`w^QOlYD8Rk)H!$T195!J6f1A3Qi%zjym zW+T~3z!hz0h6R9)hrjO(o^|*`IGdO#Iu2$ z1VHnrfYh?Re;Rp}PRZ7Lt3p*Lt~xA{hFFAE0i5CD*Bn2i34`sr!ydVz_a;@VeNe)>RzrD+p>(!ni-#u z6b6}f7aYJ}u`cxmM7=e49xJ60yq$DD?}l{aM|{`Ok_XK2I)VUZ{Dn3iTiz}QS5=Gp zlUO>g(ouwk4YUAKlcfR~| zh!eo$(!k@=^mJGo$*9!d^WLL_z_y`ey;H*HB?Z8}48Tr_dhaxN0e;QH!K%fVH*j$R z-Y4_`_6dxdJ@k+KAA2k=iw_{u%Rm1KIZ^Cnx$oN^h_4;TVP88uPS~`hurHNWJMQYk z=3F{FR!IBu0Y(X7v}r>8w(cDszPeQPlhbMre(kQR8OI)!RmjXjWPOM_w&BeuEjW*( zoA_KVv%F?xfUQ^m95YTA3zIEh5^#g?YMREnrRNZ=;l}ehZ;teG{^}YU5 zR{b;!pZH!kz+n*rRAq5YpTyL^6~%Ot8zL$hAcu1tJ4W zwGEL`A@;1gXS_5cO&yjyzoD{VT4yr-tn{%4fQn}~AfmT^w&Z5_M01(3(3G6(&q!ZY zWVER++_w2%4A_tX-p+!+n*Icq*d)szL9M4Yo-+0&6hpC##8!_Uw6yt;vz|{IIE3DK z<}=D;B|2#Dq~+gw6U)I}wNPvUPzq87R>2e9x1u6WelN9D{~)z@(OPf1kx9p0RLKY; zK1hm=6R9dH{A{IGyU`}g_RP(GxO^G{?;MLzw^s(-NO|GNmYk-vc6{5iuqMBT1t9wtj`8#8*ABSJy z2U1AoN0kgXEUj-AfPJF=!9MYl^zi`@aV_Cp0Ixfr;Urt;1T+KQ9U{rV72D zh{i&UFu(M7K;`ZkrI3J&!C(#_L)b(zqex|_9MPo-U0{3KQ&x&5iiB2?iT)y5x7wIa zoe1QOwywh$ld2pGN3%ib&Pu`FBvR@!|2bG*dR_hzEPq=71j`>!)(eu+T)zI) z*g}!J7)0&|vCa@~_SfLa+)+ygnC-=T;B^I1x*|SB_^=*~Dql@X_O&T@yLwnkOqZf& z0OEnnhj=iKl2Lyete!5M-gaKLV7PwW?Ef>%E>Lar&pSq6mFsC-X72ipU@hIF&T;@>BGbQc#na`i(VM;GWzO?P50)_7CrY~a|Ydb=N@t3up1o% ztqX7vs2{dQzw%+Cqvs0Age`@9nCK@TCVC@6Vs59@?EaIbM&tS!MnN}rriHUm(t7mH z|3Naa`yV6&@MP}&NKTVXYnq<^b3P_Z$k~_(U;a?;0Q)3@JweQj_tX8gy7>#gES+04=0()mLLu z*Haq8{VkC^9H1a@w#P~h{+HUdKqR1b-Dx_uFP%L5lKUYasIB}D@3Tg7&w3P|$C`gImTFED(cslC)dwQ}brm1fBfKtWj^grHJuy1$*6!G{f@9_%wU8f$udX*25EFPm_09)I&>u>ekA2P_^~bH^n9p7!%I% zqnlpVxkinNMMC4@6l-RjyytbRA6@IckFK?fCgxXb)nODO$uOp5_M}GRhTk=D`I$rW z320YLyKx-3>xqVc^aHa0O+Tn(=T<2O=m+iw68;~+)fD1@n|}gVi8()js|70$t>Vuk zj)F6tT7$w2f3oLJBPm_fJ}Myr{o>E>u(ErP3Hh6;0VwPW^T!kThctH{&2=0G-b z74SU2CPjU*j-jJC3l#ps;aKO zAlR?G@$aNJR0B;n{#wJpFl-zmu@}CI{X$gKCLR5eT~{##f&ygM)qo245LgePo4R=% zGt7KWWQt_F9bmkF)q11IH@2@`4}>8oXlZGq!$;)bO*0$=RkF?1~DSZtgjf!B{6t>WI~(-Y=R$LIr0AKGRo7=l}Iu>1vv-VybH* z7nctZ4E{3>b^j_A#_XarEyYMDUC6)TzMd7Hsa+$%Pf$s&9GKSXHyuO6@iQPM#;kGR zXjSggxfryr88P?_xZ-F<47zqL2B~iWym(N}T|1w7ajiS7eRmpgxj+CAwUzqyI)Af6 zYQ(Qo=?AUmE&EEVBG%kvR9F;~ispLRMny>DY2pJlLTGL6M6C4<%}8!)QkuRDJ>Z{? z*-=EZ%osY4_=%CEI@*;)yd5#qo73gpM(ItSSC`12EA%B_eM)`aV+IRG@mO~lGQQ>< zH`noSyQlulQ|B=~=XqqYstd`&N?Hu-jFTPN%X zaXo2J8)Pn2EE2SI9Av_y7`utPFDv6Ys@GL#KBZ!T6n7wZB&0CYr<-3z;LQrjw{0jp zV6L?f@(q0s3Y4w~6CX}fQ1{1VeaWNNC)W5P18K1H0!I~Zjx>f5*79ik2tMkK8da3) z$C34`u5EpFj4!e2gj39Cl3l?1cPF}FO7yYXvI~$&%6Ny;=4lK3wWJ7*p)f*)m_86$ zHa^;O37cMX7Ibl`AzuuPYerx*wYG=q*nvpiS?tJ;|LMjj*K#8{r7lbw=9Trt-(rZb zkH#)c1AT7@btZyP-}mZTZ1RpsvLaTcnTH0coU}e37(N}bfc3!++>B}ZeUh{zwIG!H1-0sQ0wdb zdReaDn^M&X*%Jim`N$SwGs66rRexm8Pq))WddUn(#UuKrOkR}MXR8@PEnL*n4JR5; z)U*q)od$QU&w-qdLUWstZG~s-fHJdX72q)6w57I1C1JVxgnNk24IGwk`+Oritr{m= ziz0*X)oKFz1ToQ+wHxxSrTGRFK~JKJI-l2z`jx-@22v}Zw8(a(xTsp~7HCx7 z(zf|HJE2sA`rTFQaWm=Ft65W$zE+gd5MSZ`Hfk3J@FAkv2}RT>C}!O9r3GCk#Q`J~ zYOuGi%@<`t#n{no>b{Y>7qd-eBrjybqn~VYPEa!Iiwc@UY8iS}=~Zm5n9TYN&zGCk{z(_ zFCeICXQilCCRHrG5oo_E?PiNbjHo%wE(1zCUtP_Zw1!4jqT1hJ*$F37^NKkj+p(qW z^NWrkTVE^#S}5iF4{gyKy0l@lmOujGv$ye;TuL+gg#q$JN9@T@2`2jxz5+vFGL|zh zKGKaON+xTF?taZMQyLG5E`6$B1{1)a|1eMuNc#s;fW4$93aSnix~#xa(FC%iEXB?o3!-*s%(}Qfe0zQ0Kfb-W-AcasQdI%g zxuU;BAO*GZ|Cbb?m|bWhQI4eJ zSbp|5_ObNO5S{Wj_OW?eC8+9l#ohlq&<9R(p5g;1S-Q-#$w{;Jj%#x-2l;2{XVm<+ z2{@$~F!ZZ!|A(QUn^-VUo#g*{=ug4<4@3X`Dv}Q2nrlnRAJO7i>5pguZ2BQuC|V#1 zoW``Nu0RCXc$;#Eo06e5rOY-3*hISmN4fHDDz;*L%*2X=r~s1cKs@6w;nmhcJFOGY zr3vM^1|F~R^y0`2@b*dNYQQl7c6vc~GhKT--8(OmDLHD0GCInA@#a3MMDw4qr$~SZ z{R7Sn;}00{ib1d<0R42H7(hRbUOiObU8U5Qm?x*P*V2i=F;jb8Sp&@ViW4l3dmn&P zkLJR;^1q>|AHY*7YzsSk%88+E9wd8678VQLUh%Uo8CI*+-d_%Y*&n$YF#8iWeqVW7 z)h3BK21|VCdrgRtXJ=+rdz-~PX(9*dV*e4@oktGQm0w?wokalBwa}gb${!mLb>_wm zA&Cjn@bFO$zrR{r+Hp^+PBDu_vCz2PJ7qg0w{~ZSM{qq?)f{*1&Da~DCkzf=eLEh0 zbexJke=^CzxjSv?NRbKT4v)|k*B7{lyGemvvpfExwj%}3-VkNYY|0=_WuOL}Iu_jz zSN7{qH9VpGbcey>pYwVbjN{SAyk0K59ydJ3;@<#E^V~&%v$$PtubVA(eACrpeU!_= zT~W{VNdkkOkUUaLMw2~hr#=q=aa+&eJJVQ=R&C7_-TMa`s>Fa9ctR}x8twu z39}uE zBbMVXJ);0(O;x~8fbWml0Py`$V*m2}za{^>@2~$)-#_X<`Tk;-&D8J@#0x0KrZ0Iey@|v8IvC_WR^2ciCCp6wfZGyX}m+|7aBWdocZ_lntlbuc}?1=TTWfmH4 zCYr|y&A-^xB04g^(C%V|euN23VKM|n)(P#mgoJgR!G}Y2pOj9rC(_AtpP%C@ zquNMz<5kAJFiU$yz?FZePOIb@962wQ2B6q_nkv^DKYtUy zT#d*dSd>QIGjn(7(BS56RZ2^@UzKz?xDw>b7Ru3pY(>2LN8LR8+L`@|R;Pyt_xEkB zO3O+P2j?HGsfS_w1Ar$gBN@c|E=51L%?kRMI@4JV_@{TyAb<|5Rv!19cr*?T_Btgz zaz*m>p3C^;^^CG7wQZ=USkjIfwz%z)AYlsrl!fHGK5d8%9g~=87}^B|7wniP!){2j%JM7(T}0>JZVgpEVLF+2joc zcc@~D!X5zhCkF#t!o6I9*4sXuGcUu*h<^35j4DLMG70I#Jamk|q8Q;l87`BEK;GeFDD8cux z@q z(k8AomdC>z36}fok5{*C;ZD}^87@+1LG!O5TsyZxBD$z9UkBS9i71DTv1rG+SU}@> z@L_hHUc*HwiQkZ1eAC9ozvn8yY1Oq)n$=mB=hSLj9bFdCE7yi>I#X_LTAwb0zdvP@ z{M5ix`~u&E5q*aD=`*M0Itcf)+gJd1P{E+ouxCJI9~dj=*tk(*v0rdQVV6S`d;$Hb9TQbyj)$nyh0g3Z$96NtlW<+buqbv&w28~L-x4#LbCGLb zerDtOr^ou@l}BF0`i;j(K%o9{2_xl>OAG%8x3 zmlMwN)LESvtk=jLIN)Ops$4gnkjNOm*iuMfw&ywEy?Aj4zM4vD-9NIn~sPT z+oiPSPrYqwJxh$MX<+B z+rt9&J4`^_zO0YTXM&5ArhT_qTBh1Qub)2=tR6ZfUNA{zOezj!`(#U1iI$1N!@y#HE8 zJFCE~a*o(JF+Zb4T)#${Da9zR*2nTWaM^atwYhoSpSH$oKYN8IjYSN7++V%AAVoBj zgD&j4JS6puy=mROi0E4|e}FlwtQq+-Q+D#-q(B?I>%plReM|p;=aoJ#h_7J zEgMJ8iD`DauT=#pg-Y5|%$|p!S}Zh#>l8-4@HB9!hcbvb&oE$`bVc;L@@h5yzD^*5 z|3Uc>U9uB&T;66xr|lW{Mniz3+^`Fy1>C&_mkaMdbc*>{s-XOjmX1mP~I}tTX3>h{FR6E zScozk%7kYPRYd!fY#xQ<3gl--tDhI$owu?VtF}vxdT-m_pj4t5wWHIqcR(CF+hkp; zq!$yE3$|BM!K4B;VEY=v6<;l6(F^+mbs}X2Ppz)vd10PZUOQ;*4PzeMI5k-@Q!T(S zrimjgqqCtjX}PvRB`hDWkws)LzBps!5D(Y51RB=gvs1-6w$IQS?7uiJjFn*188T{| zqV8FJ7xIWe!oqE-E3(A7u4F!u=w0F|d|Jw|8M3}iw^cwIzl09*o7Bj(T)jA9nm0uJ zx^P1)lS2J=Y`?mmp@4WiOI_c_FlPDVvB2J0C{M7*7P-@SI{5pQA95FwBqI?;%x|kn z&JbPNLS?DdF7OdcvF00%7bMhtMg7>SZ?TJ~)~#o+>kbF`BqTo92^+x~f~n&c8OF*6 z{id6p-TQSdE1@&VnYnZskGz4J9aIa2`h~8YuTK}798H+@812hq*s)|Vg`OYtG;&+ zR|-vY#1bZfKLIPxi-sdpQ$n%6^Qgo|!qG3u6Av54bAIQeJ}I)J>J>uV1=O8#lh6O8Qj`#U_@NOfY#b zl{aI?5DAMH{-mR;436C0Czs^T$fc&$Gaew5Ct0 z+UBAq>@1<&_A6!sRN{DH8{eH9;UBo3o;SOzv3NXf>sw}pdHQ}a0(Tehzt11`2Crk` zucibTW7!NzMRM;?rpq!kZZG#6g!xff*UEk^{O(hgSg(aY)?#k-#N1KqdcT|WbhbmI zE4vng+wG{Oy${aq;wbg#g0?B{b4DV&W)#0cWKZaj!Kb^;3cnuCC*s}fyNvNO*c!kP zI`}>K`wQkaMkaV8ora3)pcfJ(We_M}#}i6lJ0udXb3Zkym_mIc43MHDCBysSVe3T; zNRqkbPj~|u6;n%Dj+Q8dXK?-_yg+4{eo?^V0Skt3AQPsy5yFjcWQ?tf>jeh{qNG0G zEZ(TC6>c>lOCC1a<3FZCiTu@M>zjXc$;d*QG?bP~wX_JZ)g!5OSgk<3Rx>ON4c&Iu z{-OOzRQp1pzx*j<`t-vg_Bcg3hRc(5fLatF8z`fQYYTdXfX8AYj82 zK48NWJz&EVzS`8j6)+t*Llb{wFT6|FmJ8UiS1pbg-?i~zNZINV3w9Y_ua7np`hqbg zt;NhYX(kLX$SdsiDOMYfJU9?Y3?>3?y~a|N)x{PxX?^!KC|8~bZ%{np<7bs!7^zTk zQ(XIRS)Ci)V%MURbB_ z&2E3QR}DV1HwLbSw|1{3AOoi|a5vy;=(SEH^DS7maIH%iXT1)YjlGx^$)@Uh7Fxir zr(FtdTGYK!#d^fE^-^dPmY5c(d?#xU=FYUl#2el>-c72=2#!kO2UN5N3Skj;n!-H_ z>~!~|x}!qOi&-(0+y*tB?Qtxgqf?0dIs-Xpumj>}X|odo&$XaXr>mfmcm1T3DLhJY zpWh`)V+TZ1>K3XKmy$jtY3bOmz-aAg1lYEBifQZhJ%sF#R@hIA)+xUng?!S%0752J zS}Yq9tXK~H)-;=xp>oo!n3ps55IG?B1V`#P08IL^<;hs2U)@B9w7k5a(BbPG7_$w{ zr)I?Q;3C5r_LT2d!Isg-1T!S_*0`%#ZYIYUODUy_5apjBe6Etn(#IKl#j^>$6ElJQ zGbfO=Kt_@H{P=z8fP|NTz-S7SScKR;!4x~w?-1aSQ^i#ztw+%SePz6^u_r!v6J2M>b6=|_bGaV? z;>;Y7J`%dH{v)#}3P8qCw)Rm@3A^fnP*P&B&jbXXP&mkr@8#8Ys0L(=;@Pi(z%)es z9r(nI{V9(b$?Rz*R3t#PYSJSKrw@;TpxkIS>&GG0peOS;yt_^q(+aF-Qfo@3ya6KS zIh)rokY2IP`ql2hCNIeTNS^Xg+FIxcb38K zGbT?Q4xG=eE-r~s0xHugR^PcVQjzd|n`h zCtu-akXelcMhx~*c|@(|V`^GO?xOvY#i4iHsuxECUO?z6FbN~io(^B(`8Em#Cdke? z+D9cvK~7HVq*$04yez?{sc4H!j-yy3_hyt&G;MSNdW}mHQ}NadZ`cUT2m6pBVKNqn z+N^S9Thfd=@iEu-%{Ug>g6;z4(^+ers2vu}?4zL{15Ow?P}VLZ67GI9J23&g7hhx0 zQQfNvrb<1c*LWK9BzrtA)X0u3_axpjM3)^yGyg>lNW6cFP$hzQ*I>c8M716A91l=~ z%LWs$A|y~&ZZB_LG(KNYMDOSIyhj1TSbjbzoY~6NZXhvtNS1VK9JV_Q3ejg{F@|ej zzM_6Eo$=&;uiwGT%_-ORz+1bPPc62}{YCD8txx@^UOKQ;EKm`khDYPB5LnBQU3a-j zhH6>E>QH(na)ElXz(|J=P*A}G_k32>-UuO~XTV!J>v4nDDqxOxk0&hjVFAA}UZa||Vak61rL6(s78>((LmTH8o%3;G z1Dy;qRl+bAVyt@e5tAs^{!#(`_KUSPu_0AU|6IsNVxyWC=>!On7dwq$kAVaPpRD-F zkayDC9s_XqRFR%sNW!d@ifZ@;+X!*N&eVe>Pn2+ru`E1370xGt2C&AYrKTNP;7nD6 zsawvpj(h7shjjb+D0i8L-@xSwfNsIS|MP1T40jZ4lRy4~jVk=J_~!^Fl_nGUCS7>6 z3Ii0H1*>feM@^~=Gy$cwFC%Ebg+bQPg^hSY~3g z>YMJkbGorl$$88y#oG&_kT#MhNPSlej&{(ZJ<-Cjii0qYW!pU{RXzQfG;aG41VQza zixR7RvNVA8PunIV;A-RKYLd-Ss=)Y)cAcdTvt$6`rWy_w;4?8R((K*AAehuZ3jtc_ zF=$mfW09mgVEN$)Ip$<_xziUi(3IWJYl$uA2MJ(I7^hj&`ROJtUkZ5&L$D zmv02%e!~v305^Z@l_UV#4c+)t_XtDOAEaWCtw@e+t0dG{++W~sx^)H3X(nMry=l%n zg1x3{`*?8=S9Q&5-^@lg6sx7B|33BSx(ynQeU@$nl^GxomG-uwvFmB#A!&g zV=}96KvnI=dwg3nNP4TYVcrsgUS~hxs8|)SJu<2>D$3vq?)K?a zmUIoDZQ7_#`D@_5zm%(#KQE%O&B`@?X8#CE?a8 z|FSMO+{ff^0Ht>4EyQ8c)4LGv&0#SEx)3fInR;VYzR#0s6M-pK4UT%t2NYqV(3Fx; zwTp>b;dlSoS2(v5OkGt331THzD}V}2ioIB6C4{dHc)l0SaMBXD!4w%ul&hgp@8XHD zjq9xBORWYmY1Gy!)BsPH{5emiK)g7=8NUb)rCit7sM?C3zF7_3I}R%$)_I`4^FG2K z54yO($Ab=#PQPIrwOPGha(IKP_j$pm2$zMTSEDT#PlifF zRiWKIieID;v_vDiqyhm5LHU*Ie`u#B7(j2wvONn7KrhvWfU_x8X^7H7m&Hf~caS27 zp0+-jFrsIwzF~_v5@K=j&%;j;I^oRD8B5Fn?X@d_}i` zMI!kC84muy-mkFoHf||(2(`x)1JhH5+kqOpbmAq+&-l&zSIAmu=m&-6y`6pgn(Bdv z<$DZ>=dhM@{;1zhelu#e8$)MXt6p0zaJaSKaQvi-yE)S@Y8_Q{xL`?eNTk1VK7J+& zL~z87kv5V-R-Oxfezwuo-;?$z?un^Pj{0-7y@$(7NCy^;# z;qZ%sVd|83Vp@;lnNHLV6!&fHU+5?rqT>!6gfSE{ZNKGyow^O|Ba@z*IJodj!mmpV zdp0)_vJ%2m>Qt3uP0m{+w&<*IV$U0X)~smU*|T@A=OB zAgyf!?CM&5J1^3?psw#+WFw78?|u86;FzZEBUq3g^x$fokPl8Cd}E^>P}eXEZOnuE z#^Bw|1LpiqT5Hk@-0!X-KKQ<#B34H=aY*pKT!JGVWY&@Vd%M7f$l0Zr=fTaFMVggbO|=e>$GZ5ji^!H>-WRucypA;me(BQ}SD6e{a0+Z@7+&qbd1BmP z<-<$tYYQ2ToX19u6jwVl3TGgMU8l=(5ekw!BpY9!2*vN0dCQ4fd=~KcukiQvGIj}e zyzNR0x}}QOrnCcZD6RqKzY|wiL~&az&F3ZscED^@-Ed);1+GYqYiwumr+fjizGELI{mw6lo$3K{X{BaJ@niv`?hwH-a=!0V}`Z0x^l>0|7mnU|90xVO!iZ` zh2>M7+-OL!8BJ;Q(C*ts!_$wzb5-}cRxu6}Uj9m@nBz(J6^dPrXeRzf=DyfE$(T8& zV`F6byaaq^!6d4t+f5bgi)l_@vvSLFGG4oj#Mb?TxMZZ|XAh!+qEb#_n!hwrtf#*< zQNU`)^>f#6G6#AdcMI!pFatM9E{)IzZ+Fa>br7QH@u(G+QiP zC4xBbac9BW6^~XS3%=bi7xqomAh1k!7&*>6joTt?TBd_IA8uR(YmAEu(O{u*ZNeT% z#O7YmMnJu}g2Uv-L^e7436=&)+a?-8YR$1xzpQAag_N{MS7HE?<<-50oR&5E$JCJkv zyg8GIFMH$J)^mk3aV^)3KCl_L{yf&~wsl*pthwOty#0A`mVd=> zfO!42*HVT^sv5x-lAEY%ddEB`eT2#H`y{Iz~n zQ2NDY{?iu`S+kStb?1H;o=x)NYO#W>v?g-!bQaPu+2h)&L1*X-&1^hEw{^tQ&IQWb zM3+MROFG963nrHJc=KE(*K7pEJu4p_*7Pb zn^6ATf^l!Z@8$w8`VV8$dHdLK+aV?Et{|)<@%}k~d8hIt zq-uPd#S^YSO4<7Y5pSuIsQ8V8h)d)$74??Lmcw2-rXa64>>GIN0ZxB);w)96B?C;{ zX3Wo{_6Gtg@yZbr0^_(2gUD6$iwg%1T4wrBX^l5hH`q^Cz2l73qh(HK&#ZaND(YuK zM`M#R=#wv*y|kLBC$lxP?EnGz-m>#;u+{v+{>c>w)7P^7cf^0yfU|QbYtH|r0js(G zLjzuTTTRWA@fLqinmkZ=Ff0-+5tx17(NBPz! zWjO_V2YKevc~al%>tXqhRoUsmg!`t5Lc|Cqu0c#RoR}#h)!Lz9jrR%h_WAqUdF=bC z?igOsiDTuO=Z`nY_BWRI%$*C|N7}^e=P2nPxO9UC?S@e|=r=ABSDmXEb`a{6@6YZ0 z&sdeO_PG=9Z;1!*zol~#2l3vmU3M;0bVWV6j*p{Zf?K0|$ze!yX0*@OvWvkYM?kGD zXE+5H$qF^=;M_fEIwKSU+Y%`Ml8uWY&@hZs67zPhb91JCb&|NYsch(Ozx7_^V2fQ# z&K0#=3qtLN-Q2;k15~ z5A$3GAFT)}CF;D0H3IQtioF9nYA1(9{xxkkY~NRm1cGiu>$`apk%1yhILfK8H=d-j zQMVACU`?!_Yg;qy0pC){Uh>O(oh-cF#nzE^^pa`}O(nL#VY|~}`r)y7iwUNN1(MlVqT&|fq6O=|_ zx$(v&7a8=%bhO z8TLY)dSl5d4HSja)wQn=WAZ#j8te6Ncb3E3*m5LS6MnL@@6=|sQ#BJ5BgcN;yjpZ4 zDShf=WTr=ryfm60uW5`pc8t?=Fslw4PIBZuFcbZro*`B=L6G_|aE>)aqN4!&8M#19 ztrTm@$8z%JRB72O!vHO_5hVjZIm@kZ`gS`eDV1u|KxeZEx#tEZ(Fv%aCB`$oCz97#F@#DN^eK9x|A?irKHYW>uT= zyly$hlIMGC==FG(`F@oUrsEBAf{iuUbm2yR-6vz!(3dZs2IO8eXG`6!&JGgd!i7cNEjgw`GOfFZ!!|3G^fD zx(_@Agzq&kpI&N*1+f5iz!l%~K&3WRRxd!110f}cUR+`}{^$o(fP!@l;Wf$|teb{X z0ye7t!^#^Pl3JuvHPFlrfvQX=lOLzf^RpAAxsumP%tZPH8pcR1+xI1t+m#JlJ_I;D zqvO6hS@aZ^XRu<%hu~~`2%v2rnm|}D@~Ccj7i^0uP>4msACPHhKwv4-oCLHaFO+1wD>IE&uBUDZoq|~s5A&7$5=-Q ze^}{$v4FceJ82SM3I%_>l0Or4y*Keu!K?flx6}VP|6-$|G4uZL?pDjiaomQvt*W+F zijK42lonHJWp|f9TcD}lE=?*QwnC~iJ|0yl;l()J(@Wq;tW@ng? z;yqEjLeR4;52~kBhdwiw&A!>3eUKG8#md3v6kP2_!_R7LS<~8K(dK>+8xVTc95hbZ zM1gkryrl$IYbCYAM@1Ao;3cxlmaeZYMM}MGjbGSB1I3uOh5?!86(Pu5h=bx-9GqU) zkdmXC zZJ_u3Y-=nOWE@9OCSD9saJe-vn0YXug3V=Y-Bgmo&f1_ z&9WUyF3T740qU`i*j;w&_wa%UfN#$rtDOK`J!+3MpkUS;qX^pNP;ewP^7~n#hh)2rgulHl;Y?UMDz^ofyYZEHe`){JGv=>t=Rf@r*7t!&Fvj#1yNWS)Kuc`9QVi8C zom&z3bsQSN(g*QnOxr6}poj!40wslUA%bhFH;B?2f|DQzj?wA_2%>3dUx7Glz?VX1 z@IErHxi^qq;+|7vidrk9HY9|G&Bwr0itYRVi@moBs%u^JFL8H=U;%==L+~WHy9EpG z?iSqL-EHCSt|7R)6Wm>Uk$q&Jdr$YhxBu03A9_DzJy6uDIjLEB7<2r_w^IULr+JNc zzXqQ0I(h`1^mvWJ;#-RZ)oa>8SS&YX9qsK9$h9tj&WEl`|d#w^Yg z7be(lq5C-Xm&8^H;Tb7zxIh&6*S?V5>RkV0C9c-svYj7?_M`k3G2Mu}Z6rA!iDq32^-a%R90~9YaA909_Pdf`(%E1TtK0%uB(}@{+qQKN8iIj5H;Gpm^eN?e)rw4I=0&ZmK0XTKY z0d$q~V6s4B4Ao_`PTS@(rbGG&GVh6T83xbV1pi$!{21G|hhcEU4_>-Sl^ELgep#P997?hkqhq)I0Skaf1%b`jVOZnIOiGJgK{QJ`)N8D9W+wK_ z{BBTrqQL3^s@ng^)R)er`LJco*VSB}Keo1?oNXCzU!dHCz(;lUA%Y%MjC0a><3M#I zf=#m#Ou13D#~(P9g{Zo@cQtuu45Y+|Z@z~v91!nUOW*$z2znz6*&0k)3--`>8n zC%&c}2vP&g*00_`DoDK@6cD6#?n=*zjCrqa&+lC;G#ee{-tt^c0LQbwfJnY)PG4o( zBW&7T?~QOW3QbIFAfxwBJ;%oY-aH|Sf-y1YhO#LwFL<$R=QR#=JRGE^gN>!`3 z$|IP}qI?s4BKJ6x2o}5MbILLh2bZTwS(@8?QfavJR4CCn>CQ*8{~7I%_;n@5?)Q(k zd$Dd=|j47KK^ zQkrUr&|i+jLxBhx0RvLc5snX|iRWYPmcnFh0#iwFKvkJ=1P%YH#hm%^wVDOG)E4k1jZ z+z6b?6q=)EPj~zoU*=t$I?q2K@*v5&-y1}Rc|)}uDP_Kw%xUYU{bV%kUES?5ex%`8 zz=ik;@PPto_=f_Yt{*GE6pG}jg6Q^&fMGXP2-{gDQ1DRI3SUKPDwXZjGdUWy?#Y!fWu+m+4u`1P^TI^#mr zA%HAF!fFhIREkAa)*-BG_-fICcWQfxzwu-Kn>gUlTn~qIt`$!oCbDHfW~7r6IYXlL zGyORi!YA`Si;0n_tqGJ?k&mIb2y-J)+|6>+TkXV~)PIB@M%z)IL@Xq@X5RQTItTqh z(9yk4Lk4AGu%~}3)u=yDxvcx08@t=fFBm+-Ch;Ju_T>I;?S0J5b2hP1-8kv-jmklx zc$iG`vYyiB5F6Gjle_FW&afEMT|U)%ymQC2ggPW`hPIc-%A||<`~}!gnWPV7c@$J9dXFdN?>2kU!k$hRUU=gV%wza@Rd{*cG zS&j2GCha`A{n@UHo~&)(>h%e`C7r^uK%8)5Ne)eF%6;LPV93tM&wk28Gw#a`b0t0@`E;!9Tx&FZG7lb7l^o82Ty z10_&m)8|v!au+dSXvG}O4#WN2*%}Tf9+REt5t?p5&d;7fc7^`^(7yrT9V{1E6m!l$qcT6NTI_y+nV1=V0n~{S?37DwOVk z*mUDSkB#T!@>uPRad~5K&bnLH{~=Z5vR>`-W)11`CbG;0z~G^IDGb@cX7x0lvU@zN z_kyzj9)uKs#8W4d)Da{&P9HW+%jN#Ts_CErKs<)?Cb#Fw?& zRDsEIT0VE=+WMl>uKjw!8NZ%LQ3AoX%&;VmqK7T)@*&b~15qs4!eP(De>BWUnE;H@ z{&HadXA-}hQ9!`QHAh1M_bF+_m9>U|(e|t8wI-_;w(0D;7B<42eBdi8Epd~^&|?Xz zpcTC7@#k-5dq)yPO}^hAUBwC1-Hh+Hob6>;8%2S79W=JZVy+z`{i3V=s05Kq)ZJ{Z zLf|anmwQeRdzmZ5uz*K{N5r26k9!HY%@#yowz91DHSYFq_ zbGl?|cpjFH6I2535vkW|=_`WpM4clxIp|m^oJhKFVpvC_C}%e|GMq35w508-h$*lr zJHEv7p7tT@%DF1BXZ!zRb6d7_^J_b865|5(Bz#p0B=+U;xM+@wZKl8*W zMWZ^^kg@kih6tt72OrtMHx6_^2d;fl>e)>X+7c_>Wc>+mdS3FIE14w&xl(c6pSe<) zGuIznN$j~(M$;2>OWU!l8n8({boxk^0`h(Yz$@r#^#jb`h4m{i9J3|_{mF9tzD>Cn zD~NDe_?yd?;A(6z&`2Z{VzCqulhgWmXD@S!@)Nu_H1eNZDaB27E`5{7Op75+ay%_r zXsVEmymmYdzwP-VXUg(*Ar^6rQExc`htwHg zWbjY=`1dNkh{>N_*jlI$j^I*763L!FHkW<4L>aT(?nAX8uZ`OsLd}FcHW)$_%TJ1X zP3YKVQS+e8C=RZ24if?Fo~`oscI3v@d@~dNDO>l*MX{s60QonnWNB%VOFNV2=wJM9 z4#CC!tZ@JNqv3!V0_O+V%X$(-y5w>oR@!xvt17+;5jHz9lUx@$2-$|}+Yis;d3o6z zXrSPCcW&ttgZze%YC|k|^-roK@$*kq39ILgD&?!bQKhZbTbnd2V_QB%mT3=>7QfHv z5^y#{8~@o)G;h;9SQ8D;wM!LYC-P@)`f^ER?W0L;LkRKXDGcrTQ$+qZ3>ZmX<1Kf? zfo9f`S%kcIhMKEw*BW)K)12c=)sD*@lxy18WX84Dz$ z;06AZl(;bbZ>2zB7+Vb0ybtM=g ze87Z`YN1JMqZm5xggy%Xpq>3E?ScI$W*B_^aX-K4m2y)H?L#e|_-h-|qx*GeBzK(R zQ?qayPCDu`T*!js?ab(1eC=b!oHx$2Yb&KpQBxm;4)I??rUi_hA9JW~0^`6p*qWH2 zRnXv4bf>iI#HFAoo$$0gIJg=O9)Q^m$kzVTb)kAsAXM_gB{X{lx``kxJhNc!-t!PA z+Cl7RkZHn|nvIL@xvfL-W~pzOsV&|#^Wi^|rj+nJdLb&UH0=?FUppV3BVWfjhI4aA z0jTYLknJH8auLH+O>iPc+T0coGsBPe@<1nQlJ5~MQX|l6wYAaR|h6NE&-82CZqUg=Vtq;zn>f*6fapgLjRdF$Na zk7nVS&2WN+&MW0CL%+9fSv7&QWyy&vEc^702#n2Z*iy0gfyQYI1Yc`0Zh~o_4}v=o zN{dM#`q}gy7%kCICG84AdO5Dph2&FzDig#gx5MB4#X+}$ZlPb1AJ z5i6%P4+1YyaDuLLQ6U8V<+(jXBCU@Tu8i4;(7W@nXdH=>s?7R}2UPxvftZ;IaBqES zLx%U20Ob4FPD}m0H_b-V^hXqDkANvwX;%fu8LFr)lw|^F#`|?wk1hwh9~3I2hDSW` zr1``&I70aDEvvptBTRvUWT}7zEmwT9XEe#JLnc1L zX#5^nX9H-D!}))1ZoL9O8pP6}5%&VAzk&{*Bm$uUGAPaOCJe*LVQE0>RH=ELkO&~0 zww*EC_Ci*D`B+1wb29hoC&DB*4hrDebr22`_${J>baFJ*)RotYxhY`E5?q>!)`ZmQ ziWPDX2E=62OY1#vdA1pFPqJK87~8Bvu6K2mflU`})PWpTb?f>y7^eSCQ8Dc=QSmQP z@h?&FFH!L?QSpCSR1~cd!4@anz!itHHDJ0LLjAb7h)y14zOCz<<6jVwPQ-Y$UqHOn z9yn)crqnStJ`W%LII3Y7+B4>iJN)eq9<*+W(VSXop=x0o5DM29U3VBbsokOiMv8&9 zA1S+Fx|q5B8`W9VaS$vZ(OidJq_e?|r5P=jPli-;*ypuyJY*zMs+>w9mrOcTmA}4< zFK!k3Qn#Y<$eox8Hh@D%*n>ltF^NN^Hz#hyJk-!{Y!=3D7=|@AjI%(83RGE|z49n8 z9AV$+!R&)W%0W2XX3fh7@tQvEHp`Z!DM{Z|I5X5tHj34Q)Y%=(2{70(xu*jE-R(aD z?S`Tl&3_*=0xKuz@NsK7Lm9W5ft8eP)Tw?SQd<8hvN)jpA+nsBR{0sJC#an--db66 zm6hM**zf+z3+KG_Lh5i=E0r0RzV&>(UIQ)~iB9X==Jrn=j1k&Dyxjfknz1d+OSZBw z#{$M=Pdh)hZv%-cJ+I2G@p9zG3jH4tVODMTBd~sQs&T&iOFeW5EE}jQ)I62kek9E6e zvq6~hi=`Pktkr1A7$S_!f>-7E?~WhP4PgUA?qjQ;lhjyUiqn=Q(F0cuOW%v>mFTjdJ<)lLm#5hc+ME zNw%R!9&+Xu#Q;szL_4&dnWGY|qdMuwhyS3hAa*Cn^Zrv?L5Cmzt*xN-{ast(sB$8@ zKBe40n$JP~y4I3uC;$0cFUs!#zdG3JD51{my_OxK*00pcwJQ0urI6ZUgYJuT;oISW zL}>DvFaLSmINXCHLP@oKvB%%~k?;QeN#B>JcJL?J=)%y%-m@#KOdI1hUf*w$fKKTA zcaUIlxBfXu0?A4i8qoASg)$t!=k@rjgQpoDr#=H~!z%B`MAHaqYGn6Cg1TAoB~siy z?uUm!e2FnilqA>j{`>93WFp&U=M2^nVc^O!y+RM-AZ7xE_&*9O8Hwbs1R&)n%KCg? z6WVCJ7jDRBbPBTA;vqEzwCKr@eI^q_eTQAmFAw_1i8|l9wrWG;DD=nm4!h%Wy065>*FLuP8tGO4RNP?vrJNJg!7#w)$`X}|27s4}{L(*6lY(Z$YppApet_!?vUE)z}qlfqOZ3@41;Gw1(UN}(uX zTBEeG4G1A$p7+zR5)LW!eB>@iyU`PDcUO8GUu{dtnoZ37?~E9;r+x*V|L@`g?kV{H zDK1DVk1B8t+ROWD%aeFG54EG9;3Z-pP**mAr%Oy389X`MN)jw0@%Lq;C$`1^@v^b0 z;HRNC$>R(=geqT*uG%a#V-25d=A!EA_eWxU%XgR<>Glw80=N(Xa%!H4^8VkmHI>tJ z63BB~D?zamBv&Xpx3&F|LLNLY6FEa|Fw_l3c|g9;v6ZoW$j2-%8q1n)qcx#J^d55L zi};)i04F};GIIq908%4?1ljRRWf>7!yNP~g4e=&(%Nvh#pM)?dn zKS{(2WCo=`W?&0h&_-*-Y?}Ze?6jTH&?|MqZDVW}YDQ-!)Zg|1wqnGFARERsJ$n{xVhmcTJV_o~_?+zwiLN z(VrY!>qI2qWECjk%b!WpIHr=GXxcVe+R06r!zN+5@v+p3 z(6*-X9Fmk&m?8rB5c#k00_EgKmZ68}68kdKEz{ELkzUafy&MQ~IASDt8W~#Uu+?G8 zddA#$3O=~^Ta5Im9iClJ9*RcGR=*O2HV@z3@$7iSd<^`EJVeS$p-y{{_sq*x#k@%Y z)QyMco?ce=pU(>Uav>i1XbWUAv}QkzY@6a?WU9s$5LiMW)$~LvZ10#ei8Hj_h_-d2 z1uH`g_NX(ve4zfpdm*r8Gs_E0!2ft&T4mt_94?0UQC9?1O)DS%FQlr4fy=rY9&&Fi?r{d6WSB#k995PH9q8@n(e_ba|MmZFA!j9&myFe+VK%Og&H+IqltD0X6=Vkd zB%|pAl2}XmJ1-0_=MwQRb!X*!G~0{=MQ1{$QB$~b3c;KHh1G_?Sm+Bmb?2(5;7x_+ z!;@in^y-9i;;aq?Cv8d|P>slo@!koe*@p&xZ7+K=2SERYdx$M$fNZq-SBs6fe(m+(w( zmp^(XNUg}R&?uz{xG8+6b3DO7uifD;&hpfO-aobPiEmq^U$PzIoA$u9bW{Cc zq!^ei$y1K=zoaIYBrjp_9va1LmL77TOpbEDtepk@xMZ$wZief*zctHT8fAW%Xz|>Q zV2M0p(-eK+&vRRBmbiwg2HIMt!LHO`9PhvC^4TnjUsAvPqTP>J_B0B8%$v=_9i^EVAAZ{&(xIcp))o!+^y2u?d=5mx=w+N_ z>DfasGgIJ8@{S88ct}UHS{k=(O6xkZ)p`wNH;4Z@9Ur3VjwJ1EeLdg)EQLo{+*d05b<2I;`G$;r zk4NaogkFB0vu8dk4M$wpNl!iz9(;eN!}+&aUc?I3xqxUw*7ES6Qtwx|t++esT^g!1 z&a_4)<@q|4IfdJ!_Gto9?)JySFSC@vpEy)ZP1NJuy-Lw>2-T{4}Y`=toE zgxK8K6%IMsUW@X{jIBfa1u&7#-)Pk^(8&m*SgPkNO7A9@sbvSLP5cVeDN zz~>cI!V?z}o1-1pVH3LsfqOct*ws*??wqR8GixghVhPIBS{nqK;&(^DxA1CaL z;TQgsA!Ucr&+_`~Y&fy+q4voBv_bpzd8y*{+;Yh+{Y5LVe_dmeS^N3ViWC={f_+;* zFQ&yO(NC|`>9j$IhYEIfjhEqDR#q{>kkrL1IW_#4FSyi`)RD3qk&{I!Rg9L4y+31# zdSs0KjNDHc_@uHA`xmuaRtT?L3IAxeVZs2LZBWlzPU{Y?zFL+1#`OPT!hs zA5R`By)d6~Lf%j(n$!P7vu$qht=U$DzJCt)?Tuj$hT@)lDn#QcLF)w|pGrn7;XXW} zd2-G0CpyT{>nTd2QU{-4O=?Q0Y^OS-TZu1rj}Y^mCU3!{f%GFs{;9D$(m$rzzQYceQ>(WK1DLrF59_AD^I@I zz-9H0e<`<49JSl=0*FnFQogdcI^m&eMgfz{a_THsi*%K($|PyLRU?44&Lqw6$l6(qF_dMRT&dOOo|ddxW)d*i*24W+{e+wujD|M?;g0N1LFkOiG9h*!j2r3%pTQmH;YRn-|3D)^INa?hMg!H*fZ%*&j z@8GYI8Fw!XRbg9CxS@748EIG9a{ZURw!plgGtMXl9c({b>60*U>9=Dlry@dHrhBE; zHKb&YKNk%dY-1q4$==f+3Jp#7WjKj(hi6ORCE!Qw6;WWyv>c> zsR>+_fUW7Fz)^RbY2J+RVAfQ}?)GdVL$xsaV7iOsjOSRK31qS-7m0X4WfI{Z2{k!# z!?%Q5>+>9M@ULN_bp{EdLRSNIfL^F^^4DaKn-91Ih=I1xDfyA=GU@*^g~O_QX*i-k zm@H@2@XFg<8=A@u9SXI(GQ+Su;l~&H`_igCF&aDw{hEuC4q1roFm?p zAFLgLL`g#E5$x zpH1rT0CN^jZYd_?Eq>~Gpy{y%m;awiQk1_}R*4Lu*Cq@5tH9FFBakC(t<>LgKer); zcQt4^55z8P-B>rj)Qs+7UhQi2cUUeeOtAa0UR6vEZCVG$joJ#^pO3tzbhL@#VHRCQ zx}1vs2SZA%L~X-skZIwYGOZ48+#w&Z{DbVu8~JjA{BV@`BjdULqpuF*o^$$Y7WNVH z;PJ zQDA+Cb-yQ8#;VV@MKoQxn*y!2m!sosKjhG&)qOIDDsudj6DM*sdyA4t6zf%?iO&N> ztFD3R9@p+6LJn#-+GVf1uZnGktHGQaz2lNSty#i()D=$1>XX(YT%)3FNg_w&{OB>- z)Nu?qhMWtJ$;;n_az!QS`TtG0C-h&!J!BzAM7HmSPV2h)$${r)^x5*Ot%jKFNF7?L z;m*m?$IZRatW1@tUV_-jf2&wsUKz3Ffxqqgh-c1g_7IEEXmd{iN93nq1C$^9O-g`ed|J{3ckw# zL@j00R$+c@okn`PyIu4IHoSAE!hb9DXx_X8It@_pXJnd31!Bb|_i}yY!fVrx+%3k& z*Umi)d1t9?w_L*)F$E?yTBsY)d}=HbXq+PYo}Q~!kf3z;M&?r*{N38iJwxOPSU_1} z%iX(TV|&ZX!QI>_@&;q+Uln%$h`kHfG#J!+v5!)8G(Ja7eL>APVF%+FrR--&X@Rv0MUUJ9po#%Cf zAC~$P-RCAIIqP{qa6urV%2#L?*js%X0u1P&X+Sng$67GhtaG|Wl?=>ADIgfj%Jm?8 zh7)P0)=7CbSxcgJ`O~z05{V8Tdilinir428!{7ExO)hJg4J0e(-MDbm4b79xSE`Bfn6$>kQF@X(tlp&SB#J zsMPcDy5P2STyI0W*24db8plCK{b10Q>BEwZ*r=_VGIe3BctrYivYOapDEWJM%n-%s zxNk~Lh9kT`3)}sZTS{nL*g?P`1jLowOj|M=TS(AAhKRiR*|lK6zUx4DaBE#<$QV=3 zXTmtXkOT^=xQl-J{M}y=Kk$VtY-_t*^h_Y=+s0_?yC85?(V+f}pnfr)R5w_SE|FeP zpLJjd2yX=!8ZR5z0n!D3>i|J7s!Dm;lWsbo8C4MlR-(vV-#0tzr+v%9vRViaQT5ufbY6cu{*oXz z{aY459WEVwccCJJsWT)Q0Z_f#mwa9RFx_uTpy;-_Q7wG%dpaDKlk3p*!%YvIzAa@oa@AQcQ!h`Au7=~N7^|Fa;{hsG zSwoIYk)LyE@EOmPPUhZ|Ywpk`ZbE=trEbNA$F9bI#fGrMUvAm*CMPP<(uP@S#R`r2 zj{7mwtzAB9C+t0vMaycB(#Sc~rwntYx+`(7xGS^Hb6^jMF2Hqys=?G7Vx>{^G0hLX zCqPNJ0@;t0@M&i&sGxHvHnCR%J2-#eLD0JQyUZp)**TvG$&|07VmhEYU9PfStd%l- zfNJ;#&8Ch5>ZAlqhd*mH*Nc9C*EyfZZ8r0A9)sv?QKQL2Xsx^m-sx_}s z5&)|Qwlh8I<*xZpr|*Yfe;kPFHk&kY|EcAps`+GMJ=BkxK{ zIThK*?PVS2z0cZ6GL{>sU#$M6!n&(-AaNwL*qpM+4#K>z*@R1T!`nMT>UG@Ehxk4B zIkPP$g+#a{_xtyys-7#3!lH}iz%w$-NeB2ysjf1WfoEiX7D}%mRn}5NfYom2R&i;g zhj8DNT003Z)tlzRW1rKrldEdNdKVDjtFymyg}}}!(s|?1KI$AnF2fX6tVR$c#if&l z&O%Ip|?_8)}8XlU~UT}dr#G_EY&vJ`#fYqN~m z&lZV!zZT14HwpdovqA`Y8_JR}q-}Y&hcEgqd{UwQ7Cz|%sQF8Kx^*ejx*^{unIUB z@B+>aTS4;CFsvNLkBjytcwT3QJctPod!75TP!-Z~s;D1krK<=F+P*eyc1RX**+< zFyy%G6bCKp_bo*Hz6Bbcw_AAn;lPXGmT8qxUtXZuTbI#26BpW;qR^OP%XAASd$Q-L za$F!6A!*#o%?|udHZ88h2Wv#*Rw!v1leuYVy^lt+sSg6?C-xp!2zwTz;j29PZUua< zx1WfB8F}8;hrOCe7S+CPuL->qo7U*_VY@4aCk$NZeG1v@jIKPp6&YS@J1>K3WXTHNhl~{Nqnd#e2_RgwHyxpXsMwvqDL#KK1 z?XguxJm$p8*#%LYs)!P*KxwKiLcbDIqYR!c4T<;sYMgCn*(8eLl0t-Fd;rQ)_KGhX zfbncub<2bQ8=DppO{>eyu+dyjhWt|El(EfN`tk66btA=)tz^o#&Et;ii~E)$isPG| z&tI2o>>h1}=}$}=@mW;J527LK*pWEW4zWuEAG6e%jZSv}l2!}$G}K=vxofVA`n=@tI`FQkNz+lz~#bk^N(j#CNC58g{I*p0>9X@%(OkAUKJO{EKu zOZ+mg0Q}jW1-b9FMB8DzFFQyHI>S&A5!w*nrE%@nfShm+0*Tr(@!B`3fMJ<%dmM{U?o=t)}Qgo1FSZ*vn!&^am%|?a5J7z3kg>!z4@&CsP3pw z+kZ+Yqewq#5?})JY9Rd(EKU3Y$`d~-SCIQw5zQUJROGVHK=fHKwTX!9gB2Q`;Y^0L z1j{Vu_uabOo_H0noqUBV04p-1F?=WcXQAPGlGpdTKS-##kak5#V;*4J$ckg7U=`|Q zPgsX{_jOyOa%L$WqDRF9+LY5Y>lV~BLWjRRrySmZHM&n05%l>Jso3(^@QC=?IO7Bg zM;t=f3+G^f<T0D)2uCrwZOvnWP2MNy5Tw zQ2h}6LcYVt;{<5q3AE^AELBtRb#Q4ra6~WIt!Skr?z(Wk)n|v2N<0qn7_R5Y4BQ68 z7~h4=_P|5C5&WXj@>L2`Dr(ziTV_lDxy_)vpGb@hF_*XM-qLl%|JS8I->j-!H7pFslU58deLcyQe)L1z)->TN|1aZOC58({Oh{!z@-;>O@WXQ=9C7y^AvTSC`)`N z72=?@FiQf|uhP~t(ejonBW12SQX)L0_;?|G%wVY!$i6D}wz<8A%HDU{Dl?;t%`QiN z`WNri2R1FeylqN#7&Q4(h4l-f4MvQH??g0&+XR*=dW>%msOj5lY!H~yJ$O(>;jI#@ z#PAOZSY@9``7;N6OQG&+WOSgN^cSiN0i;3(YbO3!?`=jVUE^h!UJ1}s@Qs3D}}996h5dufLD zr}7_$eeEji(sWOokbk2X#@hW|7ki)>Q|3_3cT-l6b8ve6AJiT{Uj#LAabYpL4%90&w4A5LGT<3tnOA~-X*k~KqsMzKFes~! zy`cXqi+m(6bDV3MFPP!K*zJ8$1l*VG&G9W@cQsT33(l zUq)bUB_wex#Y_xELXViS7tAe(7{7`YLHq}sIM#!_YT*nq!PTVBK2wiuxE3?a{|DrFIx=#dO zSr9V1pcq(P$GvCO+bS3Bk=6Usnc%`F-f~F=Dv^`8GN_=t9;LPLoL)j;I5J{DqkaAq zLTA14I)*jA5DkYyk#BjI(9mw6^xj^mLKH`PCyPRx!0Y+wst;hK;m!f|id-y{qi6~8 zvUxwWKliI}>5E>Ud4Xd(KQCe1GQwWus)q~9QtX=D;lt9nxP^XdJ#mQkG%}i7p9Y`v zW|#6$^<>C;3az8Z_^SsUOKH<~+*Q7ur}_-=8NK=oaMGX@Mnp9E^~~rOFPg zTRuL>9}zT1%$5O9UakKD zk`CR8!*GYsg>P)pgqT`tUf=Oa`$MML#rvO&V#mh#{aOJLv@5?fq0_BwyM2+kg^x56 zpYct3-kFxkQXBM)!8j~Jmz=C}q?NY>#*VFEy3_Nq*|xW3tS>F?3V)@!bM15>K0~S; zuUileFMZN7ci{jqCj+9htH{zMEd_HxN#@ktAh?<}#>WfC!$x~i=ODdTl8 z6Wi7kfm+iMt2sxXPut?#_8LT6CeosAbJs|YMeT%EV?9G_X;!>aZ}Zo34kU*SRDW_T zFKGs5$5@$PSkzy2V`)J~VxxMczF&g?*!eN|NGY3vqX_9W^K`T}H4f3w^KWX~BoPof zWrppsN$nemMxduiZBQR%dW zFEXB`El&~yypbhAfG3q^C70*n{D8x+1;eTDf@aGZ*?wJ7lYH+4QU=q9H_C993FH29 z69l9T_Mdxw{JRLk|DX)cX9A6+n{Si>YF;vEC?ja-56WQwz5709sf(A8M@-IFoulI>hb5-7H_)37euFcHL zm~Pe?@D6JnUDhLkmKatoyHs>{1{CGX_YrT7DLjL@XBQ`)y{($0OY>KNhdKXH^LO00*AGoK^sCym>G1j2rRPQg*6WbRd@+qpu^MI@P??e zt$|>op|x7apb(8(N-Hw2x*9!eCLYY)SS3J|Y?8aq_zY7tfA^AB#!Z*6&qW$6yi|@k zq2vSnUxz|ViLHH-$P8k(GPj%kS{>oTH$|HnRrvn*2{&A@6al&b5^W+FDaAXtF;pqg z5ekOjM0zxdwL_n*V5m$h)v_CLe%5t&YQ5rOgOA_3JYt>YxFZ!3UO()a%8>0TS@e1G zjfh52v?`-VR)#YU-pgWo+)^{>&&Rh7iu3EQFOHY*`XI>98=)&Sz6YO?^xyS?pR5ab zN2j7+2{;BFt-46F27>JCk>s^(!c#P0I^3W&Y?}cd;?tOPEiSaT zfi9GfWc?#63C^e!YqZh&7+XGphJJqL1A+~xhC;Y*d7pSZPCIvLj#y~bm*E6D+6D0a zAcUE6cv&S#n?}lAQZdOM)I-`8JH9FT(FshWP>3D8RW536M0pJa+ZK{2S&HE(y6y_B zFr{CdXFqoispo2Yz*0PEXP14y;j0#QVY(3JlS$0jI{L$-eQx*sDrr!cJ8H9zd6=-{ z?hlS6!0sWKI^+#~&kIg$?ku{94OZwh#d5Ze54}2f@4CU2 z&hrJVkepnUXU7{twzVtKeiH#6&r7ai{0tKl z{qd)|I0Ck2OWIheiZ6ZQnlLLmcr%y5hBr84=DzOeW2fIPp0Vf;(U*G&T`B9u)n%FoU`5azh5=0$-P{SKsbxp?O3Kt~REElu zj|LV|CFP2MQ0=mReyW#2+itNU4-=Xmx@3wDMni?EH-$KtqUO$4kQCrCnPQ&)dOUOy zbzE!#{Dke7`yQ&^72~9NmNRRWd5X1{JZ0MK}Kzg2{T)z|D_D1OZ)?k>C((` zQ8Ak)%)xesK%|55bjf&DF;ch&p@*5a9P)y6uG9LdT4gRXzh(XsDo!G)x5jmX_c9v) z0rjM`R|75acEMzXfSSPI$Zk11TU36#r>j-x0Qudsn2o7VZh0w?6buq397mt-?Ti1u z;7I1$xWzStPTHVXa%<4o+t+2YiV3`nI{V zwV-_LU2+odjsuQT3meSfAREqEI;FDL>%TY4xP-X-8{vi-1Q?34pB$)aiCR`qY-HKarcPZ}f?(P(KcXusL zad&rjw{`bym(?^(NE2Ed;OSouzZP`>HtqbJdJE|fTvgdS;|fk7O`+j>yIg$M(J<% z5{FHxl%y^B_B-W?kx$_%#rbS}@a9y)yeMw3*#O9&1|KW3vLl zONwa8cC#}>2EfRV_Btqhwwcn%U*JSB<%6-5n}s$# zu>8r+P$YY-Jb;U}P}EoUT^V z5ZrUwvStE)1sqJK-?KlSnhqAFUI;O?wq)6;v%{;QFokf#u#{L5^*l=xMJ4wDSX+c%|an0&uOp;z)ttx?!2_ zdAdz?Sm(n+pAAXWp8lqwjeT5qI8DUue1Ro54{^flLj zFD4POrv_g<((iH7Oq6s2RVF#J>?a8|IKz(lL@iAHuyb{aRjcwZ(=Zn?>{l?U2mxD)Cn@5_aCc0cAjSRjz3PNy# zR*yx)Aty?n)3l!?1ig({fXDBL&~uY+68&yi(-6j@Ie2x;rI{=wRv&M>m+(n6E`NUIRAhtYk1%s9SmQG`=&UQc2O0u zX{bvH`<|5p2P_XJzsm!)0dJYbm!}TJ4sC}!xnEBpxnoxk@k1LAi)G>vxnqm>-#()L zSSK|RXoeaBFKQn>Rd{A1Huv>V=L$iYiQm1MI{a&b@azR92(wB_iKoiQI*5*x>UN4m zit^kM8-rzN#uGCkeeLcrM6nw)B_7jS2HSzSxwZAS?$&R$z1OEX`S0Z|!v#?)+WRHI z;j3I(BxH)KwUn+@rI{n&=1^;xelxOMRVd{&#zi~MhO?kr1|4d;p4jo^&0bokr@=#Gb%0C^d2`APxfRx^p7YPzvqTk!EeE0>2*?cr9QL z)s6Hg7GIZmh)mi<-D4X>symZxSYHF+)tQ7V=a!W6`?c4S#t-Z{+}bmGJn!$HUJ{4G z-W^+>S1rBf5AW_=&)&2O0RuQr^QUKTLx(SSlhp6ja)V4?#XckHj~-bgnlq@{;o&An z=6aqFt#51|%nqf#J9`{K1;8&v^^{;DRuuI^$Zvr+v$;6vb&@&!t{Y>2sT)OTf;u(? zl&m>yd5a9hhw;&HzlLoQBI@D9MVF=Julu;zf(ci)v`)1hh!iuES^Yj^#h(;I>IKTR z4w7<0GMkXU`j2HlNw~XYTKVj^f{Xnq$B0l{@3#2xS((m`@MHWIFhy~Z}I`H8BAn5}RL3>>l0 zek#ss3XW+owX$q^?6Z>*6priI{J9y55^pXI7Yb;r7VBptmdUQ@0yT$n*7@UAsr~gd z{Kh(B<01<83b7u`B(ya0^DwnM6j3s=5Y?6tsxo%m##v+qgR<9@B;jkJ0@Q+(o;BAv z6YOr3pn5yc^lnsYO~@l_D-mcZt0X$agdHJD!D)AOL1Dv`Uq2*@*^G}zCRzYkZ5zc@C3%dDrW~^u-YIP>0%^ncGNa=Dw<{tUB@pz=?;#!r^UlCFvqkQSZ5N;OtOdqtEEjd9%ao?i_izJaU?J zJ3IOK{Ri2Ki?s^;x!gu=H>ROSucyj)#|3iBwa_)SNK0u?LBueJ*~Rn(bcWykqY{}y z-PuyAgj4rxJY{K{_=02Gls;A@I^A{53+tK)L(YV`RC2_a3FYg>*H*JE&9aGh=81M~ zkoJg_S5n49Sjg~%R$ntbJg>)H%dwHDMk-iFoO0A-bo^(j_;)=}i%jQhdn9C&@f~tp zo|FfInB=s~&FrwA2~!eLNUrd(VM4b>dQ1j0zpFH)*^Wy}lT~pwCX-UQ2^Wy?%Pj_C zm5C)=H%-;WtOeiZk^K~Rs9Hxk&Mg#{iJ1K7wBxL6Nh#+Ez5!>zUDj$6=4@b*qImve zJhZ-s30_f)+q!kj8LkwMlk!FL!_460ovW{v)$ntv(&er9@z)I;oout(7);g2_Jy~# z+|PgQAZL(;pj!)a6I=1EE+%PgEdHf?_QPq$SFassb~lXQy{+wVBq`O_;S__u9S7(h zxz>l(2a({!?v^{7fwvSZKDB3$P;HWU`af2Z7Xj=S`_`o6lW&2i?UAf&O| zIaU7aSeu4f6eDke zR8Kpl;c~z@G2h1;#6xI(*|Azj%etr-DM$7&cMX{UHq?Q8NoVA*_qT z&2o_#MwfdX{gk2jQ4&BrsL0tzr=mo(UyqaXE19f{1mfExtzo0FcK{f2@2}IH-m

    ?TgP5l?zqwxWsP7O+mRxAol50QJ>$r3aRt(;XW&LSc@^aS;IAw_pD8J6!g*c^R0zK-l?D==hn65L z%{wNAbp5mwwVDH-+7-WwcP~@4T1y@%S6t043VO4p-_&H{P}#Fxmm8XN4Zi+KaIly^ zy%HRz^1fR}F42kn)%h)mX3}moCjKyduZ&oQD$OC_;Ef+8f_oPi&%RN*NVeU&Wy5KG z=d+R%jx)MKHFZYy0{h@%Q7MAaUBwWb*8fRh%BuMrfyvI2qaMTWFA5V5zpi3|Dw75< z5c33HMkf`#iTlsAEO{eb+!i;d95 zkN~(nvX5wZ%JQ5%LVP$ID`UpI{2{f-x!>&-%9TO#W||D;&8xvQu>UU&CdXHUNvXnz z@L+AsN8wED@CP5Rm7;*Y=2S+MnQWxFkdTE-RMQ)Vh>FCxDLk|9w9o~r>%81%I~CD0 zKzzfx=YJ&HX#E?$kt1t#(j783q*2ZSY&vRdXb|AmRvo3G*>{_s>XKWY!;;)tNQN|i zny%*m-C{E04nkqqBD-bRDBCNvPeUWPCrt-=J5u~f@V-5kOf+Opx6@&;kcuoUJ1GWe zF(HoY&g!zU-2`6_`Majq@`>0D({Zp+?Jq;GR2F`@X?xQu-RxprM!m~KbzG#Vr%|7O z(G;xee$}VO%HCs%#ptH0S`5-ydG$(fn9Ts1zjhKQ<1ciw$H>1?M=g> z2J)LcXZkfYKR!>&`;2c^@zePm0vrtDauln?Vz5*;soWMXrt9m5%lfxnyXGPKyrVLf zX4g>3%MaqibDsVLIO*xX08UXQjS2qW?PpFh4K_#qvY%m+8-3l+$Z;0#BtJ=?nNN)I zKN3FiGp)O94hTuU=WgZXk8D~@Tw@-^$YWVq#Vte8Oi%xvjSVa(-V3D4-)(HZp;yN4HYvCf z8oMOB(t+TCfY!AX+QnJvX-gUt$x(^ctEoWj`V;@?5s(j)XRXM6W8sl-J}=@w3|-ge0D=uSU{AXN7+(p$MB(%*n(p69h z_MJA}2&4X@U)RrLsQTkcsP!y57k$yLef71={31(KiIsxuE}e1Mc7}SO+~j)mDmS^V z0Ock-9C=i$lYc5VL0JRkCgB61+;mk0l$)LxJ~GpDqv85!&HUSP)3C_WtK1|s`qVxab%kMOa6)w6x|O@f@-}fP0IS z=#Jpdp$C^m_@AuDt^Yq_J@lHJqlZFpCO;`p?Y?d>)=6D7)iJzVCtX$U8rY2Q_Er%= z56=wiF=jg1AjRfM>?xEZ za8%_}&|7i*J91M(%0HKz;)UORrG6M<11(DJE2BEl8!U=Qix8*l{Fic5&8>)ug-wR{ z>p4;(_fuTOyVN(&vDh@+%i>d+in^14#4Rwu24v2uLR!-H^L&io`Y*q*L^iutaZ_1@H<5Lt}-kg1=MRBV7z z8CdiwXQu}~(ovT5PhY|2V9dq$B6P&P7Ac?JEAK_%Y{BHV7V%<102QY)^(*!S0H107 zKKpqqV*E?{A=KcLYe>>3RVc9X`_jOsFNEVmf-u#eEei6r4+?}>Ar!?SlJl+Ugm%8gpZ%DUqQetbRvC3JanA#zp`TO3cYyA)=*eZ)L zt(8RIz&98Kglo_HG#glue(M4Px}?#+bdAGaWk~RK=qee*J_kxbQdIs>U}ci5Q%@bSkcjY05RvM*H&*cww_R3t8scvz&f1H|6M(`F_EIz9YztOd2i3TJnv9Y6$n}rv@7G_Fi)Ot#W zWZPsv(2>O#O7gyXPG?v;wUjE?3BY{JNYOvc#}p+-f|-_z{e({4aYNLpJMWUFkkd*5 zZfht*WtYB0R)_t*t;q_Q?5?jCT-$-1;(#G7<07^tcc%=#4S^d`J2o#{Gn8!pmQljo zQ=uMJp9*nJUEgP1ogQPNISWg3y)tI{K6ZQewI`#T^su)wZ1soxlV;U;#xkVxe$cWj zyMozqRsVh>?Uoa;oF_;AGZ*cmZ=ugLE?S&?p@!1<=+`Xe`deZI=XNCpogQwqtxfb0 zx=Z=f9#`OnmS`^g)r){+529G;Z-~flaUtajwVu42sR~L((|;)cF(vXqKTQ!?qhfGV zYb6N4#`}3b^$QjB9F|QRbsTKR(E0Sc9j%If|ETiPx!e3DxchC9gJgTNt(00ktzV`|;&o#rXR3r;!LZGy|I8#3H5t|`h)@+GINu(^O?^@ag!_*2cT7Qo1zjAEh-Q#)V-FyGTo$n*(=uaa*@G+_f!!t z;*~&~IxxUcf1ibSev!rKWcj8Znc2uPbP$RqWe|dfWHoxYPe2e5t6?*2QTH>{BEi#{ z`5<|&O}mj|VUA}%_nU{qp9>rKLOL_UK>C-U0PNN@ISl0pn+|r~nBHx2T%3Rl4%Ff3 z2#hW3@fM)!gxt-K)Ql)yL*e+e+I!L#qJ7csT3@L>j%(R(ph9Ey{jPN_uv|X|HpBCt zbT(lBb6FI}NXAJb(}LPVZmMOqu-g7eLsZL!LuNXM;z0dE7S6l_fAdN?@6FQO9f3L8 z#1p#*zXlhOROTGbH*JRgBZ_=_2p7^Sxc zA(~P9lde%NKD)@ZPw6u&$RB1@xLhAVLAHtPq7&Gs5mgZc_Gt=!KK^B(lf?UKMxpRi zH2n2I$KURk8D*gumosq9(D!iT)Ho3`kp&#*XtlmFgT zBY&et72+xS^+Y^hW88A5?o>w0AIaV6W|>zy%C*oNW}8c&&$&`{95Y|t@MKNw!96?$ zz2L(`ttY^$K03NKXIbW<{M9UHf_on>;18@5^Y#_%pmc6u%$m&1s2!6KPXrI1fZgFd zO>Fi~u)o{`w`i=q>-@-8^yNQ@Q*^T+M7Ik$g2-hmbt9@i{$REpqRuhz*++LNY5ImC zukzf#Pfxbx6In>6d0s9>Mic#NMV++FrL$oEZbgN^zmX~$=@0u!tYblINH{%p)ovq> zv!x=SRCJ^`*d^(yL)uy_YU5OwJ-5bih;N542-G_N5!T868?3WP^(HL)35a!owp#aS z6?#f9-X*WUaeA$zOrjl`Fsa~@!M2;CP-PVB7!1>26=bd6nFjsrb9YAw=V;y z6ChdE5zHHFXxtQT*7sdRQrd&j^j?f&9B`Ba+0j4lw{lZTq#_w>WQTac#SjnFqF7>* zW<%b|=)4t+DSZZ5Bo|M|DcGtud2x}1@)$(8EpuVaU@6Ygg(_bVax&^xF7TxONN3Z< z=7=9(U?S&gln78S-*@GsnH~UC43}iP*nb*t-CR&)ir76D(&E`@?utj|<{n2E2m~Ak zS$gBulGIY@QeY z-C85Y%FFE%K81gdy->yY<(g)C%kA1@H@=Irii&A!B?d)|QsbC;hX3{6*7YC78ZZ&- zWR%pS2^NOFNB5{Akr7Xvf`68)X#{xbIE4R}t2sZUt9Mv#RHlB54{qT3A^2HOz#)cG zG0|~!`L3!roB+0kvVv_$YIPZF>IT*-TC2~m0^P9BqWmK~J{ZxrTBP2{t|z*#rwGF5 zL$n)W3YfTe}Wsw2%d5elB^KxwMQ5GYM8VEidfCEk5-uiBEN z{o7W}NI9@o162;hIS$vaILB~7z(M^C*s2*B{--#nRtt!8^7?@|=b#XXbM|LGG9TXo zTQ!Ki|2EF~2K5W)@J#=PbFd%&C(e0bO8UF$&Od3@gvS2as$pJJ*txstO&Foi@aJQH zR+pWBU&!QB8+R*hu|VXt6a;YY588imP~IKYqM=&fENp6QHn7PK_#j*GR-7AM8ea6_=DB# zrVfQGEHU60XwwrQ5;X%Zr05!WU)wO$OU3_41uN0-kFiKODmgAt{j>=>i2#$}^V8H4 zS!#+u?oGtv)*@pD9;ky!gs^}SG{=u;#h9-TJ2j3I@oC)ZO|On4t19AE2NgTZ2T*qU zaXyN@>c7#a$TpIrlt`&&{PXrK^0d1IB-UYRc%0#URR>SZsxlw7p{LmeqvHTgn{&&A z2tc(Ap&A6r^kW1*jI%}V?FV>-T@zvNbf;aUcmJ=>c@!M~GUqY<@V}q)Sp6q+9z>{r zp-Wnf}FD?9f4mj(srPRqa6tElP z58uYXT;W$clnL$8# z_oU?``J31Jhv~2S$CP=k+DLxBoYEmL^majKSjsS1IkA4lOB~Tjfg{B7XS;RN4?a@B zTuqPomqGy>fUjk*gx0$|D@T0LGoV+3<|`;+p{uO`*A%CVl3lHLqVszVw&AxL>|VO% zIwX%J*>0Zu;v{^9!sXs;yC#y?tb$D1$?Znxi?qf*RP;2k@LL@9?J9ZtZP)qq4cuGf zj$px1fSxaRwY3d|xiwG$D_!L9R(^1=tqKQPQ!}ow)|55tt3pM514^i5-&*QeNl8J^ zQt}NC*ue>>F;XKa2Mae_J&gSZw5Ap~1LuJXRej~vnA7(gPIlLu*yG0gU4A%^OJFtF z=IZ?_fzfG*;A4j_!mmp%{Oe0r`|vTde7&o9^7Ct=x$PmR_s9!Ziwtw#n#T1YcP62ZS&$Xq@{XMiJSufg?9EKjzKK(o}mnmSb7rK$$w z4M%r7KKw9}(49_7!&uPKb<}z_^{BBc+6cxggW=|Q{9)v0cX|K~V;obaFnX93t`67G zYhx!MmE&h!a&=N30&~e%3&VXzFo277ywcl@oYH`w9JM$;1ALbv6q3%`{tuTE&^Z(DVC9*5#zk3+*BkArs6)K&}m1pK>} zhw1A_1a7Y{PfPk`OH+*=_LGKR4JoLoxx|AFwa8hx6Sq_ZD?$V-TD(>DBs20H)9f*a z_S8=5S`_5B0KNvY3fZU8mQ}kUN%PCH%e0db6%IF?Iyi#kgvP*LO~`An2I1)UUXAKs z_iAka?A7f3k6ukEPM~zYYUVD~F!1C%;DE;`cm%pgQzB_)R%?6d?MA=s&1J^b6%?QN zS3td>d$k$8-PO<0OzB(wdYD_kc!lVppES|22OT7{jv<2UyydK(6c|-71UwXb4wNu1 zX6~3UJMTx$tlg6zGBtc=!@PC)q= z==K{10x4j27O4mTLWH$Bs&@(;fb7fYWjTNSxxDcv2+sb zr4Xo9a}Go7EMaJswbGdb+C|5ql9XwiPccU}l&LwZ2Dd#{Y8$nVpNwxDM@JUu z-QG2YvG#u6n?FlmND(5>tc5WR)hSY=;MT&}Pt;|>`WDCY^HIUJGi=FKiZ=9o{TI_C z0yd)gM1jbsf5-fTy9lXowpKFAkT|}l-Fle(0WpoB1_KUQ6Y_hSpiu-f$+}|L3HRGV zN-wpYm00A1Q1rONRUW1W9lCHQ(f15sJC%yQJP&4bY@)OE3eiI1bgb8yQ@ND>#5m!> zRA#xe6rV>jgz+4vXK3FsecXqeuIH5)Y(HqrS&xm?XP^3*aYJd1QYuqPB+yz#^2}aE zLfd)Ur}|FykYF~t4sr7h3we#g={jZ1gjp_~Vtv$)CSeU-eW~8fT#@6F^M#}H!jkj5 zr5fg2&hBfJTdIo(skwP|8z~ZT5~v!Nmpe7U@_o?*vQudH^kT)ZTDbHNiOI9a1&RCg zDcI^bj4U%d*gCmkzjfN@Mnklbg5cUxwf7I@2g z2=-iuZC+lw<;*o9K6oqiw2q)N`!CniPNkNK&)W9qF7s>NJ03mgcfvxC`1cIOm)m4o zs(TsV1{DMI?NKI;z+^R?U77+B)%FHHfv2eTJI4%~g^%@xfxO})W zJ9)ZqMt&K`$p3V+f)Ny07_8W`Jk7$_DjU8bJw-CRRgh6`bQ&0~(_80m&%Y*4!t3t3 zB$6PQNj?2JNB47S8sz1S%n~>vOUBaPCsBE^oze(gSeiV-rg!;C6B!$4&voCZl}C;K*7FJE@oe=CH0a>HtO@K*dKw)Z9dj~sHFoytYEA}ySgp~O ztJ_P25%0@FKjByL>t^S~@-HYI*B8Z6pm(){J~(Hn(%Lh~7sH3@Fm*w?Y?G_V5y@dz z^!VbXTQ*xVmky17e1wwgYA4AvWSY3k6}uCSe3mB;={&j$L9*lK8+9}^C!?cc(euTnis87Pc7_rTNUk`xNasCZSr%zsR{1>boJb*aFQtl zV69CuMiZ6fu$V^mbE(MPEaUfLFT5(7*4cVRZJ88 zw00#+ru%}I3e$`0nGGwGePe}LZ)dUr<-HS+a=B_}eq?8E6v^jXdPbHO7ExP)s3~|A z%^$CH_I4TkK!xwFm#YCm@9e0Vb1|!jH4cM+4g-HsB^f;;Ls?ID^(kiMFrB}S2JtxL zpoHg^3emIQ>PjxTwdU!F#HLld^nr~4{-g_oQ)fkPr|4PpyvpVDqbCM~K6V~wA1o^& zRe3Kh6@?!Gokt|QD>w?j6IO6}<$YQOKI?#%^3F0BLu=?u({cOB!}!ljyq2r;$xs+P z)*FKW_h7G`nU`Dq8H&N8v%A!ym*wSw7aX#xM?ZH+3Y{4~le&}6nMWqr=SEKIrA|p^ z-Lx7gPJZ{r=VmS?+k>-KC5(ZcV8ghp_OUxKPA5j)=Z_I!5|TZL4taS zBPnWCyR)>36B%ZzT+FxScKxm3tb zaj3Yeys@*;`VJl2fMUE~c|!JHh)4=5!cDUbt{YYiM~XQk#T;wWkz0h9cE;x-rOL>L z+mYLi>v<@*v|*I2(=VwQ=M!*zQA)fcKPVONm{&677`!~{`6UxPg*?u3UhHnyI*+ca z9_>$Nw4R?17+%gw79P@`Jp;Q})#j(?AN8N>o+y`|Rg4Z{9PL;?03IQ`-i=2w@b!G} z39Ug2h-h)Wbt-*18W}f{f_YJvu>1emJFB3+7Bt_I;1(dbC%C&4AV6?;cXxLS5Zv9} z9fG?1or}5RXZr<8`sgLUQL5>4Qb)O75^; zByv&UVmTZoar>=vd2i#nU`?Qz=_aiZRw8VlVA$61!(8voYSy8QPR4OrA!Mw?orGsT z(Tj4-v7;9z@dMA4+psdqf_&3s&u$5u*A%#fQtuJb!#rsf7?g_OiP&UB{;)`*1Umej zj2*3jHPLZr#Gv`3?LdVQTjvI8?evC2ZSj+?)b4*tB}EjjD$jiO2o zT(w&F9L~ar^p>XI*@XON6$3TiAoQt^=`ycO(t>!ZS+*F0u=$m z{v1o$h5`Yjd(TilQpbaR%-~xAae2oBxW-(|A@k(2ganr)4V`OafIaIk2{Pad3^g`6 z4=$=xQ@gtM?D0MTnFKlVe2B~)t2=QG?Bb%4ndd#{y3_jkHO2dg8cV#!;3zw#v(_== zbEcus?+@+v4Vj$O%KKVoTtE6QD@v>sLk(jzAREk;26jl=4ULB|TT~aLpmN5w#c@!y zweV@0V7%aku#6WIB*n0$i4AV?M0mQ}Ty!6ybE*pygy$0tT(>;aMo4*n;#v5JKuIg+ zXXnU()xH>RcsYogp=C)r;94}@R~NJ&?LCFFcNMV^QonFVpdNK9Hv2$~tuGn~AK+Bz zJF@(2f?@FfdCu#3NDru`mrjYaTs^>+S&3Ud{5Z{tB$?axZ_O`}6FK3P-gS%Juc#Jo z6!7k0@^u__iie4w!@O=p$--^06KvdFNcoA2DI|6tOjsXJZxil~2#FmCD!jQ0vAIf$ z=ye{f*7|0uw*Ix;#hk>0W1@;#^o|xR&kLvg!a+RtK(_gV zwG2yG(4bl)q)&Wb)z+Ir5X6pagQOC3Y*4dO5-;ej>Ys`RWyrySSku|Mxy5zNdyFuN z5in{28(O<*N}SlHnYWYbG#BN1SGx&{&0rga`jgPi93-ZJ?sIzGEM6D&}? zLv9;vt#ZPT1ck+vNJBcp6r3{5AaH=-v8fpaL8RG-X#f%T#<3hnw)VxtP>R8te44)Bp1fV7p@q{cxgOD`A)Pt7awkk z&Odb`nEs@fU1P;kVxy+W!33Xjytt;+PSfN70h4wlZHFm>v09ci#0>Unk~EwFtL3Mc z9@A>WqWs(z=8KA<`~h=F+7$xL-)cXjV*dV|qqPSQ3M=F8Go|>kPG)OXT#^d+H8+~( z`Z|zNU%1hz_qRI7YWJ-#zJ5Tfx*Ixoez>L91x?&KNBgPPLt_0>W)9lkYXUZ;^h56< z>;ePEQny>;!&;l@KjFI|ToHBJ>Qg_izdhw@ua%f1ojF5!yc-PJ3S4vpsALL?ry**7Z9 z*`#4UkEv6fN^m5oyYu8*wW*ivVaedCJLK_S%5oPyJi8m@Pe3a}h2V7&kJHpYBG>9E zqw!9W`n=Ij!m5F-><5Abf!YNUTKN{LTWJgKuu3tGP`Sr}xcC{EWLx1Z`)nb37s^$Z zRU7e{diA>!sdP-mav3OFODVaY?spHcCM@_*J6{krKW8Bi z5KYhKn;;h&2a)Hc3thaxj^u#z|6atV6Hijo^79Q^xcJfQaNW1p;W}LO35xLiEV3rey}jLhFrq?&@WcS70xT>0Jds#XZmFDc3UO{0OKz&d7CM}S7x zm-~X1YxVGup2rz)a8wTD#05bfhoOJy7un;r)S_lb=YN zs9pRC>gGLgX6t~bt@UnSM&nI^YaoLB-d8L~`KgO?&Tl>HOYcj$fSb~*HZ0(#wCmkc zC;@O&N(Uzh+?1|g!EyjMr6YOxm4s?O7GzIv%nuMK@_0ZfpLp}sJ8KeV#06`2iXoND zU4e#IfNHsG+~b+|j+e!2J)OO0n1C9nr?1TMOOhd){BC$*|8986zBas=X(&jMewj)Bf=Iuwwru0jh5Yxnxc{L+vWHm8KZm}$Sk&Snkn#fgcVtze! zGKr&W$ln<{ok2j-61}ZsB~HkpRRE{ZV%YF_Zfg9{1BAtGwq>yh$fsXA?R@gG2lDCq zETptCsVI%<0u^w)>swR1c~Q0~S3o|U-75JTB@pqN|B0YS1O+u=qa5jyyn>}q0rjoY z@ZNzHBXYW;(~$AERG3b{A!IC$cL&fL2j z?Q<3QJ8Yk=56Z5rTp?knpp{Q#dzcBvrs&?{5r@*|93bA3p$%7=XZ}C31}SAb(VLFYre`fgp@L{Ky-3fI;cI6-i<)|7ehck@L~Lk6XVy zk&hJRs~kqh7So8K44)c#6X!VmYsSm)NPWzt&k3<`d)stW9aygOWOh?&hNiSzBa!*Y zaYL+&2}I}nPv;3;v>V=rz-CGRaJsm`cKuQR;rLn{LrAB52twdv>V69VJ zNmH+*@c{vK%$p(t9Bd$gCK@3`IixaiVv<=bUcKw+MG8vNia)(B?>%HddunaJS5Dd%sQWM8N23d#a# z&mZSFZ@ry$-viTiAHu}}7JZc#r_2A!qP6kaa9*|=we~jk4)708#`uF`2i6Kap!PI?8e4xtaj*boY!ZITUT;vz+c&_syaAK;Ga-2J(Hk2-h-l<`*{uUiGQYQTdT-^)Q5p{4XNqS1 z;C7w+^;T*@wiZ~YOH9;*#8zr&x$W5irt?N{*@0Ag{F)VoLkUp%>gd7YoZmlGOhpa= z7VLrdQ`ogK#kQbh1qM!F(pMUo)qhid+Ye7972PmlL z)>ZgV=tiWSl$?K`_tj@NB%-%jvf^U*M0Xvx)PkSx#Yp2S@U54Pm2mws|^d@CKE8 zrO_W)fS}hLoG$Q1+CYG9vLOj{Ei}UG3ssw`o%0?|6M~l$>Rmk=OC-$5mZS=WfyJNRALU_%x@E;+LsJvKs>oVz((Ka$(tV;ds_av(lo= z?ee&HLe=|=?B$j_s0XH2m}uYwskxl0_Wq{CPAk=ellwmkgqDr5r4o^vqWn;U50mIy z_c&6UV-`can0bXt#0&Zfl4*7C+kal%PM}Ie=a_I1cIUXG9@aRsn!zg_4Y4KT-BG#k zD{bsBv&hyZB+LyNh6tN#f4C)vF>CuuHFSf`gPyC)%l9>n}Tv8u}fo07b}~VsRLz% ztg&&?CZ%vlsQLp|g4A-ou0QR>2uDWCsCR^z?`}XY)hMVdO~=bu zQer1>Yj17E3~c#z6acMYG2`6qblW{cL4wYd;bE!&sFbUm%c!;T^Sl=j2rX{9-04O0 zLztG_t>XF)IHL;}_u4(hzQ85t+$Jpi6uF#w%4aI0)}rvL86X~BwH&s+jYh>D5N5bc z?h~>o*yl{IIe)%E-7wJ9-48G zUGnyV;Ld5R4g~CyLk0+=)HEB!=R{=4k7kkU^VZad4k^)EHyS?0D6X`^lUk`UCk*6F zF+>>ZR|EzpYTAqr!bEK6i}AEkw5yU{qq^8C#QQW2h9y_^J8UrR&>UJhuV87W)Nb6w zZAhiixXHR2yoe zvEmD9p-`;KH*#Cz7V8mnvBcz?YQc@U1|EIR-_C~xc792yyYIofYI4IDHC#LiMd*ui zWmmbUjR+eG(1<$Q8-q2r*hauiq*RUKFg(D=kygMo>c5P=c$%0v%GDarH9lUz<~v)l zy8J34he*85hz@uO!~I~o*L~lnvQb*du}-**>bm~2R7^YHdiY}1wDMwZtFxPH+_dYp zLOa*zktVkW-)dk~?1rV)?kQXr-KrZK!4Y?v}^Tt|7^~eX>^hbUE8%ttP9~MqkbI;e%NRCTD_&oSa&-%CCu6${Dlhhog2rMjwwmA{fAX@H`UWxJj&*qVK?{7;iH@OYs(Cm)|(isyA%kl zLD+G|inZri79o;%>fs5M_!?hYUv9D3_DF8thF+Kzr`a2{^h$O!zUQ&3vXb~t6xvE8q4dQycEfrNySFNVK8m4&^e=t~b=jp> zVW`7v_;-HC|BSK+-i*u{aL0fBDI{BYXUyG861V7j=b1@k@$q0pGH|V5h*X z{rTcd%j+(}X=U~7>XwrVVojFE{4(Zl>n6wk!6>bYa(<*WE-}_cOK1rocwR}PmUqoH zx*`teGX+me8F^EwD97OV4-5ewaj^wQ=AyPK`V#)kimS>pxMd%0#ASikkL7V4AO1)nCZwP;$# z>20FScU5%3AQP7ow$x|=tf_u3tF+4_rjnmNT&l1EZmRnEW}RgAx(S}&vaGdwz8EBo zMvAFYj^;18x+EnmpejbN0PBWz7DSgaHK|7s5O#xVs@qqAW4<@Q#!SAfIIR27+C@^+ zY|PlqL&nxZlds(i%>d7&tIIZpfTv{hEq6}u__XJr2rq@H4+M*gp4YM@&oUmAKJ$ko zubClRA)H5c(YdY!HX{XbuVmg*ZFsO$LZp(aczZt)T#cykE|KJ(sqj>W5KkN1-NtnY zt|T0ikX-b(Y2*yT-yt5U*i+U0fbpX#XYvT6jJs!J8qranEcOyfcGwYpN+4cZZ)8X>z#@qIKk5lf-!JY>|$T|r0@GTD75;&B+=BuzC|~f zN-S&v{_HX~!QsUF3Ip;+T`RtEu#Ud6PliO6JamD<_Wd}tz!!K^8G2cTrQ}OYaPheW zdhhlB0N+`^FVOM!i^I1r?7oqDe^wa=Zd_h=v$upgplGULrgz5u0TPWNnS*eaFf@OJ zTi_7RbJIBO%?I^yRO>g1Z`qeKN!KB`=o;|+I8e+35RD(1Q;L^Umx(Le`OhO5E|gX?q+_2wpWiJ6y2pOaLIHZk3;&Gys)t0? zjg19q`q6}GI~TM6z!ufeom&VG()D!(QE(v5Ch+|}+ZE%ij7>uFFA=qp12ImdC3n`3 zXANqk*^i}Fj^UWh=_Q`1ZD|7qxzFhXUrm-WYr8&>d2LNsK|RiG=bM3+0GoW7d>CJm z6hU-;nWpk`%@*5&g*23ZnE^z}a<>B1!V&U}g%akP8>GTsHOCSH7Oh4#NNZ;mxxOC# z2Pk`HEa$;D1~*4Q8je0Xi~I<5xD?^4fF;~X+6xHs3;1Q*&CW6d!-pr0?5a27@N}`i zgZwHxeh8J;`l?>Q_94md?ZbvZMVlTHsOrH~4-oJAd_GS7+|sVNSE+O;W_ALQN<(aj zAT%()b|~#N*Y$p-JZOyNglggLFTx_NCT~7K*=7TC>VHFmf2gSiwUQc)*;WWhrG9c{ zA4mbIv`y_yN5O7cCvrehNsJXQAa@NUyxZKY=J?Q0&Qb#sTD?7REI+5lTp9OfH->Jr zQ;R!1C)HMBfb#wB(eT7oz8u|V2juw-Wy=i)1T+4c(s|bMt5m9zxLv|zw4nL1oF}kD zWADw)&R4t{RO{k^U!NV`73v5vQ=c^fH^Q~lor`+H(}HIuNIqZ4jw?sVx+2NoyS2Xo z{8X|%6FKhxVFE&jbcG3pMGDPmF-hjKrw@&Os%k$-Q`kfF54=4 zpyVx_THe`Tb!*Z>1NlfMNQr2hdBl!iTj<{y-0I-ZT2;HfU5$bjgK|oD#*B2-EH7-1 z?RW6V^^p=e6cS`S2op+ZVLClJ68yvXN}qYYCl`F#Dx`L`(MU;}DDXqmOKJ2{sQyi& zq@mpf!+=QCk;>H|a3suap@~H<#Crx>8F!g4(!c=nH5~qhPSEEoB5nY9Qo%wQZ@$lG zD6@PmC*LO5?~+5# z-dLYo4sNk&P@dJmea=FbgG_cN0M3M`t+Q9O!DP9J3K?+q46Jb`zl8<2n@rFCXBmZx57~OXh@ruAndb0*QZ=rI%P(^4b$e;LHoH#zy+E&4x*m*H>}s8u%D&c zLH$j6$b#`$PJoTY*k-2Kh7^LP+>qH)e|?kU_A|{HIsw&{lhQ}zuUpZmO0_VKvR#{| zbyMU*^07rjx2NEjJ-U4od)!(`49ic0kxuf>I98=>Hq0MBlfs~|Zh;%;eg@=HNi_tm z&ASSxQ_xr7f$IATJUWW^IVpSnh0Xd`JO9Kr4u9a9N!%4MROe;Uaf!RkVr>1A{YfPU zU-OU6ecEF2r@N<5nd$S>w?t)xDOmM_9P(zW0f<9tYZJtoQ2h|p<>AbyJsrKMm3?7w z>h3!bAA1(}mhvpL$dJLT8@)IRMuS09Fwn*nAbJ9?{W$ zQ&eOn@VCIX+=fx}s~`-@9OxztJQ1m7Uf&d>G@zCCgB8k>SI8T)@#TP zkSr|a)jD~O>xJ0!x0Q{!4xr5hEcH2-`eV6e?H`N?$N{;ObH}Kp^gBHumo`J}%=-g! zX^g9`93YqS<9mYxa%ouXJM&k$G-h%3RW7w|cbQe}fdk~y(#r570+7-aQ#cX_`UWX1 z7*hfeb1MpV#Oc>Ezr3Dw!RsU<*D@U}=vWwhz?o4gNs69diV_!l6Pl~Ag%*5HFCOQT z(w0FLMpjJ7Am+NEKYQ%j8x{W0EXj zP7u{^y!koGyY!Cw_|oJLydAbCg%n)X&0Id@r|JpHS^^1v(cdK6}k zt6+$D#X@CSP=?u0LRXFkw;3c7N(t@D#t>v9;frRY{d4nv%it|!exNseGOu|s#(X(u z5AX$N48ji6i1>R`WW3)m6mO>>F;xqkk1RxoBX4Is0|*N=OkM1oHs<{}29W1Nxz|U} z^RFNK7Nou-a;+&s5$-UBPFnS)WQ8(mv0C;g&I^ zy$dmJ3p{w~8d?)lVj>UEKL~}3xKJpZT3;z;RxhL7GIrgr{+Xr3MTO2%&XZ-_C{w|1 zHiN}&){+`530tE6C26I`5&GirO@7&Zb3K6aZ2uYMO%$U7D37XMvrlv57XhqC@`(TU zAp*WUIclT0j+_~3dS@k*-Mj>IHic8vkV@@0VpcS;m(w`{8QZH5h04yo57RMN_hnTZ zPA>K%2s@gB#_qPNecAe>8Q*ogn`|TEXLNbl-i}1Zq3V&UGI@Wod2$C|rQYdFS|+o7 zP$p08^Ffs1jej(p{-6*F!Bbx|a=g6A=P4hPcM&Muv&f&-KU?R#T71{`Wv}O8N@?R$ zQ1ErAw3voo){5KRhACAB4j(2hp#nM%9SoIE&hL4kpL9j4O4dzKfs zdf&uR;JBAxJ*5>y|072|ckSeJ?z4c~S(b< zFQZtRco;JOwT(PX$74z{SqbeXqH0djqGyXLD>NPw&jh|e8vR%-C}ZovGYy6>gPa;2 z%I@2U?%E}HsXxj%dKC;YR`ifo=({YG>$x0!I@$N$VI@2D!E%jzP`GOJ{qBmN=BU7y zM!(3^wD3n~M&^W!FNe22BQ8g!@C_ z%4l9roUy#KjWgwwauUXBZ17Wb-$8VVE(v1UunuYzX>m^K_#uIm0XMUP;wF)X1~kXW zWsan*Mm?R~cPEdOGWh{_qP$BH1&)eL7nMhzmxnwB3|58NI?@i>c5Q)$CB9UI^nM{X zJn_}qbbecfs(pv@w-yJV%3%wjon^e%j%I&0O%N{3D_c71?;A)Z;}B|I@nofRT2^|R zK5TiiOIs?bjr2OPRGO3u^rzHt?A%!zIL750R$wysuZd61oH%LLubg0}2QQ4wUj);o z#B918ZAQnFVx>p@atT=;=Ooq z3Bq3;Bzt*fzB}*{kN+n$Nc!TH26>3X1{NMgpb@1G@O2z5>$JjrS`ly+EEg7xCa=BR zd}~8bnUlT0(`zAq0sax3I^{}saW^|};*|zXemjL$s~YQml4=hrzc}HXzzSK65D?bm zwdihYSmc!V)Z-q>M!iP-PToE+7Q2ma7QJ#xo1_0?NN$&CI6uVys4y>vg6)02)N)CqN_o$?Hbe5#?qQ!g`?b}u#sE6Y~0T4pz6IRaL=pU70oU~}MVTNH34 z2MEFrw$kfI?;Mg9m_R=r5`J@2bI=@;Y}?iI?4nn$-{p_E zPS6;OE}qY-lS6e@x2pM>ou{>_%!@XkSHL&fO&JT*hC}XYQ?}UFsB1_*ClfDEdaQ zeXU4l!@uyhc52AIvQWbZEbtdRP$svNmn)NVB#CPwd6Uj$vfD=qcF@7!Pr)s+XWZL9 zIP{^-$>%S?EVJj}Kt7PT3-uv6FxnZ0lzpThrAOS<2DJeZSzh|Q`~bE|t7)@_!s3bv zqU2=8;Kg+R{7??IyVNZ2o8~hr&l(!;QQzhDk?d*9I<7)5TRdSA+#A_!k&>nA@5NSyP_OQ zSK{(zp0ipPTR!OYA3<{{dwcuoFtNp}J`ZGqDzgoH%a{DZhy*#}nc;^}5DqY6T7bj zD&S~Yuko38PxfSt1Bw!e|1*zf;+ZM1`v|Bj zWgj9CSkH}8WU&;4Uex?c;Nu{7X!kkk$rbyJVyM3H;5`WA5w@X?F|+$}#J`cYPTi{& zG2jg3Y`Ul<6kRqzsc@2JGrkVALjyH9!rkUoW~-H&v(Q+DhVQSti!PHKue*!%;XRp@ z!0w{yoCgwUdG4O<>4%^9I0dGu!}-Vga*w$th78|bfo&+|=J#Lq3iL&P!*Z?^C z)X|1Bp40SJ@){ApaP$rHabft5;=QkEqmKz~Nm8ikkOBhGflCHHYSphP?$$tu zUKU?FaJGR-0;&+8RhCsaAEExgDO>sfPnE6nJQ3{wHMaiO*!o{%>wk@{|24M$+1Tpo z*K;Lity5$W%O%Xfv)!`zq${{Dh^9zaY}8lds1ac2r08~DL9%ZgcL1jHjLQdL{Bu-?s2k=d|sJh`Epo0vzpds7pB z1$TuKzsvTax*IV@DnSADv^24pZ>%-tDi$$!`L-wflr^sRI=Hw%*xPiS%!v!teW_&X zV=5luCdQ*)rfbW~ym$G2Ga}I@CPcBuUI+fNmn@0Kc)TyA7)4?&>I>$`%f0b&U!LT) z-D7@DF>1A_lf`?eYDnzr$yWV1Tk@1SCT>&Cyw&sEu-p0yDB4Q`*n;wovMHr*R@hCA zUUKI80rv==p61=6;gB++vslR-Y4mAbq#fC4iTE)5QWX88swF`kJB7@@08abWE5Lb@ z$&Zp8|CAinNUtm@^NG9CV;JslCS@@i6WJnIhe8m6J4 z37#l?^5`E8WOUWO+G}6^o{?a*cfLJE_3#_;Sb1|9YLBJ6i}1g=kxEEBhOcTFc9SBY z4jPq8ONt1tbQqk|zf?eWEt5WsE2n>3V9jY7Ip>qRL9z^J5~S#miH| zBON~YXsTv=SX7mB%+ZwOHxR2RIWSDfDxuSP6h*<_nYsC(}c1>o;kyc(EN|$+chy+~#`*0uH z^AS5&raOq}u%FxgNNF$?a0sMq_`d#Rs1)s_6>VSu@6lQKOM+p07A zV)+m-OC@^-VI?|7ZC89{bx4`oRAJ6tjAZNN$tl9es7RIfsKRi-+U%i=mW@?V;i~P+ z(q<8S#2!?E6>W@9{z8%M`TTfGCTKj-Mq1vy^yc+MFYOD{Y&NHSs($L3tF)4d>5YNx z*m{adQ`6JvQC%}vcRMquml|GK&t9(cYEwflGa-C|!t*6sW0sR>*Sy%Iy+AG{`ky$b zWFpZjCgwPK_@=d==iBs%a)n{(!EGpyWrauO+`%XML($+%AEye`E`*{z6_j2IuiXbb z)u2+^+k%71G2#D8@WHqEXTj%JxXs@MpMZ$M3O=#UpA$+iBY(Tmvp3v*#vGV(U?Fbg zkt{eOMxdk~yfx3PHW03J7HnR@yK=>Q;KI1Nqosszx^ucJI6vBA_2T3@|Kh@?%Y%10 zW$RVw1x z+#VYJlySgiNEKZAcKg5ddXhz6y&lV8H)bbra{BrB>_&9ql?d2fmm?Yj6(xG6#c#7| z#O7m#E+?RF$J{%+tE<6v8{NmV#y;^5(E!WgABsNf z)^bk20M~hj_rjss?hd861pFIqfkA^bX&)16Tr(u9uP?rR60UK4@pf8h4q zs7=OuiY0l48=1|y{ax;9^Imq#n9wyg<$=Ctw`WXl#$|VaEnPAznG3i61y9-0t}Miu zEh~F0?<(Qca?DxwKAJsfsxkM|^W}a&Iw?E4kEmo%r9aS*WTssf(Vl8m---l}zk4M)?T^1n z&Na;|$$9hke?oFl1OSp_)$>mzC*-?{xcurM7h(-lI4;6x@UI}>YnM>5m-;$v<9*}5 zvK`s6W<%5#ViXlyjNFC3%|9AS{A_(^>L;g=cI%GaY0Bd4q7~PC@I1E*e0E+$(C`F9Ff^r-nzFPAtb%1NbY+L)Lf5kqw%^KqP zo3i5`7*V|BIe*R(`Iohm7k|RA4}#`y_hIHx41%bmN#i<_7xg`1^Vtp-GJa4*U5oce zq#PT+sceR189EEn_EdJ+tdGOIrf(Okn>f;jn==gO_-gYvrwhp#o3RS_XtlynKdkk2 z!oX2Qh8mD@fx>pPUhSA?z?kpF6ek<&stWnlT^4b}GjVYxeB)2-E`y-8{z=DBXZ}#G z)?M!$w$`aObMFx{|G4Aa@&sJmy%|1thW$mYi`?*{Sm(XA$>cNBqj!V7qcQqP-Y;d| zdTE5|D)0BX-LF2Gzn$CBBmZ~K?LgJgh(opVsvX1^Nl&T~j$_XD#_+X1H9ITb`rRh{ zcMtA{T$rSOi2u{cU4i!czdX4!?}9@Ldp)^hWMKe${^_p+jxx4JIN4wv@18;(Z3-HUphv19oW^lHFQImFn0`GZG( zCruc$|1QGuTKtyNoR4O;kV3+7ph&{exo#kVi5zo6I6gz|*YSs|Gar$*1>sxoIhwFL z@J*&cL!OLd2MX&e1(d&xnkT4iK&LbdD(Uc~ejGY?M^}`|6LjKZ%6L|xR#g#-k_{7l z8iNu3=k>Cb@{FkOFiNvVWDc}aszRW23p9OE81@DrZ?#TbxpX_?uG9x{!89|roD>3V|qUf}Y!t+^QL;l=>6`C8h{d9$QzuJNkb|CmG+XlLbwDQ=8 zZeVPlc)?CN5GrXQuL{e*%5n8T7TbM>=QLH%0mwGmH2rgWXyo2=zXzvYRCb zia(nP&KK$J7Yw#1A4#(J2mPgEzFjR@SCEx?JcY5(Af;E3akk)7nu?5=Gw~&O+Kq?I z2_<+y$Y0^29Wwra_yfY?PnmjOn2ZC1GudbB=owwAYU`EY(!klB|2i8~{Hny5Zq94Qf6%3mIC)Xv!&D9jO3J&>naG46P?G0; z*Ed0Nnb6lj*Ed&U`)!&OS4}X1jDP++rt>dQXlq3qUz$6ia$SX`4LJG+*V%HRu~EGi zNcxPSGO7@gDD%gm!PikBezHkatHh2g2A{sO?|!4amb<_)XP11A3r4}-n9Mkbg_xu@ zqB(2XHMm?aA|Dv;5u^+OGCoknc_WO6QQoo1M}~5d*7D?!cR>y1#)aG`lX&#K6P*D! z=tGUuM;eQf3*i;(+YmO3J{;?os?Ft{FHTEeB~kVrV^&Yz0XJ_*RAj?%HPv#BfGfMN zluXhv@ExdFWPT70FkJGm4StAbz*(gn=J$L`q5sxe z{rhIIVyC32vigW4$4+1{gTviwt9H8baKpj!9wi@O2w`4?nmE~6aY2=jq^jrshxvg2@08@!0L|vC7 z&L%LFjrq*pnX0}tjE07{vkg(+K>h8*H=zF3TmujHT7SculLqQ<1vcNi7i zPTjIkJNo(@SW2hg;W&Uk;JunT+DbjUj?-bsNj2B#+u}q!ufoftd7J`EA0Ca}-0MYQ z2f2kTARw(r8}AcVW_p*^MooH`A?T}F$S&P~uA7EDWgS}#PSk053_zW=(E$7EAQ#q| zO9OE$!p|%5T7M&k^x=U2xRh=RcgO^09?%qkZK$)}Shexrng<>w>wV7PjeMyiia73I?y8O-W&lke2-U#g9F1w^7;Kdy*n`?w!*i5g2r?-Vy&ccqZ6 z;LS- zP>uaL^xxslH*o;osLr3rqdECVbN7V5o9qgU-96xoyO@T%JB&wVK$BEy`(?yd0F$JhY3kPemiArFm1v^jfx`+nhVB_MoQ;_? z?yTC}c2jJ7WpIYR+l;DOsl7;eM`xug%QQR5ELrsAlIKV+ zlQ}ge`ylznq5Tk}{#p%y7$-={P1)2`k_@9xCsPW^$?z(s)c;T!I&NOLumX;hCcwO2 z8Afl2zY&q=Dgo=2Bs4Rzh-e9l30e0>8*4TRkzOxB0qHJLGfB0_**Suart{HE=pEtT zkCbvcY_@unU58m)S}fN8Vi=}Vvk4DV_6J5pp$X4p8vzLQOH&t9t-yiOZAJTIf3xM8 z)BOW3ny*#S`SQPw3|SF#>n_Yq)P1x6a@)L>Kxh4`G-{bnHRf^X`wS96-7Z2LV z(J~LAOVemR(QW^Mee1T4f6O2y&umoY$->H*as867=9pePq%Zf2fr0-^UGs@#0EFY; zb(9s{D+ov}my z$i2IPPtL>WnRzn5Foj^>kLm|)T|bR0dKb8*j{ZO$DCGHqO||*O28j_Y+kNj3B}E{l z-nfWUJfwwZ#4e{g_7vK;<_{yqk@1*Q#@;j+O(&iaw1%eq=AGK$zEribKx?%5pw$H< z@m+tiG(xzm*Po3c6~AFA^S0niR*i9cg%-*05gzZwzDDkhw-G%V52k)wu%EETWiDX2 zjrit)db>C;zNu?1E?{RTvJy!NPz*^6l>~aW=(sSnI-}`{8*eVh3|l)Zt2mhm?q=ps ztKV;;_tilw3+Y+hdmnyqgxKx2fT;iY;n-pIk+)b{MOYZ@U7P7ZXRtM+%3*kms zOAQTQhMI`Qt!o^RELX_)4#WU3`ILuJwu4?JP*`=`GhBAFmP^HE~`!y(dT>P%7Y4G_uT61|#J$$iZFteecs zxhJP(*fu)9=`zTq_Iiu7wY>W6><3%+sllju)phX@I|Lt&`Gj#y7^Wm#`m{xDyR$MwfmC=GUbYOM38KJ3kNN`l~;%w>|nRZiKC^T3?g<_Z7 z%)lwSNNE>13yx~IX03k=8$2vk>El;^+&Zsl=Ku?;&sV5hb%K2=J*ARBI_UksP6uhw z1S&$#SiyW|0+Kd1zr5y#ZQob<)RtgPZrIcs< zUsx&A^RHG4zrY_>3SsZ7m7+rW*z4nZSA09M+PauI8cg;rcjDx3XQWrcrt>+lUAGz| zj6PKCcOkB*Pz zk^YOzBep*;k7{g~QUuKXm{$1p#d~F5wUmV`4;KSZauC2sv45`OqV;2jUUq*A^TOPC zu-HKX7D!i!2%-HA^)p5rmXUNsZ81(KK{=(&t8-yy)G3|v2-`3=yh1W7JD^G%_THb(6Z>j#H_<)qAT&}1v%Nbna7FF+zXALTn3{;LC| z=5k*QYhtbhTS)J@JvN0ceHH@%KHvnbpR#pq^RFDiW~Io{mtZpM{g31nAeCUSP|0yT zLaNi_+wP7d#J-aptwc0Dmy~lL0aWe15jIPdoKJv}LhiPTP5#DC#8Rv8bOTBzqu*Qk z)V&bBn@2&9hu&}%Q?AP+oO>VQNOy;us;)W&L?)W4`PBX&=H5Ce%XU%QN03sG20=oR zPU!||>F)0CZUg}V0cq)y?(UH8?(Xhxe)j|Vu6M1y_WJE__IxwnUk~0h4#P8CGd$;Y zoX6SmJu7Hl;r(-e$w{p^sW0!O#~65otU zI*ZVlmmg9^LN152NI9pS-{(Yf>Zfz$a3OdobDTWJ42OoDmVZ=fKiKL=g=*jL+lEUn zJ8%}-JMbnrdnEsZ@=?zJ)$&o7(M|Tdm^N-iW0nv_JAE2NP8K!=y9O#S&ZCS%m$aPM z^$0EK%%;y!fq>&3^DD1(hmq3BO-`_x5bH!M{|tMi&eN<{Z5a@Vo2@V~K1Anlt1dr6 z_qAPsRXH-PS;ZGbIw(UW5Bg_Ah_NGiwK*6w51D@e&&EZTjR`KMWqxJUEYPM=;ZK9r zY_Q9_9zbf#^NiW&8N2w1DLP?UWNIzMoF&*elTk(g88BH0{aIMNV7<2-if>(^G`c*l zi1xw^87);u13&5+n6340Fh>})FL_ZF;tL;FVvEKUKi8Md>H}Y_P}gfr4}C-h@nQDV zzKW=nvP(0~-rbEF zUR91OyZZ0E0@3M3G@GwDe{fh2N&lPIfcMc&K28(MDe ztqOm115iPFImG~_Qew;GZ~%SQn$bXPgflf-#W0+rJi_`#asE1(>e*v?$}aD*E8_Xs z6(MJWc{k3vKxGC2XoSiW0gcd0)jp6@s52j|6K(Dw2iW^6h7Zcs2?V-1fLVT2P?LKF ziPN98Kw^NEuwcwz6&UBXwPUj0=JPs8+4pq0)sSeCM?WM+|9}tfM zC9=N@lyDIh4BxU?kuxL$1}73r4kDm+^f{O6Sq^HzZkj_7^sW!dswBE^;T2^dkeawuXt;#hK zB}BDVg z&TK}1O z1Ssyn9C?_=sjV(Y)K*o@Ya?l&*TT&JYwbEgs{*ZnSc@N8a31 z*V&v+Zn$$gcG%|?+ihE&8g&^ak2k^Y<1}=>sWxncik_2&9!L^>Y?F_JkcTS2BQ>LK zQGkAm7C3LInkcjrJMSA_nJ?09JLLaEkgi05k6*Nq+2DF3bk=sOV}e7E2Sdybx={P) zHJ8X3{>#JSerNTGEWe0fGYTZEkc{i6zQa<}$N7c1Hs|&hnh5DEofZSsk!RN*uINo} z0#E~O*K^r88ywG9MPAQkki5ngJfJRJ3WwIY#SA*aBpp{u{bm}PA8B-!noEx9OquTq z6Y_rBi)II#aFi3}AddN=gY_*eEE#8@`);e%GJjZ zuKt_as-uOZY)as7eG84WaR%%IQLs|v3M$&#i2EHnV4y>rdrn3r6&r4@EOdP3g3|96 zbAXX6_glhRxP8w(ywav4J+9OW_9&Y7UJcW}!id`_PC0_EHFl*QR#HA-@9{sMWM#tH zE(;Q;g4!7QKCYQ26^C6Z@o>#WB~TbJui263H-pP+d6*pRnIbzQfEB+k5cC* zdIZHLOf7t>;o{Qo19jb*aeKQq`%1`+3Er+9s{~w6&VoY8XPW3r_`i%gJNb`Booh_k zmH%9yqOM!%y0yBIs<|uepG4bTpBEOTswhk|gWc+E6g8-vty33AyTx2KB zU`dHv?>QV-6K7G!zKr?)UVe!orhcWsNp{}5HK%?-Y*W4KH&dZ{HB6)O>%QbV=N#<6 zZP=n98@7eKFV?KDJFL*o5Pb~G4+W!&(~=0nADs<=4SPFEW*gg1uvoCmSnai5##;We zr7*gYDBeY#U4P+7Uh3So)CSS)2rV54qd*Eut?d9@&<#EjS*@+FsJo-l1h3{FuF0=XSjdP^O__5x+Q%!N@Pw!GIeCie$S-AGw1Z{ z$f{#;us$DQ`ee54$e7g8K=$!=ZQ#PvdrD<;0vqH^8zHCLjiC@~ad*c%Z9lx=wxI}u z>TS-4rM083kPTwCRV_%pY|DOeffa?BA=7*5y_23j0wwCm=}AVUITOp+mH2zB_;p?T z{%hP?Y9+xOQ!dhXjM)E<#F5c{@R6tg2Z_@%UX}fK8TJ+LlMFjkf6X;P%0T4Nr6cQ2 zn;lIj|NhLzpee%+?hEteN9>Qt7mSD(oS!cP6=t{fatiA0z*Oh*yKaXzZw_jae^?wy z!`r`L9r;1W%1Dg#;FEkB(jwOo>`$v^jPabR8)#8Gkzafq9A>s>2SWn`uWF#Mi8RyE z3`!IIDgC-skB9*9Z2XG|d!p&zim?A{ugb8X{_x49GspHflMdnk$fU!$qbOzf=82kt zOZ!zUK5}WFNTi>d{TBOEIZy4gY_G+)-ed#<_6t3BhFr*aX0Won_yQ|0GWqrB(=?~W z-K%T9@w^AyL5=Y|@0JiJKG~06E|JV%bEYTj-j;yczUooXf$XfbDguXiNuYx%JkZp9 z2=7*n{~dhhs#%06R`HrYWzUu6ErgiF67>?|xKq}zm)PvzzERFJ01Z}3^%aLh`EvIK zd`1rzT#JVWep4_T_IYskz{%(Pjge-HmCQk!<;Qf0pUV@;|qDaW7~d_s(PXYmZ~V*PKSOy!}Bu za#F8D+Q$0o6f2-=ZH?Q9LW{C{3R-8JkKilT^dOtO3XCU-IiZ3_g0u%F8m|?sV)Y&P zy^?^5MorB5L1xL9LTNOX8+Pbc$(foMU-TkoG5ttB2lI02;Gj8V`zMu^$2OFq6!-a| z90%9h;de{C5iC`b<(uHUK*Y2eAH{uAV#mP!sDM`{hx0oAK~~>6PJg6GnkTfljv{$k z*d;arCI9Z@7jB;qVDIz5nh(dAy`A&q)?m=B)ckV*L(H8~AnIPMa-Ci!nf6I!tsR(O zG=rX~Xhq0Jg-TU2=!mJpN+iv;Prey>2p>v02a~3m=eh5=vCT2i0>oLoppsvBX^loL zc#dlQM~Ti~bdJh!_c9H|A%zW-%Z#E_s3S)YY`^G>i;`BC&$QX0*6Pt zzzlXAmp7HsStAIMfJe*EOaRH3Z>p{g59U89vERtAJ$twNze00z%HQ(z#Ngrik1$*^ zpEuMfBk29_Y}gsw|8Lu{cOObFDtgRT4CgOg`=u<)8PvMeiqCj}y`6wWYZZA3W41ZW zTDpr~^SzZ6!f75R{v4t1;?i#7V$1KX`U1MM($=|50t<(ey<7B#wMLcq`e}H5Okz?%5f8wyU>Cl-KJP z9VTtNE7D2^<|!ULS1fqkWa)#B!ISd+V0Dk_^t%Q3a*o_eFuba2pRp?7t9}ymy!$QYNeg%s^Qis;#5{8a z0nbskOI5hRkT4uj@fPu!2rTim!u?#EvU zE-xUlRNC}Qnf)%#uA85&tRJ*|r3hES2n6}ukeH%(haHfO`Pn^XV+EjWjOHmD!-GDX z%y1_#5(88^A+}lLWx;QwDjU*7J|YFfDXZd`%ocwRB-acQ0eN|RkpM4GT)LSd3C84; zXxm(T1*@Ci9P(qqrhBvl9f{x*_EY?X{iOWHe$4&}`zcSZ1hAizi2dp7P0m+twq|a& zR%b&xcm^Ljnmx3h-f}Csw;wwmRYW9!Zkyq4!Jwq|GAj^`rAU($;h_MA?WO_|Pck3; zi6ORj49D)M96+T#*ow_ES#@1r-SLX4Al}S;*)lCx#l10mG~eDTn-|4qRTKEPRWOdZ ztsS}evLzR?ogX8kxn7I#-k=nd}~$g{mob7%xJ`O5Cq zL~nDGjZWWE2WIZkwc^scoI-Gc53cl#Op9T0NB{Y#qtY&S33m7=5cQ+*ME%G-Q9q;q zj`}fI`2PNh`T>5E0P07SLSK{NLcEk#JMB~t19PQ<*K+FS)mGLkggnb=chyYjan`Xu z+Jxzh!B@ZZ4%mLCv9ec~Q;b?A;3_gvab%DDYcfXmn2cFL{%bNuCJ#!+K+nM;MaUFY zOYI!x1!PL%ZMwR}6#twC`Nz{R_vbYHvGR2Mla;479aHeh%2WJk<@o`yZ6M7yy`$C6 ziX6D#f3os`P80X9uor-4TZ`~fvrYb_+3o@~+qS^hAk8-D1<-7hW7;x>|GEZgw!Mh} z&9;`G07(y-BM<&<~_u#blhI9_EJlFueZWG;0@qXHcQl zj*%$San||ebqp+UE4$g9(5HUuOvjX!(0Npi4|7)W8Np7=o$x+x<`LaORt#glp72@aF0T(hGSi+8Q*#nZWomRv!q zaC++-9}(34^wS9&Svg^*R8;(sGSu+Z`!b_9O$bwBD`9hw)>$3*HeUZ=WbuZ>%{k(e zFLAt9Qu|;)5(;cAHctTpv7^GHgvatmawNU@EjZ~4OCu)b_i~<=fqYXGwu#)M&%_XG zNQo!+yi!f$_Ksskxp`_T*%mYTfS)3-=r&ZDJS5WkVB#BkAOUBlwb?Px7`wK8k!R@F@0G3kdicDg5ozMBNfPgSu*HVfU7$9B(=ap&l1H#k%b%2@)S#jH`C5$B(9Uwl8U+TK1peesM8^rwR!N>ESDF{cePQF z2m5u6cKy*u_jAz4_jA;{cO27GP7iE_le0Gt2TOOgYzK{Y2McbB2MhU55BnR3_lf*o z#dQz;>89J#HKsN{H9TEoRf-SJ_*Db_7G6zN|A4lo5mW`+&7Y)i@V7a#&->}#;po$@ zksFFX>4dy8Jg_dLTD&k37cX!ip%b7msNB@8(2|sPwFJJ_mc)K z_ZY@RJc}8j*QJv@&XrdtdndOLs^-?=aP7sGji0O?v;dtDYAm6#J{1pzcm`Lb+OQ_ zm-`AkmipTNv?Q${ zOT7>;mgAXcZ!;7=LQMl_k~R%j-gU0+oDrJ^He)>MD_py37$fFBu0$u%NuZi)syM(m zyI{J@Big2~oWyQHyBU>99rPNU!+bzG#;`H|a4z3idCP8b$o^hh;SBqBCWrB1EFb`; zetiK?;RY+0AMIKNH^I+b+AKxNPHub^7VygD3&Sy-aj^|k?-7sGyd|P|XScJUqtOhdGjI^U z_Khgz$DIVI0LVB`RoWY06T+C@5UU$FQ|K+8JHimVv;JvcKvIB3>`)=-L5_1N$47^?7K(NmXfQR3~1_lzEP z9qiv!a`h4Mt1^bPo!arA&{LJ@ary_Ylf+SMu;-C=zPA>8!Sgap9Zt|=q3RklUp{wX z4{G-!d10kdl;gH?Z0n*$o!ZdhX6`U~Vf&1go7}W~W^Vy9-=$;y{e2WeQJ|bKeez zb0@aD+II*6g~FGuZFz<;Z5V52$QY%}RBvuoHWh-x(7o1wl6-@e*-9iyy(XD26Ok+Uimmu; zcuF`y({nN|vr6SggpA?N_7Q_=7HT-Vs)R~3f-`U>R=W>Z-*TPWk;Qcl-hZtsT?AR3 zu0(}u6r%(%jh_b+#I}}Fq=dMPF|SM*$q$XfWtjw@m+kgmL!}M+tI1Kp^)daP=}RuK zX6=eT2~6!S$a1&kA8ynKX8I61Z-p;Ni=r%edlGStj+5{Bo%v-*Q;3p>W)EYg-*sCKbjo5Iu3C))(++Lvti9756=V@*dL)#n z#(mcNUG3&Rgs7)dgf>VnEFfVz@HHMr>lmi`gE~pbTM3Yv*N>Rs@Xwi9jOLz zfbOZ(DPEVKogev5yPr#eXDMeS~X^^79tp((ZDup8I(>oH{&cuBi3A9;*5)A z2KNIGXjm)sae#Qz6jv}%JEpbUHd_smIZPruqg1aZIHT!X=Z;e0lai@>ZI#gK7 z8fz{m&yEL4ikF&9Ajeq6hB4i9Dony0vT2N62)TsB7FNDi(lQ0!FDflMXoN&XQ0@*9t3!#&Qo zs*^~T?*Q4iY9smLbpvT`CG14{6KA@fE=pgqC5_g9&a zS^ ztD!(*`5cm|VyXSRg+@n@Y@Q;a)*0t?t-_m8a{{|%=J%Bb7)%>XYb-Z{x8#gHX=&## zInIwsh}XWU^Aly_O;et0wa1y(h%S!{?VR$`>XWN{#XPDcNrz7(!*`T9_E@dJJe~=v z`j+`M>srC*>eXFE82&e^fSI^ASed~^lm@G0L75=dE+B9|p_Kq>m-;zi`Q{xa|I6}y zK-*Pv``hx}pZ44GeT|RRG3AQ1wi_t+#M=D`KkaA!j>`I~KK^%kupKB5Mt&9JO#bdL zYfhMYeR^cbN=R6J?s_%(+Bw8biWBXONfb(S2I}{4U;jkux4NXL*S6^^H*q(D`tGiwb)jR<-rqhC+}zN{Z7%NH?2%j z7qaIZtN7t9cx55fWH^MgtU{B@pEBWbS)CgI+|^TZAJ7mOr(KM}aO0!ePwJy;eTwka z`oQA}!<(rADE;x()SisrvBP-HQTIji*Svu7d;GWYdzDf_t;u>!O|75?Fn+7_JWwg# zyOiR6xX68{k8Xqp*Sg(+Yt8fdlft9%yIl(S=o%Xbej=SnMy3isrhLUGmGhB6d}48B z@`gf59>N_p4Go56@a$WNvTTcL+dOSY+@!MgvC@kmp%;}uE@Ho)sgV&>1U1{9a|UA& zy+!~_MxjH*T|;pZ=0W%T=nz*#dUHl!=8Wgrm&h={7K!^@@5qK>0B;UTlQl-Yt#AaN z>Lo{@I+|BgM`mBo*Bp{fz{PDmPY~Iw zpqkR=BT2H#=5zzkv8sZ2?o1^7Np=%dDC9uqHay@_RUSD0lwf!h$eiD?Yf~4xJiE^4 z5a$_;wy7UJZ-xLwd*F}I9n=;knU603-9_^7TKa%8#wX|w34rc)v@}SXL!Y2K#z*MR z|8rpOEJSsk#+RbO1vMX0uwWpe86%qnl9=2n`&uk1sdTCZ7t~&zKuo3t7gzpH!y9tm z`6YXn`A=5M#vg%i4=UG50uJms?%MRH1;3Ebj;4JTTxl^*G?y@igG~<@bPJ z**^{VO?b_(Pj2?f)R^p~-7udHm7fi@jR}ST1Af>qAAH&#-||+u&tN#@lC$41l7S-S zxF?X_cKPoBbwc26ZgLj|5=HRZN90ab@Zhz^BB@HwpXhL9dtx1zZMMp~q8hM%{|&hl z>kWNE?(83tJO7ruPop@~lU0!ba>olGcXkM%V#!ab;6W?UngW352Xfgs>$xq+ztGtGc3934^~v4z4mc)1hHf< zyQAq*_syb82hx2r_~9AkweNs*-)c{~Z;2<}x6G67TNEF(->3Gp-zV|3-zW2L_xsei zgDD>O`+(mhV84&9_{Zn5S+>6JuR+7nYP#QM{)!Kan$@mB@!^gvQ;)5291q|DuRr)6 zynQ%XQ!LqG=d3wbb^25MU)zK^il8=O2im{333C)dZ9>p<7*vXEO{>1~B_&L;F6;hB z;_mlp0Ej!_Gyufi(`lgbAq)4KZOvMJ#5jDYeNoPc5qdhIEHTH&(*z01H61a( zM8bLQd3ojQf|(+tni4{|nhXM8-;QO19^Dp$UIynxp>{HznL=L0qDmg{ISCO706Jq*N?&myYHCNt^Y&7`O zZ`Scm$d7j0_aVlw&*)H`2lQ;$`i-gY*}1*>3s7_g3iM&`8sP#iR>Ly7G{eMJmXa0u zSZUl78GQrS_<4xDiC*GCowZo|=sdvc>F8lOifhpOQY*~+bxVrmE6ZO2e?*vehS=Fq zHMS4Bd^75Q_||?{uejdjaY!LfwMMfeIsSV8rWvzTIc8aFx#sBj{6!|Ib(xUOoTRIq zZC2R!S|K{KA{-j;$COXP!?_;=+IqHnUP|B|vOPZ#Vo`CabZJ$drD;fkEKT;wOui~f zM#@AQB!;R6hZPo7=MTt0AA75p6km|Rk*^0VsR7xgYwH1#?@U1!UVlCZspQ^EhZ(pkgNFE=<0aT zmJ!m%nwiXOVTzgAU!kNzx;ZG6Ou7ic!-GUByZ+oK2fImGMn+d=6cVGR5!bj+_>xhV zw!hCrp3|7_3eZiJ1G=fNQ~|UhL zIfZIeA2_biThk(CM|5^G$3SecJ(0`2^PH@cex6(?W{|x9$Gj84gqrh!^G6*=oU1!U zXSM9={pSxmBumeT^3DSGKfyeftc@g%sC7OlZ8stY0xF&AAshGxNqQ zrybA0bfI;PLT6rT4itJBXbi6w1P8a#J9>m7B<NHAo3!z(twdIy zD@2J`g4xTf`$S0&n*B;os347xei~fej$BDDDna@4F!6`;+^^->UWVdGy6^+SaQapd zS`L9f7+nHIGkVB!Da42Eoz#LRsErqhk#bKxnsgK9%93|zNgW*Rv(3=h2+^9YEuqjp)Z{}$kMkehqFBR1X4rr^S*utOb}w5o4c zd>_VnPW7hLra;BIfF5FhMM=(~gSSRr|I$6Jz^)}{t-s}(%FPm?C#bK#et*_Pj+5x4*PpOHB8dzIYT7Y1c;d20}ZM9)uYZk=U*yM`7ZTZY3(I~mSN;C6(eCKP z#uzyZ$-HwcG&}Lsv>6$S>Vq4SpCtxTXW}d@xQ0}=YB}zjy^Yw9K4{q|Zam`{h!LJ_ zcCsOcB7W&)@Abg-I{TF*9;-zjJ1%IPm%UhUhfac}nETCYWl>)P<9H_5?L<4drbFUcpu3Pr{V{xV?gg686v=$f<*opfqM!X4_*hN2MxEO@ z>*q_)iz8VWMzIJo{n}X1jj%?)SkHrzO@=W~iFMB z>d!5-Hzx+UaLjmU4_8B@u={ZWS;-ce#SiW(ev!0Qf|N8WLfSlv9z^gb{ zQ&y`nfjdRRK5xUq;L}DLZg%w>aiv0wVXSlxt$;jJ&hD#DE~+p*4jmS*>rjRzDOXI& zaN4&vvCcNaO@-5Aes~$2w^HRI>I$pX$BhqX)7?>aX9Bg--PBwLF<7qCZ=-=x&ykl8 z2NdE)d-ZP>vSUMva^9B1iiyg05@4gWft9({qxHD0g4fq(}o53}@ zVxBkP+Snba5j8bYwoIKw9ZY@v&BH}!-dW)Sfpg?AULqIfpna+;<vJh(nqpWQ3kX>AzVfl?SaYZ*@ ztX`nv^toXb9yX!Sce=>Z$~^vfjgFDK#VrRZDX5;dh58?sdxAKo6K3J{zNA!O5tIp71ch$A-)r=^n|XLXk$-1z z(b%Vb7>`wUCb1qeLp-%Uz^bQE6jyq*z%|4^RXE=t`}?-w0X;KbM(x)8V&i^KqErYe zdUqu=EVeP#2@7M2HmQ~0CPFOA23Owg{TWWaJ+@fpmwN3D4SuuZZ}Pcg2lf!>E`tY0 z8uFZ%7P)f=XPe@+GY7uVcj$Al$_ehdGdF63*R!Dp9wOUWHlXW*ocytkp%E(TiCI6v z47AM!!DFUNzafMUuKTq;p|=5@o_EiCgGR!Lb6~ucu*LMYmJ6H>bKXiW!-%hlD37H? zCUVQf6H#gLt4FM+)`=}^qjwNeZkG{q$KjP(G7<9+Wi@mF{=n1Slf(6n1^x+yUACcd zu~tr|u9y18QEO}SDOh0AqShtJWB#tq7RM-rSHN9=<&90){sZ3ujh>Wl(&Z6~0u_SY|b5)|*H8LWp*ue4~bo;jKp^&m=y!SEa7b zus;}ShXj#UZZQ|D?cz&Z0osC)1%^Qb<9pL?$FnlzIfWAqYRF%=nMk2yK~34)Ly-jS)E*|Hs|H*hw5&w1 zG9_%^dHxL4Gm3~7DEgEt#NLB^U8N92=boUCw&(3BPo2s^NmJV23ao=Fpb_vci2bhL zXVoT&AFth}W|ffV;Hib47EV=!_CnA$N@GYU+N7rtiiglU4c_C|r)EbCF3%g9UyAM> zui5~^x$G(z#k&hBm&D3c5~?YpUs~o}l169^g}Hv;9hh;fv}il4y0U6aYG*soonjvI zn$#NOTuImj_E(Bj;Kqr5Dwf%qJd)Zg4ml50mKhH05I^%6Jm47PM@_;bnu@$0y+IIM z@NhYvLs)QjPOjSv9%zdAE)jxmYXs51t`V>*#nuy#2CdnIqHWSEQ04=h1Ht0g znGH^uwMHi6`%?L5o%*ivbZ_`!t=g6-w>3E&PR#hMVIOupZVj4%wNRyvxr@;l{w^*l zCLQY;!3sPdiuz!SAB~6EtuBCb5Q*>_fkmo3MG`3Lt8B3KJ?}y=MU&(=gf>r*%4fy6 z!wwlW&haV5PXK|=s=U}d$PN>T4qRTBfo$dsR!Qf;VrajENy+-q5YvJ!!H0$U46I$$ zGL6mi*J`g}yYr`g$c}>3_=`og^=d|`V6eN0h4PN&_dh4=2`!I;$%4Tw9;bH8RRn!z zz_0$4PQnsoE;r7a@--_31MR(Bc|J>=bd#x5Xe**>UpT?LK%QvL@|Tbp)0T!T&Qq_0 z!zsv$ivl2C*-c)9)Pq{jE6Tnm=n24yN6eM`qZ0gH6pJu&{T`qGr|gvSSR%V4#mF z8nh194jlB^zEWeG_(REV?Pv$#<3)yF#v$gpC#bQ4XjQTRB6myA^! znbDIF+&6ldYc(*P9B^fL*>rS0ne!dZFL40!Ie)sLr~ME|eWmh293Y?H{U)Dzf0NIC z0Qp=WZno$EBAL z`x!r!+qrtmTieD->J%;(Ei}t&l;HlUJ!mOcL1IATxa+Qh=>PI%!fN#O<7I+t0{PQq z=zo8i5cm5s;ir_F`;y90pNnbWaduYY63QEO#WMNV&)0~lvi+Joa29M$HPHYe-Z%{J zhi0s|a7mf8Sslt_!J0@n!V#cI{2)O-i;>vXIHmn}Tc1+Uw86Ua)#71E#y9`2bEHjn zEXQAewe_{+#(@So-nN8U{PgFCx34M#U+^3BISmyNef0bbcFqkz(KjmTeu<~K)Hw=T z3}potLz%33%7j)USZ=_;3p-M9Xre-EO;G1-7Ukhpv$~}W|ZKyF3fvXB* zh&G1)T-jx{-QH!|UBCv(@@i?$%Cif40aVtn)Ly4GZtq7Q;v?^b75K_Ka^|9F9<1RBGFnL^(kOwVEoY{SEIt!$qqK}J$KhY}Wf_;yBySDQ6YqrHgt5k6>j#wcZ z={Z5sF8el85wno)X zszOrmO_5!pOssP#wCHreDwBWI*AC%^GCd0r4xt`80CtHOD(h$o3Lqixvk^4tO z=-e(ynWI&pZ4t8~W=hF&Md8y<;G@#(BG!6Mg@z31u~}X4I$r+S3Jp2-=OBFd@?&zX z*d*VbGnR5aLX-YL>;`BnwB)inb|b_b;zNRH;qrtL5&-M+7rx+LTp3x{`hl zc)>i*($_Fa@d>${8W>5@*<~~eF1NU=A4CY8TfYGS_R>T=Mm{GHwGcSxk@0U_en*F z|3^hATMSYW29pCS!it%(uK{F$iZD$RR|TXZTp{NXm;qFTuPS?v1OiYLAi#ld58BN{ zh78zwHBHIk>JNCzo#0w^!e1-ELDA6of0i4vkq-#^J|0}}{S*KxIk% zWxa*7AG`n)VQCpWaA)Ac0on+i{Civf*c@uD)3<%Bn4hB}8!!QGzb{L+f{%|G29kA6 zHUp`dYcNKK49*(#Q^pPfi^O3y6}-8Ql#qh_5UK)B=iL>!b;V0+ipRH{xZuU}O~ps~ zBH;_vN~l&eEMalgOkgQg_66j*4!A5S>ZBd4WV+-kt8>RCxWtrnd7ubR?2q@*Zxk9C zFD94TBTM_lumSeC=YT1)W{ir;&QLoT+Z14t`-?#r3T;Bz`+}+agYE74ri$4(tlLlp zE|astHJ^d;Wxz+c8Y?8?!QIa%y|;*5nL8jKQwmxNWdr?uk4vGZPfMXGzn4PI{{2#D zaj+{A*ti%6l#T`*Zn!Ux1V}_k3C)w_``t`}1Bw$=*6&}61(o&lSZ1x%+up@End*FVHW4c{kOMASM_7;Nf?~7Us%mSLt*UkJ zg|+Ux72|PT&~FkrV~l?rT;BS;k-UIuM8ht=&a6EQmCM3AoUx_PX#2wtK#Tv8W$zdd@?iy7_MP^0V!MAG3YBUL$OVQ%3pB0%c_Ft&nybXUL}-rmkUHaS^PpZ7Ay?2D`-B@?otHgcJS1okwyn zy30ux#mcNu&9A&ZL1Ts7>Jc!eiuRyPnz_!j>6RS>qR~vMG;#+jm!l0>EDGxcI67+v zk-^RSIfkT1S5+rZLdpU?Hv09?Z z3p2t-N^+tk^)GbsSGJKuG;2lq@7WlDrO;-vdv60PYtj%Uzmj&sdAQDqbal=oIl zk>a%K_Q^=K+%l_j;p>?xi#a5cL8Cn~l$J%W$-EY6d%SnO;N!@=tkEMWG;vkCc-UYK zkwO9&IY!}io~Zw@F# zA&q5EmE=?{w(ltc3jJ=gFUGr*igzI%QDp`;hLNU$e2Ncj6Dm>AiExpEeE7}?{LfT= zEz7l>?p#i_a0>KlW_m`oop>TofVzs}FUeA5;^L`w=mn<>=7*|VgO@BEdd zw_*1jP1C*U`vQgjxJ!Q7tcat3fXzv4WXN>h>g?a|56nN8ifh0%235NSczdmxe^(pE zk+xhpWKSmghJy^nuSjDi`$9>Y%B%iuSd0c8@p#L)*FX(#%*4ZuMqz$$#(aIPkZb1h zu?Uw+m3pVZRUc1n0K{-B+qQPpl??!bBVYDd<@iZsDPPFIJFY;>WeJ4T} zI5H=qK4;Zll;6A5FFaJr$$k5C(=cWyoY!~6&{l07{6=HLgvNA62S-0TnqSr3#>FMg z?EZ3veLSuzUT-9$W@!Y#YdITxlz&-#gqzn`Z85-Gs;{Q#JxQv_klnpLZbO(B6OH~(Ra#v?W@ckWHXLJ1+1Hcq#dlo;68V#sN zKB23sA2Sug1L!KlO|5PKgRWhT?-&DHA{IC1+Gt;calD3P{>Yy&CX-&+i$0A|b-LhB z7!y>IVSuzTab(Noc&#QI@ynVf$k52+A7RY)#+jruvAuW`g;%tJd{p4FUa1p*U)Qm= zM_6B+6E@+=y2KD5K8ypzhu#_w=L!{pSjPeT#U6T>SaUuU9d^kHx|BIqc*+KW*;Wp5 zGq`l*lD2=vmPZA7S=I`ZJS6o8+HYplh~;PWa1B1CQ=gF3YqfP-iAf(f-1*zfTEhvG z1%G+|?ED}6PQP}WO6q3WOi5T$ne4A^hLCq5x*WH9!Md>^{OQfNEL%D_}YK9L708L0Fccfqun{WrDw6QDM0(2G8x zE>(z;ecCoJvE9}@R^MXR5h5xnLgJexw-QdsHGiNI!YI?$h>ZIydSQ;ezGdwr%UOJu z55ec6Y^>krD4gQu!DNrbf)^$&( zN-RR><`qf!8@Jik@W^f6bv<#L=C2PdlCO!CX(d#PJ8`e;FIXr;GHypcCGj$KMb7*@ zrtCH??AUc9zlO~f@TmP6L>l=+J9E5l;aGZTl_f*6 z<69H2Xw=llp(eJ2k-OKnV1axr-;LYQA&@om@wjvq z{aQQs1zD)?IF5!g_?QT^=?g5CWd-P7WbBRR>Bq?!!knPTdY+4Z2Rh^Dnd@be`CB(Y zXWaDre}`bM!F_&Vx`RRkEIE)d`&685Jp+~;(nEkHhl?(63|7b2m@4IN0D#I?*KYBU zV0_oWYkF_ZK7S9Om|*LUb&$8OieYD6h-aD(EU|tWm*C$79Wxq`XSW2IRrTo;Uk!se z%zw&HlyHduU4HU9)I|C_P!Q@CVo6g7?b?E_h~SB+>&oaMFi$8G=OS2XKOD==+@K!N zxaQ=)m6o3Vkc02VMEC&ej5p3bb;dp9ejE(`f9$}J-z zY{uU#*b0@5J5d5&&fL1)B@uCy_D8;FFDG&H`ro{qw9(XqCx3W3*SH$~^m2N{xF-*z z%i#VbBwYV2)lU1yE@~MQI*PA1Bfj!aFQ>AERs%|Te=aZ`UnmxkPh%^{e`}8zNnaax zJ&U#_C*#?v-&SQYrmFLzb1-Q65!@@9LFTQL=GE~pXDVOMEcA?zh@?Yn595efwCdHM zt({cldb;%Q-q^S7O|YjAc{GQCQ3){=4csCz9`HZphskmN!s}XdkjdChzTq0i#}Kl( zf&YR7#a~~*rV~e6*!1fa+BfkBGVQZc{=iI+N^#MOFMY(e1Ig}S-ZQM-tV9L~O1F&f zR~jwXcZ)08<=~hD6u`jK9K#UlS4F4Q3vga9llJCglT}hQ9>3pY^KYKA9q>6Ci*WZJyOtYRCZM^3Xop&@K|UH$qVwHK$Iz*=ZMq+v*&N{PalPRypV8& z4cub4YM~NfzzHtITaTe2qFA_R&3i!BhZA+_N4co|)CfM(gU((1jG^AY`seER&q1$# z1+%)RU~j$H9d^t7rOh)s1Eg(`sF#vTx`nP^&9=m!e-&e@4*i@X3?gU2@%l_A^qHKg z9J;+5n!}j31-h-fks>_WJl`}|0SqSPJI7epI|5}lt1!_j?602-0$)$%=oP_#<4-J; zIaRXI{TlF#;x3}z5GF+$Oi~9dyplRCDyBx(-Z32;q3u>Ljt-VP7juO-Ju148-LCjm zB=f=C;Jk!#!W}J1_U>$akOFYtJ~ZluZ+fr6(9rtv5v=qtSnU$5_>|2s%J60K#lyEm z?EO1Z`FEu9??~m}k;=aqsnFb!bQQji~^(2 z`i@C?lY_!=(==}EX)xVMiq^ywj&zO*7a>IONA%i`iC&$uCb2$)am6nk=}*)%ELUmL zEL`Q+$#uqXS|v>ov8i!N)iGz`&M|1AMcQUkN{%~;dI|_Dyg5uya#)?$x;A7_?Uiix z7r291ol2!Fbpy@DK*q9O(1tpYPGOrZVmC5oM&ecw;IfwwiGao*Yuj!R2hAa3WKd78 z$&zH#@RWKlj&>R&aHrxirSB>c>9}K;>Jz5Z?g-Jsi42R&g}A#U|M^#HOl5j@d{6t z;5^KmjlczZ8a@#A!CzfWg`b;H88@V~Msrmri)VY40W~r*^qit(mDF0EcClS^qc#Oi zes`q%xTj^>il1uhDe0TH1P#8{e5Gd$H9MaNM&dnKJ%5bENw@ws5|`Qj*+uhedM|X% zM4k4$YBk%D|KMW*L+1cy99_|5JfrOEoZ-6sSXWrxi8sa9;kO|wj%)=ZKO}1#w>KqH zOk;I9oM9Qlu0>@@FG3gT-gsPVnB9C1KprTu7*JBRjg;CsH;|12+QZ}cqOcaw=K~jl>Mh|L z^84%wr~~p7EY)yBN1t`tLdk|&H*I*W>MK{8q1gcmbkk3OUZ@{oCs?YK3hxqNu+JMzC$cQcYgqZ!MTQhgrQ&esf5Gjhh{ zXWy7c(O9-3a1=|<{DLz?bR#0qx~HVoVjiJ0*2!FRPHr;o0<07!F=GWJH8g}lnKlQxIH_q90R7<{RxgZxT^F=zF>ut~d5vC6Q-|{Hz*4xYxI zcN6BaT?XgM_TcEl6Lo!YH^j7wS>_eV=VkjTK29Vcp%UYXz*dpj&3_uy7P+0RDCSOC zfz)KSW8|zoMDwSl^AQO2%H4!>)Yyn6F1Bq z8;)RT37f<^zl0AuA|Yoi!J#T2;wLA^IM|9S6XED??a_D;LHpb_TV&B(CTX2XfhYhrpml4`(OGof=WEHsXI+IMrM&q zeet=5kb$cG9eG3Fi+gg96c4W3={D)bs+gsyH()kG##sl-OnOIWkRK@`-6L1k1|&@^fqlTBy||EY;~TmF{Q| zx>HAeGP=5&owusHjU9coM3GeWal#DRn&{K@*_p_Xjr;nxuwGz^J8 zO0GXv+3C{3M)b+3WKCaZNWc18a_Wb$WpklQ5B>2@fcK{{0`UGEsBe{@jTK3~B0wdv zQl%=0vsC3I=^6M}!qy~+Q?z5*68435&GRAr32v75qd7C=_&*n6W|MRNDY#+zGq^ED z3jl%}>5{*Ko2x&9n^>_cNreQX6MCd|Yj~SCB8wXQiw|$s>5l8HM6sJ;yv~;ri=6E* zhFNjm4%OD?Lvcc;m=t2*+(Css@kz6U|0_+HEox-iS2ok;TESQ@GW4_f@`cNkjuj7(kq7_vpcemjzYLpbgIalCj!Xxq!+8Es=7+W}+?*e0&& z|CwrTyZW1F()*yad`Z3?8GV;e0XwlPRb4biN0LZc zLdd99W_jCO9#mHjUpsdwr*(UD;FNHN4!gfqxGd~?ZR*QWnAUA0WI0MZ>zJ~0h<92# zOCA1go=#{p@%}(ksRmT_$<52c40d$V-uhFTLimsPfUrB<;I+E*`_fzXg|6qYcHm3N*V;DHDa0n z`_dXW+0_5C0pm8P_rGC28%E!rq_BMm@usPTHEN){TPog+*%hGcJl zV`JRlfjBsP3gauzk`}M&{2|H%o(-Y0_-8>Ox@3I|0!p1nBx%z2M1>B|;pLyIibx+@ ziFH;Rd1^c1i37>@APBs!9i_T!45(_x#%kt6#6r@`@cayje%1A^Ul-{9~q0W&h(k@_h(3Be+!u+O*}r8jaNpb=2J}ZKw!Ry zXqNryH5Jf)QE#t`pAr{Zww;2cR$7|cDhO3AX{f$G@!4u+y?bTXilu89so4Ix==gwu z?0t|uD3Xsx#_R)XQCdMg#YeiW{LGH2XFo;ti=RTnH(c*z&ZXC-EnN2x%HOF>sOk5@ zS+#AacWPpiJYpI2B5P>pn(xY6#QeKzWWJ9q_nvmV-T-_Hx=F=yJ#rMd@_AOA9NUjAv| zy!_L^ITB_|?}8TqY-Rb#YsPf=^8f?qvBb=afpcZ>Uodd~8^rf-5Z}K+eE$aVDZe(I zRxm`mV4=4Be+I;7VZ>~Nwc0aXcgmE5?JV!=^f2UiJNdknHTZKW8?Ez?OWCf!EoI;S zho!6ru$0Yi{8qj5Ls0Lx?bejMt*T;L)$97Fw_$6p<>}E+t18Lr1A5aLMf8i;{*3FD zA_8_NkM!Il+pviTZm37MDSO$Y$mD`N9<9l}^=RGc6fqM&_8A7`6h7wb9%MHHd)dAr zSW(kY;HmVy>{&k96w%pLL8!a}zA)dAehl6SCZjV2z#e3bq)=p$=OQYNFRfc7_ZJhe zeyt`nDSFL2;51?-L?bh-`pb?gYiQ&W?Zlf*0f6t}Jj3_Us-32+p;VImFOGEVW%T%~&Eb2W&H)F<~yRfyI4og=xl4+!^xOF2t=s6-u*Be$@o zLxm~wm-uXyo~_3lTvazfy6;aI!JOD8gy?5K%|)!&T!SL^NY1_dXejop=cJV8Rtmi9 zZ$Nt>J*Ucb@Ye2Bxuy}115E^f?yW0LsSFRpQO8%VF0NY>X-mBZ*@lstuAJBwcrdnS{n%&CZx(7f!f~EpX&>l>tq={W!GZXx+xp zVWP&F@DJH#2(W0XbSu8jXkPgJ5X2OoSTP^YYMe^!-FF#vH^c4t;ig)gMPr8J>QKFb zytUgqb%slsJ13_q&EAk(QB_^|rKIVCmnzE4)=FblC$O!i z*=>F@XE<{Tj_$cx_O{%Jv~dQ~rGr9J##jb>OaoRYEBq|z3cG64Vh)bO>Wkx?B)tJR zrIhuw@6CiZqE28LEh9YqlD;S^8*h`AY>2ojz;93Cl;(HPNz)u#RIA?8$DScxf75d^ zQaI}8uB`G+%w8x(_Z*S~G{=rJEooezT}i74P7E(^1_$VXKMCVW=tS&ZgsN;&cIUQ5 zV5&K%{oF}lpcVfwv{$7RFZ{a#m;+U42cVwgF+z#eJ_4FnH`>~DkhI*{{PW8(EN6Y| z#h`g!BV8KB>t@mwepstLc#%^Wb3Ng zfI@ZHQd_>O%j%MH?&z?9S5op;; zGZ|5Y3w?z>B-w@JR3(_LpKXQtE?&jZ;~ihvFQs?;+bu82nsxNHFjH9i*R#Spw<)&P zbV09x9hvYJ{u#BO{@V zbhecW&T=~^vVgxApAKRHV%`4x#Q(AQG{O-!&6DuSGEG0}(?N_zyCp7lms{B#$9!A_ z)NrV|%itlQ>kPfyS>w`*)vc9hqC`lYIc{hvd&stly8fUW3i_}Ni^_=e_d6D9u0+XT z+)Rg^e=0ty=vv5zo^>wISfk(V8)+~Kj#qpq7c-feK3Az5%NCJ{!7wnIxpdtV7 zV0AIqukPL|3;HG^%LHQ%ts7HHK$eQb;h?@2#cTh2ww6;DlJHR{;je5B{!!65siw`sBzARG+4u&)&B7OT}!)8ziqB zkBT%ry=(4`5sY;I+$*K-j=G}-YA+~^GDuvx7NLGc7$#XKWs(Mg&gD&Ma+Fd zO66TNJJL3yg_=<;viw-cY1`jqx>!tmz!8AHqre$=gn0@37qCt^N$;imG#R@SyTiV6 z9%YZU(sx2NZ2FEl-d{$LA!$!)p?LblH@_AwzZI+p03gjcN0^L zKGHi3f88=!Zl4R(x=FOBtAdrCgG?P|j51o`$8)T(@l`8VMNp13JvPT!3U;{YEdxx- ztU~pu^xwKqs=*2W>FjL0_|tTSsd2_X25Vz4!P*_qpTU~Or#r{c$6&>wcS=-eazoG6 zr>{A;e^s9tn0Y!U@ygL_G~KkiDl<-RQd73$Qmx{vBnrl54<{R{+~n^kZZoHU zJ$%4Blpz7x1UQl)9D@ykmz{u=Pu@>48nwniKTkq$fPUbEGVjD+zn`@$=*1C-r3X2QM z|72xmA6KPgZ|))b2+KRi^$o3?AvktVwh`Z&IE}b`K&>9y=WnH`!B9%2ITontpiRQq zOg|cS(pM?c0{>Kt+GKQkWz8%V^7ud9O+fo)RfKnmrg z%pcOYr1SCxS2u~(*R!nm8G%Nh34}6D2Iw?!1x>G?x_-{Pf37PdTIKr)X5w`3?Xyv%lLIhn zSXHIE^;Ujo7s9gg!@Hf<4Q#W*3ZqI!i~af4$Apu)Fcu0Gt0OU%G`$%nZ=%2H!9ayZ z-fT}OETjS@&)endcKFMyvzH|sc)xPMICI&@{Q!x2jvwF)w}i=nSOZEr!@}L<3xovS z4ly9sxIbI8QM6bw(EE*0db;45s|sXnNv%M}<_TnMUVvcZRV%+a`1Nu>%P-Dk zp|aZ#BOX~z!?C9O)_T~Mm9Zu*7Yj4x$(WkWZc}&0Cz=-0Miq-}BYj76-NQE$&LfY= zPa(r+yLk_~0wp56v{AqRkylqd^bc8^C7f2Xi_7ELefG)u0v*Y}vNR(*V6<%?nRagz zJdxCmdUJ*DlhWEpu!njwjwGYK1J;}2n4quXp+x*!q^2+PTaGWQw}Of0kJ5tyH)S(ve#p;G4FQ+|=HUMWQ#0cti#*IJ4r#XkTbR07i2^06 z2TG(r#2P$eaZ_G+-Nul72=?3?S!h!qmC9>}PDyLxlHKC?^rAXwwwp32azwLnl+wFq$6Taz6jf#N8A6p_dFZsJ0_FOU>npfpsefV6s_SJXE9HrBPs-Qu> z(M%cqrCRpWux3Eq;6&IlSg`!VRQ>(#fYfd zYd2&p@zqP~fwcHk{Ke1)$xn5JNHI+X&QEG&L?Nvd)=R2s?_iM}J?mO$mM@UTPZt)4 z#V^EHdvDpEhNS_q?W#H1NIf%O<23_!0e|@(*lP}YaK4OS?l-hNW4v~!++eiJ5&+ax zOo6i)Tza=_(wj8(P5Zj5nSADw_G?*g;ye}{Jqzm(<9=Zwt)}nvnEa&X0*9F8cKyJu zVIZ86U#Jp)$zky--Bfnjhkql0$0n-}Cz!zp6{(DBPFr>iEILw92==xJ6amw^%~>2* zVnjG4V;h3^FgKFR9{h+mXnxJ9!6+!G4d!JLt6yGcG{f4Ma1RoJGLPuit8gnvfvuNa z(z_)Ka1O=vBng*VZh#c`mYRGBToe0;(cflf?WkA)vaSw>TOPJf5Xr2*IM6-gjW85V zi7NB)Y+LtKQ4a|~d$UE{Jo7;A;PZ4uWq8E~0KXIpUw~hR3rD5`g0T&5Co&(yX$%+b zk55qvvW`mOoC6oOoQS%E3jsH*VtO4W-REHNZV>cQ9Bxb3xz-66)cUg_0Lm9I1hf_G zvQu>neKG4@ZeMo%A`EiU1~p!6aB!E6<1G0xJE@cH=C~=(z*i{P?;SMo)qiRCx~$c3mC#bX`|lw~{3WZ;^Y8 z%6ve8t#|W_8uoCTsU$;vQxR-4)0A4jW$Q$&%aRH0!x}=bGm~%U@qebcI?;u7}ounRc5LfwiGw z>pDqv$rL@FgNa@kfu*4Vb!T=>NU3(67~z^o#?e@BLy@Iu5&;JUF~exOWie?N%aDiL5z=Pj0*5kBSvRWmIl8VERHEviK< z01JjJUfl|p8I^9p+8N%ovT(~Au!9_2-*P&ra1s6tGVr#moH&RKsb@1RE<{>@*OBy& z^)NLY7whx~kK}T!(r{EuP0-e^>MlVwH}h9C*F$ruu=s9V;z9c0t}csK(AIB_UEW4+ zW@&U+drPUXzHZ!rLHcZl3|F*^MYcuz{b#BkBzr}K4YL^o@J>>Hl{D0)3#Djx!bC;H zBC6#ONpJZ#8eJQVKYY5G)dGzSm`DcM z@0Tzs-L|*d{j5@{}X~~Hp;tZBGoo7rQ+A}5(5W_0| zA%=~55yQqli(zY{{t&|g56@!QC|*ZK%%U_v49j6G3y5K#ktOB2X~M)yN%|(3xg=rw zpudS>KYoug+o@|%kTwi$c9xH`IVN7xo>p`zMYGS&Bjf(sISMhMDvW!m|aFt_kHc6dS7 zk5t2@YDVYL_^-BjT%l27=!Vk?_8Mz3XGIOtRHANCG4?HTDB%(GZdnDE!pXJbYbzK_ zYq_W+V+mRON*8XLv~IEvOujN|xU#rO+l9zZb*W#VP8bH8wf8kDja*2O&DWa42eZ*b zdR@D@h)L7&`zu&dO_sjn+j3s)Q72fmR52!08wIrLSXIT+t~02XCn1Y1lm#3vHjHQN za9GS_5Xp2S$6+7yX9%MoInCLGsHmi~*0OqPC8v#sf4gs{iU| zzsU_jKJAXcmtmLzk4(Ih84-KQ&22`z{nl>-1~tDnm}t{dTb-t5dbp|Mg!kMMwvtY$ zCb(SDvnw1x@#8B<^t_J09|_aA%yLf`CKee(Qxrjf9$~NK`|lN|2Dri>7wf1ZY`4ho z8VimHny4FM)+s#?y>b=}1gILq3aaQ-Cfc)PO0*_!^NwJaaHQs)JkLXZWs;v;TgEGF zTwHFlh40!*;Qlne(8R(vG#nr~1>c8EX*!HbwikRK6S7|2Z;ODXa13D0=ccr{-%j|? zoPV($BRf^|K!R@mMQSjH{I?Up0e zugbpvc>w%xFE{9MCPRy@H|_3VVMRJ|6Dpm-MhwJ#Si%dRrBmR!JG#7fZGRj)KVYSsweypNC)?wxm6aqH?IZu~ zhRlL~#S(j!x~Ee|nU+XrvT-5e8bi!&$Z8@5z#A|YS>u}8Yql=BW#@hx$TX3cs#V%c6`Bu2xL)vF0uwZja3vj& zLiT+SGx12}?XSHKV%Cnz3HLX;w6MckV|TErSFX*UTw!&jvbq_!_=}jiXNS+QqU04- z8p=KbIn34;rUZSeHx8XX2rEn8+4S17d#{1AT6W@eT7)e;PK6Kmy27rfM6RgGe-jyz za8ZtLVu?^xrd3^ejox?Hj8fCxw;`w$*p*zg=aqMqI9<=ZYc0{UsRJT z7ry2j3J3doW%@BkGhu#A1mDUjAT^ysUzEX#?ap)aQ3wsYoAEJZc$#eKJIur+oNODq@t{?h)87F zB?&vcV0|oiKN!)*vOUkx(t#OTcsBq0H{#sJJ8ox%LwL3g)~QUxLaQT~22#eqX%l<8 zTB-ABYFtFZ^zggdq1M5ooa(%tej|6KHLtf&NL+A$l^iST^Jql5<9p3r(N1aSq%(&> zs&Q%35+d^M4f?kmaM#>1Z-CfZG^_O&ZYoweRO5)_pz#6Z&E9QGltphLmznZ(R0cSb z5&VqeWLt1ZWWm66GR+%pMGa!)*YR{p?a@>H$LL?oJ0M9vsD9IQAgv^Z6{9ZFP2TQ;Zoj}CxMjD2yC)^u!I5u^#oX=3KxVCktwCMbH z?eK3WUm0B%0rMbFH(qVh^?1Itc$K^NQfz|c zcGW<}Hr_v|>47u?thj_cIOG9Q~{JUlX7f~rdEQhFW8(-Lp7DIp3h!lvK& zrgM>s(w&D8NB46^_$2w@~--X0psV$2UF}b1#1qxoaR}Ndht!EhQ1m z(r71KRf7>OueO84@r0;x7^O)gauA)Esu;w_xsl#TV|x%VL9>&9=2;bWqP;`_FCDc` z>=CgVu;c)sKJ711pP2*Lk|b6)4+hjAYZE)SLLY>b{GN`^`?8%0MrK? zfci*;O+Q0@Krc|A-}V(!odNY_tj|%))tL?99K1s4eC>M*i?hd2glc%lkKLXobib5jF9J z1g7;^EN7l?;+`C7>7Y7P5a}7e9BAV!-d#qZ!U)W3{*V@%3B0Db>OhzQ9x{QwiYnmn-nteNsz0AO9A0#hvl-!nOh;xQ+j>_n;4Sr0v#xYz!9!`hbYZDk zUiW%e!dV4CVb4Kp-)Rmp(vEG?f+t{25zNVhf#cx4BKY|m_cc29ZhGA;E*Sbj4iLVJ zy5xeuU~tknqCudA#^9Vxt3j97;6Z9-EUQzO!gFn2Y9({`+{T0c<$XLC4FKw@T zKGV~D@Ve}!E`?#v#a!S`M~N;}d7hiy3?F8{I7O3sNKR(agFwLC45Lx++w8u#qy$JihzM{L&f^y4+VrO5wLasK&WC7;7;nsfl#F* zj2R&K9EWZ_@clvX`CzSD2@rfbMoa;M&(+;!PzVQTZrN8m6%!!%aOqO<1vCN#pKqq| zYZ5@50L8W|?z3*l1sz60ZV4JY$zKzrewrHL$4}h@q@rU%dMOyns6=Mjvq&aKvz)WN zXnR#}5sNI7Jf?p@D>h^&rN0VSdpl2o$Mg*Ux46v#;QyPSvCTy$G*;X(CK;n|y?=nr zWjCh3K-)?jApMc55Ubm)G=T$Z<8FYxjmAqIR0c4Nvu>n@+gGrU*3 ziYJv_pky=JE-|2EVIWHy*z)AbE5dokTH2y(9I5X;v|1Zoh(9WH5YwxzaG*JjOR z*kQuOB>JX2@g)MSP3xn1tRl-iF75f}tmH(1{$DINDh|;9^Y(~7KGXl>#=Y|q_0@{y zl5RiOOx|6wjt+$E>eSss!%yc^0rY>99_{UrcK&hc)gXZWZ?gG$bsV7ooAk706KHcX zvCV#jg%}Kj55zMBM&Zx&e}4J~G?y<&Ul6joaXC4oUg-Y}L(1CgH7fzS_p}%3OOYS) zLb*8{iG??H5jzdO^CgUN!z|xLfo-9QWjs0W-A0(Q0GAI`7bv1nG z!U;uBKEl^R$S|jzcN?O7MBhNV>J#Y#AB>yo9-UI!yn)?;Zw~SSAykbSRynQi>c}Pp zy#!;d-=bgO^XpQ5etuXw-}JawWf~D>)o@-CK7PdpURLk{!1t}UG0%rST|GYpEc9!i z%b(o-Vep(GuUml>Uyj-TF z9we`gI<}sRM=nOUC)088t9GR$tcVN@+hH9Q|5B~$uXJU9bw7%1UpJy4O1)8N!1oxd zdCJp59BjijiuQA}OgWGeb(w}E8U%{$I_FOdkZRi2DX%KO^Q)Nn+O*LGGWv(;gTH`< zl<^WDiw~9L*yz(vVYth;AFQ|v!Xn(m4Q57XsdSiIJWgmN@w7uljC&0o6k95w3`NV| zF%+0=Sr}~VPP=v)zXilq-xh=tA{$q7v4SJcyz5`pFsx@yc9}U$&=j#P`?cJ=H4fXo z(X5Lb#UK-*uYx^VWhsv2+I&Bt~tWuomgoj0Ntvl*NpCeJMed$36_%p4+i~_V~ew zUtZ3Z=FxHdyRYh}heXN3M-FLyuNIAajyFU-e`pO-e?9-USrJcn5?`S9X%E3jvENaT zen}dB`f+!9rXFiQNK*HgFbL%&WY!9Vg2&Btz1Nx)h{hzY_A7y_YGu^U#U374!*_HG z%bfaCcuBjZ21KLYqRnYaias%!Gb{Ti5zdto652}flMPaqyFurgmWO%l3n>0#sA(;j z|2{pLQuuGulk?X9DLu(oE(ks5QoH%FETZ^0x(2X(7A7htnzcM{c1m0C2OEz;cUhKc zJ*!l*%oZLDuIj8KHJ;NH%|6SEYUd|vjg<2N5eN^V<~E$pd_$ZRCDCMBT#xQQHT2I3 zDIfHfGt_?P%0w#Ma8cfyu#_rN57juo+>*eS%U`FA?q0fVtc_*0-fbY?WkdQrT;1Mn ztQoKTbBuEBs^!!?iu6QR;M4ateN#cSYtjRk{pifL(_LBLCH2-F-!srN@zMHzV`Vwn zsY(39I9_-I^N&26_&sY(e^{C1?*|O!@~iodsJTB$@?9p_^B;dF+*7I!Iq%U7ED%%1 z$;dm*7Q&5xAb^}tL-)Umi#fEhn=n{=1Zc|j;@c@foTB1m3`4M{ngwUJC+S2Iw_M>f zU7Z6vhoqn0MYSr)cr0jin_L^&hC_xC7SGQGA1Tp4*1*n}h!!xloS}PDig4HYZSaYcGUcT@^GDMGp;*EbTLtWI4%bvcm7BDnchgU+uc@ z4>vc1a7#Px70*`==0%c?nmco0qnF+UN;%R5)l)OE@>$*R99_G3UZHiQ3WXXCR4bdg zlr7XT6X$nU*z4$M8r}>HGA8PBL2zpJ6>tdUpG|rspywVGOo~eMs*$a6sT#g@UK||3 zY?LfN3y2o}5Na*;R^mF2T#&o&bG=aFfIIHH1Pw}l+Ao5w-*=|=Gc`|}CGT#H#l~AR z7gQPWdJ3tWPm^mlI7D|hgGPNC4lY7|$nwFs_pY2J6db=BRk%xApDQp~Y*xFFiqTD- zRYkVa100M$KJM>J@q-ZNzLp+3lwFZ3!mCq=H`fWZk7Zi5-h#e*W#rCf?<|B=c^Rml zr3leQhK9iBQY4l}c?R-w{LuYUnn~P<0vH(C|1vNJLIg%R;b!}r8+lys|K7Z-jK(<| zi>ioX%Ow+@m|6H~j+=k6x8)F}NR`jhfOCp~%Qj3e`NY;AVr)|bH}i89^+@1-7&=8) zTqoybyP@Ti1jY{dK*182U8z2$k|aaKh3%uo1~jmd139bV~e=$PG4 zo8|UF;NJPrN6Atn1Hbqs(MMu)=H4u_XSq3IwS?x-pVGmah8ABJ^Z-jSZ3r7M5w6A0 zT=#F*M>PQfBdH4xn35wE!_%{X5eodf#fdDuA&lyTvJA(q1lFB@`bBsrNQNYmNdtiV z(2neg5T7d^J~NYboxvEuUY9lG*~MDwX{(3@zj`{GfeOo~KG2ur;P9H)0i?*qHvSWt25SaAcE4bHnjovBm=kQ#>(o z&7N8W&A}MCrolZzXJ6wsqgt%i0%T-%_LLhT=lDuF<~2joMTbfm_v6~qN=gGdw9P@K z>hP=Msn^wt{GplDE!>TD?5z}|d!F~6Eh@M;muZD-al+2(wEYUF_ZJWv9Ax5}Mxm6! zE@aIUi2YwZzFc11ci+Iypcki!iK+?33jfN{e+stX-VDdKL6*XmxoL&7!@1QX5k%5_ zU(3o$ED2$$HnLvGq-yP8dq_chYmM9e*2r^YZZ0&LtyxzCiwoxB!z$a?KhZv%Z`sh= zDVqpv@X?|K^oFu*l8dKxaH9x2Ha<%NXrDs1W<~@X7@R;ENlwaR*>{{KX3XxEWV%Uo zWL-Fp2Lh96tOL$;@`#aFHnr!o2wQS;p8N)%tBZePJ)?aD_6#&5yRx#!BHND0(tl|Q zvqHR64gf=jg6{zPTK4Kq=Z-bhlyYGYGPSN!uq~dzszdVx%;t9TFycf4#@(CAdzwZW zNXpm~#T=7E?d}t6Ia7yVqAEUI}22_hPQ3x?H ziglSh{Q0gbafdqL~?Qum|&80k#m@!=(Blq{0%~! zr%qGLdZ}q`A`Y3+p$1_`lvnX1-v_tG<<5fb@16Kj!wO=xxPd=bz`k{wn^qm~`^%LS z`o1pF>dLkA!eSZnZ@vN8K4tOY6Lt9N=ewZyXbP4lE)xLTN89)JB8(%z_A%VJ!{Uj- zfqQ2Au4a(9B zCt1)8=PSVbJ;i(zepb&;LID5FN#0d|FvU`>1~|zhi95;9oMb1Z(R1M%pt^#l^s}%k zXn=1xQz;PtSGmb~g)#>Wki`_IvP!f~0o4`z-+?SI)fMV2pt>^Erw>$D^lm|%7!i|> z+7mB(u`HjeG}WjCyw@3M=RwRyXb@}fD(#qe4!~D8tZt!LD?()MKAL-XqkS%iM8o#k zXj2Jb<@XIcgeY^T+r~sUwng_A58ID0rv&r<7VZ^c?1tzQ3U4p1ZjR^`3X%heZzRnV z9AN(6q;T>!PLZfvSQFn_Kodn25b%cWVPN}iM39=t+=G%ZvIyKnKj~Y3=c9V>6^-4t zK|P3WBdSVKz&VBht^GhhSjabQ(&K=X*R^Rnt#0;N--FTBr1344-Aay4Kj#&sE)Ljd zvYzAbM9$iE;J&aK(m{@A+t@CBwfGm8;@`V;G6taFPro@K%{L+?O_y_x<1aoCN+!|w z!dX$WJF@>=Vo7Iw+pzS*u@NGS#2D_yu!y#Y2_!3kVetnagtb3#^ZyDkEN+5Z5&(w9 zB%L&|j(nleLPdYhiD$#2wH`dWQvIE-b1RZgMr$JsCUo+2QC&f7StS;lQssjOcV?!f zM$I+;ci_(0k|TUJBx3DYDWEB9-oQz&AE>S%a6|*ul~G>3w;^gc7p|tiQ3gG$&yj+R zIOt0-nAVlapcK3NR4G^lR5`B@uF3^DEIJ?x7jn{=_q<~*_ehP~HWYmv2B0OD@YMv9 zTJo{=VcEx^)W+>+909Z2&<_uM6P%>UI_7b2^$8BYKNO21Y*WvQMQbB0K(UBwS+urJ z#rlR|nrDU90z#s`tva=1Dh5`4m_l8mzONXp4|VCJV2NoU|7}>Ip0A6c?8bn~jIj3S z4JrY?&uJFo!1qksps=4v$~m{p)ToW|gi^YuR_b z0M^*#I?7exl!qjpegI;vI$R_7`PxOG*=Wyglq1P*eIJ*P<4 zq6a`Qg;hsvdiw^>Slg^P+g^JgVovd3GKVLE=Cb8sxUz!K1%vj9*B7)O0#;_3NdLWF z_g4hddp1Hab1N)%q&g-)bJs+AYm+y#2=E9jLmh3ldYx;5n1yrO%4^$G(qBvbab-E9 zI*rSFN4{-3sT}fFz%inIuRE&Ez-Wc#Hg+V2-q#Hu!Rbe?pY629%#kLwAN5JZ4or}& zetx+GxljxxhM?_)_ODdhDeNqOW08wvcp&22IJ$;@%mQ4y0iN2A2~w`I4vSlrXuz>3 zz^c&jQ6dA=XOO4nORj{I`4UE6B`J5ArTJ~02;f+}zKOA${1QT=JPGlNtysl|nMTKm z8E`CK-*n|pt_S~hJW{aj?epxsp_l?>`#Qz0UX<{ce8@qTh)XiC*EjyY@V z`-*Elz`M%!`sRIsJPgoz1La723*sATWJB>UJ)t^eJ-zj7M~C&Az)p5d0lAF&kvB2^9%q|GO;-gKuX5f zF?%K@>(D%tl1YF=04W)G@Lh9YnB|&k^tc!!^D-qH8gxn(h;m2m*<0ok8ziR@AwIwk zVxHb~)}8qh*eU2{ffHYQHelXd3p2*FZNhpL))dePP1VVQ*Mj0o`5=tnVX&HdBhV9H7E_EqMBHK`(zNTM%QhoaT zInuD&`jGIe+J~wq+!>c4rp+T~hSR!hC$X9#T=t6 zT2TWDo!0I}IEgg3=e|f#n$c1C`2xxig;T=s0ZO4sV#^_^yC`NHLyWCk=Hl>q$r48{ zlZ}UAs*cdiq0ahZ+lSI4+65k6JB#cRWdyQ`TX9)P1lHsx3)Ea%<-#}Ue-A278KNtI zph77a5(j%slSET7{|-N&@xDfNEx(XKq?9vSU!@MAT8a1wgjT;zwZnYDenaLyQd#qQ z_U;TA=OkfUmNd&>S;XuG=qk?;t7+|=rF#$EeQ(6^eE5Yl-1PRz_!w{aA*;TZ;o6~b z`{(+}>^fES4HAwk_T$g>PpbFAp-(2%r&-~2hz~l{kJ`w{h0d<$6y^_uqsE68mRG-4 zOn2sFG!zp3=fx^*qbU-E;&ozUG@A&6`Ew<8l&Vcb`!C81ZZrz96m81XZ%#a$7%B|p zNOY&A56|op^OyC)f)t5b?mvX3vke!Vy|NGDo_4-2J?GIFownTPDYQF~oAeGxjW|E~ zS@B8r3g^n58)?HbJljUyZ70-GxAJ!%mPeFBi^Y2&BEdtmt4nobADyn%a`j!-&cjr4 z{~*&#)p<`zspT+2_a%d1%{iv&P=Iw)(&W37NnA0JPD+Q!45ugxU9K)27l$lC>o+uw zlRZZr8J8&+nzq(;WgR_&ds-W zWWE>Or*#7AsoGqFT-Vmevr!->iFaH&xDsCC32Rrf*Y55itLz1BnBN(tj8p9nH#4W9 zTdV2{y-OY{H7-dhFbov-QI5ZoOC1PPkp?(XicAq01K2qbuL3-0dj5;S;l zcefDSVgFx})zfQc&Dyi8zN+tJPMWHhgQka1sQxaH?1Id^na- zUPRm@etNL8VZn24{q|_ff8BZD6%JVt6gCPcrI#y$d$bb;3{J5x28!nG6t2LWx?Jb) zfd;3JhJ*W{yd`{iv~XhVyAE!;j4Sqs!)z+8N6n9o<$Rw;v2O zR9vP|to)J{9jk8t){a0D?qWwYGc13NKQySQZd$%X3TDJJ^=!f#-x7^ zNE`$X%*9ho!gg{)F;{}tJex)ZWK1$|VB8V5_r85gZ}n#=9a~Sd$DK~1S*-Bz$T1!m z_wR8{+@hu*HH|*eIdpwp-0?DNK*M8JKc%c#iJFVRCiU}~X(IWi9X+?nA(!aDl6OP{ z!djYA@=plGkYHw}EVZqZNY30W7eT7y9-eYF9MM!|gELdnx-A4B1&0uRAQnK74EwWUa2Jx7XG*%%e+Z@pTG@Snz-3(@qxcG59Gys zCLPI?iJ0uYgCkS6h@q!*O%EXSNUV0`UN5z6xHn3f+-nK9-qkrOH+2d8)eO~kM{Haa z11%=iXIh-24sHuq{{22X+olZ{_FY|T*J-W+K_90Xr!+(5GeeWBhzs^YLs!K2L-xW; zjcpR(ZQMTqEhGq!1Ei<%5^x5k4n1u|FIG>t+$YAde|omXoR(r*XH zPrd6mSPf}Q1iCsI>e|}6)5TyaIC7xgs+&&`gHK;O2t&(CL>^A3$iIqEc3?K}lx|Pk z0mTeoftaDXQcCJ;zZdIdwR(9zdZg9HJ19KtpwsT5B2cC<3uFrLvOuO_rmDMaGnLrV zdBXKuvD%7VxhIdx82B>*vBu2QuF)fe2q`Lxw+r zg)I|hM={0rawjGAq6z3yco_C)3ygw?ckMFuSKXIMRK$EVL@VjU=i7r1?)@sh!J%E+ z#nU1|0;*CFi6G$z{>ROqdfzlk)pvn)$?oqB3OR>t^f8YgphMpgw)uC1qB`Rr4T|=! zpauoq!2&w_4|MjAQaXG1ru|f(-o0EnC8E3Ya^P5W>YlcqE()05U^pMqG)sm-b=6g7 zQC2cH6V(Ks_h`&$2{Jx3TV$RRVi@x--&zuk6h7EPk#>KpN5E72RwY)>{!Sa2w5r~4 z12y@!WZ{=>ky9<fmrlndjbWi(=}X0$qgX+UhTNoxsSi>_cY! z9S+1~wbLpSLXogH2x!lx1~!V(J~QzUBkhvuaI6rZmvDQc)f)Xzy#^G#E%*{-c;ojtu%oe z45zX;xE@DuS7Oe92E*MuUE8V%^I98opurIR{oZ-(MvxTJ=%nm%KKk#)gxmN^pqLPo zPB)*<^rB)6*|d}%@3Ta@@#aoY4|Qr^Wpma&?FA(Rj^ae zk=atfJM^11UV2ZxB{-aAV0$hUF!pK2)33A8Or5KQ*@8_Ib-6_CQewnv!Gf(Uu+VXa zb%5FuBBQNy5hz_)FLf5Sws)*C7K(!~9>(_efvZ+)(Df{7hm`G1rQr^@fX(ptJ2su` zsGtctrc0#!XIEdnZ7EfAB%r@F-qzMG3YKE z|G5F;sGfh<)&e%V+HJ4S9+wmgUV>i7jrm|wB^4IG>||6z_OL2HM6qrd2C=|w5*!+a zI?jLYo3j4|y#4oKHI#zh{w;nU#-b!Of!FyW0dM~wkqmt@TFbKc%8vOEftUIRfpIRj zLOY8b2u^k@SVq|+P3yN9@VmLBo;<6buxH$3<%rdOj}k) zV(#fyck~0)4`K)0c*TdLzih9RCzr=+-h-}b?Y8I6LOc!dpRKUS)PsrlxjDVmHS`=Y zN66O#3^*#`E$=u%5BO6=rlj9;XraC~-XiY{^rdLcHr%oTk9zE7DY8FjL2vab8$6#A zPd$?-63ix>Nuh78Q4#Qr->fi~noeaNhV1cwegn_|_uB%?0 zwSCE^CVY}cbi4H^(e|UyJCr}#=4Yk;3^V9Kp6jhJV>Foib%z8pZU-SHL$o181q>vE zOs34ctHzaL^$K`FwdJNy4f?`zNFQ{D_lKB2;i`9VIao446uUW^(+yyg&`vndTvLMn z(qPmYWce+|AuN{iB9hM=idJwCX8d8LXP3sbNx|}2smt=n4@&}i;(oPhkT8g7(EKWM z-1<0?gry0YVyo7*9wN}$3!H^>T#*P{KnG>p3WgiuxG`Xv&R_!%TMt^07Gjf1a70V% z_sv#eB)yPMB^y!sg z;DJtVFH@Tq#il-hCvHeb69=AIqRAqMIu$6bFJ&=ns^h@vz6^PO^=2GQ175w2NId!) z4@Ndc4`hSDlFx2ASMZh_SEF5fGe@%zV#vm76hcGD9F!BoI=X7L+DCvp>R5_zgu4F> zzFa4O%(wW0Yf$<)DR@~sw3|3&a2joNH%nRq7N&6};!uc$&c0nWMGws@YN6YoGG;#1 zdRi0BEz{*~Jp5)vVhjt$)n(_o??XDBa8J$Xgp6UbGKw;DK*mK0f2C<~KIe%2UM)Pl3c;Wf_|;Szz2+p3iL=^8 zkt*!0eJP^RsT1=AwVgIDWlJotfr%HbmK&dWtnGuWTeePn-i6|V*?BmnRZF{@sH<&DXIc!%4sO*27YZgeL zbFEY*KS-*LL{G%SNQYuGgqg|*yI(e8xgEP$x!JP#qbV<`)059He*8CnpYj&cT*9oALsBDBc$6mENv&g_?PH z3~XfvEM3efE+5J+IhMaWtZc8^PM<2T48NACdyJ|el>Xd<7O^{NZOZA2o{@ifbDI%$u zU#nXbH}5RS#h(t^h(hVg(~}KFa_sTI=hg7z?OMyd6;{&4S709=*P`yOXWaKzkJM`%G1g?~*eW;(dsvKc1P~f2VM>EMydPqo|dMGqS zsS1x?Ev6zSg(yYP0u`ZmbdkFV?`ePOg0DmrZw)E$`rOWdL7o*9Jy_NSgNeg`U~jX6&x`B2=IEVLV8CPk@%w+98gjcS{kzxEW z;_g9>1*CA+C+KVqL?%2B`;;DsjmuB#^4I$GoAEa#PqnR~>+YmpCegckVRlh`hg&P& z<>y&!9Jah^DeY;qk{2FR2DG_RyhlB~`QF{;8BT)atS#+`I$OrgcDN|E-#f-uO;=+j zj&od^9wR9!>3r6AMO?@U9cR`kr9aBg6@L%kuMOSi189}T{!!oxe;pizQ!ep-!VO_o zwG<1nxR?;1c7aWcZve$uk9IH)#E+0_v$-|o-3`(4=O^xajX%y9J5b5sRM}kgA1~IM zU)b@naek2|x??BOCXAp(sfq8S=?}`4DA&+?Y(qlXP(-O-sx&fxU`!$q`w*rUXt!B8 z#>laM5okQ%IiZYPzs&k{SHr^Rfw93Zauw6!_fDJ$A2R|eM1C@(!A5v}t@W#2`%5>= z%$Es#ZJ2JBN%tsLNsBjQc#_nQ z|8~@KQUXUk>afWiSC$j;N|^QcunC4WZ`t2heQphLU+9~^U-g3gDsJBhn`S)PX7KqZ z2Kaq%N@Vs4U7ic>E7@M67elACnV}_KHLuS`#fyv zFFTbl5IK9W5b8&18J(TY2{+q0uTZ9qAMBEDQid%xsr|@x+SUIMx)59f6C_DNZhpEM zYV{X3!Y@m6KT+_#$deH3ktJE38e1(vzs?+D>wT_sF{S5;=->De8=HK>_uCMC4XB@YGEp-K)^ko^Y)=a+5>sRbM2v^ zn%a`kO7d3SQCoVu%hidTK5ZgTLOeM6&t)H_A|(N6sp2wDtyNQs-gHU_4R9_VgHUeyO24r^_%JZE3}-)Ys!FWB8W~X2xOd(ZzI2j z1-`Q8f&7GzUH~!T4CdRbU)uk3?PX5}!*djY*VZ=OC`S3omUt_A3Ls0~@BBrUIIRF= z2`x?WKa(Zu715?>9a^Sb8M|`Z#V!k}LnN3`QySb9OP8fwG4-xt zD<|4>w_c&M_eQQI4|mv=;6uMO5Uy$8W4NBH)%dQgv-oX|J8t7|>C!1qe@;%cU7(e` zY+Pv@>0XyS-7203Idc7y!g2&LjZXfUJLH}=p3Xq#jweq%{XS98D3QN4AdI=68xRK7 z2c8nfsr`cqz&>0~*fBCR*InAj3>1znT){ny8(J zgYY`bYTXu1n^ZQG31wf}de)ybBs>w;6>}Fb<-Yu5%5?@zxxnwx!s`MwWWfQ~6{nye zBt_2h+yABdU_2sbYbVaHw&PJXr=)K{C5WZlU~3= zG=<|E^BuCAVZe?X4uACVzvD;-U5@^5b%#le`P9;`Mx{usFQ_mpWmgqNoL=q%>aR=0Zj>&#%_J&O z!3a3#VSy78Scjerc%4CG4Y;16f|5mRxfU$?>-sJVQWW8=NyJasz#g~8gP+V6>XG~PJ4ifm_R7I-}k|OXW>Pfib-UT!bJtI7X zIL-x3Lwoan@P84tY*_ z13TNXpIN|sf3js(pBI~%PVs>yb6TW1Q1QYJtn2cQ63s!sa-EgvVLLSPNmBk=3! z%NrhizxSrV3#`t4nFU-O2JFY!8qvH2Dry#Rhm=*_tC7YC5`PZgn>l(XptRyEYw|n| z4L|N}E@|uy*gA$tr&B<-j-ipM6u{OI(Y}Yj_?=4ZsH*}BTN|tgTf-7I9Kr;584-!C z3S{f}YNC_T57;_bi-fBR0b2*(3!$tNz}CU`L(r}guyss>Y#njuatC0TTzpO$;eEmt z*UP4IH3YzpQ2-=so}ne;^N!K!%a>QPx}kmaVqM*lD~hEk^5S{!c_?~?;0L777w^x(C5 zVx&*5dP@YoB-5*rYEc$Wn(54tr)E);sxrE0SMS}4U%@jxG}x@p=?c#0rraYME)?`y z^yKfA{fcnpw^ypU)TC_)Gm`9AT0ssCyWb8CyCIHPCkkD4j@&qEdCw$`5UHw4y&C~K z4LU~8G%LP-E!lpjC}MlF_+qiuHFuKqBM?jS)jdZrqzVnf+%uzio3>J!sYBgZDf}lJBH!h@fiTy|m9%$hnwBgGjS0rN z3y&x5W{$XOl6yVW(PZb;xX!8z!mf$-M%BfyDj|{%oZg%@yYkn*b@Cza@+2>(v zU&)E^Jznwa;o?f}kFT-WY5p1bDpVHEiX%R!n#B%jLP*OBssaDF67Rq{svZEan5=8X|Bv(&8%LL z6n{uix6s-vwHo}L+f;byamh%q<_;el2*qI2O3=*X{+^TL^&d3@Rd)B#tc^GWIrMvw z$Kp-m=N-kL^Z@h zaSrV~S|3`ypAz$|{!Pn3*~WD1>6Q1jZ8I+|_tM=(g3sgaV0+7fUOoT*r5R$|X(zDU z^V?z}YO#aW+E~B+Y2%+b3`>L)Zc6#KYr`ieoVk`Dsi&_VasSC;f#-c=p_JHdG0p(L z#|}Ltyz=XdUO77{p|&IFsHgTU*P5;`4`YgyoVCsiSkU z-V|g$h!(@I>cfjVSB%d#)GgOq;0+$M4(Zv*1w2zwE=0dnjWoejQDq zok6pBBVzk~n6!PSmkkHw)580j`fryz>|)J4~Mit8ij3~Wi8-a7L8z5F3`hI<~cGT~i*Wn%N1#?wD52@Kp zRX7@+S{es?+bF)gg(rKjm$`bwzeLY4mdfXdFMvZ=Jy*?-YncmfXN*bu`-YzL$gERH zT=OpB2}vg}IoA?v7N!$>&gmzXo;w~2re>7@ok%S&#?j&_(N?w(sh1aH@i{)C^|c@P zzNo98u5(&3I>zqyqoqSR&Fo=G=6-(pF}!_?S=H)ITJa@+Pqk{gkc;*nzhaZydulO9 ztfSUZ$&<-J0lXrI@5Y`+_02k=&PfMOTpq(dT}4?dYB@dR%CW~RO;XM+v2O~g#*5$d zmqBiw=!dsGU2ZlLwJoiMLT81(q1{v(SZU>Y-c=6dsc9*hTwnT)U3mT!wUqyzJ&-PE zg5`7e?hygI%CsZ#Yg~9OSxXvOtt9@l_O5|kvqMMiaE6WMthyS>Amk!l;fcG@=5NTw z(HG~!Za37}8*uVl6gQfsEP;3Xg4{bX`gRYI6aIBMW^6B9M&5X)0`HMyEEIaif>xC` z>!UpXE_$dI?S=YPmXK7h^yBuBz^KuV_GDA2vx;!x0dIoqmHvua)sZKz0RgQv`XEFk zIPphEUWNX;4OIhH8jD~-@Sy5#Lu&I?ksb+EBa0DiNQPp%6yev-k)Q3SXf#s~y#;G2 zbl!D>)S)Jwy{QHUSa*o~8CNkK+`9(gS><%KtV|<*;&e{EH73BEGO6Dr(Np)2TSI|{ zcO7dl7@(LMP9nR)TpC@Y5v(OLkU18>A@PXlN+M97SqQ}JZxx$LsCWb&BqZ25DP#Jd zAT2F)5$5%{aHj&FV?zck8NMHAL~+eEUbbb@8%IXJ<4!M-7T-{YlB`LUC(6w% zd`krRs-%iek+u_s%?V!nMt#)c$iaS^A@+gh`=nMlcILIZJNE~NcCS>`w;q+m`fWvCH7?~81-0%%|Ff_m)%bmYpBx>VpAIgdW@KBxT+MN%P(x_~dpy66+);{?43R%c zu>E(bL%LkQ)hq+f<#r6i`Zqm3xeY(t;p`bj4VA{+J=y$s-M&cc4%CZoh@XLHj&QL9i{}QmU)}IIS|A)cCJU|cu_(Lx77No`u zu4z4oaQ=W$ft1Vtk@i6_`yA#S2(+O7dRdjy|6Q{z;NzD0tX^3_0r2Jf(`$`K?rI{2 ztAp3Z&}IaP-RA9tRYJZJ3!#|i!Sf1=-=>wr%;8Jo?HdYg38_+5$`x;oh|%+{e%T#* z#j9L=BTS;FU7qEsv->D3u)LTa)pIJ^tSW`--Kp2G zo|f}1H1Xkn^Dys z$pyqm`SBmNVFU|$c-{|#hIzUVb%sI1JlDx>-@;1XPx2vZzpI2&0AP!NRSw(uwc#J{ zNP#Wql~A`{sH8ftM4HQFmVs5Yp~qp{A`9PObIc_a47qxHS2=Rv@X39aD0)p{)5lQ~@$-JbL#=K?|Kb=t6-|j& z3)x4m=>pgA89FUea7d~ofTUtUiAEZe2xeqc-_1p*f*`~2fFQTz~ zTqe{D4yq@ZKi3ncEZg-X3JR1Hj(A}~-T34Y(mIk44R>*`j|-fi%?{>&H#?}oJfz{Z zb)V`V@j$L8$^nYdFplY9Usc8`wGgDJ>G0N1e_RFobdD|0F6Z|bAc?#5vofh4B?(&m|ZWwmsuFG*7c+B$7CO>IuYru9dxP2EIrNk*JptT z{NDr~WiZ{Cc(8JdQenA(K?GhW!cL)3VYMjqlaxQn-7drt0*{&W79E{ahM^p-rOrbV zVDZCOAE9uu1a)3K+uu&ny4V#$5IC3{fI2WEG}ewz(j&9$-o*RJGL||fT@ptfO6(QK z2KL(f(9WVV*3wJg(GR`VY7+@qNwP7baoI~AG9;*QSg?g;F=R+O zq}K~+#)vw2FY1IpeL|{cr~q0s*9N`jb)0GqZmgKu7MX#Q;hPLvhn3Z&oO;+Eku+Uj zpeU^Gtlsn<3!%&t^!ql=W;=-6i_l#%=mfltg~MN5H-i0F$#&(~*^))kF%VUi0ERd0XrH*XJM5Y&$`p zzktJ^sc0}hSS>-sv8#O_jg?$cF-i`Sqo|fX%TbzCL2{JhMK3;osyM${A@S6=D(}#~ zYpNFtDlAkqJfyu(+3#r3`tghrk%2IxURETjZr|R}gNPZpSGy$8Y^ETM#k=Nbr^Qbh zKGX>oWy$ZduArZ*7z*_7|HTArjtjN`1*bg-HcKWks|9^M{Z3;L?7CPU^wG5;=*zo? zR75uUi!vhKbGVFoxHG0S%BTsn&tqVNNDF9Dpw^>O2Gn}w&HqvB>HB-FhwQIf&-kBO z59Ixi{56bnHw_xwL%z(z8gk!_!)KWVo5*J=Q*%Y59c{Fej_e*1V?$p|Kg7%;jM2*U zr>TduC&tjM=JX$lEj!XOjVNiN{kaI72QolWLdsK3w;+y?PtttQh>T5y-8Aetb98G9 z1I|3RoUT`7T2}i9h`k_-a7o-+23b2PJ;*Eh{IB@v5|*U|bs|sohlG_<;G^X%Hoi?S z!BNuBrH`=9LJM-o%*h)|;Tx%IbCb|zV>RPe>LT5Bj+72_@XnaQAQQZ$4zHlGBZB8` zLhKz3=Y%XjrWv*oQ^iYoS{c5$fzgx}CZ_1g^De9Ps?~&aWn5Pdw1s&}#u%a0 z#<#auwjcI2id*RaCfoe{EZcPPgii{j4VO2uC)gel-m9%5lS9eQ9bqlH788AFU!ZFW z8K|>(9CgMjm&y#2npN06Fn2gO&_O~kX*#q?FQB_y*eM%)RGTsK@hBO5>~PYINW6a} zDyO?kCAri{@bc8XtnX_&^qn?3{-p=RLps!S9-! zylY7>$NeeQ0=-U28`&b@i}KE;9ACH{S5s-a7FVRu&keWBgtV*A%@DN>&6VRUM=n(1 z^|}ATxLJMonkvt4C15!v&8y4Qy49^!r>sS>F5KR};(8zMAl06?zAdCXa=D7Kh%1^< zTr$cHlK*v7b_~}~+A5{@UR(bDI0<^^S0R)d+i`2${W+=EpDS#ul~5NBA8ym1W(@bH zb6viSi^|0C;E?AXv_=);=C4=9TkAM~5#V`k#3Nmv%@RKD)?M+&_mChD#%vj*C(@Gi zVup(JiF^%-lUgP{NXtSve`6K&u;@QF_oma8k`%^AB78I(-@%4`yGm+FPR9MMxj(l2 zRv~o?*@9c~N|#ih%`cBbi!{#iey*5S`tpHtZSHlq+N<5i@4{F1KDXeUQX!}K))2q3 zqLu9zxa?$f-*=n>=1D#%GxqI{@!RX3{(8t}SM&z>0;P!Ydi|nto!>Nx;=C78d+5v< z339Wh_tpgOlXzaF!y3{(e!`5K+2`nh4A;0`zuW_Xi|qTd`9ReD8!1TL0R^xu8XOpN`9TiRlIx{Kl09Z~6x(Y8c>k%heIw^iPSTMxf53=O$)G?09F z9e>#q!?EQZsRP}wtf#=?Z$u^+v&EZ5PCQVioAYX4!C@fI^!r+TFLwk9QV^}H>jr=r7NF0=ITAx5#6@% z$R5fw`{~xDCeDM$@N|CHLxQFQE>rb`-Q661;>$ygr2K_ygzc0RFUpj-iHksi_q^_jR5saHPn+ezJ1a#_lR+{8>jxQ}@|f;|c#cd%EUjxE8bK&cnc2U!Hs5b8c~v57^nRa<4!66L+$bk%h6OMR$n}{?CQL^;!Uf0D{)v` z55i?b>++*s`;!c_qh%~%;~#D*>X^9fuXa;5gXZsclePSy+?DskRyx2f(H}R>97QyF z;e9G^`4#>*WNDT=oHd=l=|7OAZiYKY#7@A88{xz77qhgYi}h%x@$=s);fZh9pF zl$&@(hE_pRm-XLLm*O}eN(^pK{FhPUttJI`U|mZ?|N65~5k79VRy(h7VTUnlE|+Q3j{`TW3bX7hBoCo=^jXp`?2ZtA8K4mfja>$Sqa6jT6V+M zf}zb1qIHJG2<}O`_HCu>qGS_MK&aTMqhgu#C2MT#mxoN7Al0XHDyb@JLAU#a?BjOc zo1cL;E*!5V&_}atBAFpQ|3m7c^f#$Xn(yWWu>W1Erep>1O}aX^pmLL4G}hRv zH|lxKw|KHjL9~G`1)qi&ACnnIpzh0`ZuAM4paM!0xNcpP26q>?qn5;dy@_mvXXu>% zo-n3n{z({%Y3~K}i6n%WZFjz`56?%eHJjp0Xrc-HZnd;e?`#3hn zzJdtJu&|tqH-uRepP%LESf+W2Ah<^qc#tJUV%D@t2dk4Z8Y8h?Itw8<7~Ope_5lp` zos;4Y)lzRq(tr(a=Vv;iH(;f}M$zA`xs~d1U^OSS6o(4B>+a@HId1K!gs=@2kDS$n1oE|4E)Z`v@qX2be5`eSpc51bJSJ^jKMHSpd(A zM*IJ}=cREs1>|`tmiz5_DVF&co)^B&uq>KwqP_T?bN)yE6<`efb~OLQNv9h}(lNGg zD_RF@RG$CboF+hm?RQuv=rUanKhQc_=egoN^?h}(6}r8_uZ zl2FQ(Ya~ENyx@i5K+YZ{8$4|$`6l-wT(kn-=33|LvpM%RTlxPc&1L-~%}r4(vnX&6 znhXp}4gRlo7t7_-|F5mNukc()z(g;Ltsph{qBCg^Ab@S6$$YkWmsP%?E~{*zF-dU+ zh{>6*fOjhK`kzz`7-Fq@;Hp`0xBQVRDn9J>q0+MF_)cef; zHFVr+zP$cOz1BF%4co%kWrj!D`nGuwbCUzor4O8fNT-~>!Fu`E-gpo$w|1aIE;04X z*T`+U#|EknLk6h*+eNwB5yIm(fS;I+Rm) z@t^m=b*?dL8d3oCYArQ*u)}6#03ZQIrjY(%t z;J;4Ty*}Y<_7r%%tm}A>kO63Pk-pij(sU(feiOR{pKZfA`+~sI7%Gq_<|M&}^--Wt zTtMO(bA#r3LstjW(bM!cBBmsI*^J<$P+vas~iK)npUdJzC-|QqX z*rXntWWS7|^5qgSvCCv)!FTi{t=h$Jg>sOWVonj520~Oke%(^d+-5Q4hE;iQ&uUS| zO3c)r*jlsnIj+%WqG6NZ?nNasSO$in%TN>#gO2Yve}y;Q+-_$`yqnsnx9$`&>lF${ zpJ+e0cYpe^>_1x*z7++%_7lf${tKru0E9IT2LG%BPnG;}MA5oHU`iussG;x`s-;e1 zRDg;FOx^S^m#!_AJ28$e!s}`K1;jtr(AwYDP|ZKqP@KU#e^`WvCDrd7ARDP_>9dVA z>FDYJ4a;f2sukuN5A#>M3Ab*w&xkJVOq&E#bU^Ycr-NksBN4J^*!7u6+s{~0?n=;j zEKUs+;F$=v>&Zat<6^9!5}TH)d_6v2=~D4KJ ze-6^TeD`IWjm~RsyJILYp}2sMJebYtEsa9nOqzb(eLC&p2q*C@s4;vN)IgPh1U34N zg0PjBH_m4GrUOuA7no&vI;-Y#Yvu!@)=&avyWZ+Yd5UtfraA=pApeQ_NE0ZRo9WmC z<#J$k4$wd@_s${zz|d6S*xvH|@+~jR1*7N7+n0b$cYWVbgnuLh3*pYc=UH9ctqT4( zPVnO6R{%W>)-J4khVTv;K@gsf6DWTCK;)I-hnE37s=yN|TOnmW`7VdC1wXHC~hK|R_N9G^W z7-s8(XD<(U??`(dIUn^(ER@&TnXGT{Jxa9E*UAoHoCvAsd7Oxp6EsfrQzHC%oQT06 zG)^?R$T8$t1p0B2I9Y*lqGIMzL|~lgV5ssNV#)THnOcBjY}+nL_Tpc%Twg5fiBUk7 zt3}yVIPPx-KMaf$J*$C$aUy|KKn>(%IMFBTu4Bd6Sl#(wOTmG-lX20H2EzgTTEROM;ZRHIgzlnX2~~*q4oDDdsf|MXC+Vfa$0n zo_*TZF0OerUm;fsReQIf`YFBjO4}M={Os|LL;c&>v?IByl`=Z{T&kK1f4z~B(!$=z ztmISOPPedP#b@h~&0i5#Mi#}FgqH=Q%NujeuJpO(n>{`+h{*aooiasKwYO4}VWKm+)E+Ig913qEfWPG&`zAN&i`QSrl>?Zd+aW zpthS)5&=zDl}KZpW0z>3j$_*4Le$hxZs8B4DEOn+X}A~(TK*0mR3LW@o^hj;KU5n1 z`_uCC5PVNj^!G1wnOX3#H4Bth>oqN6RVQAG19sjBke#;#Wal*!TeOp##^crZU_?tn zpK8U)a$c!rZCaD&XhhM=xR!dwjGS9KmPwtWG#(g!f=&+AU)AYmVt*5gqb+(yQy6c~ z3wbsoCgX9btok{SZ&WgUvyS4pDFqdZ6+xTS_G{ROXb*L>pK)X`2<1ATb8*n_Uqvn8 zs9d#Hx(r9cM++sMh#b^GMkXW%Qad>-PKB;F1_v<2H!hM=4@6A9i=Of z9>!<~dDO**!G-onqSKCho`o4H<+W#u;JMz3-r+6Z79J3-mP-@lOBhK}V+0gD%zt&e zB*!H{39^4kss$u5$^VeVm?>@>e2~_9(soI(BC4FLEuhA39c$o=xh`G~h^fC2-}jRd zZRlWjR9I)CP}foT#&lN+IAZSTtD?j>XvRu(cKiz9rl*>Ey=^v_*pl_IBEoKJ1tV%7 z7H_%KQ*HXhN*%Zxf`mxQ+uPbl_=YObMq@KubZ+X?7jrag>OCwj6{f#TGAz?YUJ>c# zs9~RtQ!Dj!i0T%aPQLxZeTbC4@T*pA#^5K5MnCI>Z8b%6CCP|%M-%+LPZ@KVgGw2< zN(rZk^_9Md1r>^wp{zQJiL841a#B)FSuVSg)N$!vpvHv$<@7nT_Qce3lDmF5tJjn5 z^!Y=6eICWpT`Q~CJB!=;R@R3h;IrS~Z*}9aa6j8CEtK@AuFpfUlzn>o{e5E_*;e|# zq-AHd)T`9wCgIalGFMeG^|8Rj>6rqZ9A+ZQ22b}p&x`wqv*evoK4G8zTMgLQwP6;b z((6%=M~5z-v?Hrii1|%*vPQd?8&`)tbd^1esMYGN%Sd!MWSDLao?+<2_U!s+c=b#8 z=J}a&WeqJeFE{hce!=V(*V5l@D?1rlK4nCdtl0qnbo9P78oeBmBAoBk)MdhdikREl z%4IsIq#xYf%<&@Y{g_ra+P@aludjZ-vvnh?!~2=K`Ccacu*>ib1JU>P%IqdJ)6=<}S3psM2OkoY~HLalRrRLfKyifVW<;q|E( z`vSh%fU9OO64I=a9txSIwYj19nlbH+qRXRfz@Jp=Y|gpx=j0RGukcBHTlMchTua+9 zO)cJ8T#qP>tKfpBhJCtvYGIP<%)1THOf*Q)AGhB;f;sgJ@#Q(7k~gzBchd2$x3=9L zJt#|TF4xq?u?VA^nP!n_Y;)1=g1Zz|Px;A=t}dMc=&u&7z7APiF&#$<5OGMj3bzkz zfBSX-*|HRK88>xARqQM(SKbSih3C>+Y!?$)T;QE%z8}~vTb}jvAg@gN(rH3mfqiKP z_sXf)XOC+GM>B50)ZkLJ(Pyt{F+|llE9RGnR(aHRx~g^W&emOEQKQ$b`+^$USh3mN z?HrC8|AhYNi59wC2$M{f`!7g(nqKz07UwR#HCgo>?1WN=Lh~rCDU4<@@zVqiV4aD0 zho*~3>&F2C1;6uxSFV|C_hS#Wtc*Z<;dafoWHPmUGTq&ekTCC2k4ft!{T_(YO3Q&s zuUb+5Q@g47n3!t0K>WFh8mR$<`!NWL+GelQfe?IsgzF)vnCgXS`7f)qnzdH?)NU18 za0K5IRR-S{az?_x7+v?9l+ox5V~mbT;gNK(@(!};enUDvBh1!$O`(IOXTzWI{SHjM z)on9h@$%>1TYYj1am!^7uwC!id~Z{3c?BO*H(%0wUvGgL^-yyy5zY}l`RpmEa*V^A z%qAD;^da075i}}zHc!lcw)YyRt%#!6@Y#t8xlnmI&B9ygPp8*)Q1eh*WkGM+Ju;UCFt*-Ik2>A3QkIh^~?T(%)6%()!$%fBK<(kai+L~A@nuP#qr zY$jcM>XQ6|!AF44UK)lrHo(5ah=5=@>{L`XU_42FJyB)#g%k0Q>ei%y6^o8OH$Hb^k@lnE>naMCV zl_omZfvM5+S&Y{9iTsC$#w(Y*w>~RvQrk&T$0HwpSlIQ7-o~arUH&o?k=0yvw++Q< zjY<_-4EQxtTG}cv`@RLK*TH`IYNDQtk0x(K_^z%$VVsRq+$fH+#jMl9<**c&V2+GQr&TOw zrFE=d7Uy;QhY@k{IC%{hESu)VW^9%H81a?z0EhN@q|(9$I*n*4HQU*?tA?mMFC?+_ zao$6pb+lpWMZ6_`iYt6@;dHb`Me)UbUWuydHjXqrCoR&ItDN_r=GCnfCl=TR`3gQc zD*rremLd{Y-=k=ch>=(BvRiVgXHB_abRwLevAtw{<*fFl)9YeezubMot6)EDp>U(LrrW#?^=>6SY%ed8WoNurVQaY6-;i6!(-YA^M^Eo8lxd)=kZSh;v;g$WY5O`Q%fP{KWCIdPJolC5!u=+~gy)dByD)QgVZ5BX)bw)=xS z*pNQIii)S{*4#VHIB%OV-X0lut`Mp;bd6 zJ8k@ZTUkkj=rEfx&@L_KK1eI=`c|Ms{qg!C-RJ(Xec9=*VuJth$4k^cr@olE4P?8f zhw70%tn+QX`26;09?p`$hkYTu+X=_I_YfTeAdx$%V4ZpG}l!3lLv~-~Oli>{(6p_y{mRq;= zDfR0casSh)*M&Z>9;JRVW-I1&nal+r01mJNIt>?99r7EmbP){VoJNN?634Qd84MBF z7G1}yTit9U zw{qwb%WH~kjskkzn%F6Vd!R9c45r)(LT3Afis|=KQRTUhF4J2R88S>SWu`KjWTBix z+XHB36S%RrRg>sjd2)k$s!O;0hw_=F;$kkNPdNIEl&Gm`=|j6omo%B~b=?R#5D*Jp2P65{{-z>R5|C~7VJF6l&5=;EznLnn!lf{)m zREHVXTZj>nw*R=><5m4k!gnH>oU$3VFJtT%azX@IKO=Eubx~TaTsWhzCA`YR53idtbh2^-=&z@y@W|2 z2C>7wO#E3QPjCCG=>F`{?YyPDc}s~!D`^V-GeuF3mgq5{*R@|i5o@~Ute5fk937dR z4TRk>L=b=TM!bzm+?5*ms%JgPnY>)vQycX^7U^y-TjlrsB9(tm(oF`t;2Dczk%IDd zRE`vJ#%MR{%a0kkc9v5>zK+^qt_9@l0luugobtI0d?@Nn7NrV71-=+q&*pSS(vN23 zdAPHj2|n0;9Mmds@y!{lFEEgSUAkJa7!D-ePsPqbs;?LeHZDhB95)~#DEuGx-ZH3; zMp4&9gL`ldf#48a0t7dsp_H{YE`YO?zi9fd5BNW`WDPFq z`%U12`5@F2&_8(Uwk&J;QE=44`3SA6bx{p?_mv`>LQUI2m~$KrQx8XF2;q<*E-*xlj0)qu+#cqV?mY=0u0kzX5Mqr;gKEztEP09MNoQRUCGbG2LZ z@UO6OQ}Si9u@@n|&cmtu<*vHvRiPj-l>O3r7#6E!+W*39_O=JgzQ{T! z@yq4shi?LqwEVhNS`JCrJg*PmMH$BOgI zYlnA=;Lc8$H^+6xmSIEWk40bA$D;4LkXlEy@W(rbb~XQ|qAb`p!}9t@a?2g7Su4*? zxI{}3RbA~=!^fh3x_NzXPY_vhqe$Fa*fSLvzup#dNSr)G?gYVFxC>Dns0fZL$q}Ai zp2-m3NoXyt^a(5=xR7s??LN+Bzp@*hFuIzH4KU?RM75tYCC|8vIr=0N-&H46;4h*o zKJRGaf1ID+oXeCxGhq<=8Z{>OZ$R~3DUUYyP_yr#hVOeE7FbA-sqVE)*pGBP<8cm% z;3@fxIhYp~-xmy_t(bM>-c<>8@j@Bh#m!rET+!ICf)QxU#EdX*^Fnd?KWqBzL3%yT z1`6G^)hA$HSMW-w%_vntUhspE>Xcl{Xg|R|qv8mCzGM}_eCB7RZt10*7;@b9Oi78! zHVq6Ex>N2<%B!u=cF7pTa-M)eY4{7g$;tY;4DbG|^Ws}p6${v_*-H-e&=O>imd%3i z)t4SLG5}PaDROw zrf;Ae9w`0B$7?tfkljAB;ONg0+AYy|(A9bDVjpeeHTxl1Yn$`JJxq-m>0uRpG&0Nb zti;EXBt6k!*aC)%EjAe+bak1?pJBYUT$B7oBeS1$bx>xCNM#Ivh3^kz;~tQ>&Z}e3 z1dc15{}HP$;xmVw6vB;&o~?&diOT2WInH3<`;Jsy^9uZ__xm(8_J{>i_>z{&`1KD$ zgI42^N+nLaeex(qbvvxb%`gx7`(MT1r>!w?m8|r*JftxAqBNsgDlLs4GJ?>G0@=|! ztYXcGJ{^YmE*$5)p@mK@;h$I__>pZIwf;1JfBmccT|m3OmY;I0RS8JVc_EiYiN468 zkAlJ46edWHmF9evzXqG?S3XIW+xASSb$iU;69)CHPpPS-mGhKOcTgXCzt8)EfZp$4 z`TG-J9d^V}DZ??blm+PhKIQLEe05LVG!S2X0%WlJGd6}zOGqi?)Winky~` zfoTVJ#^97d3hylq1n`Zssh|M9?3VHou>MD3_h)U4s%Dbzy`tj`R;$FmZkVj_%}xd8 zujVh1z!#&N!U+7sVaK0XCIgxq;~*_tU%jwyf3ETsjH3>mTVl+`4`WnJX5Q0|18kzk zPy^FQlDQhvQ|v>D-ayr}fPQm522=LdA9MC_^p4$4d_|Cds=uHJ9{LYrJ;I!SYxm3R zE)Zf}wdd3ahTj=mXN)UOcn9#vbr>>lcr1sKZ_-oL&pxvu<*!LPHM37w^3o|w*TVWW zL&^g}&^?0a9*-sO!q)-DdO+12Te}+#TsIz_8j!&U`XMM*z+)TNTEse&#a$r0pgpx$ ze6i}WnurN1|7Q957EVj%63NKq($6|S@5k`QHRHONeuAvG?=v-&ulax=>yhae%&Fcw zaPX6aHZxCAQu@fu|ff;>PZ;;i>uIL~5?5+ugW7%gZ#&5+ME9 zj45_A#pK{mS%(COYlx&vX5&CXAC`nBwvvY$w`2M+~cwFl6; zK*^WN@kgDV+KMC)#M=ToJGG4xAx^fh;JKBOz{dt2|6T&{^&veqfIUnKZH?rJ0n&Qp z6KP%TZuQyj6ejqC&u%5CRrkSX_a}+(sm{fPjQ0bZ{d#cZr;MXyX2Nm9q02f=KvU~D zj*)51kCMONr(IdrJ$SzEpgiUM3HKFNg2k*k52G9QY5IH($p|`F2a__C`JBo`{MSTqhk`egJD77r)9q+aJ?qVcHELUP#90UR}*DXG|~oY0UOj> z*cMup1K*E2VHbFLYUpxkLfef0zb58N-U)j%mg8oRiFr6EF%JhN=CA%F=01N*%ty8V zBBLXY^tva0f6R=g>90S$--iX27W_ z9*|`w=O5al%@)PIAfM>`mZ<+15TPe&_I=lrITt(LT8ZHP;SgcV-Ue(zEVwE=b5nYM zP}5W+^&0FxUqYvw9uVO)H29LDnuO?7BIhO`EEe>V7U6-KUiT~G^EjC?S|hI7`xjJ1 z?&Q_&+RS^izqR8!x1s`i^qDTC^5l;%c~lBId^=aj0f8oqgiUjM-lSF@-ECklS5lt5{^o0voEi!Q z(28ZBK9di;jL$(s7H2szv#9&^1Df7v!Un$s0xx^C_M$pD38|`HX9PcVmpSn4(3Hbb zbytJJN305BXqZ2+FG0^ybYK*=LKDf@el`VQNy+Hl47CU#YA*TwH2B?rmp0 z!9`fI{*dIkq_`$HzSN)+aI8B95?VT*`}48tq$n6pD_i7c%=( zNog1+7_$f)mtK}O%EbB~uociKLpr;I zlDk)Dtkl@s{R{<$XzLs_X&Sul=lK#wkZSH%zw{ErQ}_3GAZNy-Dc=ct!s`hOW;4-V zYWR`5_=*-Yi6itYMCo^RJHS>+5!J|MaYxxCXwyj=BTfS`+~=X%rR}U=H4Bp`$KSCv zX0N%_^cKtSxh+ZPn=z(o=`E^bZdGIk?=GD$EvO19NVhMDHZ+J{)s4a*;ZYp_#FV^6 z={pPm#eL2?lsuVLJOUm&cU!M}@PbL-`FCsbOU{pbw>jL$GHxfc1fK(**M4#Jrt9vsZ(=9OZ`HI84Ep5S zWJ+8z`q5ojP;7TnCb78bq<-H_in;PiyfIGEkJGY|K_y;})CN5@^S2%}w-1X&4`Oq*?tU<`&^&Gw5!#Rmu8Tetg7;^zBO`+45IQ&lXYpsxEu?Ed4p= z@02%B;hn4*Ru^-LC&t~>MFiXv2Nkjcm&ecO^$QgLgX3K=)~{W`4i=y0K((8_B74Bz^wSzR}Kp zc;B}9cqWbee65r^zy<)klfO^@FS4B@D>fk8v0csjeN5eE;o0_uGNWHU91+uDhwc|= z{X0%EQrW8I%_HNy<)!mnWCgQ=&1C&*1WuB?AlXL za`-DrBl~C1Hg1)oy08Sz$V&mU@XJQFCKqj;*L0m%dSMO382!N$>OYuDG7Kn7lW=UL zPPR5YApr{9$r4H55mUdSibU19?FzT?dz4)-Euo>J1#|&rgIM%N=(EZ(v-{~JIPoC8 zp^t*(W0hJpu|_>!w&BVNiiS<6$1yqBLk)4*Ox?Yd@@_MksP>~FNXi2h)-UnSk z<$oetSy$5_7{L-34@?FSaKqYh{i4*JSuHg;bZLfR)rR>a^qm6Ss`7^@hfy~e+3^(B zvK?CS-bu;N1=O!aLAZAZvzm)aPkJL%RqcXKR?;vmC+AP0x-0}d1N3hgXhuh)se0}4 zT#@Lh*(ys6SSa3hdho2EM{x#?)unUa_VtD{47vT@UPp#O>*9DP>IpUSweh@m+3#ty*KMhG#KzkQ{e@6^x z@BE5$g|F>b^#76J#0}c-$p)T~NN)%O+Pifn1^++VyWwLwN$iohNA2D3g>}>4_;`K% zZKK?8!ogo4v!TL}1UlmfI1}^TOcP$18fHxXs{n^Jn=m_bG54D$zwEyG=oMXkvLy95{Uff0j#mN4V7N+_%$UEs(9_Y zpqmkfN^;n(c271`21{_n%)v?m9p|jvLhHosj(xrm>6NnFMVkj25}W} zNUd)v;V(zFcEDg=2J5DQg5-Y}(m?#LhBOS)E}tK#*;*amjV=VhG+S_s^-n|cFZG=_ z|3KFT>kcr@hMlN!On9!WGHhaw`W@xnlHEAiwGLnS9=t=Q-*1l{f{6Ao0y^`_7b5+G zap@;GWJbjo@(7;qd-ltEd)i549>&>EJUFt^vut85;cBp1X`mhX=)Y6i27&nhlq7jP z)(dKy)Xvi53N>EdJGUG!ez^s+ZYI*vi#~!YB#oKl5zJ*3QS8BuImo+GR*?oNN0R6He=>afEsV*xJjolI1ZH z>grk$JnggnfSzRTQ%@4)!ILvhv2#sNz(V#oGfhyNI1}8m9niijx zC}X-%_Yz+yXF%Nr1GCZD3*(G}K~&VT;Ququek@6bfX3OaSWG<2{C`T4^-m>9EeG8{ zB}tLTk|bqZIu0%6KT47%!=S3$mUzv?PHC*+Lb#H^76eQT159@W-F|edk2bpvUQ?LDxU?Y>V%R=Cqv4z&u-$ zj1r_4Q1WWCg-NM?nrA;-36w-sM8sp92m~+8FfV?N|L#G9=PAf#)&{9iBk|U76jGr+ z8xRhlOv24j5wif%%tK9*uR22Aw2WNB-u1##TI$1&aMZ+9mfvn<*g8;?3|KEd+(M7= z(GA5a3Bx>i-|h?Svx8aHK>KV|<23X5YR??C77Zz&APK#<0cuME9=r&e`o(p?gI5lR zq}cuJtRu^hMqeG2Ui|4vnrtEh>4nEYN=bMscw=Ar$ZW37&`;q*%dJfPolF=-Vpm|G zZA-g{P5Y3HQK(^B3flU+$0VHJCT5eHhXpL*FOvGWmy=mjj1+JG{adAI&GyBd>sig;Vmn$g*?a# zN}Lns;_AT_A12xn#;;5tRd|r`wQ}y&Vkx23F!6PTGGP)1EmXyFQXh=|R3)n?RK#F% zcu8iBQf7X_d=hv4^tjP}7Jpyc%4H|`=)$Yj`IYeC!kb!Pu_6H^c;EI7yMW4Mi(Q^` z!=J9?pppd8l{C{h>)28m7BITD!l463+OEJz`wOB8P#{RL=UiyYYJ8FqR z1hV0YMiZ4y1ez6m(o1~D3`Kw4LP`iY& zAzT-e5g1om$QN2r0AGoDYPF)}Hu(dzw0E&${3iUuDU=^uNFyprWWCd?TUYF6f-H+5 z+sD0xxJLq)#ooQ_0s_gg^!Ee?4Hmnrwh%D&0pR#7p-R|{PebjwFD|q>hB;9YNlOpe z5uJ#VTDw;~zjPm1nR-N76(U#?6lk2?#JV-k1a>o?>r?#sX{nuF^R(0^yn>S6_i+r& z#1TFJ91!hIDIpdULl$+0)PZMw%w2Ar)o$TeTD*F!pz%cyrmu`v#*BR4VkCd@?MNl= z6a#6!LZGP037KO>5Jo@ml0IF7m=r4*(7h4e?_)}Q;f#ixC z?S`{hm3FUa?)#s!u;dlHdWctkVt@I$REBq|t_n9}lk1GzW-XYbjp?T=<>?j^GJ{H- z5~6$)u7$vU|^ZGzPA#S-fSN`_Kfxd``*4Q2~WuYE2zV)>yB(F>s8D7#uo z7xkOlIjvhiWj4B^uT}6ldg<|Gv#ZVi{yFo<`2)RdIUx*QoH4GB!W4(kLllMJhJR44 z>~6%Bl&NL>ja|~_dCpr1bH-ap=$s~GqTqaZ(&?C{31HPLoYKY@uJ;zizRsbanD%|$BXb3SNr7((FBJAsQ-OXw_Z-eF#+ zYG3(EgWKjXqKU)5L$~=t#F*YyI-Cq)WPyBNJ!*BhyFM%ZLj}y4@S59qTcHx1$n-}1 zE7>_zLhH)Wu0xBrK3n$6WGoaiMqxtesex((yvtgPN8D>P`_~sZhs~tJ46f4gy<*o3 zng_Spz}2q$G(t*jvX_TM6ABZwsFWU!sa&U>uD=y+RqiV7$Tv!@b?2u%jkZ}ti1!IxMF-o;f0Wf+NA8>eK{{>M3XU}X@186)9_2f|7zT6Q~vA&SL zA9?>*x^}Te3EKpuYcIj6uf}=!dkcL&om`#t7%D2_AGDK>o&P+1d5M2#cr&&=tGSTu zs8$RbBHN3=gWFeudQPliJ*ZU#AQl9^TwMF*ame%PxG()*@%9Qf7R9 zvWa@00O8ukhnLQC1O&hix&1JMpagIy&IJT2`8e_iyUS}364Ye%hFT?~-6sq0y=q2} za{oxFNl0&L^_!-yJ47h*ira4Gsu1VC9$`WqQ&IFuohU^3Ks2Q6&+JUx4Pe9|#j)D$ zI;<+kZR=R7#@WRuKW_TK!JslrJy4sN5fzkIkTAwGpqU7Ryydzx;O$M@-S=A4khOIt zI^d*e`qqL;pk{^nO(Py3qQTcXm&TEkr+^J17zo%{NyaL*YhD|PteB5}($m(+z8vk7 zOElwVR@La4L(lwpX*^`*7hObMh5qyS8%M}6X=v}NMkPH!G?ee>5ugSK61EhLim#xA z%_t*l*gc*Ww#wu{t_n zDtB>1ESq!2`J9JA{tndzHpFH$w-jRRQYM`Ny*tQeR$LZddl>LeB% z;W}g|3VY!E;;T~y;5}d@9^;jR^7TlN#v#_JV%jc5C7&i#zM_H*3n3rnt2cCnz{ZU5 zzHh|O@uR19G7iGad#%$`*0%U~$7L!OkB~_UOxA`G>R<{Z?$q8^w7fBEhxn;cW`FnX zhjePEcAEkZAX|V0WD5dv6gfQY!X`u8ve0^s;OP?nyJpyb4cOocV_DWPIzWA#_llC915bx8%DjIe7ZQywu&T zHXp}p^q%}p*brU3XpfrIj2K?!4#aR^%-j%;w>$sPXAa=UCrn{7~ATRdV&G`#@8kwZ6Z>5M7l; z(R{{qY@Nkdey&%qLkwZCtnRH%$<=N(!Y(INxc5y@2NNXsD?iSXEeNg@EfY8F1-(+B zIIvoo8pth4u%g}zxZFD?(pS9B6(>I8h>+95_92%%2!WL3>;9TH78dl!LiruNeBc6O zCG30g`=4n%sr`BhZf+wtvi1MZgl~h>6l;1NdT9p0Jvb~#!>}B1rg+c=&e2dwm8m=G z3TuOmQOGRVa67ZnkrwEZigoa~N;?_2K`XXQ~9Jh13}7lJ?`MHs#%>v8p2mzLN(V4;la z;OaNVBIzV&H%1k)iaJLK^ZIhh$+gw?#7~MvsDDZjOGu1g;k6IP@9IVG^$jIoezK%K z@lqaSkdT2uPcG9|k%42qo=c?VEciDzWfPN00)q32=mQ%u%#y#B^c2rmFjh5j!3O@X ziE?YY-s&};E#(^=sNGra4?(na2G#5V^PonVk%#MFY(zd=DnGTQ8XGxhHy1GPKN<`X_+=m?R3>6m0vGasW&$_HGN8}#;%TW2)Z{iEm&&Ml9cxAtYQ`QtH+tuzb{IwduJKDz z_In5&Twq`+INx={*1$ooPE>eb2MY71uP~QbK251`x&&ASCc~(Q|E@{>yC(JTn$*8* zQvbJx#lk!D8hA+r<(b7i+I~GkL~N9a`duA$3d?h;KU42Hz5J9*Ms+Zb0Ld zljF;Pg)Wa3rkMPz1LL=cNhnSWjadBlZ@+>D$6^nI;~&1s)k6LtN}`O!cn}84m->06 zk^Pd;!{JS<!1y<*8is;624(zpR4&u;^sTqe+Fkd)?KwMXN)A$u`L@3@R;D=V>$GXS`^|{CWN^iei7;Bbk8Z);qUdrCiP=qcll)BbxUVlEE1pEcpvyhin z&8}w6=QY5unjTIzIW%|Sv!pPLm%3(b?cdJ$Usp8)KVF_0%cNp;?ws2lYrE|~bhY&D z9f5(t^yaAvUcJlRV@*qaE`EJwA^nDWAl_Ga?H%(>-?5E?U^ctpI?_8h_WL$`pWcug z@xZST6EnKgDFQ=?3ya?o=G4?+ zL(q$!+F&O&C^*lT+R%=Kb-wdC^j|2xuo1fpP7Qq7rW&o3f?h5WsfcN?5u490z=_5k zn8BAZc9QwYFEeN>B9-Jo>1}mh26R5Y&wI!0?$IU(FN}%AE4GY5E z$tDhWDF+l59p~+8a>r3m!87Sf5l=X&L2*=8a^x?9P6m~&xH&2~T?SD(9g@gACjuu5 z%f0nVm*@Xu(@Q&0ZwQ#)%?QJ!3^Et5mAi3RQ8kN$dhJdD*=3%|-)Hbo50b&4g-Rj>;UK@iWh)E(99OX_=(O$FP`p9H9l|2!-9OqnFX!TA$fsENAsAXZQI_H%AsT`O|J? zEh`r7HuGl5-~7{nZ$AAtcJeL;E#6(8pG-jdnEFMVk~E zLD26$2cJzwv!PJMx_x{;^V;ECw`tc4gp0Q~^aWyC3xO>80ffpx3}yQMF@{nP6M^>l zNpc)8zoz)^I2?Yxu$^2I*`53%VT5v&v3{@POp)=<7Q5&>bxG8dS)+mTdDcY^t#pEL zFzX~*FvYQJj|55c*8NGMy`D*;sV z%AZSiD4B5&&@V(zX-6`0&&WFNzzW2nbO+{pR=It=PxHN3DQqGdu09_V-dVbiyce(I zpR!3OPV znC{ost`EOMB$yt`BI&`a$VJI$?lDbHs&U`Tk|w>us=ZGG+l(pStwl+g{|fMJoaPgf;G14&A0o z9#>rO?#d%*)K*AuOb;1JV4g9t*y_ySB1$CvC!Mb?aPM8TJl#P%M2OHv#pwTRpSNzb ziz+F{vM8F9w*CSEm^9}tJHg*P#vvV`uybxNfBojWMUzQG6;XC z&@1W?^; z%;B-_Rq^{@)V(IlAL?G&#LXI`_rLF5D!4hfUEXv}*0zk{q^#AdMHE`t+@;cc6Lgi1 zDPv}yD_`HZavO$fG%OJx9XtW>{4@nhRNM;>Snp@rU?FAT zuzo`_xF2C7t0 zHoHgrBM8q+uB6Z#O079SYO{mo|DBX+x=k9b`PRil$4x z$zf$W&oAj<_TvrDlp5vlJ5%8$Gfl!X`71aQ&$Y>uS&j`Z%K{fSrw8YjrIlWuU$R<` z^k#%d$cRe%nY5hIA^MTGck36K6P?bcQ|&L2)QuNt&lA!39YJZt3vIRlI$Cso`c8k0 ziejz(4+=}l)8>>?s(WDZ2EArN@T!@7W!A>u1%_-39JYGU0eD?DC|$C}*QorE`7-;r zUW@6VX5g8n65%zGTf%3?dNSElWtk(XJavp+`O1&^NDtULk>ReSA7mfg1p+JM@9o$( zXFf}Ggx=cbFF&vPp!^vTwF(NKxv$A*8|yJKO2ImG811@FQuGtiKYOJ1q&g;Pzv0hv?_>+K+}o6<@D{81 z$8yj1ak=*5c6A)G}3$cD~Bp7SdE0@0e`gPw*E_36#|iVUO1$~R>Rrl||RY10JN%-vyA z(`aJ_r&`Y&5oX$o#c_f;wN>R!*t;=_;XehiBxlDhdh55Y9M*4dD>oL%QVs@gb6;OT zy~>We_`2^J6(^zF+|}ef7NjP?;QVdk?VhX0#S*Vp{RQ}a6z>uTsc99k#+Q_wStL#i zN=bV=L)}UseJS zAl~VW2DqVz&#?vpc$V{=1!oI6P3+L{vfow`nu)95mI4Q{dA2m?%4QiV2(TBY2c)7R znrBuh3^!+AtpE(A3)!p|H^S`coj0Yk2j?ua1+Sq%$NRcX18i3 z^Dwj9qzs9_D_y?6DBL%k-d+GEb|*j|X!5%mvE7wFA)dGSqmzJe#pYT+WsGKPpfSWf z+AS}`6xMJ{YHZr*)JF+RR$54^Y3AOw`Y(V|VQJf2VL_F3H0m2mJb7^}Jq2A&Ma#en z91Q2cQb%9AlYb&98Mf*IBqgokgR@3S^I?RrXZvo=yH($X`JI0OK@0($H0Jw3DDqNt z(wVc($gz?VwmE;noc;Vo;bZojvER94HO&p2Cl1s2qr~A(X0ln1#agv|%O9SrZlnlH z09(7NKU=%WWr`Doe8FYEjK8*a=Yc;B1NT8&yJs@M)^7UG)(#TT68!j3G*1d>33>~T zcb00&8--(5Lw>&eD~Ca2Z|dk>E?pyH#uMCW`j-?Xo4-?(?35|BdXQKF!RZ7thIhMK zk@-bW64Q8tfoV45sw{lqas7*T7c9BvL>%cC`Rpjj-v}54M(M{22)^0|vJU%~XgJX9 z*g2{DO%1#&tl8Qx%1yDm9$NT-qrl>vv%~Zy2mZUDyufiPB|>!Q_a3=K18#hv3FJbP z`H|B&+`UCqAy#GD&{3H{$RM(7&5}U{dylL02RaAh-_X*$*xY~gewuo z7j365$^JJ(ylUsxwWj1JJ2LgDU4nko0}k#1D2uvUYA?EpU?A_l& z7}~#uFleEF+uB_-KW^=c(l&L_^zyEQ&Q$`RML%CjY=85!RnP2RBETB_zT5piT-YAG zeL^nx_KhVQSB>MR3mK7UV;k{CKXLLwZ@w?YG8y+Vy2=#rP&q`E*1Vj~eNvq2TB?b9 zFF`f})r6X5bAu33%!>5tDV$tALdbUnCM3vw=of6L7rY+7E8ZN;j=nF2Y`HWO+(=7y zxp!3rtJqgBX#K!%T>nN)xLN&kGYRGG*lU^s9MLgyd(W0-?x4ti)p8gpx=`K1XC#mw zUz3 z%K8MO)h&1+Z2PCf_|wa4%tmW&%T`%^=>S-fmo^JdoEn5|CS;jI9yFEW@fZns5%{(r zU?6z??OLWp(MHO}Kz!W*edHfipWaga7jXut8x<4a1GsI)k{k0<(`M;_;FabhWrdIN ze^T|)>?fdWwd3Wl3G2#*jWc+Y#-<`5C&vTN0ej-f^$P+4MW}1Sbg_Wd38wVujRS>h zGr&G_$0ahpZ}Of3({m_-zCqT(sJ)l0^jvHO%%`HX1AzH7xw8b0opHH3spaP zYrA&5TXqt5hay!0Xzh~;V-RctyB1y(7 zoK;27rLUpGc1TUf)u-rAZ4*2cgzZkgRUI7ESX=ruSkL0{e2dd#b+|cbjHQ_deUGfA z95!y5E)cRjf(%c`$O`~4`Z|gP!G=R}Lfi2xt*i}lEJ4{2TygH_)rw2(WfhN~*3qEN zx^M#`f?2WmxB08RCVtzS*gy)CBs}!5xJY{fjtcOEa1D1*lsA)G)y5Eg0Go&3`!$%* z6c|+dX5ORtv@AfK{D&(l#D%|vNu%+S0QG3qA!X2*ljMicVodt)O!nY4w?`;tGjctj1L}OPr+pi`KUZuj{J=Y8c<$LCyKjI18XcYEd8*AE~CDo8~@;rI!pKqVP2*5Oir zRG|J*5qN$3U7WfZZUU*rl{7F?n8o*~A|UxyZg?U~O9O9245rFsp6F2spn*n~iDyJm zN#5HRWy5$pN(lbXgdiauNjjib+P`2c)^*G>tGyOXX46H+Sx~Y%u*&#u%1422^Ii1N z4kn14@)-iW9(XC;D02ink_QdTU&kftQziN(EH9-#Q|3RYm%<0s3+o@$i;iP6YTG+^ zdrT%|V2QL`pwI?dA|>wI>^zDHgj+#-s2uCGVp!Y*x6eIq=IGn;#U*R;meMic;MrF> zfrX#NJb!MnA4B<#;+t?!hYXB%OmCqOTb-7IEmfLMzla9|s#auJ(l3v3(=n;UQ;%4) z?NmXq_S$U&&%xunPo2CQwqe&3`2>d%I2!#YFP}hPE>>U9G zs>!?d@p2GXY59lpBtYtKXSHww&CkGQIlY1T8AwHtssE%Rm}fp4aVEIh`f|0^Ixd{% zmdsCxa19;I37R&-DMAwf=&5BrZkSF0g@hD9#e$k_k%A`<_#d8^5wE7pe)UkthKYsu zRTDlm(p(Z%rMCYwq64`IbS&FrD|$oe%(iy07R|+M`_yZHdWLaUmw~o*lC;3-xMVZ=D0 zYBhT(0jwIHmx*&CBe1k9Bitb}Pw@3z@A7L8XI6+FDECTI}G0WGgU@&FHWBqv~Q=YB?|ZHx@Y(CL}CFA%XhEZFM}EJona6NEK@2 zT@XXqjF*Z|ok&fj+l(QjxOhmxv>)M)W{X&V6i|T^Kjkjt54nr}4PmZc@yJQl1;}fwF4EI->Wn>rJ}GHtpEfR>Tc_N3k4w1Y)Y00*V~uF}qUSANqNb`L^^JxDCn+P1NPc^7G7m#0WFvfd%z~9C4q|Usf53N4{-}=)U~iM*%K94Z zUNJ}a>#&LCSHFj%ABma|NyziV)!v+#NKDUke+$Y9TyS`tyd*}~Au9Ku1H=v24ERNe* zrj$%JLOQ_yRxrou3STTs_Zy78oAl3Qm-Zw>UZ?8RZq4|EK`+V^=`RNF_fLeBr{c>- zJ)T?xXaD3Hz{XlVHL(f%K`jLz4*P7r?3mUBfoh)e3t`W(o8UW(Rw+uQFo&^N)T^qp zF7C7T>}3O-JQz!|wUuxWx|up`RR&M(qCU ztl`EislHWDv2fHeGnFl7U`E^&nDiy0Oxmg;JMdOzXso&Hx~+_(Tr*a#jW|y|EZI#aR8uI8TwQsi>esP% z%u5DZL77ehe4#@yQiY9w)J`}t8oP_uW3_pO*Mle4V`BLJ;tP>$?~xlOzR=ccANgvJ z-mM`ij%*5p{ZA_>1aTJUK_dHMUal>hRKw3vkL>8z_#11=F`pH)yC~uAS>X^_B6rA5PDJlwSCoj_vayu3W|8Bxl_F z-@DR+v#6uPX*m_+TX5xp>rq=Pg}00GSN0s@nGmseRENn_H`X7s?H^TFonW=xL4GnK2 z)@wTM4@H8>^NXQ?_E0gA|5X4YLkt8U3YG!T%j3DAB8oP-602UND0J!$BF`U?baTj} zS0a{t6AOW#_*S|+fX8Gb(C3Pus znChshAm^aSI8FGJgc~{8eV%j^m)gqOFGZ_x+)&beDZPII9NL)tJ8*~t>Z|XI3)CBp z-K0cWM0}*~tLmHvp0T0e2_9ShIUlcRJwKx#BRs{=bp95Cw7X=>Um7pc4pwL!j<5!s z3Hmo`l#?n{4O7cFiJuwf&fitAW9VTIq~-_7=TLQ;MNdSK$$%zN-`G(d#iGOYP5ThO zWa`II*X-XpCx4R9kIjvX@6`6eGW~yB@R+fg-i(XBdsETj28}PQrKbNx}KAv>RDIhJ} zEV#XPsNQ)u-KY!akg;~sfhBpyrnf04)K{eOJW4u6fITyRKFp48!n9;;-$nI~MghZJ zeiWKmcFl%Y|wJgKBV-NupfSIQ=Wp3ritg8xT8&k;i+CZh>K; zRFJHT@#2xS;7Nn%MS+p?;Z}`aZ&orTVoOEe8>=lp)LA~vf+Cd|1K1Pg9ghvfuL=|= z8@VQ|(xHZgnAAULzvAso@74$a$Y;wk2qXkDU0gA#_O@S0w?-QxaMed}T(&HXg6Z#P ze^*B0B_{6VdkG|<^m}3}IpE-`*0}afEI|VBqC;=o@fg zJ#{Z#<@px0o+48K)>9ILI%7WgUo3V9R8EG?HHAO7Y0~z@ml_d2Af}5G-;3bQC#$Qa zX<~2gy*+B4q74h<8uA~JkNLl7d+V6E{)KzDMO$17v=l2vi@QT{x8m;Z?pCaLkpjit z-QC@t;_mJacMtTO^LHP$n41{nLTSi>sf*rG%S5-+5*LaUD?SqC?B=% z855&ujFKxPxw_M*mN)vdx2T3RYB&YmNJtAm$RW4xeScCg+xxU+-jVMZ_@nPhFLrOF z`qw*d$M7Xpjd5l>Uo)1Vthc}4*gNl&QaW3Rr74zhVeH@YOGJq|#rXXIV*_>_ANrZa z%jfW0C4pT>YQ$nAtQ_Br(HzbhE{UxmYMr%leynZMKag5DgwejLM;AqyPv)-@l-(#>3ocm6o24|d_7(zVB*6qg(H)Rp+wqb zYejf`iV9FIJ$4|f4bz11uK7zRCCv8u4ITXFKq;PNxYRmhs1LVkKmxIlSI(^W0+1Jo5a$Y2zB7+ve| z>HV*bX*{|2a2sW-K1y+M$;K*xVj7Sa!C(i@vY1$(fviQl4g!5&=JPmtb6uQ()|6+j zJxwTIdOkSPb%IIrgbdS2LXiWKW6a=m8k3$v;&&|n=Zjbx&X}{Qc!hVS6{+B;oVpjoXsE1_d!O@1%facZ zyGc)+8MI>w_!F=HD2oU-(e}1%PcXeBo^h6+Z+x*CKk&bQF-zmMwd`V4@PrG+#JIPF z?!%b!?;vW5dW-<6%8Rq;-*F1in4$n0Qxn#cChH!E{}^_xK!DP&)Id~9{hHAq^v*b- zZk#p@Zy>}NrXbq7CdU%zOT28c^sOEqs4!)MeDO+i zOKsxrIX!MOz8de<6;UTEXS2NIc!=d-l|LxkoMfbVc4e$q@-v$8idXZ^Kc$*W!kQk48b!h&uct3Ui;YK!Z6;BTCC0waEi|5sRqHxhu1gd)DrZF%B_ z5Eyjy+VaG_Z;hEE(?JRajd*_veP1=FxKYT@FJ|Pj!=BPUKK9V#31Mo72 zzF?Lx;EoAdGXx@rWc+r}vn#I(j>ZcHCKL2sp}q3rR0rcs;Gd<^CQMp-hyDa#_`2PF z6`@~^$o+HIG0)+2^P_W5HQxS(*n2^(qCO~%o^v6H)JE7+BkcaqcI|^ys}-0wVQcV& zTSUZlD$uqB+|z(m+9o9&B1Ds03;kI6^RrZ1HPuVj@I_hFBDd|O+Ct$2V zt-*k?s0m-U=H}NYi(Gq_MJel5g>SLI)fMQ0iZ>`<%W62W9pA4Km^)vKjIepgE!;$7JPELXAwEDU{TUeIYk^@Jvpo6r(FYI~ z6+a7$mX)7{MMclTqIG#tno>P!j=3@7(*;UXXmhPL3iduzr&z%!B!Q9!O*R9m_}f>1 zjnYKj0>%HsC|$&PyT1k}UwW*eIKUCg6qQi(1u5n8+ran}F#3p;8XP1ALn*6Od1H2v zuV~p>%oFexDX4(~zM`3bhbdOM;Mg{XT5G%0>o`jDHP(!^pMyTCElgg;e_OD|h+!R} z@keI_38i~h1r(~+gUMfn(p`3cbwzj2S&F7Y$9mO7$o{iWT8!WV0Z1kuO@GM&K50rD zg>X>tC10kp9YwG}$IN6lq|=heOc(aSaLtfcPq2q0#tx*bzulfMLffs^?+HjaX^l zfI0U)xiyDW=!46RuWI|FwQel<7%uNAy9=V;E|jNicCBQ|96Z~kQ@w)ol@gtFsn-Bk zQ7D`~;3|?F$Jb3i&!?pAGV@z5J5tJMCt?S=ilifP6!&DA^k`|sQ$Kv~Z!!o+h(87e zDT3n8nhSrkCfKGJT8;BL) zM5B56gcvKTmfKm%`$Xm>*!0TBmy`?>u1KW=Tc&N;Mm05cay8+8LHYA;G`?RVc`AKF zS-<5xtBPm=Rgsnzn^`CGgqIbNqlDRNs|p)-0O#BUGwKI;2*xySF)H&2KitduVvGHA zngW=Lq{PPu2tEOtB|!%AB6I>%+4i=6yd1s1F^Xm+9*~?Yt9YwZfG-zw5(3G}zs47x zX%#sp>)p>svOSH72LcVTP z9b(XTUHLKWAy#nCTfV~et|<}pHEG3f*th2pY?rg%L_X%aTHskuM2#C2aM_phm#f3b zwlzJnWdmtD_%CtRv5yolQ(|+l@X!V*l`-)bMfX9qDat0jbjZWi|=Y&*;`Wkg!rnJ4n;%0JDAtV zq+}1q;M}?~@GihkPo~n)_>*!2f?Iew=b)STlO1Q?f~*z{FK z=@T`&k-52H>*62~IOMmfx^$K8U{dd)vP*iuxk!xCJ*gHW5JmLcvxbXTO9lEs%v`Ki z%`8gO>{CDvo{c-5aSvvfU$V-at$oorCKfAgEo|=tX;u3s{ zD`mO24Tn#n$i9l%$Sp4sb<4@~Dsk4zT;CT(C-t8wR=Ul(5SgHmRCe+>3p~cBDzh}j z;9EQIT#kCD7rj0ai#(2*8ABgD`@1Ec&n9BsRlc(?&k`1cXugX>+D{-h^{9b9A4UPC zQ!d(di$CTbxedbkQ{hjHin1^rl<~7<5>YO)K>o+JE8(&`(%bhGJp?cgq9nA9zvIjK=~`yo<1N)7;cDSUv{TAzew@TVv^F%rQf8^>C(s*zU%mVH*BpQ z$3EB8Rg-Gcd0{{rn`sxnvt(zpd*wSFJFR7BcTo~|&Fq*QpN#99p`b68dMd*Zv?^|! zG+LB-ryU=XMqpSiNnIN^mvqb{uunlPC00Zx;4SI5c^`9_-y6i`3r(NPU8Cs#6AT&~`Ut&xLg~GCNN?ihy)-H-jFC5b>~!bytnb~V>3o>J zI2PRxdo(eY>B)h&n>HTz4=ZIkYrvjWFDTb#$~ex&&N60Ih2)y)FMOxGk(`ANyO?)!dYW#?a!RGnqart0U{nd}}aG)EH4sUHK58QPsoH zh`RSyY|NHBuZ{(4-&xRVUvI!~^SmQLS3$RIkHZah(^r9#NQ;|@>Uzz7_KpqcQ4O-n zBq;1l>|-6R>c0)!|B&!)TuyyIbi6h>oI2@_%RiZGsX(${^2+^Y%j4m6`027}wm$LE z+`n^~jjCaz_ui^ry6&-DVg_x0bN?6OoxFzvD9=ju2$wK-l<|#TZjD?TZC(&&9THx_ z4Vosc^$laei z?3`U1H9d--ZP_C`=eNygvqkX>R~o;^b+bs6evfphy5n#hoLYCfIsR=@`9IO#pIkpQ zH?y7i5FyNjbvNLDVOX)k9ui{CUGLyX*0V^gg<&T}KZ;TvoBi@ZMwE;awOTU{o?ugyg4AGwM>v7A7m<- zpEm%`whz>)hKBHiHnr^2D^ZL;t0x-3&uN(;t1A>msDsPo$C*?XF5-F28dZB7iGL{< zB^s86Zy1Tv2G(GO;z*2WOR1^GO%L@*MLEMODX7*Nz_Mj)&6=&kBKVaIH*z}{b3=N` zLw45GtA?%ts}KD!yYiDCo5=S%nO2hB6TUw0k@KUV*q;4wAFR3e+IyMFwlJKY*U%y| zJO-;Obvc7KWt>i8E74W*-i&u8IrSgTwr*IN2y#n$Pputnj0hTvY9uE?sbvNX=q#-L;&%QP5$53`9adRFR0!oli{Yy_P zrD}lEN2H>8%vcam`j~>0KKw-?5+B6@mM3K(jAYbf0DlJ?5)EK^tTT_VLaf za-fn3PCCrZ|MX-NObw8;Z%fK zE;&bNGxD$JlWEfeT}mx~GKYTHA*CCYONO($a9LFh;ozx`pjp0-1!I|4muxvOv!>C- zPz~e3ep3bhhMu!SaLUYru|dAX7tr?rBWF6jnb-`hp8VVtLbW`}P;X1B(m&D~@@RuP zRQ}tc*M_3Y&m7Oou-Ul%>E4VlA!Zxo{I7OC^Gpq;@%{!Nm za-7diOaDH`fIZ#FpA~euGXActaf}inz+`|iy*1s*awmCD#Tb;HK6IvKi?%V!FBV#s z6FZupcCuqoWh?)_S)5o;Y?k<7e0ZO1K87keshQbh<#zWnHKRgbmLH-R_EDp<(BHKl zxpEi#{Da{6?Jv0H@t&gfDXBaHfv>R%e_%Qoe z%gpCgYxINWK@ePT0cj6=LzYzvdW1lFT<k`B zMyt*ZNUo@g!i2zmoo~zO9|Au_9bYS?@=CK2pPJ%)UACjxX%kZNRhcv( zv7?d%T-nq!lwHpt4_LB|IFp(2h_M81g2>)fKvHxOhxeL$VO+4C9oF-n8PE1+V(e~E zTq#|ZSg`C*v|uFYrJ}2nJeEUh+1|~(%orU142{>J?WV>Rhr7Pd9jYRY4g(tlOvVA< z##@45$K#l=c9LvWozrL^r{79(>UJ;!Sl4)*)oqF0)HyfTO@4@a(7Yv0!)*i_87%#m zP^EWxVAcKL`wHOBx(Y393?0yUHeV6gtScJS{C~zOknfCin!t%XyRy0Q-vO$gcUnSG zA)OzsW{D=*spXqf&;t4D8qUG(bv;JEQ<6-CjNt+$Dzu=q??{&k8+p*cm{~s{>#0<| zz`R)k@Aojc1mAS$=or8&^!9quWFzgI;`=J6$;--?T*#)!f#qjnQGQAA?<1NtiE{t& z1GHs^<&xZ`$FVF(i|O?fTrJ<%Pgf9jiHxoxpm5{6km(SYSw!3a&zY0UxGFxP=QcBW z4{*9cOJ+RVvF-~9Py`p)e@wgVEcaz1#xKVsbkU)?bMl=!;^>0Bj^)a27`FDnmQevm z_H-Gbs(*H5e+3@jfBe3Nr|3M*;T>`aUh*I{NT;6Ks|G>KkjGn=`wD`U28<^yfa47% z=Lome3CAnSMR6yr?96kCJwTC7W0w+2%u{l`Xe3dA9sD)V4}u{}#}qD<_wSBbu-`H1 z-OpMrm_n&n5?Zgq#_8kv-kN3R9DZfP^1N`1`&A2AvXAhj ze7FA;gDlx~#?O{)KQihXBpCh+iA7glM8MC}nDlmyWI%3a8TL0$0N#HPo*VuId7VS6 zhSc@>bv}nZAoAIEj$AZD00IzXa*_csb(0JOJT%M~gr@}!Q^*&p28QD&Y>h9HNo}E@ z8|7PnOo}39v_qlxPC$|!La(a2aj4LL=L?c#%lAMmm*@jOzkRSLOa4vpoHhak4{fZ~ zc#gS130pIL(mnvVH|+43;=ipFeyO*kM_aY#TesA6s+nVsj7Hw%Va{^WK_^R zjHl}8L)EM}D3PgQWy}#IV)#2^R^&Abx#45chlgjFz{a_=0!rXfe#%Kmh-L~2REW45D1|?|241vN_^&xH^$eI8{wu7!!dVc+_yG)+S;VQ_GJ<xO%)nnl1#n7(6@+?mwq{tWN+gwb$ zVd=|&**L5lDf^g4xli(U)eIu3UUCH4{_%m9uMy`m9s@T?+|3dr$|9xb zwVb&kAJam`QDK7G%@IZf_RBbp$JUhl-Dozj=prW3$#=OSnG2Mxfc-L1vg32r*^xc4 zDyLGC1C0ipXnu4rJS^Zu19og__#l%igrPu7lwUTKGsdXsm$lCsW}e)0hFJ~DFs**o zQ)Nl%eaopDkrsqOQ-rXdlG8_;U?exsE`0CLN?n9b|D3751!byM;@&7$DJQG9FLG=z z_~)|J3%TRP7KxZ=6!#k-ci5jp-0z^s%kcw5C7kEMcaR9%6a~cZxSEXQ>;21(eP0Sv zWRIvwLgi;WPlw^$z60FYO2{EP_%mBtQTxH;8F<3npOuzUly$_D6b>+VESUp}3P5t~ za7z14E$N>FB6aOb1}%cgIlt!rDEDgLe-O>%O-|D6R(Bck83`dbZJ{5|s7{DpnMj&b zzi0W5fbm--T8Tcf^IT(PBRNepj@Ez8mIuoJ247bA)M^Zqyf26u6Ze+fb(sNCVGpZb zGNoEA5hXMTy|6VX(;+=Vwk$tJ(H*rGr!}eN!mu#kAfY8{+g;h@SeX2AozqcZwSPC( zio^`wUTq~*1z*3N z@ld?o$gH@}y}!p^!$J9cmBymt!ue(OBh`8gt0bJw5o*BNZjtC`kw~$x^U0|th2Hi= zOj+|qj3OmfKlx;TvNV5S(1q7&A1*XwWt%pFN5KBAioLRHi3`I~Mby1dCQR29~u;=gYU82>w2Ju zqfzhrPluFpG7)6azQ#UikW$=5@b`VXFp1_gZj7+$kCb0rYQS&k2_naugB)UZqhTiG z|4qokpxjZxxs;2Iy!YVm*yhpjQ)RRKQO9k%Ya?zkj-ZZ7 zS2cs_;pxI86C>XWY1sV+NcSjlzu*e6T?0ppslrX}5?{pl&r$R=zM++DVqnV!qizpgeP ztLjrNTz}2-fq7dN{;~o^Ase5O74}S(6qbj^`iRX{!dBnY{g%mR75Um-eKt=G_aWNJ zJLTBs1N&|Y?A$s1-YTUsvuMRmxMn45lP8)%@e@vwgp5RsX^t49yk;?0Rk%lL2@EEW zOVA?QnS?Dy!v>lbBVlL%)D7ey8fH@XwO)|wI9usqK7lw!Mjk|aYmvjdZuPEUISI)D zVS9d}`o(c3Ep^8YZ4`9f)9+m7*^SNPJM7~Fc%4q2haE#Fl;+XLJwpYgmB<^Nhs=q0 zAKtFjKG|H~oDJSq+}j?-csx#1J>6Rzrlh2&8mX`2w)#)V!iWBnAhZuC1u_z-d2ie*cy zQVA{Dg0#MF5!4Vrj#LowLq!k!Rr z`R$kDVJEyXn&UUjMbg@gUoNy+axu)psx84kO5mNWP$OLhgt$YX8>1K@a%+#for>V? zQ(W3&4^Azg`T=FM;F&~4qA>hCc?JS5gSwtot<6XTS{HK=`o!=+*F6!JOhof9g8G?6 z!QR8+a~xE3{!R8{)EJG4$Z?=p~htm^~Uw*Of+BRx&De(AS|A)w!*SDWr2x)J6*t2xBE%35|$3 z^r8uL*8OQ+O>cIGPefZU>!&KUrA0f`cf+r4pzw#ij$lWl+>GKkV)~7&I=jBvpXdmt z{~%1`X^YPY)4py$_u*1^xt!$mp-3Z_w6>FWe+K4N$r)*SrX+?tN}kQOK7D2UlX6TB zre$>eH>(hJRP6Sw_`~@Uev2lIN2agLT^P!TQ8#$hCK7C@ z=7pG{jut~^vkdLvb{k0$8I)Uc*A-XdkdSr|`ZMKtPtHHqQ}=zj)_8nG3_Ab=s$#z% ze#z5wSCMhYcUG9%tk>$Dfv89m3nMRCYOhY98 z{eHN;QV2JFg{c)?|8JnCVH(y;3ex|AnlSX%VtX12FTakAF;}qzt{yN&^@-ZPDw>i3 z!Z|&_6#e6WLz;@CK}Zv$#lMjzS0A+h3YX-PK;e?(bGQWke+rk7b^a4BJ#rTn%q^Na zhG@V7gK2;px;sLY*4Xw{kQ1=SrpEz~qA4!Gq&wo%(Q_zR>pp^gG8$bp3KI0Z_@J{6 z)~CzCMCpBQGVQ+FbeZQzI-SYne9Y;h?}tItn=*&L*uR)dg;<|sR`l|Nj3|Z6%+}Jn z_H$>5EQgr8_L*Ugi!D<~Gjqi>fEO2URBZh;FucaHa_$d$2LC=LaqDdl4-!#M7VBc0n;J=|d zjo&lD%q}XSFc_u(gxV?*#?i@t6e9c%_Hyg{!gYiOpI0I{u*0SYpc7`{%fzp{@nij` z=@BM)#tdcYNU*YP7(>u0@bMAO-|c^=4vSD(Ln0ip+BPUiUu9%CiJX!j=Ve3QbETJF zuqv0}dmvpK)kP_l3z0(%zpSh|`vbKhBjYiw+fq?Dim8PZ)h)ZjFCX|;RrPJdJ;b|5 zGV28fFTFQNS|fOHEpI-0QoAA;NQG1yW3|4lu>BSEgx+*W6nd40eWh3|tIwh~!D(61 z1L=7VK9AH!*RFWVUFMrXDAGh|DNR8GTWs$mvy{rqnGjbk=W?WM$B-vp=^_2yV)IT_ zl~14+9WPcqdKKn@#`^98^o*%$@vGr4mS>)c6#c(>CKI02XvS(dAX=heq*=~8Ro%sg zQ1_U;&%Kp(6rB!k4dJzP`A4<{83M|d8iJm)CI3kq67!@`mj5HtRFU@oDbjTPUGKeA zY$65s7R}27+kaA}ehf8;PjJuOumD@99q9d@q89n6$5&NADeO5_N|7$oob9(J`fO0U z`#L&*@zi>fmqMXY;PL8tf9>DZu)p?aAeRzKjm|+sLo?-=%*kpoCiM@3*-9-FzQD}X zfWo($g~IJ#%(hZOybcc*zys#j=s1m~5p2+0^!%7g?K*o6p6Ayzf%&y5V1DfnBh2^= zF%LTHd&E~MsB}m;dO9{DJm{WZ9Z<`SZYSw0jDcCJm-#gay~k3Z7-kMmohX*IZWj@W zuTZ`{`RR?T>udvkMCkWfXwCdB@%-gofQn+g=l%E=jK>xWT{ljj3G+7`*e6@DW^-up zh+70x#x+*vOVVDWJ0oG*AaA^hNp|hQ-<@Bt^JZ$}&g@%>e>8UW{)br=`NJUW4o{L z!|v59H3s``tX^=C`T31+nls4!?C%QOratUr^=>oI^w?J{j1OtH9w~mRl>Hmi{5`%z zKFt*~fD)Ml&Fox%H*h{9g3LluKAc7y#{e`HaS;^6Hb61yH@pe~kS4nkqx=<7_NU1q9Xyu_80g}&@Lo?wS7A89IpN8 z(hRe(Ha)*3{YNuwWjB48b4U{n_Q|(%e$A1$Hy|JEH7h_deW3aZAWeI(t$d--h|M#* z#(_p2WKlOnjx34gB;nUgo^ZE+D|!CnN}%nv@Xio2gGjcrn$bx$w`S5w3WvX>Q#w!# z3ne$VwG$oc`CANAHE0()X!*uea-?OgvI}MZJiXSF1nPwi@qIf2;Go@Mc_qE{gB4l_ zhQ8Fd@CjqA7d;tJlmT&|3;d&OLW&&=P)w7ozy<1xHd?$aule*4P}&oOKe!Uio2R_SD2p z{uYFyEAq74?9qghw|Szc;9(SL-o@9M*MCEKm&DI%+6GQGpM}e?<5ekPCqslf{x0rQ z&AtozPRZM_!jIr~6B*D`A>zR6R)rf)vDTpR6OAAA6$x~rk%j&MNE3q!v;jYJKp#ttY2{nkJ5>|}24z*C6b7Q0RD3@I zNK@YehD;7EsjSL&&Szg3axj*?FLZB=KcZKU%LnsfzgK|8JP{)9`sE{l1)TFN?f~Wy zN2`YuRxfb1j=!BS(`kBb;E%*!=t=rPF%)Z59DCXJRb%cp0S590xbMnPE%u-?*ek}j zC{@v~Usl&1cR^jSe^tT?iM=O5l`up%m>m1If*)Np;rnOQBKBQI-+pGKgcn#y6_yeW z=i7(aGAHmUOj$XR6$@doot2OX=@Txj6v)6k>%X;4nl&Q^AxvwdgLFE|>7YQV z_g{gM&p!htgntK0Z;$^wP|C-wmn2aZXu!@USN6sL<`HgGKA>wW8M$|*QoVP>M5I_U zemzoQl$Qg_hI%?<8~f?cAkq}1x?E!x=W8nMI0%tz-973`JJS+-`_ZZNL&&G5(0;(s zZZW0TnHz>Bt6*5!7s*iihgRf=9`iYXk{rIa{%D&TuKsfe7lXB*eK$*nN)Az0cZ}{e ziXH0-v&hN)V_e$u9T-=JxhN?ALV=im<;DUiP=&-H6{@LhY32RmV;Q}bu~b&^7Z)G2 zhF?nh8fBVme}u9$%Fm_uNKd1Q3mcl9_#MMBl$fi0O%s~lHzXrdZT0S|`C19HJDahF zwtW|Ckd&r56JpMK>hy6NSj~)4rwOvQ7%I<}{u1I+++RCel1HZB*jmCFsk{dYRVuse zcyeU>)8EdJrr~EPB+!(e2^H0yA5PUvtZDy-)c2F`dnkg6i>8s=n%~Z3jNyZ%HAu(NR4p(Z2M@(JiOsR?eOMfw}^fBKu!Tz z+JLqN`uJPZVGlLEwp!|byCPZpI6VZ1T>81ehrGhqS4{(+Tc&TuP_F73YLvArBFP$C zm_znZ(j|0wR{QlBTA#}I(@069)y|&G;VaoI{8ER;B)g4%zcUz}T0aHK7;ldeuID!w`u+-K7i z@!`PMkT)ZN_)1Ttvfjg;Cy{D$GbhcQx2l!HY}AdzL|W?M>olPT0M?l}RU> zCakACV+xV9)!dsO#TvDRXrvf37}NImIYqpKHHQR7rF}2}l%&|@i!q3?3OGNFbMb1c zs?iRyzsyh5XQxw#az-Xh70Ow#drV?F$5<&kT1A~P6*fTW+tI?q8XZK0Tk_;D5rbZJbd?h9fbD%Cs7N+k0Gf&0aVruHES)I4_r?- zvm=*Zh}+Jkt~a&{bRFj!poaFAs#JROBG`cE*Zt#Pk}`*uf4Mtyc>Kh<<|=}1s!}oF zykvmcr@ETjCLFgFjGSLOC1>Za z{Q``0*d(jdxtnRjz&$PRXD#{i-nd|Tbujv8Y^be zNr4^z#te=940pM!3yAMRqTHIrS(qjM|wie_`XVPz_?SgSLaKPBtrzV7;$ z-@POv-Rjc%!?^vACk6W5BO&|W`Zk-p#XAK-!K{eHryJTE*Zr>!(=~psqJ9!4oOg`w zua24MkFj7GY$-6d9=Tl;7OqW|m+xvl227KRgIH(S%MuJqc$lgJ?ob)|4Ce-m)NWH4hH;w{%`c&GSnCdIn1*hYC+F9b@>!m|@>qzgn+rE_ zvf}c;{_(AEH$aZjx(|X8-|k>{H{epAi0>k|Q!S&R|%~2S z@A-OizyCaMojY9Wv_r7%Tn!@IjOf?D>51l=Wk`h|Rc1#SF z*RzqyJwK__X@m3gWZ0I9C@IG)MvMuKz5fv%=bx{U+>q?uM=SWuM7^U@*}|xR8#@l} zpi)_nTYT2Mk3;6}7Fw38H6ahC>$(E zcvQD*A14|z7CF*-%$r9QJr&5^CT^Zv zUpgef-pV)*%Qa}*#r;Qu+`C6m$o#~Y9 zICr>zbmiT$cYf*I`lw#NbmV++sBTdF#8&(;sU!I$V!TKf81d`vVCTlx=r|>n!o0uW zi*3x|nyMWau%q48qe}ib`T5{jfSHAfA$PwL>=P-{-H?a<{>yO&YlDonFl|I|Zz|Og z>U7B%A&j{CdQKxD+haNX-vXB;w0aF|m>%(p2 z2AOr_lnw~%u8Z1U%v8hwYmh8YcJjXj$+U+543aCQKQg}1zcn&d z{AiKrhFFA3(lj%eKeG|YkvpZP|CJ-pnfU7!U@!gFH>&LsubjZv-3`W;-!6<+O7z<_ zvY!E1#ppOOVW1j|Z!LZBPV14zf*v~2abH%jebl!{q7vEY*H1Cw1PQXfwPvh`O&j+AYRw8l z{Lj{Glm3E(oC!CKRqqP?t|mkE6J>B2%wtURQ@c)mOG!chIka-T?}>&HN4ibCAS13X zeJ%d9MVe2|KSSojzacZ5IAm{_skH_$O9+%_PpuaHaeJxL776zrqc>-q;Cz@Bxv>Bn znLN@}ljn6S+2LLrU?W@J1#D!v*ltg5)nJ=*@v`2(zw3v&B#%O-rp)K4<)9uhtFG&b zW$Z-M<5@~Gh6W7G8ULd`yTPBBZ~773sLueNLYhHxblU;H#E3EAgeLQ|gCnk;X;e!W4q%h;ZU`z7={k(1-rE}FOUGkyXikCMJLNT)Yen3;lcIYE{=cWtk2Bf=v>SV}0O;vK)-HzTWsC@Zz)?7G zewuq(3Nn>FuM*B+y0)0yAG-Z4TtfUYs1e#d2cV80TL9G26G)}K?r`%MkD(I;EH7Z3 z44b5Jcv?fmYLM6en{JE?$)ME2%}r7(k@Np&1bu_y_|HNuo7v^-?m63UT^Vj;oDW!G z%HA=P{*@o2#^R*WkQ*qkJtnJgP7eec0<(YQ+-vyNBDkplQ-l~dgBJ`TG75jtX(AL$ z#&smEMqPAJI=?^EYHm?kr|I_9)APOi!vfO7cNxVkpucrTu_XWQFiUcc7@NAeq9d9jlzb`+s(fcm1&*=Rk3G|A9u4Ahs% zIh`u@>G)F`wI87^9hGDRx^?eBLxk*G|D8bRNScu!wYVVxmNMV8$j}rh5^v4_*`^IX zZG%=+{CA)BwvZ7wUwU%@{7pkB%z1s8fp?8}M4; z*VeZqyyIJ}Y@>wpto=M0&=4UGbgZjoV-r%H6Y=KTbp3r(~T9o^f#9AHR&8}DiEE|}S)dU0m17qiT zGSsUr&?mKMhwOgbgWXpQuD}lA_X{_4q8t1{rRN<&pm2<%*^D{zxgKmW_YZ)pQKG1i*UXokA^pxRVY>8SpP=iKPNajZWApz! z6OLpOoT90W!Yfc`>d2){q5&OM(y>FF$Ymp~j=+>&tk*Hg$9Nf(vR4pw@v(ywFNS#2 z%>t*P+;cpVv#<+x58IEPJG!)l#gPf`YUB8e5xAGv#y2y=ZQo6Bf&^vCkP1M}wDeg} zhLpBef;UcIKiZ><^d?p3){gBxNK;n+VY;E=!XHUKVi@-s92_(A8t4?%9(>I~snmcM&aEx_`Etk9u!;Zd04#+(dIS9R3U`X2? zZ{7qDUEIhhq&$k~&zE?5>MEKDq;3#>rDvu-iNAs#%0zz_l!rrdKH zbLRs9HNFJUmcCHmQePMGAg+U%f9g;+&(}&8eNJ)ZpHo~wQ3fie*4|B?x_<%`Wz}f3 zuR)lY9N9A_rq7n>%*UTt=XxYf4KQi*wufhEpV|kD;haP(`=4Py@PEL5)vVhUlgETf zPsUp`NT9|c;D!&EfGY@Ws{Cg9qr!fl;w4H%EHICE2ckszy3F{L*I_DeXGwAC?YvFV z%x-~Z?X#h*ckJ0v_8DX-v(x>yHYEgYExv~Y7|K*YhBBZ5Ia&JLfCQ5VH6V-U@q85T zTpKIk={LZponaJYC@mSXEg3fOtHJOTY?}-1$4UH&=!-((0saq&fz@!mUWb@0pGP5x zx&0NCmDG-3jMAkru`oJ6L>&TVG7bc{b1}Db%ZpJ1T!WH8-={Y1XR5SA&g&I6KywCT z043(m3(p!J??BY*Z)>0r9c)?$RHm)jMFBKrJ)F)8cVLpU-)e(IvA1J+VLvJ~6J7PJ zb^(4eY!Jy<)U*_}8(shGC#xtKoupt9L}vn;wFbIYTqt(XM2tn{S{e45xgY;rQP)z~ zf!E`MEM>aG8HG)F2Kc!SmH})R2KfbLqnDPy>p`7iC<&uPpoR<{!zT`0AiQZ|CFlb2 z=8O{o16x_@r}Zj$Ohak)XQykA=G#-fhy@{_zf_>0*5rAjeo zGc1Q;H5K%(cG%ECKXNS~Cu7mi6nl}AF#&S2m>L;g1bAK5!QFw+-X9cNSZ#Ev!Sic9 z;?O^R%+#<8r!l94i22*PMl*kIT`OnTkwyl9mIwcmkKI!tUaSE5xYv~hw6bfatTn_~ zx`TBqA%mQyUL%;utBQ;M0SHF26*rm_(sIXtgOB0-cyB=9;~P+=bv3TgyBt4(ZzDmp zYSzd1FY;^rg8UZ#MSg=wWq-fRqp+O_=Yd4`O0fF{K#A}{b4FxcsR+UOkRgs4sB0oT zpF@FjKAysdW!O;j_@XA$^v*)w!-uLe!7QcJULIQaHjdLLdRzMzkqzkjR^n*^DY-fn zHwCz6J*Z6kDjwpkO8=`R%yZ)p|1y(#?1Kbl=TnibySa-O>HeIMfSF95Z!K2n(&;@R z+ZsKo(6x?O(kHO;O{VY<(mYB(e9kWl&DqfH2uc-ybOUfUnlMVN)t&J!D#cQ-S9a~PCV zZmng0g{=bAX>&=Q>$G)9<5QZ`XhUy?`(P`z+ugEOSxec@eVJXq;1v!`_=W|RDSiLw zgta?&Spv~$TS^HI ze=7eH+eaCBdXczSEnBCeKr-8MSEBU1V%Z@6`!9YEJvl$!!~~feON!a z&g2IE;Ab4);Eqop^Lr&y2%m)G_{T|R+)k4gNP}lqv*+<;{qRLj@x{6_w7}sK?9!|1 z^5hf-oV~T&hzgrs$RyOO-HXO02yJo1dnAz2Xc||8(Fk#RdIizXRx5c zTEJj)399Kz!PZX9?q>a=ElZ*G=!VgnLKU8V0y6YY+s2Q z+5bIk<8!2jiCm=$N3ghA%SQ+mms`30T+{HOw(qmz%1zdba2uPlSa-b9PlaMn2`*Th zY*eT$s~i?j!%u=LMTFq4w4viC-ICH0(eIZE!S~!C_wvzx79K2A92}Hyw#Bmw9;WlI z4D!xt8W3O-sHnImSH))MX<5V1?JgLrR5wEBG(uZUF^#CO)n_Fh=#y_9_V!L5T~MP} z1z6CUnvta>=igMTNIIY<6{!nU6&+@YALHcDNmP>8B5GWnw~CjtVTwl=3cDjYIP7gs z^`6(v&yTYyZV77Z9-JtI23cVHb07G<4)ug)Qj8Y%{8RCX=hfOzn|Hws^=K2 z+tC^RPZ3p0Zq!oQTpd(Il|kuJkH~`kru5?_>FLfNo!42E{3j>aR(1&KF)!ibkv;B| zwG+JBpzW}FIMO+YlB6U}eu~k=6%wfARLUl?=b7(}kFWyo{<&y+{;QIzSjF0pBP=iuTyfDJY;UCb^#xHDZRPP_krATetE zDIHZHW@t{u6_#Z0RJ+Q_PHQIlz!}lp?(yN#@&0jXDbbOq0)z{qAyL4lS+jv~!JR|} zTJRVcc81`CDAkDIk-EzfjO-v$C9QXQOM4 zpfU5A#Kcm%pEkNa3mw=CEa>Nuzz?hZNngi3GMTh@NhD%ne<;`ggs!pMhd(?7Vx5?> zIq;0CUUNpy>bI_g8;Yps&y8_&erJQe1fLnls&(MY=LbH5B78^ei?QW04*rCsqLiH7a^{z2f%`p9i(!HvukY6 zupp531TkYpDq)UyH<~7%0LHUpM~>Y$K5Qb^bq?($z_?#gaF&Bc2cLdS-%nU&8p$pt zmgb&4kXSy3;K8H{5X)=PC-(()54^S@?HzyVqK>1RkV$d%YMlMf`%;jUe|fYvlZRGU zpLLo{G6RS{WkSXlZlXrZaxuIJWVc2J4UMa{E0F7U)BWb(h3vt;)qlJHsWr6t^B*I7 zWM{emi@moFs;ghHHgO0JK@&7UfZ*;BAh-v23r=u%3GVLh?ydoXOK=G8?iPa0J|yq` z?)|!NPj^pGjnu88cGW($i#msYfc0DJc_ywyBxS26jip)&e->al=R{qy@UCWFePATB z<}9O#c(S?dE{S2|YyYt-LI#?m(u&-5IRC9IX#IC(LCGenf4L}IWsWNiZfsj+`^R#vHbUH^%Z_cB6tZicdcTtY{144p$DlGpqT0T)| zf(rhfB#-fin@w*!A=AE%m;jU2M(8pNSDlAnXr0DuG{Q5FB zDxcFgcg@6IdoYcqvi|#=oRf|drA{~37*l%r@5$?l<5jofKk1H9X)+fHVY74v{47Kw-dsMML%$p^YF-lx_I6t!j?B5-w@&#=eN0p#cJ7%o{ zba~Jy6>?e3&oA!8w$S%l26LJJHG*tLLYr1(yBW1iL{_(YBqSuR6aYlS`R72i1Mja_ z6jRA0W{F3)#)ZpX^4405nH+H!cU}sFc_L-W-*#I{GaEm0viNmInm<6K2zK zawj8HAiXgvjLsLN_c*)(OohE_Ea89Leh>`@X-Y(FeWB-?W;%x?vLOwJBPi=7%E!In ze>X^_6#6%V)L&D*=g5n&){UPPC^+}vOuZQ4{N+?VkUsi-m8GSUPRtvipmX!`Ba^>* zk$7M7J*#jf-WrW&-55{JV3gad^FZx5;(v>8G($wv%un4dCUnnozlP=!+l30Xmczbi4EvsF66fT+ZvE1DM0mZ3^n zQUBN>v@7*mDof}T&eCX~qWz1A_Fo~Q4GO1}I8Q=4l-9vY!Y%c8!F;$FPMj$-V6WS$#RiOi-9q`% z`dCs%3=hgqw*|Y=`Tc9`X^~%b+u;;Hx~0~_gq*(#?+xHZAaok(p8nN){4#hZ8pA5J z^*O#lh|7#lYTLAR{Fc1Aw4J><&2(twd1Elhq@WL4FD8$sf!RDAmP4E0%pLydw54m(mu`!72&fby?unoX;IILh;L0;aR0?E{Et_H(!J z!98M{2LPHKUM$bE=U!jf@!zbU+erG&lo}is{Dzvn6Uj&se4?Q=-0O*mE(G<}0L=W( zUja{hh2+U|z;j!1gIg4QcseP>>QtZFqa8mpx=wTelDY9v{*e-{D>u3pfN92JT@Rl>(wf zP?^yKcJe0r$1aNX*^U9`gv?NRQgcO?!zlnE%fD!<*%mKX^Nm$|G9OrqpLLXGcKKFA zS6EiJu#|xPEi`PeuQHPETrb|B%ZANIy`e>9*Hvq3PJCdJQ&6b|Ts($qXc<04ady^B zd&kr(OCcNIRM@h-VobG6zO>k0_~}l0I@dEhZrWEV*D-i5+c* z6$7n+O~zarOuFRB9{rW8^OE@D7zB6qq6+mQPr0ihD*1G(r;Ch=FmqMKs^mJ>j{8)D z;+r~p&jl@kQJYWBCp`v9jVKd?yD~$_+<~tAZGlelDjg8haby*0Osb zi7zzfq7T;5<`}(-&mt{VF~K}7wJheMjDy2-5%kTB4mR&uQ}G^^0-PasW>;1Zidje; z2rEkJ3H&cC)$J{{yWDi+Tp}=U#9?)T+mhox75g0&d3(!Uvf*U3mWTxUh2n+VhO*{{ z3aom?oBI7_rKSD;wsy6jzZ7r$wP;FltL~iYD$APFJQs>x7j)Z!Cqa)Xi5wU0AJf8> zty`4yc|Oo_Yw_A0x%V|%cOK1oxd$H2ft{o{*gsyLkKb}0F3i^2$wYf|+2|aM znLi}Ko*A77oEte1EN3*SFFMpe4i8EImzj*)nfs))GQOHCBjA>8b8MJ!FynTk`;N&m zWPz~ZA0Fegcu0DFvK`+upUF9~LiPcc@SROU;H|oh;WQa=IT&y=OAmd5!^f4?HsC5W zJlN!hAm2HN2v~}YsWI$1?jD$T!5QuNJlzI-tPS12KG}i$&}P$wyAwcKbZGWDdPBacjU-pqZqRU)0{Y`Hy6` zvCNA8`SW1&8**ju<^N*MeVIu9`9Hhvt94cKd+F{fUpjcExxAt9%Vqm@2-s!5*pe zC@xTX;wDR|g^=m3MaMJ>p-M79gCY4_nr1Eg!!U=nhj6E<{vG4eODv0ofIDpu>@9+1 z$80G9(Ca@wgK~D%X22OTXnJOlqKib!$-*z23@&N$Pj$iw~DEr z^Uy=(!9%1i2QexTU#L?Ys3y4Nw@HV4YshBh?liaMlS}Dp+2eSN$}e%BiH5l2?vXa#32>lJiNRoa#pI#gf-{^{tV!)u|u1%Gz)& zVyOoOsCZ~B(E|Q)dn*+2i+L>^J@vSd0X}Z7PC375=`Vl4FPvw8z&U42*Y-G>*i-Un zvjI1pk%IGe2D6s>*wsC>4A>*uXiBNPM6Ad7j%_AI9u*$tBhd7gZTi@y%QIWyqGv{; zF8ge>AQVfo4T?02Gr&SvzU85!%&-)zY)oooYANcf`g#~~ZiqbKc=8bavN)HgV)| zP7D$K=*{Y_U)xt_11Lu1uQzq`3}~&TWy1X}XLG6+e6MkDX#NI!A#PAQ!#Y%%(Pd-d5W8P);Ip%AYtozJFVm;Cs_Hh(x=Dq@tYM#DxLN= zF_uJ1jS&L*qLmV9Pz+xcD@&uH|qK2H(onm zAez>e!LDY6f=as!-v}n@jb~9ozIyGVW5ok+Pc(;2^xbWy>dgUbdzkMZ23(uOMv6)D zZqQp_E26Rf*tXzFVgppX=cTTNa$S9eJzaaul{LxX*(xluTjX*V?pu z`5&nWF(yl6vao=oa%sR)u(->tC8h};Aj-vvG4YScB2LxJS_Ys;T5jk-zrqsjWsFVt z_gj1Y%LsurTr)3W4wC;)9oMiJPQew&_{78@KS8E0!tcK-A}CSr7X)^@sPGn_y26P5 z?P&Ktq4LCSjJABNBES!>Yrt9^Os@fY9#wjXU2F17ea}CwSj@`-{mV2y12zH!USXA_hn^Ng$FN8^~k8H zOQ9TnD80D)VBa^wiFUOUE)pZA@B!4AGRX+xiuf$c%W`!i2_w1istgT=-&rzF>l2w2 z_p{FNzp~fG-D;WXoD<2!vYb!R?pCf?41;8EEv3xSuXcyx41h_u?RIbyBlT=ccwF zvd}|)XoxYI$j0|~w%g!PS|WZ9o&O98H{|#^#?Nh536PoU#rTV02XfKGoA$HfOSDLyT%Wy;or@I#iMYA;^r$5dF8%P(Z#1=X zWhJJ9gW>DbO%>#I>SDWv{4QkYb6vtF=pdumKl?`LpG-EE!rqGtlc3sU9^ewzQ3Nyv zw=s67%r&oX)?k>%U|7(fV4@wg#EP1~_S-vrNsNFW3RInfaN#1Vt2oGr5#DFE1kJlW zn7&f0L+LaeP2NcrNAY2NQW?7tX#h`@ek*^@IUp8QqI$WH3dPI&S?iUU2>%ge<@80q zq7^V_#ee;n6$S-P%!!P^C{^=1OcKT$l`~(v!53W29hNo48Xxa2cC+@OmNe-bKkB|I zLDlxK9+BJhp~lE&r^VCH-Z7op0= zHrU>hVf&Hh@4&pJL%kx6^-z35Q0!zi+)%ti9OVi6OeotXIl=s-CGiV4f>5d39g|;v zh9!wCCgu;@!+Gty5&70U_TD}PCx_T=koS{Cq5u_!mpo19Vbr;={XI3H$P9WeWzlPRe}&GH4SW_IL|XFi9wgCs>E;i@ z{9AEkG6O84B{hd5P|9Kjyp7FExsEN6fWy!i8X72NVLg|!es6<+U#&1*sIjdO_)E8D z5P>CRIEz}Nsbb?xBy2!*Ks#f#_U=ZM`UG1*W!F-kc*AQW8WSWs$o=A1GA~_#CnuLr zyWom3{L&ZKg7aoRICAY+*?)1>0T)nLc1?r9riscn;*RlGLHQjZbAD!V3)<@V;f&bx zG7YC3hgq-mC8UzjiW(*B7oe2|bL}m}S>6Sy)F8!IGy(bC%7Q?d1+}si>>)wpU`0S5 z8L9cXl1%CuJ16suotw+`KZpw70>;4rc8(1+4z3bL0Ac5{*Sat(yS}}mb=!g=4y+q% zkXU#xPpeY_>SIAT*n-Mgfa#zgbBXQ$r{2h8fL|2*-}Oe8|M5neBL2NMGVYHzviL7= zB-?OTr%lcp2tAj}p#-4k$c1Npexv7fBhrqB&Z;Y62N)%(>DTI4T=ec~clle~Ib^Y~ zcNg37q7VSvK{v)A)U)kC7qA_G-f*NoByPE({dUk-M4+0*#F_{WRI}1IiShI3n)@jl za3K=h0l#R;sTWYqk}1CQs*|>p@393fgstXbvGy9_Q9$guTyYc?HddbUiSD|15w}4O zQ&OOQIi(NIPOG|Rs@5efuF{CkyZ$ocV+i>lpX30%Dpab~$F43wckqpj8qgiMMFrSu zlqP=q_Eu$XC)%oXybI7Bq!~9_+5aU}b%R%Y2VDh?Z=Wp-9`b&)Sscmd2h4Lfs|pzr zG!gzl?oah14CkQ7>Nk9@t1Ken1>Wu(nBTqwucK!Mot4pfRbqaUxPXOEKw5026;RHy zet`g#vnU}!8{v4s9tqIrC?S8&WGWAWohoOb*T;fC3lAuLmmL_5)Au#`I4@sh{&+Eo zH}-~fUYR%?#ZW9Yhn+l%+L8!V&I-~b!S}ay`wa3OoPTn!gulScQ<^|Zz`xO3CS44# zb$H@<^V&p3w=f+SZC33If~&ae;||=ba{0Jd60Iu2n@@{Fyz5laMBS>4B00MC$co}_ zi4DRBdau^zzZa~LRJf>6TORTfSE!CGS|2yFxX8J_eDj{HdQ2@*YjNIVy&>bOhbBIu zV|Isy7UdX_M_xwJsci8&d1q5$>rK4EZ|g1hRn^`=omh`afb`{j=Ihh=HlmL26cCs_^i)Qrqux8?$-@cg!PlQ(D zkj`wtvD01O7_pn1Wu*;-Qq|PNWtY)Vd)wCPv61+f>AB4{<%JdOaE|nRkD6MC8zQ;M z`krI(K!<%PEQuRs%>u?4;H=>F=(?9<18JzmrkEL!V9a+vV|$i7%_tsqWR9>$?3i`y-ZHej>&+lf z>zfyXd=I+H(>!0WnU(!p;IX+fUswedni*pxxWAy1qL{8Ia-VWAFzSwZbz-T7CSAjg zWaJRVB&{7WDyNle-D}>f$`Epj7Zn;DW4FaKGIs|}Cl$RYQ9eh>ZG3FazL!3pd{XEBaQ=rjL8LNCiM+{B(slmui$D!){t<$ZPm_6$rQ>zNvnBGgo|KdkR5O1RuXb1}%gGLWPh3J$D!klR2hux9aO=7;eb#k+Pl1Mpn6ZoM z3b}U4?e^yJNh6ePV;UDE-4o*upmGs2{G-%#U+SQ|3HKqlTZTfaCuzkckqbxePTT)n z!(ya0fv)YE#J(zmA?xw`sJ-ImaQ5_df(B+)3lmxUgrrs&Y<|4e3D#{ESK~Knb+W_z z?RLD4dvG3oG6>FZ%N!n>qjJe-->Gbq5)YYkQpZ*RKb!hQApW-P{wpEia7rWQ?+*9B0OYR(5^*V&s9b0087S3%aPVj+g-bS2s_-4ZF9og3%&T2G^AAw#g2tM=nnNr?y@_ii%njycDZQhZU_p-QTvW+4T92pSiXk#vw35kU=|vpqql zte8!Vx{sSLR-WRKeo)vwZnge&R(Tr?$edlrp97ubDR%!6-gTpHW?>T-<^ff z4nQN!*g}&)lZ%#@^D0-$vXhyzsh%Qz%Cf4b76~~_i@JeMjgotNvKvKfhX2ti;<%qj zwB+n;65q8uzfkMN(h6%D|Cm^c zOlH9_TiV2~dD!H4Qw$m=RyW;?fv}OD^U@Kw1)(g4lG=-z95#mN8P%ErD!suo&StW> z$C59J5GE5brpiBhjhIb}xlQD2`*B}aJHp;(@IKyqiZG_vO-#`bGT!hT&~q%CL-xOz zDs>}X=q=$~9@ACGM4AaBFIKujYwJ~@2Dn+U`R`8E)%r!h8Qn2n!&)>JBDYkOfa?pH ztwa_%PmI21Y((Ws%%=8?Nq0lEBsZ!4m2e(1T}^U4ymWCbmHePax?<3JaJ*MTH+fc{ zVi{lGU+8}l*WP75H!I28U|3xNiL>Lj$NApU-|Etp3ha^qW%ohC@Nuf5{JC||41hY||0iIszac`1VLab{ENSj@#Pblg45q z&eGaKBDa?_JZVhY9rx;J)AH_?3w%%a(wM*MnT7$AN{fdv6dulLu%`=;`@IC4O4kEN zqk{yw9kq_uk7d@RO2=dNF*_|Q1rvJ@dpHSnJoGW`>20$+ha;`lqk>7!pTV9sm~RZB zt_?jcuWt+qoH&sa# zF{(uwIh?Y4?Jk)Ni-rONU|0L_(BXM^_vAEt)Ghr~DX4#1hHc@*=(}`uyO?E@Oy0_#ofjqqm)rLrpn>J9ux+NTozw zdN{R#36uWXuD^MI*~~?_Wr^U@h2Vkb)#W@L4f|ok(ve-uQuyDiYi|lYr=DV-tCoRA zVlTwidOq0wR@c5d?tU|QJ#|8I`}(o_=g3}5M;p(D(>yMquAKoBjoPdWSwr_*M+hXo zI41$BmUWf89L)lhdXqcnlec+OZ%?z+w;Ip}MtpZs-q`P#;PUNUnLz{FWB{W zJ&bjP6ze5AzG2bRtBBW4mQz>QREF)NF?lkg)QWi}#;MPC>lb;imU($?<+stT-Osbl z9BfCX>Y(?a7}{~{(_E7MM*8FzX)+k`NP!?f(6mJK+cQ_S#jh$AfE2Vay={9nOJD$M zTK@76Yo(b4nwIfE(=tDkf@T5BPR4d=+Z)m)!{%aDCv9CZaoLn*WuhqPqLi%Fnp=cz z9VtMIgm{K&(v;9;a__ge7JD0WB%|onfSSDjlIT0)paY5ZCO>DPgeb|E$>!Wt>RSEW zq&W&rW)<}z8}?CVTLoKXIadDhVjl=@s_nm)%a^tetVR72b;=|yP_Cx%6F;mL&f8ns zc~;AQ65oftP*p33CUbi;b0PgX;m3Ve@srrO>Gv38j!(qkQ8* ztppoqSJM}V(8+=~K-2P977>zYQl?wM#O!J|XJ!enQJhlo%ZT)SwbOa;{+Z}{)S!$& zYzlEKpYuyPa=r(v>x~pbytFr?Fhkfn!KaAdlH6K;ZIn#bWYCT}^b3XziLa+-q=jl* zis-X#A2J=QTNqhaMVsa<1l~k=P2z1_%H)s=UW6Dl3NIjE_XH3)9B2qd*vVdk3D0}d!( z?zru|Aa{<5ewRSX4Cy#Z5g*}-?eSh;@?DbMR?{#J<0pJb0X$|@SfU_Tq@K1hA`h!R z_n4Gj12Fa#pne$>1Jp0!b?VzBo|9p`L-}T+%~-BF1cUW7|AW%NNKi5ihbL`>7VS)R z?UhL;_h}mJ6Hvg^Q`>&GYBT#Ya$@U#(KrdUr#>!+REx1TnU=g2{!^xqwZvU~Y{~j6f zlkt8}tv*gN>m5`P)6b+Vdl;}aAKCx}FUrWTNG^C5-yvaUNo4y{k8q%pWw?}bE%g_y zK+0JEaUB)Qm|cgc9+&I^BKAmZWB!$IpdBsVCt1HQQA@N94!J-u9QW9W{(DFJI~Y#I zikk_A07M~Ud#_iW()P7xdEoMh!J&OD}sP6WF>_4)D^IWoWVPr15;XGpOi$amywp* zW^C1;!Jv+S~>@CKt0}>qFl~tV)eOqAj@e&%U-slOd41tpH&hn*oet z!Tiw(QjmPYLOeoi;CO0HjK0iTc8%&Aj+TQQ0|IDPOT0z))4eKIAs?AINH(mm?^@St zyd#YfotUL#ra2||`t1l{ZQu`mD!a~l*;jGw@P1Jq70%_pb(okjb=ei~Va<>U>dF!$dZ8(SeLdxP2NHv9!BOie2iXvQ`Lm(L&2w9Lg?oouc&qNvjdoD6Sayq@ zbvltB8ZLH2{GEgOG!;DfPhi3tU;gs|7@i;LrzpBl-!(MbT75S{9@ z2%v~L2nOd?-fWhF(umHIU;_(LF=kcVD`q*!ng+pv{B@h%YXElk0HORf!!0a>KK6lC zJ|L$R4D_|U<595~O&8A-PDafLIYm3KLVntLNO$`;Ri?=JprKr! zTZb}ru?SYkC1Muk?d8ks^mrq!+fpq$Bf_w}UQsRr)U-q@D|x!WX?>`ntKXbEDnvsG z%pCT!BSal=gedHI;W=y?JGUV7>p9dzrS%d0UeS^YSOiE36Tk#jS2tp$)(0iR_JZ8B z#8EQ|9$xtK5T#j{uz;IZmhu6-a)MA{5Hs<*I(495wcG`Wge%%Lt}=m0nC!{*ndb;* z+kvNN7#aW7>$fO`XyVr!=(-Oq?C&Z)ir4eKoGC>xF*T6lq>Gg)9~e>5jh5b(wd_b_ zXX61)^04=SDTHpWP>5qV?gWz(P=!E~r{u||YAZ zAPYH!)VUKIW}*dzI@nlC2E`lZE3H;tg0*qCn+dD9n~Uw3G@{pPn|iz zQMWg!k^MmS2iZat^Yu#+!+n``b2jM~dgxzu?OY0O2ZP46RyL4M$)tODeYt)WE@g`KplbD6VQbKv8TosK@b3S z1au*v-+jWf(x?XFt1qBwl!0r6kFy?qx6}@=IvV5R!(im=McVGy64H&Y zR)OFco^6AJB0ke|Hzr}rB2>T(LP0| z&i(p5az&SCL#@K<8Yjq5TWmq3E|k(<{JI~jx&)~{cdz_}7kNKO>_K$mRmzkV&qS5R zBqvl=>yGlKWv`_%m(cziuc=$|p?6d$;9sL&J!J4w~ z-k#*kg-aQOd?Dm-Su{8fe!(FcH^NBE>~&7T>ikyJnjhP_Un1^mhKDWl=DFtcxeP2SadW@9b@ z30l5A)o^di$4b%fihX*c|`S@Ino&KbkO=$m5cag z7j&LIwKLvpru-!7yFFH9S!nveF@=fj8)Rm!#;Y?%5Zlq~w>6|vb288#4f0r$7i*GP zUaVj0v@!-A3lP;()9QX5BBC$=o1+z-`v~JD<@1Hc0JN$V#{~ny9f2$tqz$1l_`VrZ)i0!X?|RO@QU}>$?2txpA@u;FTJ9>d+-|GziZYNjB)t?xNjE)b zO1yckx*HZL$ePkF?^E&z!3?}g{W2b%@P6S}N<_s*!aWUGYhCG+=}#O!{s#(Vedu)Y zXt#Vf)e%2~bNj90hsTW*%LL;v2)E0|n-hhdST9X}_LmS~9lUOl=~ri=TxEA&dev6g zh7bjGGu1xMb0}$9R71zD)C>3WPNz8ae&0E}5=%BVr7#ehXeu5NU$x?i=3Z8ec0ssh zrz0O5YIVbn#-N=!ARTEld+TaR(@TjqLT1)u%gIGb`o(wg1ivM+KV;F;Zv$EmrwM74 zJ86cXS(P03T;QZQ@Ya1!-;i{qr>%|N13h0pwLsT}DnkNF;^d2!c;G~dm4A<*nZD>m zuEkw#?V9B5a3b`5k7`+mi}3^cnd5oHKtEI0 zWH+P?T;3AO zQXgILEu%F%NMW8~bkL@yl8NLuRr3ZWr}vuI(y7Yp#O}{d@tShQSvY;%0QD|SgvEah zV>MWFQqD<`hP+`xCTL<#TB8@SJs}xQXpOXeXexWlr9fHJD_>7$;lQ{bY+%VuJ4Tvb zGHZ2SpI#)19_N9Zp5u$RgVwa}g9U~)kS}p^JTSO9dfzW+exSSHwB07q^J3NF1#UeE>cxLBpEKd}hPx0e*5H&xJ8Wbc-qn)024D zOqbz$yQ%f^cspsvAg!0B{iA_EvcwPtpS@qqmlnH~ljgkYVds{XA5O|^4(=UR0i4Q6 z^GxKbK(g;v)8FCi+vaHGXl<1Ch-c)CGlojoOMkK*B)UBG70CRz?kb*a7;g^>hVE~i zISv?PE;fmmmX@;jbe3AW>9&!R5H=}~24ZhOkt*s<#Kay0DoS5`f}23wCL3jw(79%Q zD&<*Z7La#t5-hIT>=^5OoL#qujUmPmR(%tAu!zDZ#zC|u)$ZlT75}0tPFhuWoi%dk zG^oGWU2)Z;1R`FyQ9q7I=Gxw8N&jWDpfWr32AR2bOk}|E$C$a%PfLPG>)s{Ej%?rV zn!B*esNAISzfK;&$*@kL?S@3wXd}4c3*VEaP>|pTmm}lb3tFGm2x^6J$VA`oG3AIo zikjkgw8Xbod}*Y85QvL(KhoE}n{z(uCLmh#kZaotQMzMRBR2L}Dt?DVK1&>K>~P<- z@F?0r^rpj;pw`(iGK>$F+@=5E4Um6!)kI3q^ZS^+LqV#GMo9PAis8A|IMKd+`FQ2G z$e3|eu`sKlVOh=gHb`rpfp!9R_;oyLJo<3bZPv|YUu5Ey9#6r_Xsb>HmoXu}9p_l>gp8F(rlVd4la!^IQ@nHgsMgO% zh@Bxl7j_9H4{^zZ!6&l&%RL8IHHYS#1%M~l(D4-ExWs#SiNeJUvx06pasTPMQ83l~ zsnpg5x~=KH@x1a9vN_WK5s1#KU-3|K<8h4Tb#f{9ZV}6oncy+F*5yeH{ zK&eVq<-}&xWchd)qul~%7>xp$dLIdpejO&n^IR_+Bf^OI)`Q|Y@cG@F7Oj>ALOUNm z=Oen;_K(V_V~OaowShqv2V*1!nwl(&0YbmwcWn0oXDO48p02LjXX|Xad<12yksn8> zWV*@Vcd|FD#fJ+OybE|Yctw;cgi6D|%B*9{>UVwq5WgZ!q5dYeK_xGq89r$K)JQd7 z%K!a!qa4?#wa1+mq3M)iF0=$m#3e>aCexna`~6iFCA}Ke;Mv^dxY0Q&4`R{|EQ&TB zjkTYr*ftRyVQ=im4|{%<;CL=U+batRr7mBIF@p;va|QTZj>h5w9Qx{QPQ7TMQIw{z z?VI8ghDg2d!ynuOyjyYQhlZ4L@6Rw%Tbx(DmJ1fS*;NXhF!LMKrrR#v z*164mknzUG!*KX9Q7qv9XcGYUEl>k^{tgfUJQx)VW2 zt;|_L-)hRX{D#9A#p7bGb0OHZu$z>W)RsBleC{_uj{;WFnw19_RF+K6xfAFF6wZ4r z4B}bnEu{`7Kdzl6KRFa3CPj<)xW!|Ym?#-4tMI7BTvqJX#}5m(s`ZB$)xMbhc>Y$z z4a=@E9Gf)m&BrPA$M`X3@xn+hZk#|E1@yk4#`SDM9VT2N^25c_y98|hFXDcml<=VvQdWnxpk9}+@G ze~Wwubp|0cARwFmxV2e8IO^ec(Tz+F^&HRPHC+6!cn)FUZ}HqDH{|%k&=EDQ(#Ows z>Z53oQnsO!e0dKZe}!`a3bjH1B%Gs3;JhLM<%TtHY45#y6BU4SBkhF8=vhvfFYLxd$N=H)RiJAI z|NUzC-CMTtAuy|U^{88N@)ge&%uaLH1kfy6Ej@f`uS;I)^3y5#`e$|RI zByw223Kohc=uHU>5u_Iw)+D3y9xGxggS7KIKQv8V1+f2IDp$;+ms75zYaoKS-}q3| z$z{P3xTA~B2;G|&&kv$9_Q|%}i;O*VA0;h*& zY~+vVMsn#~b%EMXtiktve__%WeEHe@HE0|CmHrjt!DsX(+GrISW?U%Pa|oK<*X;No zVZ412izDf)7q(`?YmdJ*Ob{w}5ukXib_PWKYM*KJnal>TZvfuTqsg@LgFFz)jbOHw zNpCOFRas=d8ltCCpeS)ME5xqQiXbCe@COw`-!sN%UounU*b8cxUQ&N`XwR$e{OWD84pe zPo@l|+($olKW(Ml4v6jC;%ILm%8=Maue*trchy|Tq_I9oZrL-^ySO>fO2;wtkDxAqVPxss%(}6l}!@|S6jjLsjd1g2s%CHox{yJ zdBEL^+l6N2d7OCQE#jRH$&UPd3MCb#Lk=D;R0(e>iWlfdI*zKHlm52E9!Lxoobmc8 zfyO3$-|G!8eZa3$P@AI{lRPJ;Ub2@(g|^_vOnlt9ApYT&a$~?Pe2+AsI6ze0V$|6@ z;GD9kqkxf~m(?;XlpZy<;KQD?+G)j-<_ir^2#iNFyGf8>g{Ui200)eu6wGJMRsm*O zrDPE8H{lM>`|biOb(w|5bLcoZtJDPyneOx8ZlWC_M4BMv7;a|2M;#J)e8i{1pJFHqu1?t*O!DV(wE6FGH2rPLcYZl8Y}!Hs zU=?j;3}pYD8f#;jKegfks9onLE<%y)@i=hQpBnbFtb|r%rnFngP+A#l3SlwJv7b4i zZSZ_XtifVXj!nQQvlC$=6RSe(+2!G@eTaL$Harkevl+=0t7MgNAxF1^<001+jaQdo zKNIa%e+k_qU})k3!rmn}^iZeDgb00xzC$w%Lm^X><~}@6CvKkmVZuOJQ`QU~Xz<$W2F5vIq=DbYc=tET$ly+5Ly2rT9i5c!L{eSNKv?=Kni*%d7gR z2Lx}r**ly|KmM0M6ZR7c!mt^;D>Mu_f#x?L(XjMSwxIl-_YncS)q!5{&|IRK^pYw^i^QRcwJ znYK`Jvvo8~){=PIlTJ$*V>zhbg*7zRncx<0qyL&fI8RXDgDo~{A{rFG%`~WA{Mgg` zEVV#D!%0qlbi#G0?&{vOz}7I)>i%nO_I7K_KzcOA4ua%rY`{CFTX^yGL=TS=pc@)=fMEqsD=PwVcB<1LDzHY(T#$%kjZnRCr(QlAfr1(j3LO;aj zviy2G*kOxby(HJ&d}Z&b)p#Pwy$a}m*Yd7A@e>YaDD)z1mo2#>T>2;??|5yO6MBx` zhiF^~j;-s(-7a?hU{!eEh{Bq87!N={iNz64(qDK8;(OR4s|UTWj;51#qnkf(F_XRY zDE}o-*2<5tGV|>cLP(kAgw*zLI$j6d8E;xK_%R^k^s_iAed(tDf zmI>=PQWtH)A_zAoiJ68K=Ou@R0!7HH(ee0%fIWyUI`stk^*K?e;Oqn%JHg`*cj4=# zsw8rEFaFf8>_uxiBeO1Fji9s@@cH))VIOdOe%bc7EQeWH1eE2#3yDOf7$xl-9QvKm z1-_)n52*RHRX`D{^hmc>Ak(lgSv}dd^7yy{6tFy753Y3!Jm<0)e$F7UaVPN{qmnQ1 z9i(dUTOOC)I(h`W`{DmP$_Y=8EQXPL+#Sd$?dW!99Fmm|fjb%>ytj=d6XFz1;*&P~ z7VI}q)8)mRhDmnkFxuhJ!n1qD{mYekw?_LNGAPM$5dksokX*iwXD*#MwmCHL!NGW* z|4?6gaD2qX6|?b)#$phg`*qQ8qO6Q`qZ?)7x_=XOkMyK_zkRv1vYhU$K`8iZV|@Q@ z6n@1Zasovvf=Si8Em3*zf?r-^?;Ok5sXM}C>pxIfR)v#Hu#$FN z16fWR3$bhK9DcRc)5S@4an*KO;5fOEHE#3|WJ*IJ4|}V{=={&|>nufA`AiNm+HeCE z(BhUT%Iv)NevA6jIigG8TvdXP8$>`ha z-%}1Igch4-7A^c$yuw?0&T^X0ZIiCI#*=eBg&OKU5v)%OXmRI!-j7FT=UA`F?6z+u zD#D2BT0U=Z%fC%8%UiZJ07M3gXWZsk_b>C}$?K(i4hleFj#u;fpD^b*!iuKnbNSaJ zx0jDxO7KrvowlTtQ6~zViw>>a?A9>PxlMiWlg;@giV>F-D>wGoA3h6PA zX7&YQ6dE$BAX^UyMvpf95kWf1F-{(+w@bpUIY_D7A9fI3$KCl|$y>^glajl+rudl} zo>+T|yq=Eu9w&2JymW_5w8#nGZ;Qn4T7IOa67=qz@^u&`?-=%o znfS&8Qr!aesoth`1is8FJiJ)kipVm3U{wpV4n}HS;oW$H+k4Ru8Z4&}ic!et6{7(YZTGHUsS6+x< z5Tdg`u=O9q>Kd2e-VLngT=?a(1=ib+eq zmbta7Xx6hV*WEQ3jx%L_XXNd;=noC&{;j_(YK>ZN_ak}!!`JV%^W>swU&j#3n7{zz z0EY%Jp+&U#zG3C7NgKH9bAVQ;Kk9%85f&B~)qd26Ux96`3-p%&?Lg(`x%4Z1FTbzU zqD|rvFfVl6$=QB)r6O!-e7M#HQ(&}X0{=dY;poo%;7hNZhip9hXkyQJ;=!o|Ih|N7 zmnDz{t{~Xvbmc+~KF^9*`o0??x(WmE-F_{6{Yy_t^hN!}0GmBC??c9ih1=LjfLhlp z*2$lEFa)C3(KFVY-(i)FyE=ufe081w<&IKyJ9MgY2lS+1=)3i4R&P*KIv;Mbk?skk zNmQg|4cg_Fw-8wr8-rdnEQKu*LiT6HxYR6EJh2y?FT5^TXe9)k|Ck)Ef_~XM zkw4fvsN=DeN*f^Lqj6oj$6p$RBA|Dg?z@GEITp;cl}Z`|69QbfaFuSPf|@h1^fkP) z89!9&AaD5D7g^s?aH>ALZgGSSZdpVzVf<|lk|N)Kf3@X@R9X3HpBMbC=SxnC{aK;d z4f`)fS&D#e0M$uzvRVG)zLg)J@4Bn%gxV{xm?Jm5AYo;g_p7#}xV^9%LCF$LklwRK z?1~$?Yz8UP-gp5zws@VJz6V#(vm@%f2H5|mCKaxT^P#$_)$YhT@)Bv)Dp4vdUbAgA z_F$g~e3ou~l7k!R^>&v9?+an>xuHIWQ5#NIl+B?}`i)R*rJ56$?9AmhL!?yR?dMowsLhG}#XA(Q~kHd+aw9QYzL zJgS&hfdEG6IXT-FMJs&dtBXKg4~79uX!#4-t>TxZ#&k&Tz~(&AFG3NRn-Kn5&qCl6 z0_xkJ1aP#h-}$Ypc)&DDQ_h*i;Z?b4ATz(86+zl_6F`KVlqm((`x1lZvvGSkRK6QT zAouMMD?_ONDaS)(lOBATELiFySo&Kr&OQc{yu#!6TzFsyEu=JzECsj=-tWoYD%WhQ zL4Md)u1Tm*(J?r_!`W%o*CvVwdSN|t__m}dAnAaQEJe?=bfCY1=<-SuXN_Loz}Mf2 zoEz?cxo;odNRK2!`m@ESwxsS_y#5{pwPZ2TvgEDzBKWJ1k7}n`$R#4+yZtR4_wT|iH0s_h2Kgf>*T7?&HCn~FlE&X45K~_^6h&HhS`WZ0*P%NA zJHTo40{QSl3i*U19(d3ikuB}cT&UmbhDy-Fss*<{Hdr#*jU1TK%i`o^$OZZkY8T zX+&kjR}3>j;3e6XWf-po)VLfVf45w~OBV7ofR+o@(u9<(cfbMEQ7lSvvp2{(0BTD; z%Ww0a<+tP@`K_7x$L=f9K9F?)kl(%rSqD^d{6O;CaVwx_v!;iH-EQNH+Vf*)A@6f0 zC3fYkd}Fc=cngPL2_?1-71(C*aY}27Fb8Ya+WuT-dg7GTR_Or=edgLLcAh*)c|xzF zRQ}KVkbkrTj(~RH?(ek&tNS@Je50A+!0+O3c=WARn_o&GkU66=t(ek%^7?JN)R755V;&vC4yJI$quYq2VV#J4rq?Vhd};Hhd{8=T+l z#bUFw4>@7WYu=*$liPd;yaVK*mnEdl|9A%$2mPadc;{Jk+M~oQd}LcK4jlMg^x9?w zBpxVuL+J?kZwJSeifYEMS3&;UsuxJ?dGqwyXP4s3&4# z_kW$3=MX#j7BY&Vq8&L0@80(tr-QA2#OV}C>d01WLDK^@`{04r%HF=91zgEY=mP9` zJh`0}#lE-f8#r{~nsAi6rC>NQ1?F^A8YDo0^#%U1zgTVus*<`yDCBaDwm0Q-QARS2 zl>pAxRe)8RVQ%bhV|p(uT&9Uixo`DI-{r|Z(sy+-Ao?zU{w=#Vd6dVrM+mb-&R1Rn zJ(Wx-E)&m=g9@}Yd1xQd_5gqb0u#6Z4)}WlcV)7x4+7B|8Ju1pv^vmiEAn=d7ry4x zwY>0{@Vhq*Eo~rBOA!QWK~j6BL_PzJ4+vpCZs0~fb2b{L&;h&37ki-u)LgrgfSN0p z84D(@*m)5??k@=O122OR0G{8^f7u0HPBbWy5WyeK@Y1ND=d`^j46%)=u_~lb$-$wF zUEbRvM3Q31r!QojMa?{Je=cm|kcChCEds?*5zugr0X1C7|1?}-|Fz-z@^8Zx_TL(= zMnJ>W>^rhuLiuATBMgzvqeJ}@XT113o;11$hFD4R?SUR!tu3a-<$_{*sPhQ0I{%A7$FstFJfIP;t zpGa0Py$T9qa3o+MXgVbzQGF|VGd5|Da^^E1R^VGot9f7U(D!=BWjYPSQ@vYr=|53b z(XK7cY2f@{{MySlLc#Pks5;ty%4YJMb%k?^CP@d(TrAq6%S<$?SpD_-h)fzwg~!*y z12VNr)qa{0VQ8EW9q)zrk!gKD>-8WsWXHA|Yt$AwKo&eVGQ_V;lxJYgJ-**WTcPb6 zGuJhmXLMn6H0&Iy6U zY>%O@J1?^5Cl2m9V`w)ThV(LJxCpQsJ5=>$N@KTT`nWPnD;p`l`mCOE+`-Q+--;hD za!Td&XwKnT6k_o80>SO5B`BFO{h?*`3x{_*PT=$&KCf;AgCUphjNIBx_GqRcFVbdq z!i-IkNl`GJh4-4zOB4OX?S7NS>6R#Hi}I_QMYjk|?F|#KPdQi*v{D<-e@5AkG8kMK zg*nGKAO~PvkG9s7@U>&#nY!udBFf1W_80 z#bAg3p-$q+CY;z5Rq?WjTGXoEXY<7T(-Sj@c=rZMSw8DGbRx;7v)&H>-`B+ABwq|7 zor#{|m^mu7mG__8T(n+dFsh-CeI5-sk@HPlvb;{U|S)5qq<`ZcEQ z%HqgP32BfUl61Rs=;nK>9i2MQv2jq>&%vi4nei#|dQDrlKwjQu&puzTV(x&ecxz-S zoh$iH@~&jbmI0>j?vXb6C!^TDxL>d2c*|~gPw_FF0^%K&X86VbP!Fr|@;U2DNAxC* zV95vCVOFW^o3v+m$YSTJ3F#D(Y4$!o>>Pn=TtW~Sj(>5JEvQ@%#i`CXkI%FhxmEm+-LML9zeIUAw6)?NDTjGE zeq%q_{fRmG%eTb8Eq?#_S%X<=Qkic*p!?Sw2HIQI;7TiEs0GpSsiBR9SY_3!I2j$~ z&!ysuvXMJUn_2zf&}Zx$n=LKO9r+&`CJco#pJ8k%++A5)gkz83<~XTo5`G#O+dcRS zQt%HgDo=~kx@FZLDUP|TtWm%5|1Jhbjr9tRmYyg7vmlHAB#2=xUu!!k2@ z^Lsv32os*v#1z8WCTgM;lCL^F<`djpWW5;hc^ChZPdKkU2#X z*6@KnsZjB|?|_F}+W1NPr2n=T+f{7%^Bf8e#0e&CRO)?nUn68yt2>n~rIMvm!JkNw z21ec1>nu?hCm}IV#DfH?DWnQ8y<<%Yw`XlLp=PerD}ik=L*fZNnImq_HjWo#9W#gy z`eX_M38&=|$9o6*c#aagi{hy%1 z67AR0{Tc^b9o*}x1eBFz|Co{5fww8v6;KRgFIlIAlZJCKxqLy3B(jKPSk8JKyd^qiG?Ah4hzw&@F+)jX}NbAX4j80N(JN_0r~@{-;2ss;B_#567D z*|Kvr;ptBJ{y&L@0p;}Su_dy@%g9FM*UG<27m6{9+m6rk-pvihKu(Q>la?6*5-=D7 zl_j~d1N$gFgg(WO(qOF$ZI$SB=4q|`GCD@@Hz7WdWg$Or+31t`nZYu1_uOBmrrFCg zI$f?18Jh$4e`$IVoK37&eeo&(`duh7_Tqn_NNj6g$H5ixrGzle(ZJ9q+ZOOIU95#n z!IuANcv%`?1S2-5aiV7^r+)T?D5(m>{+Pqv+I`5!gmjI2oGRj82=eT=7)TflkbW>B zX-ZHLPUDKr7KNtOyDw+{ZpVR^?rtbNl_j3qf1jPITJOjf{q+e|dDbHzFgjMEK91l* z^ELru?z-KH87ujhP}+erGb4hC$O_>yLI3GmGaM!BYfPmom%zzww))PaEtJ}eD5>@<%*PzOi7YWvqXAiX&XR3-|jVMN+00sdc#bnd7;VG z=qz(Hyx0(zGHFN(^X}?G)6vQyLT%LTs>%5i2h$EK{+dz3ih-A?WCC@MjJ@r>zi1-< zm*NNql5mzv&ffY{Jy2dH$uJTfraq%@Yj%Ubcj!ay%`0;kpSw#^f760kY z{1+Bo3$ld0LzrTlR>E?8Qfxfdt?!wV`fUDCBq_6#`oVu7l5g$lnZset=OmmfOMncrLG3Q9j5ZkY~m&U<5Z%=0m>UNCmP7u z@^{;;Q2uqUD=$gC<`LtASm9AJbzfJ!1CT!??&Ltj;4bUW208KKA4@Pmv zm8tA*K;8E}C}ATH8W>94?UO+Qh7x6fp+w4u#2KUymwj(^p$stL{U%)5w7s7b7E()! z3rTyXKi|tX#5e?R-O5Sx$WI*=I493kgW_JTKw!slO6K8ZTITzR5fo*Ciq!uaEd}n0c(g4ro?0x_mu(=RgFAO zB@*ytYlNT+IOd1-5D<8U>`Wb~f6ZtFj~}c-#JR!I$+(k_=)Wa+X-E?)Z=*{?;0!Ed z?K-P~U0ng%uV8B$L;OeWR|-)2K;Z6hFF!MNgu=bmna6WTeCB-N5Sp$Lk-i?b56%ztLKFrI1W%SThV2O2E1TJERS=E(T{V9 zV%C~9n!|pjqVV!)E=HMvC}6e}d-}<%B)>p^2l6WIM4NiRvMQ74XFH2eAZX|7kI4ak zE^gb(mT20A^Mx)hHkw>~0Y$9{tRg<4|SU!}l$kGRmBU0Lc z7dgewN7p@*;}td)TKHx}Y;q3CgeFi64oncbRtY8sS3$?r=7TzH&18jAV#0>a?B+k&sf@5jD%p*i_(?^ z<_0ij2f3ZinQxkHbDZWsz=8J#`?Q6Al8xAuZyCr>daVNI$Zw*CnC{JHTSeW~*NR8f z_o1}eYtD7g|M*7=^ufgjr^miRgY~Syqm7o{Q9fF`;6F2dl z1nQIWv%UUlb*O^Pdxvme>&V7!!t{Av809|#x0*+R+a&Xd2=b7Kl)g{14!(TG8ab=+ z!t0y}ayIpa>9ZO^q$x$bW3sKBFd(G-9Z=*OykG$W3c)KsF=s)lq`$>4ZDjLSQ1J@_ z1wE$3d|>jJ7jMv_R5KhcUj0w;vGS?-Sopj6cuXdp`>Gw?dfcBIlJYsz9yuM1AvUFH zcH!$T<`2qL`i}xSB9MTtjSfMu-Mtg8nq8IHJSFgT3D;w@>uEKyIkBfpGftNrSWU!x zj08PEYA}0Dh)j5}IY>}SQ6liIBolsF$x{_@b*Z@sf;wLu7m>g{$GM&qhdjHx?O~Fy zh9tsPtbyOO)w~(mW8YbXtS0c3)w|1Ui6oKO23x-#Jg&4+UhM6QIBy~Ew~AC0U{JQr zm|24pjc{Qpn{|1@NoGJei6nrNi0S;sNhJRjCqdEti<7wjSDZu#z)9ArKCOmWO%{#> z&IbA~N9OE9CjB@!%Ce&f%nBr#7Q4SFPg4F7RC8lmIKtPcA9=G38BnBbFJNT74V!I^ z(IH*9V4iG%C7p&YZ-M#gQoaK;>QT6s{AQ!#BGDyxooV zui8WxMr+8EE-=W{?w4{t2Ojx}J^MJH9HK_E3Xh+t5&A4mXn-22&D>%ZIvfu3S%ndD z2C2CEWa^C-id!mAE~|#}mOTR%_~HB2I8-8X7~zXuI5?Dx-&zaMu6>f?k}3aU;JQ~n zR~fkgTfQN{szhvXYNF!->TMWd}P`ni%?eh!ZV<$^?o*{AUBaK z*Hz>oy$W^5hlFl%sh%)F*8ywL*aSPfm~V@edX(|>hpN;7`|Uu@2PrTC5Q^jG}((dS$=_zt?Zk1R*COi$Cb<5T&y5{fcEUEq`@5 z9<>N*Bu-sdGm}(vIxNsVG$!gvRQbrTAeo>UVkUNs)E7)_cXy`lm=4h`4>xMXK{%!# zud*04V$>vE?3LQ>j~Wi=FY3uP?fO178eXW0sjLvqoMcSm!m2EE;7(RAbkhwbOnv*Z z@MzX5RMfMys7E!a?M78NEj0M(ikchGaC6w}{cd6r)ojf_RFawf)xeLjIqZ#E*J5z= zOK0W=7cdNEd~gJZZ^);z}ed#)bTUy*s{lKwe^&5iLFaJ1G< zL7!^Mk-$biF8oMRsY!YkLqIcGeK|ks^4d(QPmOy&zIH;W@i~6i3B%ZeLNLbZ1;PwR z%F>-Dt#*?>t*;n12M8Mjcjwk8P8`O*dLmx?i=ysTX0fu=*Lf;&)|y7niR(92 zJNRQr4;Hgo*s5i&6oHTwh}5jJc0b&X>)w2J2%q>^nlXPYUhP6%@34Kk%QJYfEhovA z7dq!M6?rl7>T;(kJ+92m`A7|dLwnEh2)3H#DyoKii&6@{jj&=9DsMDb z&CJ+cnAFZs+!H3EB{W!_+$t~SY%rWn0ado@b)I5BvG#dbY*e-wC&I~bwhWBCv{bdz|!MJg0v?eozs zp+5i(j$(@p4>*2ntTKv95;9A^ZT+OXfdyI{fNn_Qa|?xXxe$WGyfLv0VOFs$8N)vF zNay;obmVw&C{a9j^IIsDE%YdqO8FlWLwhD{Kqw`v$bY!JqpcSlVo0O+V0YR-a$ zQspv_La7~cT|g+sEd3ut!||wc)V*TOTN{jV6*M#p$0?E#2p9u;Tv%XhK$lcluP<)T z4;dZhwPk+)(F7w6JE~`&>Ued}y2^KB)v79~?-o=YJO(r9X-;vW3`jV`H<9ts(0i|n zThCJl2@%kSAChcDaT1vSg&rvKGfgf86Pry*H+aCOW4reyF+aXT^S`E~k{v7PFDh}YAl^|MF`@eIYhU>d zV@N-+FcU&76y9En(Vk|4l!o2 z2X3iO@L37~qgwxaFbeNO4W2vmrg0arEihY3=z{%JA^Q*n)#ez_QyoY&i7Eos;$F`Q z_lsQAH}OPXy3NB@@=8hap754R7sa7KI2b~jK*TRqUDO53f)(+RS|BYaaPVY z`udJldkZ0mc$HGU+aIk$2?wTLb%0?1xt`xl!&?YVs>eUPf{ z`hzn)rP<~qPM^Hq4&En}mt!z7s+PP*_>b{oDj=*JE~8l z+>nxV6Vu_WEF8hoARrat$D`IQ`tqN#7tqOeYS@J>*_+^8y$$Q=T3mY4L-0x@PReT!~AaBJB?tAGIDM`>@&!bzF;f$O`2d7krdIp1QC8 zvfya+!{DUAm+}VgeRdf4IT`T%z-Me_6w8HJtKfN7oQN!z74<5<1T-xFAE8kOE@2*u zX;?UD@*FZ2QqA>|=>f1sK7u3@`H`-eF#cooSLXXJC}i@MrYD!V0+zGs;g|_JIg%@CvB9O*m z6gtY%D+zM}W(E8mIw9lcy*abK*znV%fw_l-0LXAG;x$oQlqbNepvAVC;Q z{Gdw}p?1wp)EkBx6%d+bPS?yug7V6=(@LC@Yo*RpR0%;%^Sam;5ByPx4h0gTf0Y@j zmJL97Q;7S+{kPD4!sJot9%Z^ioYUN9<6+wi4Kn@*(7VVme52Bq!!{NeQ(1Ds8Apxy z6_!CqpS$9ip;en@1EcA%hoJKO(a=6o`e;XaBNxpaiZ7ivU5QoZUJ4 z=^HHMeivhoG^zSj2UjNdo2ii>vl#ZH(Y-1)b#)z= z@sbOc81HRTv_hziw|AoxP(iofkyO>-``3Y^Vw>u;@gFn;L{yzGh=?+mX|+tM7uB6;9@g zxNugD^Ib3u^#*Kfm|urd6llpofbC^rdHPd8g$jIjfBXFFfyg`P=P^D6b4iBq%2>~h zee1dq%0HCM>oeXmYS9^lpv~9s`j1qm_>Ny}d{CU$(z~&&r`+c%gGYrEt~sbqdff!) zIBcqhIPT5HTusfl-iqhb_rd!k*Cl06twrpPH0TAtTc76i$yZ1O8OhK}27?fEn+*?> zNgVk3b^_mj>^1qDBC31Ooq|IoUD< zOP~}I{ahXl6pzP6KgQ!;p;ztMCKFsNJ73##LKi!NH&) zRw#Xeeo;$=V^m=-lW$G}7}XZYl?zr{We$;(xuXQRjJfy{Nu`?!zm*qBdZtvhtlG{7 zSQLP_O?Z4^9r0fgI_j-O@PEvU{_ioJ}RX;5k4;4 zaViwi<#~>6D{WUfjKGDA-!?+T8ZQrAXdJ*xtKK`Sd? zZj^PKj$Q^jE{A|cBhd?Yz0b*Bb77N*9FKq$JSb*V1jUR7e_}?he`&3uX#b5F{eQ=d zy~1sLs^=y0i_A`PK(-dIKRhGe-0<=a7@goWzhR6;LM+-!`f4a`)n<(hC^XSadc3dH#DkMu+yjy zaT%v@dcbd=VpMx88vSe1-m8(}ut>n(4-Se9DM$f(KU&)sB3b=GKdQ5n74W^U*uA%Y zi6P>?(ytXq+*Bb=OJ`!`2fE&vp83mU)y5j<e)MoE3!xfR{~L`aqieCq*l zc_xpJC)2@Czf6BDCa9s6-l%ias_IoI3;rnZ?V2i-sOVSr-4$W;X9y@VEV`a_KyVRt zEFN-@jRAvRqC7dOs?{iWlbo3%9TUMao!nC*l-0}@k2CpZgeTgEHA;wJmfa&#u6k2@G1!v2`JG!CS{%Vz1SmlB&W^9htJO!;Ze8;!u zpGRUMmF8Wnqyf$Pi4inroGTk<+&i+ITcWP`z7I_9ao$5EB8t5Bdwa@-QUsM_hd5!1 ziw6VQPC3bq&dacQ1A|}}Hsike>5dw#mu0L13i&7wWJ+xdZ8UR%!!oWVMAZ?042!sj=6B z{+OF^JcaRC1G}(_BKq|MI^1TdKm7c_P8G0H8_@CJ>4^Me;XdB{hpu|EaP!bn;@~=x zj64i2&QVndr(Zv~B;+p}8vO`gs3P?b-xsCGYnm(jn0sKYw_lU5E2><1&2%BLQ-_%;oZgFlH1KW{-RCx0&c|*Ko(@bf-9yQYScAzF~poIHyrOoalc@p zA`Jf~*ttkasJTVe@ndN?r=(g-l(OAf)*a0W>{sFwNqNpy| z!)Pb{Yk%tTrZ!-cIL*gaD%3n&+euIno{DC)3d7G65|t8k=95!jA}Wq*^q<)CVu@b| zEv#d3pH!3gn$7hwnmlkH(qu~zWhEuo0Ch7!^lc;eP9|>Y^3fe6VZ!BT)=LO`I-@yY z)BXw$IjF{D^HOoi|82)|)$6?*>vfm!=BkxdGI17kyul}RR^EpOi;Ju!d`D7dhX;ix z_L!U1iupMgo`5{)6|_p+p${fkIT&GLFh)mJvQ-UI1I;r9p&li?1psEgM-KF#Wk zNv4qi_MmaqOgW+`6iqNiz#b&MD9$Q(;O4KF&)$1cHR_gSecCS@^cu7Dl7^&1iW=M? zXYft@an!)gAw+(DD9aTmKIm6PNvq$E3(=^-i0yaxR zmNZJxEzovkBDLi_PPWB-IU3pTSF)#Aa5$se%SovSxz5_+)7S9DLhZUg_w`AxCg9+U zE}HU{JG9Tn#LQVJQf1C=+qOGduYfqObRvqh>m5R6UN#++ZBmLi?R36&Ii7&n`^Set z$Xm0A(4;*Z<$jg!7GfkfYsaMBS#v~16im}CF#pp$Kk>2^?e+U z4eMt*264g7iJt<@a2I{?(*%SKzgxrP(hd!35wy1e&9v~ECij|$r)HWUY6Id^Cc}Dr zf0G2JJNHA{^Sj5SwQgjHYkars8`8UUa~WxY$4JIK@Kgb%ryk9TKwlwT9u&zumsc4F zA{m;Jg3L9@6tn<8EJg_$P%UkY=~;hXAd$!N$%bL~XyU$W>OQfudTZ*&wvG|2NLfjH zEBOWHIM)`?OB-%^&Z98`e2NXe&>ag18ZS20- zhn5n`7|O|s)Dfx41v+U3 z+MrIFV&;B_hx2vb#mFPzm1mE9H+XaAAGhosI+GPZtTQwGH* zgoPwI+`#Bo&^e>=Gnomd3|>oo_#H{r`8N*JrvlmosDKt4^@_`0VjhHZo!6K!1s9J# zhAvw*+jk1DND}Up1_xEw+jr3RMwca0w!peH%)e_ZxXKYt3pAI)M6Vzu*9Y@xb*EcI zQpstE@@0WC7r+YiQS>P2a{_ml#<#JMfFJ*Yblp55UAsegNL#0|MdA65e&c$fg{7yU z$VCc>T-2R2X0Wg|UPkiq?C7W-n<*>5sK1AJb-%Zrr3Yj#fES4C^;cwiFpVpmC@#9m zUK%B8l+t{jS|mdAABzT%mR4WLmMS|t*+E2?DWm3H)DH_V-xzuwYvH<3&MifH??%pI$BXg-?!x30Iw35Mim{0*Q4&$GSaRpV;ssLvI$J6H@fU;68N!oul7(E=6eY(%E9)0&#-Tb6(g=9usqEK-s;L^%S?rea?*7 zr4wv|=K%p-Aq_*}d3cY;?r!&@Y~%4XoXy_LJRG2j*3zR(Hcm`7udzr$IBQ21woMN^ zw$nwbxT8)9_BCXP(>`{npX`MJ*z*MwZoPfEvEe)yFnX&=)-7qrmysR5j!7J42+h{4 zO#zD;ywd1~=nc#e?x7;_F&$-TDHqSCcOAwclySj0`F!2<-*R#Kg|vRG>pfBWFEfsb zpczLmD%5)7@7G+9IG2?!&7-f|3h;Ha-)9xuy;TXC^?mH21psl&OLD}7Ot&$H>27wg zxlqj{3wL5WeYai=~^@-WhO?5tr}ND$0L+IQlR5H1_Ai&)Y2OnynvK_&+TbN#V(`}LcF zRu(mM4i&IsKrOV%XMe&LABqn(FJZmyNz58keVyUB)rPzTaM1INOT2}V9A5rup;6BR zEwp$VUwAXZ-z$q!zgHH6-|54{!Tw!YeCnS)MJ`3$Nb7*CyIs*VUZW|>3pE%WBBM?pWO>?kX72QLwy4>6aBx4YbFgrL@EXB`g3>V+{=Tf{+anT z5>^4K9K=_fv7namKbmfJr?GB#0N>J{8w&z#-2la9SE7Lq6^)IJ$T27{!q5fFQ2a~N zn(FM^tUJz^KsH-jg04PIq;Q?s(&l!Prt^*~6<}Tw9GF*hvOeSt>F#(+SyKO6x|LT= z5twMcSMJg||L8}%> z(oMhPZlg8UCE}=TR6CTNkp4x|xFrn_rdePh0K{+=YFNChA0lDTL>K#eA5=aA?gJUi z8WuW`u_Q#Vuogvw%4g^oN&<`{`W8UOk`4SLn4*~$tgMpTB|ka3hb6LM(c~d4CuIy@ zj?+_`R;RxvVg68rPP>{b8bt9Tm~qnI;%QrPb+T*kv3vFuvHVta+Y#gY8N}rhtrN5E zSNL>Hcz6XH$pZveCH&U|53fR<$7w|>aG-ittn-+#0JlJf?n0g6B~hq&P{I=83`$t) zgY*Q5W@0oF4hPCAf=0u6${PP6xCYjY_G;>*A-`F5llDt+i zGTxW!@Yf4+#?we93dr(RlqX7!-!+B^k=5#1Q_-!pL(7!FBVLzdouufof-6?`%4B#O zR_9kQpT$Re$=sEKD?cf`(DQCceQ#ppSrZh!ubW{_ zCkVz;O;3BKoGr;05{b?yk6w%9ji-{cBGZRMG-AnQv8og3lqnRT#qyM!V!0X1E3plnjnpW0L*mx6($)5$<;~hjua#V<&^|qe! zN<~%MV<%Sj)7Oo2V=<+7*Rog@V#N>i92^|fGfXYCJ$?ye6!gZIUO0@mW65SaL-7$~ z+P@soZ%m}$m(`l7vt`Qz5KPLm2bZx9@Z3~ z!f^%7AMKjT|5I&1aeCy$M&t2GPQgi}b`nPTw>0Ny6~~|w0$)EFGX8@=yv(Vv0ajtX zcJNFq>N-q2kDSqw$kP z*O1BzL@XAGopzDZnit!kL({?h4O=?r;Z3W98cH=AmE|1ActGKm$CKqw{#8?@ba{J7nAH@BXhe(C05w}0G9n+C|B$0I)WV#BBNz8d6Z(nh;H zCPuT*6M7)33zApTUq9`;qRJ^uj{0f$i3dzI|nFVZmQd2pq9-m)SiPVq^0 zEQt?4H(U3=oMPndmW@VgUQ$eaYvG~P?RT0 zAx32un&gd% zlQdPZdeNI-+ki#rGsq&;(MREM9As--A&pG%FR2b9DAl1=E2tU|99R`%Rhl@SyQF+J z6zQBa(~4Y7bIHD$(Z9?41_3DQeQGRo3Q>luh&L){;p4wWrRZ)dT6G{ojXt8SGq9^S zWrTZ;6pri+{Bo=eJ)PC@Lluf8OJ)VxO z=+N`g{Os1NrN9CUk%d=b#eUs!FLnkQ{j|u|$o=vN%L}59pGsM z=9f6&w|FC*_IYRL15!n1@9 zJ(@eNDg8k>&C3c(fk&;-vkapqA^N&tcO5DcDlm)5OVz;tklw)Ng3_Dg`M>E+Kh#Tg z4YV8h-IP;6`n;|FEUlQRj_%{&YV>=X&I-@hBJtoJUa3Ah56%h+O87SXB8&TVZJ_ADu#FYFN0<9u`1BuR*{QLjJN30h9I( zP1%h^k%WbqbHxTSt-pRS#pCRnhXKp=d4B{7f(D`#?r;LyH}7{$ z+0Se)r?!NEQV67ycGsrl-7%5}37-4W$y;pM$?`)wv%MqrS(3@6KTC}{y&%=Wzcb9P{G4QY@E`wAY^&U^m})Xv*X zBc2}z+Id-NpmtuNO7##_~^ zXb&V5`uPhL5DKNoC%vHj3hKH-hf}mfsA~y^Y2FJ%?=)r{=!PO^b z=6SJEo!isu8fjz9yTZ(8vBq0#{Iqqd0btiWauJ?C!A4Mbv&@(|Any3*q`-fuSoTAcMVWIJ2SWB zfry!Su~xq>l?b>h`axFTzePNFL;A*I3Ewi$H}Xqc8j1yF9=cARz}gy!lfm(O7 zPUg|@%%r$j^qIeZFgoS*HA>~=O`bOavL%c0$CD34y`745j3%fwNI{?`9${D!^&Mzz z&G_>U5-_$l3}~JKhY;2V>>s}~yL#f zRL+dOz*mO;v&%W^chYSl?vGn*kDQDVz{&Wv*P4!WEu88I$RJ&X1$`j^DTIu_ffPbA zAq=IJ%8P!3*V!VHHEs2BJQYWhgd--evc^IsDn>zDYq-hoKR+aYmqHl@gQ%PH5}hy3 zN|m_*Gu|w47|cB*APq!1XLZxY{<>rDiq;?ym_s>E>1YG<96z3(I#7p~>j1oD;xy|; z4Kvu+L*GpgJ1`zT4NMiC>%uR@o}4h%%0E$po&-WIrDD^}jYc4UP%8SVADtdL_zG&d z72Vd}^W`znYCXGE})sUk~`8(ObmTXj6eFIKa`9|AcD2H zvN6)vKpQE%cM9)}vTeX%ag&+FyVl;wJ0Dd5CA=We${JmkmN9(D=eQDylPMETz#jAh zum@>?>_Gq|6Iw=@+(q`=9`yCxC0foK1j!JH`}a%~)J}fwzSX@LwMCWPOv<$AVYz_R z1Tw0p4&LL)TB^98-N`1l>G4y16-*AZr|JU)&=U-3QVi+pTyx- zF{leB;6QFNC*oMmGA!@WS(5Sr&fX*}$z56>tZ0~%oc5`Sw@iM<`Fs{8w#sz!N)K}dOKC--LUYeXCxNFJovwrW^4SI8$l{=~?Pt9OcQJ^Q_}W(Q(q z!V*9mYf>))fHoR!bV|)(%A7=7jQo9mVizatgug{c3UU`SO$j;Fq+sbApn_*tfKXs?0*gS-L+p@b))f6=f-}%YxKFb`A`|mYUpa zAazjO_-{hy&%#= ze%IhBG+)S}lsWiiu1)9AAQBZ73*-&T6+rln$NZjGb2rYn0UCzg(T+>^n+giZfX(M2 zrG?po7fhaE;I*&{jlD1yEDkbQ6+qxHDqZ=x7BpdPRbYOa zNBw1r8z~pJTcZM?W1s;#2DGk*2`3D!tEmModE-^Ed;_;B<=aAB_f!5|zN^#Y8VGI^ z&Yo>~cR2YC6&w>}4FVn|0FJ@I?r%24OVHN&3&#NCYEKWy%F_d4lNL{&7@su^-=c%B zm=QtDT4f49ZV-Vd&p_`opV3tredFBAWJuJ3PPyw2mM~rbVq?az(B)ches8P&zTZu_ z>;<|HfkI!TVKFe-Vt_fgX4peSL9g*A#ssQ&K#aNjC&s*fl_w3W35RQwC+_~o8Pv9F z%MxIb2EGQGR@-f_2_N9@%V>RqZ%!>okZ4%1%^lD@yhSMrv-n7_CkLZ(&RAXh*?o*;blAXt3$S}i;h zbD+$D77s07{9TW)gHe6n`*3^u6N9U1BVc0<=Z6?U^+EzlNT6)tabKm~+i>YJDIrRh zuE9Q$s^*g)lhf1Lzfgx>U$ZW<3t)@jR`&BdGE~mO;1qU}AlLG8Wk}dVF#kx=3a__B zj#jlU@8w_ds~@J&RHQn2pC1_*iaV5E);s30&$A8@r#iGr*y7hO|C2J+jt8nnL4yeVL4obc`^QRxkeeN>PK z_HBLUnec2Jb%^_?uYX#jqqN*#7yFKJxG_^_C+meTec2$4zwti4+S0i=>1e~=rb?gD z#&xOh?xIfWzs8{5A_8yaiK2e*0#VmLYDF(H8!wN38H!OOZ zpgNoRc~+&bj>FD7;*8?crAx7ZldtYf+}y&Hf^pgN!6Sl0wPK~uzgh+2Dm$Ij)S{Ny zLiAtGR#7C-F@G<0R$iPuJTzB!))NZJKs&l!CNbEW>pcJ1ca{XFx!ahelMl?)t7cD4 z&BrcIjGgp;XnM*#G+*-Dz`fKWe)Bg>+Omc8EBug5_z(pYM1YF|#&nQFT`?x{Y?WxftM9IW9Xw??rn;U3PtN zg-J7#0TG<+a!!3Sm84frNPhQraZ3D(L?TS)nv(ohfIdH(vcJe3dW`7p`}Yl+YF;!H z6+4)TqI%OuPG@#*jOtAluS?X*X!h-XsK(qv+_Vj<51%qO+;J6OMol^RLFD))_P-ER z&E(;J9KKRDtw9PD?viQ>T{k;3i%1SxeArkh?GkGBySK04=7xP;ydQ)v!HD7QC&S$N z9?f2oXi>l#a|1aa<0r6FU*UD?p%hsyAWfN;V_Z7PnmZU#wm%fWy>~(EG(TGLgs;%y zor<=rq3o5zoO&om=lx&oy=7EYjiR$?|I+X)%cyuP{M?_e+50CVC@l> zyjVcdVn)AGc?(z9oh%x0C2hY9n6K{Z;U+a>6pY*#A7(|oRnS{alpz!Y1|cj{C|s1x z49oseizaR%vcX@C7$(`SR?QO3f%eLHg4HW%puM6ha?UJfiZ`8kp3ioErsUKJf2>|i zq}4!S_4(AtfqrS4a02UIf_o|#V z4D=NMRUJ#3^>YlcE4uq6SMa^6A?2aHa%tpL=*wJ$p(==XUSQV;^3+4GM$C%T<^rDj z1PYPc1@Vb6=B8_IGR6i4e+^^{zQ?3vpyt0P9jrZSl1Hn7L*BE6C&5|rg25jBi$@9T zCMaii%!~J^LrPT_XR&=AIq#1LFg`jul>r47{kQZGzY8n{cC=qiOG=;$P&qC5hKC|LEyY?Z&tPr0VI)? zs$_E1N_+1d2uU<@xKgPmSv9g3=rGl4^vUWe%$(s*I9 zZ2nhQ1tFz<5M;V~7!dKTl^3D^MiOnG!#askIS(<$vgQL73Q)6{-40-L!GB z;*%HhQ=C9Z@#VWG%XbFIe6=ghl+q`hV1o|SjQ2l(ULUwX#6J#*)W)LUa9(`_zxGQz zS!+8O4GYplW^cx;dp~#i<$zNymP84G|A{Bq=xGw^+$ZJ3$+99+U1)+q>?RYCdtS7F zO5KK&+*8#qLKs=2S!3-@ebhX?=Zr7hYxc^QO{Sr$6=PrIyq zC-Tr%!ASnoR>^h&+A1Qc07Mxg1Zb<+hy8A=BpciTZI!plCjZ!0nOPyhZsYa^+A0;9 zptedrE6`TqDx~3m=ZDf;hWVqGWq3S%572^0NOpu0&Q4U-EG_l=J>R2$&6p z{j$xsfNb;cNJWsf&>k4dJm%^b-CoHlFI_%`EToE9wav7w?RM!Hf(ApDFQ3Fo#I8Aj zctkHlbg&k}*^%KSG6;DIc=}=s!`+nn036X*I+%X;CMHBHSlj>s87`{*zaf-|$R7~O zd3;XX$wTkzuTr)NN7wPK@aEE8jkgc-;XfX9sJ|nI_dW`wXd0l7bgTsSLXNl3fW6R& z^bo*M2KGWe3}D2jU~RvQ^D8hIzp5)93&K7PIqMcPN%$Qh%KKg5FSTZ)M_z65LZp~* z+CHK9qHRXpdK3Y_^M$u{;EMkjhUousXN5(d?O%3QDt!L$ofR*v|6OP0&L~;~8?ak7 zU6Oos{LT`yrMaU@@JBEYng*GGra>^1=T7k$g+*yI3k3G~!awXMz@F;yhwZ{T=K5do z+adPoihYW$*+E9F0Fj6Mg^N#{jS0nnp@)LLl%qn)%n1)bzB`3eOBc@qu*o2$)f|9L z29#FJ0E9^C%15-$`!{_ENu}g!2dJ!6X`JF*EpMxSiaTK>XQ@kdw>sN1Mndts}gm2vvXHf`3XpOl1vmBj^WejP_^iGjZ3YV z6=_pi_8A(#SrR|40T&VBYdTWYc~M=?+ZQ6#xF4axh7Yk|kd6~LNC^@6(;B2VeQ%Ai z)vAzw!-u@TT)Y_q+2!LuZ77c$=U48y28**fd5pV$T4PkBvGW|Ec^HJK_U+s3zzYb{je1miGs_<=N}Nx%+_IZn?kR z@{{MPTIj|yOw~TWnaM=QNuX(vN`gyl7wN$?W}qDySjvlrcb`_hmSExOev^j?AJy`x z0e%nUp;ZCH13^=@?j!Lg%kvO+v#ytnjX|rw$U~%$LMG??hXBhU9FyAGzIjYw83Y4&JFf^VgR(w!g3R)h zWwnWW_B$x(cH3W?#J+N~#9NIywJQ0-JG3ya;+n@TNt2M5JYnBd@LmSML!qP;0C>oL z{3q!z@Q|IJ#w)`P06bI_>{TUi8dzz+i@PfnVms>lRH;Uq&ukPDL`)v`?0y&qNzW62 z#Paz#@8M>~o~V!7PC4K|Jsr<-Co#fJ8n4CM;x9466{N9n6N~dCNj9vk5%I5;jmt;H8W~Rhz z3}8!~fDyDfvoc67_7h?Xk&a?RJmsLBkjIe#(rx@SF!1fd|VYE?s$L>c@+|YIxDM*5@K!w zG9vN^0DO4ok(O+k;DWu@;rj$6l{c1$j1!i|_X0;SEv^E!aegs}zGN@dv;f8yVWjpo zKEpB@4HN*D%=F~#Z&)(02_gn;{lw1{SRPHJxmsjIh4#omNNku zTUpP-K&a%|tf#;t2%l}ss(6j}*CHsynE;HOg}Nk%6jTa{`N^Al5v|5u4*l!+7Z~;> z;5fP$s4SvUVP~o4e_X4^*c&XZGHpS+B%BGn;oDM-Yij{gayjr<@!jo_lq@KgLZ$FW zC|_1P|4A=-v$a-jI53y+VS=`gdNX2&m3GO!0Cc-#a1 zd`M&9K&i`;KJqvtST!7Kbu2gtH&g}xvsj=d7W}7jD(KJyCplKYgA2>_^R^}*=h3sY z*=NU$pGhO$Yx`T(v-OWMN=l*jUOmwZWpVmE%`&RX9QNpwPbfZ%)m0U(i?PiVQAU@s zVX?4o{Zw`4=_Jg0R0cl6%|zH-1zWnyv3HqDY*^W+Xic+RC?a?lqjmVInS_!tQUBPG zn@TBNG8h;FIVx(B9Gb3<{Vbp2rkP~3PkmE8ndP~%s%Ua!4U80_Vg`0eQ+*IjBAFs3NHSjoA9cu1|*x$dd>B7GpmEZTtm9yT07*tyUu49irD`6V11<@xAHl0T76^HD_ z=HJMQR^ICq&uZh3+|34FHC|j~1sZi_SIcKjvr20cTUKIAVIMH|H|Z>ERy=hfeO2Pu z-LV`4C;zcxjY=vAoT@P#N)xuE2_5=))Yu7S4f^XVog#8nd-H+jWR6O+G8OPoR+Q$_`#3QAoMC{#pEdCqb*fOc(>X&v$HmOZq8 zV}oA1GWs3NLpJjMa{apRWRO=l-*)K!j+B_RM--p_=rH7z7D7s#D9&+m`N@6}4Vb3-6bi0Y zARh6fspb~nlH81( zW_sepf>ecdloK!>Av7X&I*cU2yUmH$tWrvOy(uf>rk;DJx*x~!HkSJS;C|u7%$MHs zM6D!EcNwOM>n4W#DwAi>-y%+Vh~pHudBu}QJc_w~5=_9!hlpcz-fkoBsBfAyy>gRr zU)=cKP$Gz`BP-=4JuMrPoGU4_lDyaw`Ih@NslmZlYL4@u>4mqX24kcT4-VoNM^>CG z^g0!+aw}Tju~2dJ2js8bZ1^Z!?>{fUcP&^otzXTLJXYwv%mf}ke)uo&uGgd zwdd?DmypdRvy6J$%XSlQ5!x@$SL;)?+FWy_ZoNObyn|lqwd1SX@7}Br39y>ya(-5! z-_hJ56;D33cjIC`FI$T7S>rrv$K85gRRCK5moRH0Z}ov_7ciG6)^E{wr`(~<8 zOnD0M^nQqO@kaa}0V#W$kb5=YGj0$ZP%yO18BtHC*2}mX??+IY^whdULm;>!8p(1Ds+8@Vd5Jf=&@QKW4l$ z&`V`*w<^_Sk-#^8jd8!USo59U{BGK6qQ_Gb* zY&BdrBrQm6F0SH1Y@woz>(2KgKMzbWAa&(_riDewHbO6*;$ZiO!Q8KwFQ@t*xfI>6{rl|vE0ud zn<@!sdvpMItZt(6dJ0@I(C0U943G9!LHa zp^0!xtOTKb@K8dV9qoA^mX!FbF7)}sLQv(mz)MwMCjn_GMXi0@$}Eo5wZmYAog=J< zUV7hE3&rTg>Nu;}yGP*|4-1#ot>Q<(9=}r}S-{+K5M>DA%Un9^eX z(KugN_4giBHOtX3!6=h-i~h>0~`g#`>yqBp@UA8tI(zhpr3FL_NiZmI;a!z0NBUD2c{T2eRb4g-Nb zMd$2Y?~QpOt04un%h*X&^up_Xw*iTn;p{m7?U!G$v}eq8&Gfaa99?zS<4j1M)lm1c zeQ^ti$Hq*znoGo~YmxJN9I!Q|01!`>+lZkt*WqSka4e9O z(MIka=Ec5Ge7;N~nUTPlDp?b(r*^zH$Jn=fdKHEdEph4GJ zv8H_+IE5m~4QWXxG|1DFZ*xIV@8{T6y!@dv8pqIaZiey21+=pkU37+oTB_s&f_l zIGf)ORnLm;OtT7n1D|=EJiWxTci}FV1+@iJT_tmhUvZq>++>?ro(f64d+zLk(fQ2a zKDGkKr_TvcaJ5>!&>&NdT|@^IT$VK6`i?>dFVeIZP?Wne9>!02S|lidgUioD5ez5b zuLz0y(jh-6rLrm!Z?>R7z`m`Zz>T?3E$j&>LgM5WtSYHQ`SzzX13pnLYVuf_iE|P` z4T}{NgDB+#_q*q;f8`_s2DM1i{3#@!WL_694o**WIl;MnirrgeSKjBE0HUT{!vPWm zv_4RK_YU7H(IF8>M)*L04e`g%(XR)bWb+D6olF1$$ci`?$xmBRF+oYKz`$WAO zl4aMa5j^antJg;t9#*&e<;JwlVeT|*Z+0^{rY*1b>5rSE*zwY2Y$ zR|PY9H&bmdX%=_AiG;C5)7E_$MnKgyucew~4(xUJap9)4ny`L)vwo2f^2KUy$XV`3 zFw;s%wVjYBgrf$i>_M>0!6^sQtH4U=kVF0$k`$TuFhcgY0w1iohS17_?aNIt4_FDl zB3luEAtdsqV@;v(iVL#FZYEr3=NVY7%JoV&jdlT5C5Crrx7Hmqp(+D}(QRy>cT|-R zf&tjiDMgx(&J)jYcc&Rxl_VKf+aN1tIf?!8Fo=4vA;su-hvM ztw09Ng%9J9;GjWI4AsM+NA0O;bBpEq@!h;!-irlc>*Wu;e+vj$-p+fmth@_ke!BWA z{pg;s_Hm!h>PD|EPD%q0GuhvbMoO#)ul7O!Iv<`0?`m?JN;0=f4tNoP2E(oRC?{*a z70;+wauTa=e2zWSZq0u$eJGZ6ATYlI<3jZ-3<96Fq0o?q??K;@;R&*XVaziQP}1!4m{Wkz$@!hY;wOr$8nmt1U`Nu;;a()GA_XE2P<)ZB1~fWilgm4A#m8}d z8En=TiK`%`=6^Y#exXe?m^hHzi}D3m$!JU+7V$(So1}^Vv@zJ9CccWV*8|gdgY(eG zVBLM}W3V1R_Az!{p5i>IuJ}G}`GQr+?eH`H)!H3@^KiF&2w%9xe!2D((}0T3vXcCj z9trr#PcN^RjGjC)It1NMbdX?l;sq00CpOG;wZ2k8sXFZ-{)-7sP#uMOVCCyM&6QM| zhoa8!9!3(c`RGc4yEcsm@R>{3LChlbAL|x+L9NKT<*f~)F_1FGN+8m)5kd$x#50_! zvf2+j{B+Tnf<*~6xVy}a8`#bbf5t1}n%>D(m5+@Goqqq#b&G-1OyX3qf)ob&6;)J; zGyNC2E)_JinUy3FMHU3>Jdqngn#8!G#}~7lbQWtdGsYHJvHH<-iO_P(t@9TcWIyRIlM&+HAs7jn$<{FwYSjmSEM4TGF4f_x-#|93sx@} zEJBqhLNGGjV&7y1HF{8_6Mz*P_3Jv1e3{gKDpWwQ{ z8KGqM>D~DvX@>MHXv?vy7B4@1xpUmXBvtT%@O-q$c8>3kEr_n2in7U3Vl*0&Ku5XQ z1%|$wj9{6Kt=M0U2DdJr-fS~v_NHJL|2<=2DhJjAOCPTy6Gl)AaYl-thWX&b3aD72v*6CiWMXW6{hHN z)IAQwdez6wuWS2_T>>PQ*A(_DwX}peieo{1kRXJ7rQ`7NW$iBk`*zLqJMh|uYk~Yt zIczx_!?6KL#&WTR%h?CooogBYg%8q1&(zR!y*Jfzf40NdxFgdrXW?MT-AtHceSAD4 zG-qYMNIp6t9eaZEnIhaQ2Fkzk;mVMd)zg6Lm01=Ci~HFG@r}t)1(uOIuqH7HrbAMF zugDt$>k;{_fE2DGwo8e&hc?Kl8cOHDK6u zN?9P-v}-=%Y%v+=)E1c~;SlI8j273sby}_L?*}QUw;VwV>d-s0qp^|emPW3#T7NM> z??e}m2EV@`7DAC6BH#Mmv?-&OJZ9;E3R2#M%NLL;D@9JPFXEIW+({JNhq04FYWH6L z=Z&hIA-!Y|UJbe##=gg$X7oF@1L1kgTSu-Hub` zS9f-pMGaK>qc_d68PAYM2aMoGUEX5I#SdYaln{TAet#2~#N}Rk`i-2@e^#={g16V@ zRe7VanS8Vrv`Fw#eJB4p^OVtlDOG$>p*H8)epEb2AoSHvD31uB-LoaEn8& zR4sRxv$L=81TX)YuZyIHGiiYQ_yL+?sOa13p?5?TQu;m6hrP$DTD0`rSUEeDrC}u! zS8TTGQtNV!jgbJZ6)rQoLmI%f<~2!{ic^thrGap*Ms#a{c<{%y_VP>tTw0UF{!p~i z=NT%LgRnDTJ+iq~FDqn+IPrV3-ohs5fSw2cawoX5?>*HKZly#|5Y9hoQ;36) zdVd@hERH-`-@ND^TfsdVX8fW+E&Pc7I36Bb#0Rbi3qsAs8ppt8Y(9?hW#F50Bf`b=WDWv9E)o$V%{HVAHviB* z#HX;s0TH#8VEY%cDojuILii$(i26l-f$6ucWUvntoifVsxrwqhjpeb|7CkVjFs_lfHNQ-~mb&qD^ zSa^9&N=)qBQ<IV!@d`j|AOCnY-HbTqeE7fb!ZW==XhV|bjf&@X9hm&A0zdg=0t%J3> z3Z({_sT&ArR!#=lJ1A{mKH=EQtCf=8%_^Qa8IB1wYfeCR_-;m;arg1ik~eH?9IhZh zJgI8H32;2+=eOiCK02OY`iL`57)!;MN8~rff1Hx1{nQp?;{iFIP@W*P0cL7&nD&i4 z_=0k!P-2yi64W&i=|bbHjQQYn7F%(7c^E%1D8c!p;<0A_vUMq28VfgSpLn>AEa{ym z(e(r?1Py*~8Ql)#KoQb-F00aBs~d8_oTy($6uJPynyexIi5N{ z3pm|Ai@!-4PS0CZlE5mBbi`28ALRCI-AQauiIfkZzQGDU(3dbV`b}U(1nksw?T>cq zCZE>++;cN*@+QiLEwoj3D2HxvGJK6v`dagC4nEo6Taxzm7)X2B+;3^yN24ZTLZcP{ zeT9`p&Ed3-a%w^V0uWQDiuPvzo{|K-syLscpegu1dXn?@4|mmH;9J)@%k~?42B@8D z?$;rTO2eiW$PFM`im@l;t28lt=*G7~u4$Z4SIdaS`seImf@Wq=ZSjOMCY`mbkVyp1 z1EfXq{2z_ffed9=(8X^^Mo+Wx%ZSxI&43w+DKI0+<^zeHGBv(d#;v^;9kiZ!N~3&x zx>gXTR&o`3bKtYq!gLL8(}Jh>A$;=dFClfHty_d3tsKrv^rBSbT1p1`wY-eBi8otW z&Y`39kP+-=K4I?;DzXY5ebm-zJCrz86ajTdO;p`U(`uGqRAH+mU>)Mmg9FbrB}wW- z+ib611uJpBfCEcgVM4}RXR?tL#P;NONE%kXnqaOp24p$OEJGYIcu@L>>7PMbCkEW1 z(hN2ulo-E6ky1o~AMeK2^~;MW^4!3xofnwFm7o6BIw5CdmVGSwa-&2XCGbn@#4o?- zC2gSbw3{~wcGO)Bq;-O+iWe*5sCWUB8lO_gp^f?Aqiz8CsN2h+G1S32F;q-p(4P*D zwrt^;z6adHVy}j3`J)s*uKrEae3tcG9(2?cy;Q1P#gM3kt>H)yx|*AUs1G+=%|R0ZSU4PE>jr? zFsn18nS1Q-Ca_yHTqseJP!*aS8Jh^3@W;?w_*&f9?HBV|?t0>Yx&n7-q?FYFdvsM7 za4Ah1RruO9;l(qlJP}E_k!6-6CyYxH9F~d6Bl1zh*mTh!hAg}%;!dFt%MuO88kRdyD9BjW<-l{0qrvQm1B5SjQ9PEDxk zI`k{wvk{Xv%TdkLRUKvmW~b4fh!OzPiVVWEhKMy9CwwDOe7S&|tc1B6wZZqCdb7;^ z%?FzS`G4=(!3*G?7VkO)UpRI1hsptr8plajGfjJEF7i6I^Zk zLz0p48$Z5k#-jJqFKzeemulUbo1gN&dfQKJwn840!5W*4FqwH~19CMv9E@Jta`pcd z8c!MypPQ}q;N<4TKkB$S)*eE-SCF~Ca%$ds0EB4stv=L#>D{%-?NY_D-e-nkUaH(Q zIvyEo4;SLDp=i<$!sT1Mvy)k$BPu0mJEY<~wX?>_RsMe92Yv1$DrK;7Xu*s^7}cjCXo z)ha5)+;wwPbg#*b=RrKMaM0(VYp!sU*89d){UEfauN`1)QVv#G{|lqRB39_IQuWte z@fVzb?urXHK#$U>i?mVttyDY2lW55xC8Us`-1L|DJqEh2UQA*`B+k+_nDgUU)9si<1Ctr<6su z?VC~}bpHn+DoMlt1Vmj00a2;#v-poCR{$WYjhvzCnwdsnYt-mZnGC7X_p%0A+a0pY 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

    Yta&|9wknH#yK!Z?nzR_fT#Nb80}8&i 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

    NR`aG+6J1D3QR$C)dc~`xK1AgZtLu{gF(v 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%0D@ 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

    A04`=x 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%0D&7cDfE2A> zmSM+SWpNvdEYfL7Xj&pnD`g*S`K@&_6GYFORy+KXo*k$kOG7t&#$+tIV7ut^*uSol zpmg9`ZHYjcD)L}g|6u%PRHb9$AYVIb60cST%5_p-rYQ0T{oG+faWPzfXTL zekYaY8CrmpdljYb8VaP=OIhhrt9VPp%nvDpD<3*S2rKs7qDO9XTzZ zo%0vjZ^jP!-+hF?J0z_y>3jKA(17q)GK2!E4*89eRCJ&S^6t*r0Rn_|G^7_rEn zO>WwDryv24a->;FClRZ z#H|pEo6+y#ty%@|{9Kxm>tiZ=ow(1ZX-q909S=1ogiv8M8fx^5xwX8}O}j2_%(_kV zr!;E2VuMEsw9i_{SHjRK(fFaBHu2g}K>Azh5(-Fvm(YcaVWzY`+Kyzf>lPc;wJ7S6^`-&G!@u1uSKW^$o|@Xt9c& zS{BK2T7q!5&0DAP;b4B2W7;XmYCd!P_C=cUcRW3k#cC&HzjP8#lVHGk6e}?A66$9O z87keeimo~XqX!;l4x2IOcfI=dUes8``}X4Guc6nMKbN^{7d9PzAua9A!MjF)Q2qra z)ZS?szfC97=y4tA1fy~0I}1Pw8I5!S2SjEcF~h3|3zZ$+`_-&7k6R=+l>oe&)Xm?n zDr4mxaa*$M{WAM~Z%U!7s!m~tOn<27K_@hHs(CDBjEqpqYBJ;QSIgf?D_Q>_tz;Ht z>>57}*AX*;vW}BGSw4S^W9u(jsG&H`0J>ObITj=*K1q z3cPx#HnW?>G9*>mix2;27H=e%U@29fCyO+EbcF<|9XftXeUJLu10P(>p~-xdnQ>i{ znr4|8^)($#^-@?w8WZ~_pcF8MCad6HN6xNI4zS~x+RuJ`2KFHZmIi~A$?N|l z|8151clmETiZ*cuM{pp9stX-VgT?bWcDu}P?9Mfrn%ie+{p;kd>N@~^1x`0;P`wMV zll8sl4Q2UF#ulkdAHYQ?k^uQ*69555-2L|iU?Za9NZBxqgXHV~DF02&cF6X$WIjs9 zxtK9Q&)YY>J~ijExY6$PvbA-v-F=FYoB#IK290sF3!V5rN~bcL zO-bqZn?dK-0kM>2g~s@$qu-Zt>22*Up^FH_DE8LpYyC7ZH@HovQ=NX(w6!ECC!|e9 zuy`BkX+9=mG2sPmnAras_-l4Xv?ch{-b7lkSu|c9NdE5sd(dFo*;|T<@#_g%PSCqdV2wq>4@o?IF#q@TQSpTV|9l+~_~504shU!ZjNKLv(XQL@hXe8s28R?__eUYR z>23&oNH#Lfe_UUGcUvN%o9-gLY$jR7g7i-tyC{8-b)tisk5)_Bonb2K*Cuol5!iHc z^?BA8h(3jR_)+-abBr4^6J>T!2)r2nwJU>~-x!zJto&XH)>m-owrY5&mq5-ej2{+Q z5R6 zt=_47Q?9?ozVi_OhYP zF^*J5Crbc1>wbyrc)<;y?0)vB!@zwap0;~;(06# zlPgq^)U-LmB}E`G4jxc}+)GA8O^aOrZGB^)rn>&e8+I)&F!T+`F{yfg!k7{<)QM5>QDw4-!hNh)#im?~GFhOE|AMwsa51G(@!x>o{|5a2H{kcb0l)uW0e+Vm z&UX8xi|;0(V*RPg+M3)9C9_yzE6*H%K4udgx}+6TVeXvRO1`0Kzk%z-YO>)KART`` zn2{xUx1T+fGESz)`~1w*cA%7N-|*DH*)o}2XpDh*X_|L$sp)YMmfJWIxVXluU5Yc7 zEREBir;h!lO`LDesbE~K<|@Wg`6&lb&dJg>pPeGbuYSz!vVzKxH30w6i{9aHm?9gX^DAG6=Ak_Cw5k0)-Aqy zS?3%yL}ZuiU`Go`h6!Od-(3m0$%=}TwOx77gk5?@X(HNj1`^$M-gw0^w7;;ru)`YQ0hFj9!~! zcyFZ7Qv1H2JxiO~M#N}KND{lPhlZ+$BD$LOi_3L<__+^9nhK-8cL;}IbjjSbF-P|> znBK131urs#u%?Qquh@70+lD<7PY*p-?l)XWY6u9@C_06x6NSn`X{Gag(h&8$2pYwt ziF;(G0@~hV-n`tS_F@v^`~Bm&+6<~~6_fRS9XqNTl&;YvC%aC zYcxk=mg_0Fq(Khqrdt~NI>)=PG$tZxt|N$EG0enH#eCfdaPS_VcgL@!oaA2C?c~&U zLYn!dvyve{3#Q8$@Ka;;vdHDLzrM_x#Wn3p6kIH1+dwQza(q+psb4WZz|gY^2SLE# z{T|s95{|O*LomNl7N32@ztcqNryc7z9(vR4`)SVVi)or>SEUW&$a=|K%#$SlJ_(PP zKIT|6?BN=bh4WG39%E`I&@UKvGzLYxd!S|TUZ+(S>B=0@b@ za_g9mLYj^)KU(_YeX=U{*_i2^NBdrIoK)P>y`!|ITU!!^1W%#VXrvU(-qTg?ptY1I zQ+xuESRrw-6jFi1qrCvfT6%)HRW~OxlOX4nbru*pk%~B9$1N-L7iLnmk)T7Vqr=^KnafJ#A1!WkU zOc**$`f6%fhiBKVlb^q_qq#Ry8k?_z@k&o32eZzS;OK&}c6r*&-s4?y){tB3FvKbD z&dYZm^IK_0;O6Nf5ISmGsdld#o8u>OI3q#owe@K#)N%{5YYzv@CQiR) z%al)Cfo7|)61!@-N)S~pDy-&B4$C;_Jx`e?GhN?XP;ke$E=Ux{+LC{GIo2|gyz`7KV?}c@oRq#YBEqsQ@-4P z{#3Xaq;*x?U?R)0=*+jKvSw9VOy&Fty`YT0Rx`BTw#3g`aC53}C@^m#P$A0@4Z;u= zMO=Ya3s%&Uu8OuB70b*wtP%i%&Bwky=oWaq36y32k_c&0SBib}yOR9Xu2eNad>DiL z@v2Z>jslaVmDeb2Pm4PNE?S+Ax1moJ zk+@q`mx@QE%kR(%Wa?`aj`L0$6)+MrOHLDW-ahq72K;O10aqtI$yRKuJ( zB7Ihq>8AAY+m4czYZTTZmx|8;AM@qU$0TODnUn+mnt7vB#l{+i#LQ`$a{VG27Na7X ztS)J^>Dutb%w&khLV!iMFE!YCDW&H^C6!trZ(0ZfpM45|)n;Js;cS7+L z7S3D?W}ZwDjaZq^e3NtDh0`$Q#>8}I6^Aqd_W`HzSHw4a%*XTX3Qnr*k*cOv*ER21 zCZ*T#XI7l7vX&gMp}yR-;})mrxQpXoM$QqoN#M%e7O=QHFZz06lTYGTdAd{LXRnFj z%52$N`0YR%(1z39>z)`3IAi|X?2T?q%?qb1%a2ky_oCXZ=o{585RvTB=EE-wztVgm z1GTp+DzdBcymVSLFN{1pZa72z>+G)J|&f?6%VZgNo!@WU&#nA+h>n&lHXuc`B zGjm%n$8g7SHrq9JnkiBvOw1Z7h$T-GA^P^N2_HFcG{eO(?Z>j%&;)|jarSQ zVZir`g2xVpr;cYgbds^p(sBwt-lO+S(?Y$<-nk~Xl|4ogZs&o;Dx8f9-1UArm0V+x zj`1)BwlXR;9-Jj3r91qaZ7m)6`mXQ;7oj6dWyVFGW~}Y4XbLCATwHJ>*H?9v-bOMP zLeg%sBE@HdLt9$5ogVHlRGf112_e|>L~k-@r~e!I_2 z%6=&@3(NYU^N#;66HBZ5lDG<;f$%cI9}63Y<4PUpYWjHbu9B0i*u>LQySFG5ow81s z)atDq0mE*k#M7A3g*MfKn7u5EdN+?4c=~%P zIML;l{24ro!FCBYzuE?;xh74=OHJ0y%l-aKs|!eto-O~Pv65v@e(da2KAj}4H*wEL zO1p8*T><^XbJc6Rt6OALm?b|dp~!1j-YxLesd~=SaIX9udrbHgO1lA&}(^3)OgSYCUz!$UUy&XF| zHOizVtQ)=FpS|DS?%!*yaDvD3dPzgO?P~y*!Q`U@_;#CHYpqzaL%Si5)rFjh22xSu zTmC~DlXeV@oa^>ZMQ?;BPKRE-h@s^J2b{AeufS~^JiTzGi@@H;gdphp+jAIWzLF;8 zSK+*=!@3ppNA7dnDINKcL+f5EXY4_^(xvk{jq-8ZR!<9Nb&+zT6Ix}1cq9z(Ys_#` z;n00x^sepa-Ev6EibVmoWS4_`elw{+HZ)XQ))WAVdNtTee&HEdY;qejCC zm?sX3aaARm_7{HA zc!{MT6U@~1_PbFuna>-gp+?nEDubN#*d!|gUfQe&>=Ti75O;`)sLmB7>7!*-ZvWOS zEWCIBg^d_$C|n^cIza6gjz{h`k_|cK*(vB;K)Pf(ENVJ|NQzousj@3cKl>EuuXm_%wAI~BbyX-`Cz~-n8*uro zC=oO>0;}mTh-0Ai4tg@EddWOn*!*ggcbU0o2OhR+JpG>XRX~@ery$0HNCq@sk++PT zxVYc0+=zV^PhLDVHi*%CAH3Ez7c~*PIQP>O@y+Fd_I$;WeO%%k1l6f08>D=TVse=5 zP@nWGnNZyc73r7O??IocSU2JG9vu*imiE3^q7%R3*p(4qr?P$y4-U?^laHT{teiES z+yeX%p?GC0Ryn8gLdxp&QYw$R$5p z@Z?5v$i3Cu`zQ?ChmH4FUMf2n%p?bj_B;)sR}>ZoibgNPXE`W;4F{3JyaO?@bD(eMY4VeT0|8?SY}>Od?)4=S)4)+aNC^6Qd@93@xKPYYBI3pqp9 z$04?D4QP4=`T(dqhel<6xcuTG#!F4UqEM=@BtUS3-{J)l2^e!m*p<2wO0~fnqfdAe zD<%VUeg{I|@I%}7jQJ)7HdwiUkbuB!ctq_JaeKRtU6CY620QK0znDh?2#=wYa;x6?b=ccc-`%D^8(UahKxm?pEBT zxWjpP-|u(wP3BDIoJ{7g9TLKBpOB_|t$SUUA3-H@?R|qFvgKg#p>N8;)RVrOV*9r_ z5$YSv#gN~bzjwo52Hz~cN;j?gl4z(MkA!(wcCh1_b_}mhWj~iVEjK^y-`gB88l3;h z+Q{0kn0Wn=`l)I`T%bM?395^}HGev|H2s9}9$nog8&LkUI$OA{`FF3AHS@ajSuFT2 zi@UEK5rel+1Yd5=L6yI7zR)=+{?~#;qVVZjsi{nm!JZr*4=yB4(QQlDvAsks{J-?o z@I7q=*=!KO;BlYuWf4&`7XYw!eh(ecc!PNz34-msa^msuMAkF=Nc9 zvC%*ur65yL5jbwuz=V>Fr8#p{j;Rgjg4+B5Mg7urSXl@jjUp849zF#n@f{SRH*E)D zq((iRwmRZkM)ge`X3fh_yO9fjCgsKEV1*mPdSNuDiP+!{3}0V4MTvQs8=@5-$5R;8 z>u%HprrMTVRB2(Ascs`x#SY9fH$8kBE@?Pe~a?2H3_Z zi9jAMbYFErkGwcYqp@@KT87~{yVRV_Nf|02?>jQeP7D*yS49s&1&f&CSb>ZMVvO8;56GbQXi4S+62wtbJkGhhOsi}vlJ3;=YomzOyf z{55^cA|X`_{l%&RO+xKDN)BU!8jlRP=vHC==Tmdw321HiI0AIn6G_Z|jV^mkj!>R* z6Sjf|KvGwqG-oVL?;2T)4@#>pa*6v6oUQK^nB3H`7&hC+!i)UaY~S!E;u`XYngQK@ z$Uz&e6&5LHfDc|+HJsVE6`FHy?37pLHvhVP3vs~lanxPUDD-jE?UR=Sa@!Rgyi95n zc2ge~y3$24hly$po~EcHRf4D?qR@wFg%q(qGh$=_(~~0tuc1w0Z_ph^TZg)+@D>4A$Lqn@uic$TFj#)Xzk$LnzjLq$6`3uuMyLt1Guh_k=Ya?*fjanyr z=?$DRBQQ;MfP`gUBFv%XIgSh0kwC*tzob$97FyGY+=2@cIV}Z_y0?dxqUVEvqi)o@ zIN_C1z~5${)R7DL+m6E5mT)|qC8p%OcxgEk8uF!c0f!%MZ6SgM`B7!gIh310@kV0( zo$H6ZPwW);EO1H4TRJI__>`vJaZhvm4nwyYjLwN45|H<;0Dr%J4OtzX#1DDj_U8|I zpR}&HGsz;D(0O{tSSw93KLJ2ex0&N9qF z0xQ2sh(2B%_jV%W0*J%I-h%s2729$)LunxqfXBXN&If)AL9L4%AyYCAs5{v+avBpp zP!~aPAE*oLl7tV`g>3o`rE4iyn5@O-6%m&SWH#@KS*Rs0&KyQ@#(9dL8pn z5=j?sr<*cMbjH5K@ZNfiS|^{njaTO?$wfu1d*TIs=rPv$uXqo*+4nl!T;jpEs~$PE z0#Fx^ho9x}Sw>PdoM4*>0baUE!d>lO0Cn;6!UEu>^Q2~aZ65zpL+}rApxcttoD&SF1LBuaBgD`j zfTQjXG2p1%cwQ_YWfwT=HWy{NQ~fyVM!8q}IO<06`OK_4PaL+S?z#1}V+FSQ3k6)= z60YWRU*K(qNI4wy=D;pm$Jpmjuud?9jk$pD5)$;JuzIt<>kGh8*GH)?#RgG_1>?W~ ze^|-O2CliabUwc5N@{?x{S0+B-#tr!pWlnB>{r&s-|Usq8d}m^yx)1GgGtGbCMf0YR*`+J2h_YOqW=o-nhIpM&kkN> z@|w6%Sl^|gxpG9ClFGGR_6@$H(!L$XI`U*8iehEw_OnV-c40NS3uGeuI(Vv6Z5^oZ zJIgKpndrwBspsukdA#?(65XJ7VE$zMxxL|f8!uvQKcK?>Eyb=#IWWKfd|FAfmbP4~k7sn32Q&1#{c8kxYi~Z` zY(+m|@?N3R?-#psa@&G+$>PJ_PHTb3w!gzCKSE@WcLZU0HT+$-hm$O#E~jG;A|Lse zw48A^;|2VLnLAn^gN^-B+$(RUIGp=mjt5*Qu7#IczBw@dt~^P+?Dkp^xL?UYc=bMQ zBc8Kuhgl==$tCL7Fa-fiWTcR-ul`J%^O;s4>@90yIsBJJDdf4S`Jn?v1FQwlXw?_G z=Us8G?5&lRu0_ENsEbwvU9tf3`$PI)#3_GNhlhxCCH@J0AZrr?J|)XZiO~m`T2f#j z+o`vRdw8?LA%mnm`w6y zoOi+eRF0SQHTQ^-&)*`GA~Ka?6cWXgDDbCE9-l<lC@>eE(*Wn2l|)5QB7FAK`ag zJyIRg&#;PS)KPdoW-id$-J?}p*tS98NAS@yM1-95CD}7&g(^MDij#&LC=x#@j#b|1 zDk}vrdb_n#i#vzu{j8ibjVP&^L0|=n29~d+x9L3!6_oL^9jZ_Mudo&z(O_;}yfcD4`&c^+|Yxf;v0CR6#yVd6_?+r&?wReT91in_Q$O`U$I%Lv5SQt9I3D z`ugkwN@f{1L}us@tM|*RoDL}Jk#XIs%OMS`A+*V31%XS!+Zmwam<8TlX<vdc-~7N_gm8E~V=S@tZ>(WhF`;?PS>F^;tt+|x{za!I#L zvp4bjn>$fjJb^A39kDkBUW&FWo+KSrZYIIiI6g^76kOC<{KoElf_aL&?o8z-IkILP zM0Olr2S<#5-Zb}B;?>P0-s{chE)Nb#)X@hc^ ziTO`|le+S-$@{x3JfdcmE3a!e_4~C=s`C*i{ge0!tIz#`iW7Oqm6w}rF6Vc9E0&Up zpt}T~{B86c5Zd4RzWk#WAk<`}008er+kw#eZSWa&o)+CC~edb|A#Xvp}0%VZ8yRMrqrV{g`Ec)w{9!RMk-D6k1fEA6El-DAPHlGCF>+7nM3*7+rDa^~g@E_YJ*7rKCH7$clq;otX7xXzuv_46{I zBPviBl;P99sJpk5Jv$Kp3aK^{08Y=Uy2skBifgEaCr^$ECd`179~5nWX^HYp*w{-r zM`OMkc5k|P?lr%;+~`KszR}(mUwGaYqQ7J+ZmeIM(%jDXa1+kSkT?Z&d2Wn$nyO5$ z>k6!KNPX{F$7b<;)Lc{TI$^hPuqi9rJ>vF@#vY^K9^;=Ekdv?CDkg>C6_AeX$KJh3 zTIs5tqn>*rHQHNzpTKjLiLG)JFtyy{EoO6Syd zHJtVpkTjekbk(&QYIw?Koa&aMsQrc3qAQ@iwa;ieQjTQ>`f_QJ0r_5xn0iP05XHHF z9$}f0Wp&_}d~tI4M-7^{8^Pzv@wZsqe#b_elgSe;&~5hTI;zd-je0sf6;(8c(DudV zs^)B|#6Ft`x$bi6fGX)dS6eeQ=B&&oLFVCJwC^-L>e?;BNtVkmwreTOx^b;2+uT}D zqs6F!-_BMv4i%8A?!~fH?&7I1E++s`qqgHh=GZ7<{FS$)@ zxFRJbjcztn0w_Q8MDVzYjaRlQbxDO=}%d0Zw;JBHv8;P zVTHb(&!vhLRvB}z9m_fE&-m@HJk!kqgEpV{y4l@;-=lDL>#^kVyHg8Qt>=kL& zp3frb-c!)p$WN>|-_2l^(sKxy_{&F{EjU#4lPF@cu@@2ja@(8!Q$=M#T1gjHlucF;ljEhwN=M*9&C?;>9VRV05}9R;(p`Uhy1Z>Y9;C&4 zde+Eu!D&(qVvs3o(8#NDsY)*X^knyie-gGS@^ahT@t&(nqRr|Z>YJd6 zgyN6#m*m*kjBanZ%-td9xeUg$y|Hx*RW~c;gI)d$e)$rw+#f@|-vSLrED+jxr8IQb zJop6)VSEHZok?e&V%L~!^*h#V_zL)|A7=Y>C2X-h&L!qYXlXsVwFB7wwAgjgCwx{8 zGVN5mE?O>wSmsJtjPO{E>fx{B?FYojX;m5#Rf^{7BU4CHO`{-bgx`W=)-OF9GBeny zt`ytSDhf0P`k%nD(-MaI+hgE6{*~m+oZMU3Ek-(K7`a1`5K*Xc06Z;A6)$7QLmV(2XGHB_kp4kPV4P@LtXxwSA z_4_#)J%Jwv9a&mrj$t|7Dio)=+8D;F=6rNR3zl{6exGzX3Bwr~}X#~-(p~;?Z%4T z24wcCq^*83yVqe;%g%Kv9_D&5$N_1lC$<9qjNU(`dN999G;^&KAuWTh=&#wyWqh$K znMV*DXiiK5B3lswFI%?Mg(Vsh?3S@3l=a)=qkNA8hIx#&vvfvdwBlxM%@XFGo zj|*16%hYPe{#7u^Bzh`+FJ)=jp4tDL$hp2K{T{SRfyXYb7|tP>svTBaTf=mcV$jR4 z?w8Ejm%?1fq3lPun(=65lO}+>?hra8S|QUtQfp@WN!qexq2bqKh7oT|=+49#2ClbDV@JneDY-5Ff~?eQe*zn`AGQ)&oia03#91=SdB2-;7=$xr(~4(A z9I}KVY%?J!Hpu*VI(#KqWtnX7P3iHvoKZP(+mF&$r?;X$UyjP=j{F)IzorpAK~Fnu zo0}n7sZOHbI;sCeE>D6S{Zm?-J(y3442D_qCnz~(ou3vm_<*~yi|VqAds$ka&zz;4 z*WEXU2uQz>TCDgEC*;wYkrGWjn2Pb z(fo~+?{|%&3FraUuPB7MtqSwxB+?BFFgV(FkqIqVhlI^>>4fDT$6<1=0^bF5keMJG zEzcWzpGx!@36BCsI0eQ9TH<3$qjXwwY+U)P#Cx2ZSO{c-JF%QUIcU9S&ZC(H7^t!E zn@Pbs(ds!w1!GH&Tw1|HrHc=qle7O3m8arY8El?nXm{kwn#3%fm6e?3qFmlEj3Z#} zj(yb+mx11Whz7sX((rQQsoe)pe?@7bCcP$XCK~%AnqYzo%Q7_}PR7#T<{V9*KxVA0 zr?|^0Xgf9hewC-5`QC7)l-nhF_DrG|6T!exqa~^OJZJxuMO(C>!kvm6w+~~j@wVHs z8J$HwJho?R(jv47-q>uglTWg6+uNb~Ol4fpfM=t5q?k@A({azXQ@=nEz>2E&dvEr< z(X3v1M7n6MbTk`Awsu$sv(EYs+2;n<;+-zjtMw-dV^wA{x@6_)u+j2)8M5Z{MsZb} z1^6Ku(_(GtlnOny8^un?H3!yXjk> z15>Vi{1}uoU3rY^o_{Tq&^$}D+*}7Y-Mw7JI>?1woN(H$*YCiu6P3Q6ceJ$Xrwxh> z*r3%SKGG?q<1cfmF^qZZeIMyviu$U=goK|O9~8^V;M~76=`rxGDCmtdR_v5b!>l6j z6!8*mM)NxyX=8->7k+_SF8CI9!?l^OI;!(Yz$|c? zwgmHXRki-c_=k|+U+($EAJx8ZOG|;Rt~`ZIg_|WE+PyCkCmqaBp@|e0J{ykfgfPv) z&4&of?soc0*NKa3@~Hbf{RalmVhqUMs1IphB&x%q%Wd(RgLSqNHf5AEZ)SFYAc93S zQMr1-y!y@Wl@!%FR4UwpU9&UuKv@c;_=NY`@bkZ!Qn`L8;jDf0xi0>eZhn9AXK|$8 zePZ%;b_ung1-YG!$1NC^AD@!_&-0vorw;j4Mra1S-KSyBo>=S-k_s?zV2uR`WD*bV zQ3gHL97F*PI>-K!MY{+YdX3$;CA-s4#>L+sBa_17w_!!3WA9?NS8yApZjJC4l{MgV znSH#ZdQXr8qFr-tIgKn3SEnM;`uhYXlBT<*=&;ts`&QcG+uOW{);#=I{)5e$YF;8DePv#3-|8N`=XdcG(;-MNh6!d>$jNnfV;|X zLDH(Ys^UtziC7o;Jy*4jVkPxoVKAa*KC^JE_)5NlRYE_jdwV)EMYolr(I>;{9;*Qb z`T<;VDpvDhToY3%1G9Q!&Gy?bdXVRFi5=e2Js$Ly$)B=(Dt%q$C&dX%_i)4Kh`9UI zF-7X=-*$~3)$8z&^Oa=MQzZKD$KcJc#c1f*ZT5LZ*)H|;7ak;U9h>u=o~&Hc>jey;7O31I^W+*0oF-XXf~M)wCD>TE&7}4@PAr# zvIv$?1Op2)5)(c3nIcIqXd;Q?Mab-z)v<5a-e1B^u9Hov(o<{seu1+}~@! z`k=-BhBc|N4oXZSQJi>jcl^3X6=T5DquZAxeS2{)aJddnF-!A|&}MEhS9KYR4HiSm5C<9SA)OEyrmc z7vsiS!TmJUTsmJvQVR-JxCvyS;b{em6sckr@GpLX!Ykr@nt5?z7M&jR0GsO>(BNK$ zG}RFer_3g_LJp_Ql*BGweiWO|AP97HkM3UXB2VaXTS2Itg@RffP^5}EgMh##c&D?) z;|~upqt#?ehU)hwdWv?!E{UWJ-W1X=U_J^~ArVL6lH!GjCHs9nwo)_G_MpGCBe!(E zxyt>(q}*AlTDdt_l5CCsy;VgI2`lx80z44pYJay0DYb{UE;0S9h;TNvJ%{kEB6i85 z!^Ry1@xSjS#FCmpt_-FDa(t*7oKxJSH({1i@)A6l#g(TKk zt$XP6zQa^qtv*s)cM_4P2hb2!y!(f0f);t!L%n=5#&|d+s{#)QRe{~t8{%)5Y=MTW ztm?fLzU#O<06o)0$*#J>*Zxz6WIc8v{(o=Inx+~$H9~My#K|0{F zr?;B_@N=#z0z1M@ma762D){VFu>y&Rp2V`H{}6VfgFi{&#V_gA4b zGH^y};z@rm1klu2Q|b|KJoANB=U=f~1iJ>Iy>|J*`Dk%@VAR1~Oc|@$Rz`-@8v50r zAS%@L4?*BX<*pro)8KHVDD6L!8o~>VLYw2vmQ^5O1-R^182c2{k-q3BYVLrT>_8*7J()VA_d6CwV@!e7o>%OsT? zWvnOy@@Yllcitzs$ol3RaND7MLyE#bP&!X%az{-;DgL}Fm0fdb{W20Qd%qB?bsM5b z)$puatSzoO5$WDt>WB=_i$%xSX4tS%%9i;}L%~Sf2k(xBB4iOTG3W1mfg78ELjmOro9!DSTqbWaR>| z&$w6rP?qA?i2@b1OQ!5_1=tE!UKu@Y6ThNDptqrLw{2pBi1&(!h}|ZtH9TxXkZcJ( z`CK^d4=UqmHt0TktG#MQ2qT3b0Q(HJscI8opGBU~d=T=#JLDY*Ey*}&k(dOwCj;y= zxFvr$fPI!Z?m8xt(RyP`_5B%_bbcK6t<;7V9&TG)G@4L z^M2lP0(hw9+h~#=@p)OFW0)|>ovLw{vXkj)|FO_Ywi~R^An}>m7N~5K^qzC_!iowhKsZk2gz+I9C$A)JNwE14jvJV-qmSeu0Y(V+ z=3;(3*t2tjv5(=&ejv+ffu{xD<`ocL6lyRfNo=V zYJCOAo)j=B;ITWh<^*|zp;tnSQOxaUImY73E9gj38}beag@uA~=pm>|QJWIA7mhih zwW? z2n{D$%cTO(MY5fHc^Q(T`(huhdEiM(1-n=F1HTLiX`8*~ z_X~D}kRy3fdp8Z^{diG#)(w%J3%(N$hMoj8JU;MFg`CIr3Gpr!oW%7-@GSKnQd6eM zO|gTwG(xIn1J-jV*058nAxATHvvZpv$=5Ek3+$imbbPig(~8ep-d)ZnGd@}$Mu_k9IO56Vf`AdC2lV53 zBOUXf;|&<1x@&6?JGBq?S(qlq2m6dfJq+8?tl6X7@_Lb*O8L19!F^5&Zd+tQWzf-8c%;Rl^a^ZzD z@CZg*#K{FQ+MoGy5It=CE&tLpSuwWvouMl`fSdU)wcy^eDYW7G;&u0Ho9wPt4ZhD? zh{(xhP{(z4eK(oCcUQSPXt-4egNk$@82^o-0;YeW7^SB{e z3$|{=9evcHk1TsWv!wUN;epyXepY~XyJf(h>#P5;dpp(Lzk5jpkwY)YbGbY0(*JNc zz}o*p_?NE*;jcz+M+vsUx~~$mAPk?5w%c|H@EK z1fSMeZ`cK2|h0VUlOkO?uZgHG;9Yz24%ja_0 zn9JU24<{e}va5KF{`r4aY{tNfEuYXZZg4~r!z}M`{WhO%7{ey9Lz$5zKUt=3%-2*x zBBnsfujsEzne^^A#*_|&fF2w}k5!zE;PQ0=-cH~~7u}N@n^c=8UGuU%PRtuVC9#0% zAzD4`b5-R>!JOaRm)(ps2khA9dA{JI%YKX8X^MO`l3e?AC*QyvksJJu?lN zN$H`cH{Uwh-eRO8>^}wb%16O$9!Y;P(-x7S52Fd zG-_YSE1Lse!pj@NB;9lLluYIGXJ1FqrCCd{P>}ZZpjCKE6rFDw?De)FmKp z&*a|N>0bMDac1SKAXV@5U!z~Q^fHt`bnd|zm#K(&`-yl9iFnP3c>V6!&hlvoS;YCD zc_O3=qX?KRy@!U6F6(5>G(PKify9g;Nyw$b*I)VTa}9+r25+Hj%LF^XdnuA{s>u?f zBL;2+fnJth;r10`w1tP+^DJ)Tt?>mBB@B)W>Zf0gBwG+J*{SIBcG8qrP5ZzVaMglnMU)^&aDmieMRM=0fWx6RNYD$Ej+8Pv;C!_);KfXtv^S>bZ zZn-GQ_Oo9}LNY$<-qdztD8(zikxRUcb)KcNf~n#WO>2=clGfB3Hm%yWC7mGn_l#6L z?^7NL)_#r@tYH+qgm4>?99$5qw9ZfQp5*&mf9%JGJaYVlxz!`H7X6}Oj(gU*Pj8DY zuSBM$$ZKDGer^mQE@XT7=r3slp1EBZ&)p18C>O=DGRi6Cp1+DiY>%Se;FhiX+bdHR zy??cKthx>}y7hXkImMUI*NC)+Oi+eJEFNFy#$-5{QWuj-5U^ecS| zMd}08t>WiD8s3x8s1|(pd0?FtfW-*zAav{mYvE6mti@gVT|%2`>dkcWVLE||#X)_R zf9EHJB!mAi^OI4nE3>B-QAXWY9gSVsD`%U5J4f#1=>>?Rasili$co+V8Rw4sv}1)w zV0}WOK6?w#alu|`@PjK$QWSmBXUkEb&`9K3mmB_<^Z8>eFg~$rqQCN4LY*Pll zQv&B~<>tRNRFz9u(-s!2J;+N5WrL zH+rhBJfgJ~`)_gv%dj4e<35U}n{(33rH%>KV4})=(>DX=VFwpThNH$u}YZ+sEw z&lEfk$-AQ@RPCH*FW}m&4d&i!eP5+6+#j9nXr&R zat6z-LRaAry2$HG%g@L4U3_CM5;LkdYlYZ9w+1)mBRBI=`vo4PW>n4vZyjsXxoqic z(W0wCdY|q}Y%bH7=~jl0s`HD<5phfjTfTyte7Ntb6qugm0jZhWzBiOUQzn(nR*4qt zADn#Y!=1_Ya=qCDa@w*|%_Toaq@R4H0-t^)L}v2{MKLXE$%(lSBj6aioc}*gPqtN) zu44Y%^klj6V|vnL^PlNSBN#p=%u`PCH+~g?2U7Hp&}>3A@;{-OnTl0J+Gu5eYs_xN z)<7$1@`6x-L!NaE{TW zh2u&u$hw6Wj7jw2cQP-z4QJE5w2nmS`(LJInf8Z|3QMgeYfmX>l0kI6&XVp+6G`9J zqJ`2usHX$s__iRH@l_C4cygCiP7h#wG=mk9*LVsvJ7yk(y*H987BTT;b*vWyQC2DX zIHb1SVV#~q`xNY(`-& zPn~9}p%Wb3#KKnI-eHOR#=R(&15F&g@qZti`~vs&*Bw)2yUq?gA1=%~1FNkd z5l#9MUk@&tG)@*Xcj}vOIgTX6^}B!5)(}-{i^mRX(F#1o#-s#oz#R;%;tQ^Ns9gcT zkg|n@51+}?ybujwMgnJ_7DK@wvSFjtbNKud1`OKDg2c$wBS(u@Jp=0xyiXSFDuFLA zkd_`Vri@@@;if3Zf~k1?8g)u%X*UHy5!%RlS?E^wwBTU520Q}SUE`D`gn&ojX?!&Y z!!IswsjtccE_Z|H>p*w9hzSiZq>2kQ=y_Uc`cM%EC;sN&Ewc7Q0jB}(-(7!? zV||o(?LqOaiD`0wRW|+}>(mLGN3|iYx5VS7#g;kvce=k_?Y)g3jazM;4i}>qVib&! zdZtaiKh)q}4aRcCQ$?3N7=-TWJ(*C1ogr-ZuM@Y+&?Gko5ap681Vbe!Lw8J{motCBmzM3Ykfrs!XzK+6b<2k96}1E>8v_a68g+u&(<~dq z(CqV~`20=^ao#3CuY->SyZ5}(;*J!Qaa(H>u6gFX$k4S#p@xHzlqH%snizzIo?y|* z7Y;Hi!Gdnqj>vjq$2~vr7wL+zXNyBgcp9h7?3b`1cHzDTu^Be@Nd7iN9h=o&7*aJ; zAKN?B_ZPFnyplf?uYH-18&k|9S^l744spV~B>x``YqC0&ekqea9uqsZpOHAwtJ zAmKFnUwx!Y(0MN6aDu(Lwrd7q5WMX`12Ou zwsxDx@st*Q=SfAFr7l{i)Q6I zYA!Wrf>7o@q^#RCGJnANN%3i1Pw8kR1jTbmbt|TpSp?LP1;gc2c;X3UGa)hF+L$9q zIZ=-#;iy{gAs`p%@J+7)2yLP4*)Dw_NhA?LL3|2mubGW53LNCc z?ZR`H@EvOc63XCxmS!phu9a5p zfiR0q02PV3D*@MkTR<&A!$}!}h%GZPz66npi$fP}PT{%mhd2Zu= zHWaJ$Hb_w!FIqzPLCwf!K>QmL4*nAoViFXT0GKY89J+n-!b zZy-Ke0x#jTM3SaY;LLP4SakmkfT(n741vcE$GL-3LM622Eu<=9Hvzj?GW{_C0&6t+ zh}H~e`+=NInq$A#!5sqNRvovHf;++l)B|=H zbry!AY4+XAoXtOEn>KF{&IuCjbq2#vY%NRe@MaK~?x$K1kDyMY4%fn6MepQro#Qw@ zeY=5RxUAu}Nc^592PjvQ5NsG3!2(@~@k0FdfnVQ+7=&f+Pax&%tlWkNA98`*Sm7K5 z(1nMJq;FbtY@9L-7v|+pdo{tC8g>FaNH+=1WXuRicS}uV%o~Vz#GFw_PIAp}8kzB( z;DGl_3ZXuPzx7-yrX++vCeGM-7($OV!A3`Mo(72dI8}yn!Vxsg)%H6E5HteS%oR+a z=*A^AjJ6Y$8rz~|n{NSy06|E78eo>#qVyA#Mb=!XSsMe_&L3a&1m>PgX#T-9*g8mZ{JMgOpAjHL>Z=Xb^D72HvLHY7nQ zqeKlOj_=;)!24EH4Az?h8P;5d+KT}jwxsgmT&3x2>;ass3TR6}rdBPY5}`%{RlbOB z48(1ml(~P+)FY)LMF0Mi{?Wl`GKN7iLb-p23cL*tln3T0G9Po4u0^ObAZ?pmLH*dK zvX^O09%C!!a4BsAE$LEm92P!8FR`$2Fj;y>;DreJ`A)GmPgcuD zg_B;}h)mCN_nb5;I*zmlhgGc}*xxD~={-M&9_YlRNAtTcM42-!tQ={1<^kNo7Ijhs z{@bxs0&i)Wml_VCXq&d!t%omkIovG!25T#iwgP|Kx3scDb9K^3ne{w*-<^9n#q$>H zWsS~Wd;}j!E>OK>=sI)WH#G%H0vyzN1?eHWNoo6)?UgflIn?oI=w<#aPBgfX=05%@ z$qq2fEJ6pdbn>Qqs9iS@pPARnS#avez2GOmpC-UO`fg9+-ihxolr=`(Al%B`u0V+k77kK(TaxIqXZKnnc_wz?($4_7S??X6Z8UdCE8P zb-NbteIcGYJ^W#3`t@->)0ki}bF#lC3bkY3wSoo1IAE2E>Ekt4y+GM zrZtVlZF%KJ2b;7Es5Tsp307Z{4dx2RyXsHco7e(NqOkv==;g9T4nEknJRA2 zwjMlNnPsPD;lka8lHJzysPx{??z>v~4-!gTdow@P9s3*CxJ;ancftlDEfU#XEE|~8 zH?`+IduT&^z{S+)%TP%*Dn4z4YxlE6q%9&(uN%?dSbp7A|}LEL^f5*q?6- zi$i8DGVMs2YEm3>fqlyX_}z8+%w&qcIw8nT8Wb629ps9eAfvAyBGiD%qiDv$76D#7 ze_4HPv+7LuUY{$3TGOb1D^%PH)e7kYyI!FDSAx5Frh z!p1LR`N-?cnZCI?u7@B2^mbv6eJUzcIA0Xo1}poAhzOi-dn=RP9QRs+F0%^xs4CUu z@fX15q+1FYqE<83Zen2e+=uK;zsT(!NBeM0qtCkX&{_CD-gy?(PP=1;%$3SX@Ac6l z2Rd!1(d-YlOa@5YT27>m`+3g)u-&&4D@#GPOvMt4vjkCAMv6o$rit* zxxkc_N0tylWH{P@OoPB5&Vd|9AV(^994Amme^%rzEaz{$Kc^k$)G@!aoli@8d=a~=k!m=TzjvzzHR%zk)5}!GUN*k&si9R-NzWJqPbpnaD5b&1RoyA90dPU2 z-?Y>DY0TBidPKD`>gV}6R!i~#R?;fEx?DxEwQ}=fK7Bwc6eN#%wMNrE#)3%%xnpYl>7v^@f^BK%QRi_>ft!h{!07y_MBvw)?HJB0D-t%CW%n5p zC-S8a^W}54s;EP@(zQpQl*Y#m2ke)MW-F;P$Pk{{hi}mD8FRLw|CpozsOZdnz?)h{xl{?t? za?Xk555T3UD$SsGthb2o4$<(|&CF_Qn{8^Eb>bz=_K7U_GbI@ebaL#RE*ifnuGIa` zlti*;+Gx)W)nVD86=VI{z%q-+It#0HkX%?#p-hOkwM#1!by+w*8pl2`z*fD)^e_^q zja*j{uNz^VUdkRd$&YA*dfs#TRWQ3-+eofwMjq9%d|9Hj?Vh6j&zwR5ld1=I|H}5W z5tq)3VFPYOqcQ9p;X_6W*EBW-qYWpx?y;k1=t~-VEvuB6doE0mV|a7E>jZK|<%P~C z8u}V>p1%Knms%Op-ly`^5;AZpTyQN%^A-Dm-3zT{5J*@&`zWzY7}Lj~zxFz6$0zJ4 zoOJU1>7Z9HE^N{P?okB;0A!O^Q*7`4v{6#uCif8r-7CxM+7GPCH~L!oq2%+*?y@gm ztqjsX{}-?6k09m)z-z+(_aIfd(=bzKvo;8TH6beL{tIi0biO|CN$+>*NJ)Gw+V1@C znYkF(p+kXL)7e7JysgJdh5AABx1?eWP!ij%}MA+wOGKVRvlXw%xIu7O$HqAuD^HuvRR#fyt=$9VN-DWnAIV-$fX>Zz1cOF%-yp zU#w_6L#{A*f850JBV<2&2A^RGFzrXhuB9@GNVBA&@&qY>k3TTy3of*Xg9pf%M5$&s zP7!Jfk?k6kNv743Ln4I8YNe%7=8JZC<5{kYBOt&VMzcF)2W+k9i6^fcnQNYb(KT=L zjui{{rZ6g&7O2iHSg~QRtI#Q>4|sg0J(5HMs*#QUIwTBOJp4t>O?quh4LRk1%ZVok z@8OI5A?A!l|4Gd4N@>l%r-M+c6vuv{(AO=%_aUBhKu3wzU=jphXm9%OW~P_dX0p|n z@mz3RX<&M3;(T*cfF z;eD9ENkth;b1tn4!}+ovwf$IT=;&6j`Lns9fx7ICz@XE{)NY||^*F%r+q=^F+FLk8qG z)HNL4tdw#XsR=(;rVYc|d}vc55lAJEezBZGDjgTUF`MR5i~?1yzS+S!%>@vmtFL9_ z#@WrUb8Gf&dcEJjR}N5WD^CgaJ)yoqrDDdbbyUAnMBy!-4YXG9P!6_1#{E4x&G?te z={{tO${&JGV%B5kVcq^KV?mZ>ZjTc4zaZ#}o&PmKpINSn{O9P@c~!KK&ITHEEHsc0 z*=2a#`&U4_l`{}A5afn?)E*UQpika7it+9kK2S_AS6q51G>Jl9d6OffHb=o~EKuWr zxi$^{^zUm^m6DvtZQa1^@pU$t(DUiM(F5!K- z?@|G%0vm*lo)c6u$_*Fr1O*u3I5RM@l|7G{?GtP&cybd6p8_OJNA$fp zx9gFJ)Sal2bKd-4OMwYIb{sY$t*N?NVVVl=Dek{?-8wY#4Xn+-@%+Mr$-Y*|5IlC9 z6}T0bg~^&wQ%4x^+-2Y4zvJhY1k`OpGn|fl*E&U42P8f}P+B?PmMs!qldlDyt%!yX z_sz0*XmNWz+P?4I?6Fv#ZO8>rg~%8nwMra#y(q&yZi}S##|q28(05AXb!{!)7|6>0X5y0zkW{q1J z*fY5S)2rn_os1G4oKN%rutP<$`^OG7t~WohI^d^yIL*KAP!Sgu0UzG~FVszNhyPSJ z4S4>ashg_eo3KFxWlTN6WCMM&XsDzaBx3(#gv#ZVxN-sp*~$qXZaF3jOV?oZ!<=49 zRSBq;a#?!Wd+2Wq;+5p8OxU6DGT0Vr- zD~D^0r)9+vl3;$tJ<4D8GuSKq-5ErIA@h9Qp1Zh_nB1IXRjoDs&}Utl#b&s9l9XwxX(5JmNQhNrdAt8d&7KY|J=- zEUSK!4)BO7I#cPN-KyAcLOlXM?44E^q z`@iMn(f=JMw?B-SOeGW%qfwfa5d8n1mgk?UDaS6)3lPTUaDk@6dVl#p5T{AkO_HA%6s_7T-8JT zlQ()nzc2kVgd(X%x`8>K(HmfzDg?Buvl(${sEaVLH}&(cX=>G3&h+)aOj8Z6FA4n9 z$p1`JYkC0FRJ)!R{2kaq`qzqY^mxI(*+8|GtVKn)#zp1FuE`!V!rDZXlQ#gIU2&A? zaRpchRN}EVTuJ*m35%f%+16>)cYXV^j!^X-CG5~yomRA#x+R^G1={_jN`~#4?lp^v z;<$LOsv_m~klDwm=9=1H3rP=ytDfPa1!O+8I?T@9Y`}J4>HJLW<-cawCD##gsjrN7 z%jo0!`_Nept(~T~8Qb(t2{lLDO=-sG@^_e|=e2I*8RwJcH2~FwA!(g1buvfr?gj%v z?+s05QmqIm#h!_AlV%!67b5@Dtcr3DMVe|v0JVZ~Bu^+cX4U={d&`HtX(N&hMIS0o zFbzcY2`4zLCR9OwPHC3$n0+X{mg}2YV6tm)b$oc@FG>%r@(_b!iJP@rMe(!IvhB28 zNX(9}a;zUxCJh(Oxf`mY3D8Wgk-ScY=`^aM$B<^`RGp$uVEKaL!Zot^H7++{DaFIe zhDo@|3~|9kl%8kiHBgihMMh9P>5g+}hKmc2||L32OxyX4Y-+s#-F7ax7Q z%WR-8%Mw%g&vMRhtv&tU)lsVQqiNjiPvKyKjlZalUXMS7(-UZOUFro1k0QD9=B!){ z{;577M<0DuAIuh(vypkb=V-*wER7JRvlrNtvnW(%4$at#MbTtkb-ex#3(kuGu~aIRit9@iAQRg z^*%!=Tbj6Nxs<49=TS6SNf8d*$2LcMzZX=qr*-#{Vi@>@V0r;aL*impt4|MM7* zlEP|e@9J?&DtA$J%%<@JgYYvtS?olan@{4&^my9Vcv|&%8lRgl^wX6wr8%G#fyB6d z;w?9|Z4_UwnOI(qddY=m!=Q_-{>$wCx_e&1Ld&GG*Og~Go*!)R3RBBVQH9jTBv{yV zNxGDVVeyo0Ww?*Lw2k2O-0Xa{@R2gy&#{P!)~pmMT; z_8nDep+J~KpVBRkM3wKRWq5g<=h5p_R=#B-JB5+uv)0&DI(YHbxKT3Yn{Zw&Sg*-+r#b_mh zr>Xo&mVcK*W(KWaRYaSKHMB2xY!`B|n0VqYvak1wl4`f!X= zKt1W?h_4VH-(ttCKu~gK=SF|P{r$0J)+KUeuaZVjsU|vhH{t3`C%|GqK6f_XS*3;X zwqQ9tm3%RGqsWc*+3{7b!RuCHM+@KWlDz+Z<+v+HL**?$ytxV?9FxDueHredzHvj( zi-jrWbrZAeb2a7;(Y_AH9h7fG{I&wQHX`x{2BfGn*hmt6#_@liee=A(!MYBEf^;HK;@ zS3KT3$E|}y#HmGQeuU-OW#uKliA9t;#!(5k9c*lseoHuN{THa$&W|bd^!<@q!*ZiB z)vRBM)q=(m?6=_`E2s4zr*h|}Y6sUERh%xOFZF!ll^V0q$BQtW<@y_xnPNB3m#O}cL8`QzikNL8!H0<>@5v`fY= zU*K!E-`D;LQG{Xv?u;t1&lpaTEJiQ9%XNmX=CZj%aTc|YI)Kbj2ujr#u^%&n zXyZB2zf0j`_tj>d6jBJ1x?&Vfy<;lA-HDnYOo~7vsPXPD4{UKp(xPi1UPr$w-=|LG z-I!IK>n^)~@Pd1tb5B(Fc3+ASt6M1JKF+grDiFh(Ktj;)TzIRXc22#m;VhQ;_PRgA;x(1c1sWS?|eZQwjQ4yUg?(fKS$)w6SFxNsRO)o z+A^Iaa}4-;+i$O7PxGY@TsKW%FDEm zfAjD%>MKwU!DNh%e=#%|!j!I#-@nPemfblW1pdY(yM?K@w^Q%~N8S)%t;RoBemAbB)C1fvTSIx6*~G9u_*{m<0&$cMqfNlr-!IIqymR+R)!>$#cwHlv_dBH~-SKSYG%dO@$Q zK&-9DK3$Pkj=xQ5{(h@p3W5lNfKY64n>e+Hhi_RGESV*uOy^fFbCCb?Rm&PNj^Q%6 zMizL%dVOr1X3ZwzkRWu)a*Ciy%i3K+9e#2@$%BtF z5hOHJ?CZ!CShE0;2H|7lV8w=#TzY4VE9y88;I%+S(O^i8niP?A^_mVRHprx~?QxjK zm$2e{qbu_IwI1y3C8V{=m5VEcL3TNMCL?&{#omJgu!_^Q3|jf`+=B+xv@zb@dy?E^ zP7zNX$~x-aDui_$`4*S7_8<^Ek=9c%SrqdMJZTR>a%Q=y+2BoPQEjm z`jN$4+#h~bFKM~PhK|8{>N+Iueq=u*5{Y_TW)zi`Y-GUijCFh9DOde?4kg zlsZ4tw+GGJ+ms@QS%u7nhOefOfCbr0(&ajB9JWeAr)5|fT4 zJC%AtDk6(C_7<`0GJ^J_$Vh?Ks|^z^$eC*EHSi)wOG|GZ_{odqcrG|4Fe|;meaN{( zj=u}xJA{*F&)xA2BelBi)1w;ADkJ?OM&(6u_{?yNKkO%iyeq$M9%(GJWqk&!c2bS5 zxqu$!2a+8y5&@Sdz4PssnoLj6hOSf8!Jp`l(Xi7`hp&f={lhhIR}=8e2^<(kZEr!n z#z*&7>g|o`kAuqMIIrOkun-){dTFC_TrMoFtqz|HbEv>5f1)ko#QC|N?KSxcetI8& zf1wY>2M)}Wb0i2>v1|1r0TzOqR@rK@P`0w^M2e-sfK0vn$px9V^#o9whq+onOS z>$%DFkP`67da7&0OeV~Jc;VE4KQs@Lvy`XTk0)On7n>zR@af!~xQ#MbvjGLAy=YB? zAVl#7`aG{vGPTZ7`NXkPx8sa4Cdp<&helki5dxi~D5qh^N$M>?%tyS$p>#cReL*Vj zR>=eUCy1bWlW)_lYp<;%90Yq*cpKWuZQ2DakKzAn!zQrVW9L3Y1Q0tcf&V3TNRoyF zjMP1RXZRihvg#0kx)<@_jX+|*fICg>T0>}PTWbJ2^ejev`BkN4Jyl<|{`W{-TY2Ay z9S5vk)r1KOJ{M9*p2z^1<68?PR8G_I$Wj(ln={?14UvW0#VN8oX5G3xxRSMq{15~5 z$U>2eK%iX&|Ii**H7KFCF4v=@r?3KS^bg=KGEF zg72P?vp$X()BzhA?!_;N3&hOB2K)wV1KIkn66VAI8w)g4X~5$(+?D`!q86z4!XWCV=S z)nuqOVCBXTJyN9f&)kUyf~xo&9NNc>|xs96`y@{ zBw0IvlkNX@?M4WL7c~=s&p*Y&i7U+ zLdHN#3lhherM~e@h74w|xY#^+?v$wZCKxOv^M$q7(9W~A`90d#GKJKScl#opm{I>25n9jO+5LYm?ahYsq(O7FP<(B!k6hOrtDhO z6GWQ}Ct|{l|Eo=0d3Ivnmkqt)Juqc1=tD-Jdh=D5Pl;qezj8JS#6PMCa^xa8glUxe zOi++IgIC9o`rf&t$mY#}CAzr*d9^OK>~;88VT*8FXz;}AmFcfK|DTfIWGiHwF}6V;(zzOt0(%dR{cq)fANJ)>^2Dk zwt}9M9WX^F{sjWnyijeM3et;=>IVi^BRmIuYa;QN<$>(aAU*B}PPsq+Ang<`VoToa z@Ad?Lj{x-Y+WbZkz}fea{6^)Ev+qH=AiNOWimumOSP&;hrPg_h-SAAxjZDjyMvO2j zr`0)S+W5vJ*2gZHr%eaup69)shKZZEWaR2t8-Skxx?z)(BH<&6&=L<0S#|dvq29;& z7huW@9)MW_NFwO+H(->2m^jUGoDmKnU}YduD5N0Lw#J zQUU!R*@H|smPuPl(6RvUL{UR-d6hKWJTcy&Mh+e#&bRSo5*f*bZA~7ls z%jpPKPop9M7mdcNs_*<>zXAhZ!9ra+FP>sh%2BN+d_V)1FK|&Mel+4E#{N*V?q)SD z<+Gs7@;=3ch)0HAu($a^nHA-66LA%uI+J&W_@{bc_h*ZaztgxGQZp8Aw=$8Z=1xSJ zr-uK>1>p$~&^$(7kpH$lC@won|A`_v0WK}XT!0Ia+vlOu|aLss^k z{Eu=?VsXq!i;Fut?d1iuzcRX2c4|DRv+v#Jd>IB#x9E4x+4t}+G zU>QSjH(P3n%yhx$=p}t+5{QJIs-sOhl0?`*ZeSj0|7(lx^Vb%=lo2Fh?=_Ur(KxOQ zb4%8e7mV&%Afi^wAFxGtc@l`muPjAr5_`!ihrUH^{QG@TzhYeIN6f3;G&sFY%&TtU zGLRUSEiU^4usx6hJ!1iE4+)iiu;}HG1Xp>ViuzDGI|7_BE zlHExYRPu<4ynKW3^a1BL1iH6i(OWSWk}-kiV365RKsu=ex(#)Kv~cX18G&AA6Z}Ve zfG+w~0blYv)7AaaAzzc?wnFNC=!4R?a2ushz`d~U0KzZgDG8mt`sL&+={QP|Dlaa= zr3RhW+E9q!;Mqd39_n84*+acX(=5{9P@-P?tWX8~z4n_~Pi# zQMv^MN6WqT2|J0=b(>(xP+U#+Je3IH1}o>~3Bm6rDTfjYJ8%fFHd9Xw1UpIy`H=x+Ml9YKX5EJARb8B#&m|i1fTqv=;Y=pVvk_(dZv~_rTR6muvc5|^F`Rscw>#*XQ5Zrm2>E2P1+gZa>VUCx+ce?R!*^jU zsJuZrs(b@V%_kIM=Lpkf%hI9wS!W3&yXujtFOPmZr$l0JAZV#~raz}QqG7bVSAGI@ z%NMA@%d{Gfm+-2;?3#} z6)Qs9eU;lb-x#XrmrDxj4A>2++3R(Av5VBi<4h|zaaKwL-u4c7YTikjhT0jL z`#i>uVWy5gY}#q;M|SlI>XG5l>Kg;8lU+JDvZ>pK-t`yfi^;khDHo(B;Ixu_ewt0p8-h>A#^@3MBR z77T+w#3kqU`u4tz18(WRwMQ9Q8k~}A1S)orUATy_qCYaF9~3L0zf>Cesx$enS~e%p zU^dwi1o3=Aj|OwsFl%v6a7LhfdM3~?&B<}%h)||zl$mw`QBrq-l5wGh96j`zLT4+M zs*Eo(&CyQIjzBRfA^vSO<~`y)@BR9)pd&p~MV;w`95v$#Z8UP*xre4@AyVxr=1Sx( zp(lp^2U5-@^F8xxa9_!a$Ur41g#D~i3ne*gRLAR^)K+#HIoth$?X@VJV{7t>aDH9Ufb3Ocmr#H z&hS;DlvL=xC}7BI?2>stOpsT7L0#f<^S$YcL$dvPU%$nbO)E4^V0YVfuE3kSJrz|H zd^DNdih>f~5U%PoMVBQ+G15nM^R0^86&x$dS@F)!$q9L@3S|uSJJx8}ckoMa}I(iL_bKa!+*VQoQmk?F#=GEc#egi2Rh| zsf%(LBYW2df4cvuyc}cYaA5N2c}+)@^Ft-_@buLwiP*xBV+@`os1ytqK=z}hd|89VlIJY47pueW_Kl^a9`^Lpp& z4kVl$+hfjDdSJNQjJ`gHF?V<+01XWVp|;V-5e8&Op-0FKcj*Pr#JmrF&ut0x-&i5BeBo`f(rFHu}*q zG}8HSZJCP_PCPsj9yOEwZ%|~5ViEw~dAH5^tqG$N7)l%C(DpA-)L`2`1FAK0l68MzoW&j}?r>iJXntlj*`~AMlzpYvE+8lXq?O(w=17qVZ zQQm#ltJFMLvF!mF7#yT(R2EucUpL)grKR51Wq6A+) zxIPr}+)&qRrYJdWCx6Df{e(}?zlJLbrh-FUrh24Rl~d+Ug>pj^VaSPj1NVgVOG@tp z1#!2z?ZYr~TfS6{@H3xD4orHI%Qu8wlLL+j9gd>no z!=QD@kQm<3Tsm+Q?A;5Kw@Fa-JchdE*dwuqP`Jj_s$MSWZVXXeR&v9KyI}n?N=Yp_ zzI+5Q$prZ`$uutpOfnOsqP$ZvOf-qlMW%HO7H-MAC?MP(7y6MlZ6_gigv63!51Zw* z<9xs_<0YI;@L^5S*Oe}^t_BH}`2!*dqe?a(+-((W6!CCi!eoCRB`Xr6s7hN;tXfH_?Un|sR}MX0>3`PgJi zfcN~3j8s?ie%%#fe{3?*J~o*OTOXUu!)(`pHF^{xo4r5s0%tMw3lgk4p(vkn7#esw z%f>|xr6vssjXyO_KZ{J{$tH#2kXS0&f_<;U#=;PrXRqmA@|VJ1F5TV_e?jnU zQ^<$EVB6}6OU?uUDH+TiBSyh{4fhuaIpEXsxKB;ZcQApLMXSadzr+S14onro4<>y6 z@@pFj5jmW|XG7Nqo)Uu_xHFGttf0^S5>?rKKO{Bfd*GK8@KscF9vc5l0aav~E2A7~ zOu*pDI0}yGg~B;PfC63wy2%nr26UqFF;n zB}6}0V&B(9>hU?yA=UtXTf|%<|4hz@m|OL`c{9kU`JJ*WeLMWdc< z(NL2VQ0llismOr9V%T`wIu3}Lu>o3|xHZFn5DM(SB9y&ftKuO3%FhK5%U^hY{Ap>1 zDF7s)Rhi3wwKQ?>{BTV=AQ6vU-#hs=N=N(mp@gtJm@-@Q3EQP zM|q6^l>wU_<%cCy^urRGX#}u@w*O@b_4$V-)LH63ETI~3uCbH-q4V}iiIHcH1EPQn zo%-WKK_>r?-`#+iCXcqW#~_pvG{?ag-);+M_z<#>n5I}EEe9Z`shC+G_Yu?d6aR>5 zaumjW#56@8`=pL!T_8U^pwFD5Z$HDTdJ_BEwqXC zVejsq)PM<8dD|(%v_0FfOeVH1 zJr8>(5!zDCLD(MmAga*=3mk&`&O!@N(}cIxOH$VEzU^oxeuKB4SZxPL4Dd7>=t+*W zgC-dziIRVbf*&rSOFHC3SO+g->1zoFQrA#jf6)u1?xbR#OZp^n{U(ga%`&72YeU(P z0i5_sD7r)sD5+lXy#D$IkQfB7kiPu@NDQFW|9)SnS+dN0Af=U^Lz`&)@_L>f2@x4G zN>3kQUS#jrFtl<>i3I_07$tv%$0=|5?O-i!nMhD=em#IDG|f7y3!n*w3T0MqG(A3G zat!3aVva`R@9O>=mCpQyN>~1YO5LG^sGzqn>}Lc*pp_waii72eayz=V>eVRqw7>$X zVW2O+kOfjBLo+G@ECzw{KP>_<%K0-CD$Af5wFB}IOTNM?S5Wo<+L{@Xe8|J4ve8le zUB5qQYc-*c4LFP@?1>~S&@mWPYVarRctRa!M(+x^W&lfiGnM$DNDq3nfG-I+F)|iv z6|0Q$S|WGebVBK!xPGgS#5*}}_8}nQ{~R!4N$5xvvmY#2h9431K$l2wWzgHD?{w0` z2yLg}K6;~7lhnUBx;U0vX#F0WkcPx2Uw6CI8md01ODq>W$~x+nam{+05!>F8B7;X- zmlvvmlXwh663z1+CRLOsH5iotI&3_EqNTuh$r8M!?Jjn<87U3&4v!?Jk29E%zRuCK zzg!`|B3Tkmj={Z3-i)#JkZ>b;5)zZR!&7__xx2fJejUWxq|6q4K*h^?e3i?MdMiS7 z>1=Cz7OiQu*rH?o{mtRfv$nlgZN8bjxAyCm{4iW!Y$tg-=Mu^IOh!@*?WdhpFBfRi z3f4I0vgZak5Ba3K zcddwvs5r#_nzcjor!&hdC*lO*_{10VBdtv{E!5R5$jG&c-Z-#Pf<ne)I7hsQ5y04d?W|;Dxuttkbsp1t?c8hdHCv3!fk}IT%~q%&{3v1 zzZU}_NPwM`r2qDw0RZoOb#+hk_tfV^FLI!sRcf%|30`AK9awMa*SY|OtE$29&-u)2 z+KxeM!)kaM&l=u~Vhn@kT6MP}3?pL|Gfi#TLjHOpsk`68N=|RuU!y8s!a@wTN(Od2 zfRKqZzp6yhmX%Jhlb8?0miGwO}SCP7N&P(rgjzCNOcJrKoYSLV^AHp6UvT z%E@qm^}Q-dOq{w+vC*{I$WRHry?mr>J-6D*%NoC6&CPyf;-ykGZ|r~%^R-Rr_4N>4 zg*|v*h0!LiY@;v4%7%32;$G**4f%zvx*YEw#>P)e1zzFC=4(nu#*ju;c1Ip>xA9TG z>5(#gZwZ7+9;bfPZM`^Jdm(mB5lQ$JtrWFeo(IxO%|XtyXgF)ed8`(83rWr1BA!fU zWCPF6)9ey{TW|PlvRm)gUBTE*lt4!n{aoM)49cB>O45-^S8qXff_<{gh{+sJueUC^CouW6tQ&Gu9j zna7FS-<-Yqyt+_b7naQ0svpK3?`mr1T}@EiTo1X>+FIr~ld2&<<(zF6J(G?0G?rup z%Y4ybMybh8P9i^ecFaFtPHwlt@u<*fR`lqYQ^C$TZxCFkH!1JaxK$4aK1yjynH`zs z5mcfhDN868lsy)+OcX#MQcO@}#0*D4Jv2GO}xeY0laq6R^M(vk=+iXz! zb+K&r<6#%@y%aAB6fZ*?I60T0iRJ9gea7xNmj-k0;p-|sednbD+lh8H`Z)hn$2sFxH%W$-H9r8XzeY&oOn)fc3fyH<;l}3r)koMG#!(Vy%O^{VS4uMlaEYh z?PFS9wGl0WCh5?Y^ODD<&Z_+s9zVs`M@}&FG7U$So~V-+ZRQzjJ=ZAqp9oQ94S}1?%=Z$=rl!x$ZkdRWoRmo~$JcZ!s+k*%l|#E$cg@ z9mTXEe0!b%DeHSa!Ok(=FJE8Sdz-4BDYI=rtJqQoRYDHi(rDU3!?D3!eTH?Yn2Qa2 zGT1K_dL7G8d^kexr}NC+diCB~)?NsUIUaz!B=xkp-8&i`o-NjdQ}wvIe06Xpersi+ zat@|?key?iZLs+zWkG7ctDY5cXf1kRTqBI!VPE7r-62ET{*^VM+&aT#wt!-0g>`p0 z6=vThc-%$BRceA`u`G==xg)FO5#Ll#?nr*~*I}%Ohhr+*c(zgDNg^W^_0=)PiqI{J zg?|YKK4k@pCg&QYM$nikIChJv{%m()w zPW~7{X)TU9SRM4~tye-`q|J7&DOr+jovKssyFwn}yL#Cm{+L=_i~y_EEZXsA*%N9* zO2ZNKU`tJuBYXQOmFDJ8y0Ae$QS54W)SHoD=`?oB$Dw(7BBw<^7JAr(5UnfxWVyv?~i zn+Lm{)e5=PwGKf)y&_LbLDW@0mP3n>!*hl_r6bQve3-{KE#jd*@*%_g4&I{1CF7ZX z=|vfV@{}^>)Ym+f>p0~^a5aY49}5EKRGJ}{IS9(P$DxmT13yMe!e&js42#}h@%90p zmn_aqK&}&IdSnfg2Zt%v&XuE;tm#Z>UJ{PiSPst{RQ&2#5SqUBypqrxpDOJ=T|EC? zQbPTN@S2(81Hxx>JCDWL{l;hzFPNAkvSp(Sd<{uGq)*C1S-WUpw)o&S z8{nGQ=-<_(5W)*6)io}#@GjSSbt*g@dnTn2RR?UWiY8g-=2YKG$10bW#vVm{*tcJ- zP}%glN)AoKH>l{`RPggI057Rm=vR4{=@fQUdxGby@RR-ek+t6)oGPsc0e31VC@Byo zFx!F`r7nCu$B0shlbUbeU?~$>5EGm<>g;}WW%@BFdi5%HtZa!&swjh|1xiW!Lduyl z6YeEidVY~CEjl5NuQ1Q%3h3Afy)O3V$;sUJlAsU_jl=5LEj(Z`H0i}|ZU*HFoSej& znT+1$bT$SPldNMMjX%9I4bu36=KQlS7vH#+?P?;a?MH{mO%%+-ni4AbUJl0X)M$zG z)09T-&XkB$BrZtl78A2Zk^%2boOuHl<7dz$C`R<$YV-~<7+sN1O=;vJ-7#yteeK)* z(~BEorfN;I#eP*GD@(t_^Vd%H8D2{nYZE9Rk^2huj%|(}w5rad#oO+7P~XM`*IQRe zJ?psURm;>%=(n#$b8_~N59khaJ?&Bax9ygCjjn_pHpv`H074`s*jDe+_FJ_Rjoay) z=C=n7>h}mwPB6M3IOLv>sR2V=`FuS0i|5L26ZZ!Zz4*^V*}AMbV;r~pgX>C)m_3pp zY7zV^I&iy}dUsI#$n1>yU8;jP_oi)`=d3th^ned{#qK`V_dnxNj@RS($1-MHec9+2 zOSGyb!bd@+yq3!ilIPD%=b+O9#v1l$;!qa=)hHE)F<%?>uo|E#l>>Qh7`$y7o;8() z?`{kgBc|JnCh-dQOs`;`@2niK!&LUsfF~r!cG!C^&?*)FA*78n9 zxsgtB6S0#ldLqWY|7LVE;;bz<8hLzpjR<$0M+pT`G zHZ}azeOwh-3k7P^RGvlJ-}We;O`dK3PIKMqW-g1_6ul#6rkk4RfbVWpfBCjmgZ@_8{7layjK^tshaz*}G-D%qUh5@5<9R}F}8_@dm~0DUzcAe%Wp6wxg^}d#S`{TBTb> z>6%%07Q?+5^d|V)s?W8??H_VBC` zqY``-8R9eJZiG0AP0YzAwi%(%=AAJq-VnRZOWr}<$UpIFKy~@d-Wo8~A=H0XvM}0e zg!B`gH$@=OP)W#qVU+HLP7h&eu3Bq3IDx;!e6*LHz09qs`c3z_p{r`wUw?sDpHBpF z3+b*5!)x6kpTkwm4?Eb5QGl*J>mDYZ$Z>>2qXji0)F$@aTfz?N8=31tn^#xLyG|%^ zs?FUsn@N!R4xd5S>~N;4qGfvm)E?N7Jh<7t#)t zkrQloW5XtGPs%T$`SvW#@8&04ic7t><6lemOm2U7lf^Z{E+@(9Nr!W49O2&Jnwc7A zk4n}i2Yb$)1&?atF24@bAH3PJ89ttwUo#|}#DV;hZ>h4?z=bC@#(QV@9H^RCb zzXayqrtL~D5+LLA^=&p~H+p4d?|2vymObu#kfgpzMu!c}hpWdKL`TV*^wOtwV%?My zm27g1*_~3C*r`U4_m>m7$D2vy9sn+SciJmaX;KS@2~{KFv!%GCDtm0gH`67YCEzN54z%g%Fvu&ePsb{G1z(DZSwzTSV z&ol0{fh{e((2G7l#*5ANCe*qNQ#VN_!~ls67tHYwvQCZ(bRmdl5iI)Ibj@AQ0BXl& z0=evfyXI1)xS&_1Uvpg7DA?O0-}|DA*~}-AO=G4|h4+xf&_8)fBYnJ~P`0DDk%`cfS}NKBuU3 z$9vkh6;|}99S>o_GZtWEL`rH)PXV4_%QTBMIN^u^s8LBTiXboJNV^znMutro&5sBq znQ^c3l-(kC#{QJIPl0z;nUIPdRWS2HK+a2(%EOOyOsd6oD;lA7G&*anbGFo_265^& z`&fP|nzQ3Q+Gp5)Ca{KLb2SV}C?@U++B8a5RIE!HD0bD*&kso93(v6_&IqTMCKri3 z=Ae;3i=ZtR>dVY!4ErU1=qKz^wb(C8*hS;4ZBW8q_bsg^Vd!b@B_~!f)w^6_fP1M9 zTbKTPA!o)0Va49YyAf}9atw$@HV{Em}ws&C~Uu2Ay}Zusp64t98?0b+dl3w)vp zVX7Hpl<-bIW7IKYRCiCbn)Xw;v*|)%@>hIp68?zliDEF=)d;3{W7u?8N>agjmcTL0 zW?FXp?Y#D6wf7%C7*eY?KKJ=vYmV#&`EK2&VL^LRqhG0ELZ?v91R3%{{9eQ&(G6(C zdTNFpessjkuZc_HUBVn6J#DQaVr~{h$>AWJlfyDnosW19@I;I22x6>2=eSnIpXiW$ zehN5KKq9?lW^M1A8f~!uxfC{RX2_DDeYjTMKNT<2!J1$hpCEna-jhcQZ$jhy(0UsP zQPB9Qxv7iJ5G9*khe6Z6Q?!=uiPwfl&!5Ivq;RW*iFv@SoA5k{@S=YBD;_(__wUr| zX%as&T1n*6qP}I3&y?GGYA&yW3Y1bPWV^LH`3;`XD;CTiQq_0=e#0=K!d5)-CqeD7 zP}hjX7oQT`X|wo6*@U7oH;>>8g={*{xme>W1o-p*^)SN(>E9mTPkp~#uk1gqhj&tg zppWO1uwI+wt{Q)=Fhb*DO49Y;UfyvXhwB?f$6X4rIO*{R~X%B>^n5;OU3y2I@K~i%lT|C1cbXq zEh_vIE3*y@Cj`}hIr9;!A2S0u@&UoKJ^4;1v>OOYCh0C)H@hD_ZE0zG_8WS-da6V1 zYW=d~#*6Rurs0}7RAPYfRZnJE3^Y=0cUx@-Ho%(km;!^kx>2392U_zN4l40FSq3Fy?fcF*yb1BC->N zNqHLQU)b{5=p?<)#oGxOr;5kiW)wG{vD+o#j)Y9!ULeW*NK?2kf;c6)Obh}(l~Ju} z!i9Rt_EJoL9%-8B|MUD_3>!W5vKfx&s<9zl!ck*r$iq4`NzRBpo_bdF7pjSY5xfua zjFcwwqPmHnI?6Sh{cnADJcH3)R6FY8H{RDW`D;e}$ems~JY*Kxrq7&G3AOB(qPYn? zQ~fxjV40NWY0jopVUtYw>F{Cqrv4t}@p0*`VT~&s=W9W^<3+OPe;@b=lI;&J*g22r zCj4L2y=73HZG)|eySuvucXxLQ?(Xg`2@u@f-QC^Y-66O`2<~JydAq+p=gf4UJ~cHz z<_C2nRTK~P6zsj%wXT&W+Ma20i+zgS(HL?JA*XqHT5{+;1t@*wo6rGDAFJJwRvd2m z3;^%GTDXJ)9ri*J@x1bFD7`KZv}d2BV)n=C>(j4`lAP@%S>eR?RT={lW8nh{r=pCU zpE=pSoxB@Fh?m61Va|@r=l&Xz6asIfIdwLU#xjdgvM;#TTp$k2BPsJ-_urx58SJy5 z&pJz#1^QJ}zH7vF32~Jk+hy}`qW%8!HuI8^-wn-^@8K{q?^$J9kxwY%S&IoM+=zt)&&w@j& zkSj`LUP6IsCCFDwZVdlZ&A^flG|YnhX@mA;RWwG%8Jl7us^3!<%M6WIs2dbCw`pp2 zshFn6oAS^a+syam2F)M2ZciOZ!%0eQiUn?VvDis8z|{=wsikiTf+Wb4MZ4GHoG?j( z4r8^47=d11(l6NM^Cyo1c+H+u1F%z2X!u21z3=-jE;|FIOHOQK_Y*Qw<2EX#Y)1g+ z_iqnjSS(Hc#Ur)9FYpK=e@qQ`174qI>Fm4eGv|7FhjVpQ>2aHK~0M(G* z*PJ1&Czed1T94q(m2Ij=p*}#=4?NmZ6F6wjfN?Ofa)-6vp^mRYNH(SbTcYlxJd*nF zHIN)SFt^J*z0iGaCv-Q4?q=<~^Dx9d#%sm%O4sWp+)xITnxBcjA+7XETD7Gw5XtJn ziO1RwO7eP&&o#0%6JC0%hCC~CHrz!SS58|_VG{f}PHyp!AoN}7LLqjhT15v5p3k0AQZ8Pjz82FdE%nwM7}^$ zL#Q;PYtg}j9e#;(c~FHt4<<*~@dZKq;9175-%F`uk{DzDH)b~4yGtjb9l^7Dk zQ8R}6v*++2Kanh;EA9D{b1s@#@wVk6omfr3%^KUm<5W?6sBi@7MA~GB4HRuE=L0ZM zK#EOwd4<1h^O_z7V+L|F#nnSnpN5{5Rnzhqw%l{~AbhfsM8? zQO-^YYLK2a5=Z5t2?Ey5yxlYeS{-y8k1x1m%bc0-^fjd3wM39Ukgo^MU_I~R9y}$( zxmyxb$v6ddM2?&)1uhS6s`FF2lsZ6EUNtGLeiT?(0~|6?Ibp%R1S{_}K_S^Y6~TH+ zl9Y}>Gf*u6EzY$%F~T1Wl@h^EL@C{$DZ7#dQUFIATBFl1b8Dd3@YMYsF-ZZU@8yfj zn+1w!;~MPXVH#5F1aGe|@+@fy$n*jdp<)6k^F^u2fo?K*Sepx(Mml7eR+_KsS0ZF5 z!2ahA>)-v)uYmo}HqSmCYO?vWpNI}5+5t=d?Lr8HtzSS@PH?Jap(ZoY^4ocy4mHvI z89jKD#M1vkCB*WdO31h^_sL)960Xf_V(7H4G}#L-%)%j`Fe-W^pv|#QgY+P*4%j9D zgytEZE>RyY*z0##KpEXudZ%B#h^Pt}*0}u-IDm>9cA>f+Nzo)usl7B|!1$YO^a6?s zVgV??#IhW!gC?M2g7c9l`W=Xv+tr8_raw)XA|U`N86eJ9fRJ3L?JNE}18VR}psvC) z113zjj7(Ea3lXGHIjyQw0}Djxzp#=fjha9JSOImmVW$GrLm>JbcWAdP)s0CB1E<{3@+G=*rxf&{ee^v@Uqy2y>o$v}t`U54PQND#^O^)FD8j*n{<0!9OI~XTW`?_~%%GYst8Tdf-o!yX!r+t);_)4*Z)rzyYhy|8RPYxL8};W59%n zrKj%%*a1c0j?Hzz%?>nzhFJkM0!*&Tw~9wCmC%u+)#C5xeia7Jphuu4N2`zdsnqS5 z(5~{Y?nm|8*=8UfhmPZNo8xB%B!Ypg$YnyLb+I{oZN?BVQ!vIg>iBttId5u{Y&A#2 zudK~lZA?pX7;K9ie;(?hp9f$FG|8_(E|`obK*lHak6B!LrZA4qM*)a+PbE-*HsE#; z(u4+jT>cKXMh*_xDS)LjNcr3;(5Dqj``jtWDoC#>)wEtTu{SS+xG(y?p{9$B56Mkt zr~jj`FWPq_<=U<`a1)CHBh}%(raH6-6yK$V0rb*9V&!rIumfu70;eoVaS|ug-VCms zbqc7bxIwI~#O{t)j`Pl@?!wfLN3sESKs)`B2N9y`(M5E|t4exJ1xDi@B7O&u^C}2X z0Y+e5NjSm;7FF~9mHmIt6u2rD0%i(4y>tozGX;px@k%OE;r|NqX%7E5*{QBU{qSm ziP4R;cZ1Jk%+YN=qy4Uji9R)-{&w70AXV9 z2One1+=X(EPv2Q=>C~*7}cTNKK~;{#RI4%;d21#{#Q1R!S(M8E3 zE5sJ@D&zn*tTk`mh_8)!iKE+02t7gB00ATYOiQ|gLmSU?-rAYN@a`h`$s`3riMsuc6Hur8pi^Yi_1a%(3kMr3 z2RBJprX{~p_1|JTxV5U}?E>oM0ulbCeL$AWGv|+tK}NKkL?5%pJ3+?yNsrK)K#ZVYVy`_Py1n&Oks8L3Ya?5 z0^j?swcP9;*fX=WU!3k+3vWabD(-J+NAf#>du&e}%Y`-kEfq@KgE|k`JU(uUS<*aC z!X-5m?nS8q&k2Sbjv9&QLgZaGZnrjwDtn45J9YrL>-np|GKhSI{YoXZPg&zwxa>V_ z{&-Qd?M;eo>9f$k;S62>jx*p7ye6QVRK%@2b90qy zA)vT%E}pMl~89hbfaJ^WTo^Mx7Wq-{d4YEo`m_hH_`JWaJaOIxRp>HQ(y zLp-!g_iN*(6PkPeiTf%uFWS4?(s>b<=A zg8M>+WhdE`R})H<))WnamCNz`G3C#M^r7gGp8QfT@&5LaYq~M<<*a@3gUJj=EbVBv ze)rLqy&$OZ?6jtU{Ky*WBu48p$kUzj5#IT=?3(!&*^=WPMTRbqx!T}2OBK`=NQT1o zcK2h07+5#{<^3n#_ATIFMqWD;Usbl3Q57xlDi znRuwT=8@VBAT38ALsBOaljc%1TR5oJ+-|%P9O);yfDp2Z_9y&p#9$eZ&u0HS!9>{e z+A3jwnX8DMBRu*$9P8+!I|j07TXA* zGM*8h@vg;Ws2PG$4Si{Py7hf{%KC^a4w(TgOK3S>-Jr!@qDkIvkEz>N^TP(eku!THl+Bp;^dU?P5M1{0SQ2{x{25L*|BPV~VKn^81hbJ4_HawpqbG*0LtM zUo9wZs_No~#qEBIH+LPTOWIcj4l{cg6Sgezdr^fGa2VZLiAQE*GbQW5jN^Hk4O&zZ z%WU0+&S~EO-mXIH(6%G7a=wZAj62L#;L>}UwQ9J1VSTmu5iu-ir!VW_7#O5F^aC@e z(Uxfsv5dw#tZvUVL&GPKX%L|Yv6USX3T8YW9O>E4F6a6e`tt$%_4%xB7=rzhs(ytE z{m~HjGPWlkRSuT(_fh9$bK-SfU*($Hhd9C~e@eNjsMCKqjhh#np^R!H!>}P(Wm%5p zep=c*o!^ma1~duxkfn~?$v#)=RvHCKhg=Fv<3-(Z&Ko)i&I@*b;hY;+DlDDOjJ{m_eV5p} zqH<<{;&qKE(7%j7fP>M?NprGvY_-b1&(0UNpg4HNhz-K(!*#=fem`X>Ns-X3~d5B@U3f($PC}PiW+oW*s(0=i}7L<_g z3w7M4<&b_!B2ohAJ{ld{2jjJ4riXTF}8O%*Q9`jfko90Uy4T&tbkQs(|H$6Hoyd2k=Sl9PTQheG8j93(Q zHo65*1at5jC*5>+#^NK0qg=#%yU{0|yI*M|>!4`rpqeI1;?=5W7ZCN?lET0aQWDK3 z9Qmx766Od>Zqp_-nqC#GpFg_d-xSQKmt}|4vJm841q`Vl6t;U+D#IK-HI7)Cq!j%0 zTfZc*vSEyAkQv8i$B8jBK=u$Xuxu^Q%`U?Ih&*K~Hcu-)j@v-XP?~v2&8~`&X&WRZ zgm2)4OJC>GSot-%zTkgI18;YmJ*7}3XC1anj}ze|Fk`)H^F*605VhW{CbtOAP4a{1 zcf7`M7O!I*hG)xC&0)KSp~?5_z2qk?6+70`#F{86Wm z3c+EmZd^@5;Dq}ewpL>bI5Xekyscf|i1XQ7JJApMoXU?=U9~!Db-+%7p-KmKE)Awl zgxO)fb)%K%a+n(RS~gUnN@J$wfR?bmQ!)PPnPg;!FXuoICzlv_0>{@>KB zY;C*n*~!QJD~Lc-7so7(^dTymv9$cAI*%-@ut-BF&YnkEoNkBNHjiRJ? zeb4zBMArGs%}>KEPM$>{gqI}H+bzBKz!e(Z@`EN4E^noQDM^_p{R3E_q0JY zS1GlY-Q&^@>(mT)hoPGcKTaHlu7mm2&`JKxpE#u5Tj1MSzejkkDJ<@yBE59v>!22N ztT3wT7qzQ)WiPBI&#sCSGw2h~D7PkrP-*Y?&Ggt=H~Mdga9oQCRxb!4!}(DWNFemS(6KY&EIRG6lGxZ#LsvQ zyP4!fulbGR_+#G+3INxV7adafVtd!idiPtYvf!rs)?(Bl^1!Y_PE5kv9&gSnMBri< zED+W#@DSUclOrH3zS_zbq@+kou)N?MJPDrpvItYDv0#A_ zbFxSv-*0!i!CD61s)z~oI^5ZnYljeodw{r#usbE0J>i{fM5*JFB5PD^JS~Lnn zaEvG^W}r}VergAiB7tDEFq#QVs|$0!j}3_?ag!xG6F2%{At;{jxdSo&vhcmIN&KjhXogB2v$Xy?Cysc)X6;Nm*E! zH&#b4>T1|0ktX5#%4e8F7(M6r=sgs0U|4>?{D9EoW7%N_t+pj}xGr5a7ubm(Vg;=Z zrv%1!fR2*(=HVza>otYYQH0Pj&<{?dvS8VH8HUgiTiJkXEm!cS2d&;?#8nwc2VMb{ zzI%hz37Nzd6X6F7<9^l3JqmVEWk5lEe;ZW2e{xpq=G*u>ks*{Zw*r$aPLebMsh^aA zpCUmPF$}=Wh>*i73rmqlr9`JH2O#Zu$m2$>0yFTFmSk2sHwmsRWN=x7EBOdHdCTJ9 zSd8WX1^J5B#6y!{cwoba`Xm$bBqqz5)xyi6K8b@Ms&Ib<@5gByB#8Z<0>)W6d|&~Z z94A@KcGJC^y`nV7P3i_qxJ73+MO{ood+g<~pXLq4QVcN1OyZ|pxJ4#62CoA{{i%c+ zM3B?K)TpiIOFdIX++Dk!w`oJ z*&Xm!Au_rhFFZiR-^j^drbYi$jniYZ!CQniU6l*3WzSLP9`O{0nEDyBUyNC6h_Dzc z8}~(mvtV3cYcitty>H5@9*16`td989v?7j%#m9>K&qF8QE(;CTD`;nNa_&sIxc1V# z*Z5z-f4tnEh2@xvt?%m(_DRF7I)!VRuwhJTH1>n%(rR5UrqRzL!gWOiN_X^Qczx$( zpP%|s2Y=X{M}ASy9^=QK@xkBO?&RIIjHp}A$1pl~sGdj1KyffCW4B3(4SuojA!fLz zK$}R!;CzQf78hc6kOhPh#*7Org=o?%Nt6g1>AYx3~)X+G=go z8H3ObwlpXSYkQbAE*?LSwdTl`sHZ%YHS8UT(_~=Qh#bwZv1||PSGEHs_B^eo*>gt; ziuxLN@8YQQ2q_aB-WzP+`yR5Hb^A;liAuA5By4Y1Z;8uAg)vi%r&1Z`vok*0MXD#m z(9@SqiBA)LH{8ox){O8a6k-hyDF!$Z(m0tZvU3@;+16~?Q8QKasUIe=y3wo3$E;TR zyV1EtE}r6aq!viY8|*;ZDT-bB8cuXik1+rcLGd$>P^iQ~IcAl*+PP_aGHS}RN^t6- zR=rG$wS8DxMXItH&DR_H+g?Y-chUPE^>2}iI<8axSWyfO$)(qb0|BjC7OQO-b(vl7 z1h&8RN3TkTUqb==?Af-|U+#0ElrR5>qPmq-Kip1G2J*`>c^S44JY&%c}On6 zn24tl^s~6^9V0z8#vE*>>&Ytf2sn@0v+36MN*T=Q_Zc1cOUJyLJ+K!Ns<){nNX@1d zOnjBa?*iO`jlP;qwB*!In(HdD=oxdW|JLQJ+LUaHLoc3VF0Ol-H;u_0mYNiX%`xJR zI;?EY99FEdXmsyQl5m7ueBDmwxY(ZoGU>*s33y{vL>tm*cGY6HoS=B34~=rv?sj}t zzwllynX|WCOvA>h9_m%?zTVH**95JkNp<%drqsCExu?!T^7SuDA1E2_2o>4|%t`mlSdg!m(;dB2^+RGE(X?B)H$=A4oLF6lN<@Eyo`q41?9>)C}~DgdlU zq2%XYxT|UHo6&Afal*$ruy~Ln&Gd(zKI(OEHX}y7dyjq5VXWMF;kX&d2Z>m_07JRT zBpqylDux#iOivX+GPR!Q?y19@Y4~w6oaYUjRy}u}|M{{M7Ix{D>93Gq6P!yC{eA z^{_ieacT0kY<{n6V!QNvGbkZblQ#!3bqXHsZ(TPj)q~7MHqjx~F8YM~#cxR6eqNnc{@bl{xNZeY z&{X?M0=31F&blu-&v#RtA;Vmo2**f!l{t=#QGu3tlkvEA>wPvc3rj2ho#Wn83itSb z8poCn2~}4G(uUw8L)2Yg*7-V@s(AmDlyjud*c^H){;=k1UhRaQ`r6Xh?=~E&fp6#5 zO}{ZkVN^dnwVhd`ZyvEwzfk4>vETFOIp$B@FD>uO_bzt2KAMTN zTa$-YK0MkFS}Wy|yQ5_?IE&w-dRjJe|M)eAF`me?PE3vwXD)iW40pt-?6OgmW!?Sl z^m3^rg)zmZ{B|gelPTE7M<$?k-O^4IAbAUxtnghrFy6gA0A|*&yJr5{S?}^2zqJ0t zut68!X5aG1ph->5>aZthH9IypC`E`0b_p(>)mi%6@)IZc^3^ykTw?ht> zBFvHt?Z8jaTXQKWjnkwDh*^jKP0XsFza7@PC>pcLZ7Aw0in4t{z*eZ|Cc;Z>Cwo$# z@g^?mr=ZBWfotr4#o-h~Oh?j`aWQySf#tshuBz@CM#z6B)d+&O&i+3MHm*fG2%XVK zuT&d$_!1z>$jTvQZun&tf3jNzNp%Fw=Q85D&XNw}syfY;8$}j>vN=`|M5T zhu*3T2wOqFim;+rC!8T5HDP@z*2h=rvS`uT))dL(nEP#dh9H}GG=rGKENSEp;-5ND zXc(b}HCw)Sxm1g1mW^e)9@JJh$n-!dRp}D{gY6m*a|?pNb8};uyo28KFc3L{6Li{+ zTD?3(&uogsWc!=(eqY zlAEx8v5q4|qaYYBbvwl%R5BdZ`XqF=KML*^c}eE}d_es#fX-xWA_9_HuP6i{#yHs6 z|4#rNkMU1Hhvzn-E|L93`-i+p0@v^w@4o<@*>_)IrrFs44A8-Rit_{8dB?3|q;AP> zcqRe+z)$}O@>QWAFG>?kYbl-gN2qfNviVj*m0f0MQTvaBpHhu*PqmtMZO_j?kOFZnn7#{FaXYvQyU=b`w$u$pJdG?_Fn znQ96z7)Xf7ib%cf5CB2xy>%i8kOcxs)iJM<_8;gy+mBs|-`C}2S!--l2`zQ|LLI3k z=Q?#53j{IddWr#$TiXBsAmG^W#r>ZI9D=3_H4iZj&@hzQ`vnM0-Q#oYL>oBFtfzxU z1N@STbN>wyN4krV*gE?I?!V2W!JYH|HY?~=r;(%R`_?H+`tl+doG1mDMv(&oI69De~lZ~nb-fNaU(NC2(R@U zWmf1NRyu0jcQ)?<;^=F9Y4cG2DT>p0Thsr4Q8}v%W3EoV@-qRw+D5a{RA1Oy`?H1W zx+<-lnSqMeJn_PWQ^*B(Xl`}2d3U5e=+}V3eo_p4p{8`D(sqYAU|zkQ04l~G*VA`s z<2sg!L}qj2a@{FG{=am!UcjQoT`Pcp%sV4%t!#uP~ZTPP>1e#Kbi z*AwLT2ypH~oeLnM(b+`GvNki9Qopc1Hb*&^`;b5SNz4%JvdMVD#W8SvA3tu|-) zqn{Vs1Se5|X2VXf_|zcaQmPz@%#`H#Ia?ceQ{Ll9mFK~;B0uFMDk$YEEyD(J6zvUzLT2%~=8R6@J&6Si2s z<==3gTYLK%;XFw{a4sX?%G@giiGpS~;H*e1w3{C2MgxyzbeTh71Nv850QV^^0G1i@ zvtv+$oc~qnyo%^l_)fxWa5}w!7=9N(&PU1N224`Fg z)Dc?(0RWA?l&&#AuqwtK-yzOJ#2%Z?LQeG8z{w^5*T4xZ|7qaVcd~^X{IwUcR8=KO zZ%~o4M-8xVOn%xogbBa{Hd%bLU6rX`xmk6%mI0&>n~vj;Hlg=DHrw+XV2v5e#daSc zHTQBK7q$~QaY6vBqpQo`zCld*c{m&z=lFdH!o$A8V*JISD0RO4kCs|KB8t4`ognK) z4c~PDjVX!QRhUD2d;N_Y~{ML+xEu=dY=VbeCJ`04R=N+=l- z^J-nciDkeRODcQ<$GDdS`qaTN)BV-KAoCx{fPRgl{FjfT9?7Bq)5iftMmue=TV7Q# zv5LKCGAXL|1_t}8h4O%|)%rDK4*^Z5)hT1o2p}pxAh;n%Dx(V3pH+hVLTx}CTS4(P zIQ9b~V#BT|(ia`8nwDx1GzqI(l4?+c{6_`OSK?-Lz19y8wZ3Kmhl8FjTnVsmbp5q& zcrZUp(l$to34eeg@{Ae)c%GmkY+4VdT7aCj5|hjZ0OF{A|5UVgv!8tWHYz@S8^Aj; zO`l)d8XC;?D>GwzY?T690HutqJ0~9FcdP9=hwzJhOGRVu__i7>nN5k%6RuvLdTLN%$nb#2SDp&j@(jj7Uh{MXm&VRtPXle#d7eVCGW^e2f7U!lJd!tVNH zne@+ynoEqmBspG3A5s>c1S%!ndy3({NxY8tDxcl_9co1^e%(;ZM1!#@4{~yiDP&Z_ zRo4@Pspg$@8=UuZaKWAMd)lX?RT_(=z09LHBPn@!bUeqVV*YkG%uV*NF*1VpRrRnz zA%O~EIOTxgVkWI45Y<?qbPK^nP55F-jsA{%|HyO1`fY&EpiciDxo$q|%k-&Cb*za*7Cz)FF)kDoOlL zBpQC3QK_j&o@@AfOetSR8uD$&qds*A25V^%W`=URQN?FQ!tOEfRL)6%!rLQ7Eu>xEC^W<#>e z_Jn~`%>Ml_K-(-NRMQcL+&|VjiJx#(3Tb;WE^Vm9efV^u7eN$qQK#Z8P8nj}OQgAv(?KY`(=j=l2gJRmtl| zHK#~v^?Fb3^_C}Wmb0bC>XXA+EgK?eZN%BL^E!GzuTsfT5Hap!{e%iWmjkX#ad?or>3RD8yTcLKcBnMB=i#96fYn8U9b za`Rfb$fBzFtWZFma+2ZKF7_hG*jl%zji>2^r-=n;#la};3NEc0{tS9w_A3Ghol^q* zrVWAV_xt$@WreU`Pf~e5ib=MK%3i!GNsU?o+ysMe33DRIM-Z288)VmsglP`x;#44Z z6mnD=Zkg_GIRy(ApHZn*a6RLx@tqCjPE8I?R zDS#GVQGmbSfXU#S3tr|v-b7Ff2A=g(PE^Ce~CIe1DoIn)y z)eB>!O5fuzyo0XCMWg<8iN~x{&Zs{@P${pj`eS6nWM1ePEo}HxIl^TV|$fqpz9W=g5 zINpU;akIM$9U!wio{^@w{tmF39}n<(K&J}(6I7bpK@0;WC@MU3as~`!133BGbsakX zKLp}lScWM39xSuf)MM_fleskuxg^A%>__&c&dXLJ)+L70k(S(VI61mRtxMzs*V9!e_E^_Wgq4=pICdrsF<})H0sbGAxktPhW8{&v=a-1o- z;BJ4L9?&C}B|OlGa@-&E`yCOu7ML^lt8)Jm%y<4H(;bF~CzyjRA=X#_F2HM=?OfRK z^iJw4IbWkv4WZt?D*DHb=_$EghvU4B)^Q_sK1Z_8p;cFEcin~h@*?_?6+8d*J&#Twy!?9{o+bSzXugo zU&H$a&1kL;J?*q{`>_}<`t&qJIodrJUEIFnAFKYNjf>Q;z`-OQCWz`?AMcV*Rh~0I6Ud6K>wa%W+%}2EH@f)}%4pdU2S?)D{rs zo@=&zA?jUxy3)Z_fYn_suP;SdFFP;plsfoc>g6k*oJaA_+Fe{V+;t|r2Q$W{Z20JC ze3K`Aszl$t2%0$aM$*U@2zC#+63h>TmOC+`>~hoM?m+i}e6KSMkIdHw#$(MrEppj$ zXgkJJ4@MbXq97+g3AQoR7MIxE01s|?9S<%huE{8`X7b%Zot&=ai%C?WcTk}_7QT@m#|;F0kUU>5{k(K$0#RdDC@VX6qr_W{=Uie4P)6<<%<)3c4Cm zj)Y!Ti#Kwz1p8(Y zhiUQD@EvIK{lLsc-4hBTjc(^*QmaLax5Fvb4g?~8`Px;46iR2Fi&~%h9+>x%z*-#8 zrte95E0lJEhRiroClfZrV43cGS1O^MJyRJ|g04lQ&JRPf`+DZGif=08d)kH>bJ*vu zX;*>&J*8^X;s~Jt9EYy^u+dMx_d`LIpm-rm0(W}=FlZU`1 ztH$;4=EC8~#mZ4=aVjt6j&9=0oJ7b`U*!UGJ%~F8;h9HD$rFg_)9xilU7B3l444Td zaCeJZd%izw#LSG@a3>r$HEZV&I1=7b1DN5AL=HdaDap6zF!$mlsG^|~BJ3YtKUxWh zM(|hsoxA2`7(S|HydZsB$#q6w zrCQj8xy!bn0Z=)V=#31^;l7 zdN`;=q6etDloryd9|PgXwbQJXfOhK}&vVMJkcOBZy-aPNsq9$+4AppOnjM&@F*+v* zqc#??Csr9q49eJ4i|!N)NmeL~iN1}SS1QuIH}Xg`dKi1;aH~m3nMmz^r?Yp)%A)=R zz?0$DnelT(f9d@1=L#ebFoy9h2&ce?0gkMjJk?Tp1JURW{kby)H@HGK-jUzeKCrxB zd*aOD0N`w{8T`bR(bI$-RmVhBm%$oGoe0G#*(GeDOaWXR>YcsJFVYJgq+aObt2a$_ z;^Iggr_KD$XJW!psv|jD8&s)N%<5f=-#4V8s>Any-|(2x%*_9pp=2B z*UOv|BXJ)fET|hfRbPqmSX5Z?mr!py*DQR@;lX6Y0x`oLSd^eh&Tl1!;`4rY2|-Y} zB4~V57>S%Qm~vVTWl9_?G(!{_{z(>{XsX;mQN1A1(k-L+SnM|ROQzOIW|O2nrXfW! zy?j;)ZOou#Jwy1&^(QKq?pV+!lCH@t;@-7fs(ea94ITE2`&|q3BqcyI&hc1goSUr3 zT~^kR{~pFcQg9Hjs$aqIBv1Ttpm`IIHK5wbeZ7ClAbdZA67QKzj^UVj|I=46xj_0O zJE4(S;F{`OQ^_b$iVx8d(e=9&UzZdtGGW#EhrDCM#f>NKK5+cN7=x4D0Evn>Yb*aG zmmSRRT=CGi$6&bzq%e!$;-mKx^W1;RZYMTwa|Al+e%oW;Y6)rR8Vjn`NW-WjoAhRm$5e)dV-}AANpAyjbRbY}qG?(jF52{kZ-m-P`c5nz6DzMSdJfS~G24%== zAjMjZu0ARJ5;w#|XUU?an0EN2?(5C`-1>@`sNgJxof@w=)XI=xb-LeHA;Ma9zqP&t z4dP;ME=Y!CV+15@K{F?NcNLN8+uJ7K+#xTLLLyLcZ|qXFjAPFC@i|FEd>DG z8Dp#f0i|$W&}jDEprCPTLqgh$hcqcSo5RDZc?=5TbMV7@jKFIEC4okz3rtZ^rM5&5$c^S| zHb$CV{gIJqd%=OH(F_6$v0zY3@8iyX!{<6{f{YidZXx=(s}freg(t~_h%)Sg8P-HP z)a5~Z=vZyzzOw=T+c45km#KP3LnRy=eAumAAH{k4TD&ZWm<|X;u{B|vCkUoQld^#- z7=-Ns;u&~J#!#@!>#>^#xPIHgU=4oiiO6|@Xwg)2xdz0_}`YENy@YOD*<-6Z^iw|ax$&YuiIUuv&so-zW`OrSU zrB-`$cCh-4VB0FLsN99VouBS_5xMJo*Nq5(pc^DuTX@%S&&saL1^LK2H|i@CSicB- z_tE^IVV z_k=7#e$9ERO6J{)j_|vQ9{)2@pI=_WhSuziI$f+hUxIN=$9qaUB7c@W5d0JHXT<4Z zNE7fU#{#$4mlLbKn{e_R%o?l}^K+k$9|=LKo!AMv#60^qe=J2UWj*B)^`bh|09y3!WL7^T=dDLH7GyiV@Y zxL__XY2tLZm0?A#LBIsAU?1S=GaY^{EpX86G;!lM;z?kzz#2hpS)(c^wpt|2s?t4a zsMd&wMw{n`nP{=nEUOhH#arEndLM!+9brT)kFqZX{e>$?v*@$EG!Tli{x`TF8U$mC z?Dy=GWi1H`w#@57j^uconx(n3Qeuk0R1v)fvYb62%wIqQopvWBiDs?NgTXaSMjKm! zW#3e1h4ScmA=&kTf$hHu@)S#!^`hUvg;2#${AV4Gq%JKvyA;;I88$Oa)3odKfpBmxPz z*@!Oz=vv={U1Jq#eySINp$JchxJGuup-2ZaQIQ8Atz-8X6r-Wc-z*`{#?b|+R{G&y zoV7StY(q4^TyD057&A=BiU*&U!#n6UO{}Qmp0!&YAN9c7e883v?p%}*o8iniVj(SG zJSY~UA!A$_Vww28``ddvY9W9yOo;{z z`=nhk+TptQa=2~0fY)MLfLv-9NX>^tHNaq*EpUSiRD9b9)paY37A%F))d&W{pUgfp@>NN) z8rVSQwiw#M5*Wxu;8>v-G~i@1Y<3jU42D?~49rmI<=%!#u<#yam35!nVKs${>_K^q z@m89sRE(g`$Bc>SNz|>{r<)$==}BJSnp#ZO2_7ONtIsU3-^{#LND+@S`Ju7OkaPv8 z_MPM=64v4d1*D#=T*OEQhUl+r9H$558zA%`Yh6VL(vf!htRkoM_PghmmaQ2echN!lb4^hP-`vOH{tM3c$IqE%#+ zFrj12ZZ1^Bn+WmS`$4fE=?5L&1wyKU|s4fJXqJ`QDm<`iOm)kJ{ z9OHZ_kSAP7(eoKCqny2V;pp^B(zRV^v^wdw>;wQ+K0pfq4M2$H!WP z^B{fTN)qSpJP_o1g5a(^FCceOY~9OUlLQG`eWS$e2xu)K`5^-bV^m23A&U-~)}Vne zS<*1w=a(w9J{1TlyQO*8#p~6Zn4O2q14&SgG#TBQRf0RJ!xX`XJ z3*sz0+Dl>>=e%@Ry3p9usu6S#=#+~dIIOlJH&|u_dNUgYlOCATp$-I-|8N~4bYTb+ zS6e$zr}rzvw+cmi1E!Q-RVvJSbfBBbJI{GJp|vHUfg)pgR|N_9luSbc#hxe04Q^kc zBWE0|EPkK{o+SQtoD*9>^ua%Go5jE0Aw>9jIGpYW0HP1@&* zlU9~Rcnv^GVP1+`Z#FO4Jy$Fmuh%Q)llX2H7oMqut@Ad*Rk@Xq0F?dB2hmH652#bi znbic-1&GmoW-35eR3!GdNRkQ+!NDAFGJJ@dxBT@yEA+;tvCuaWGqKvNk%bb6NTw61!re4jhwK)(WG~8wRB| z9NRh-SoyZEh>#1Q9ZzjVYtaM2d^Loy1=z#@{VL~u4Ph6B(s;V@~HN~&L zZy~L}r@{MWiRuf`0W6B8G=#UNFIZYEu)Fn?{0Pt=b?v|V1QucqzA~FJh(pYmq|UFz zaRVpoa0>aq(8n$fA>7|TcVZGT5NF5|5Xuw9p7$59BT#_4CzT{c)e?Kv0{lHt;3+vg zEmj!mlwvS-d}{dof_oBMdq8{It)i8K6O?IDsUI|y+$mrqifcR56*BK(<$v%IN6gZ1 z-+;OKpef{;;q)OIW~JPBciyEk60@{gPNGe==_?~c6cVBltR zJeF`(oSt4EmO>t>nxpWKgSs3k0#7I?+SeZ?P4r3;RWg0%pdm+ouIX%#?A`9t)q*%N zrtKpFoWi?W%^>wTd1l3=NEX@EkyRk~qST_%0SP`$#AxC#`LJ4$%#>1IE~oQ$*R(Hc zTFgI&!1N>6sZ*Zq{0GmziO%fh16!oQ=&m$IJ7%GcMHheDRn^(oxSjIhXc!aMPb?JR zNaN&1g@RP)aLyM1XXbpFYGp}jK1!8!&!}MLzC%S5t!urm*COtNl5%Q)uOLtn(21=0 z0C!Oi8@^DXp8+n&es#R7?V-^@u_s2M_oECeNnbsqL(Q75cU3qp!ysAbvMF`%^bGnb zBHA=NsocKcZog6!SjkeGt4&dBYZefE!tDzavL|6EOUFxU6+N)P^d^Kg1E%>PKa9bQ ztuYY{Cn!m9ZHd)(F&1mYTzz5Z5Y}opX`TkJ z+qhnYSI`YPQpbJ>U00wyPPM60O|>jzgKJFjBf4Z&pW{CAsRs>#!6HLK)X>6H2~k;2>`Mq@4P zvz#Fqm;=BjjU07sCw759wQ&yDo=dfSo#R43v`v4O<=2c+%`KxA%K*IzkT4j}`^DeG zRh_4g7ur-=S2||m+y%V_g~U8iw%$RC25%j;TrVuH$mn-1`PKrM{LdqW3mXuRmOr_e z;usau7+)s3q$e)nxzLjsrw_&U%Tx|nI6B-7nU4aHg=@`~h(tBd`b2*NC`-f0O8B2G z?>e+^$!}{s7%aT>$eJuf*SS-~7BV-RhE-D&l-k2$5aP9-hpQOj!uY*(vD3!wD;ehj zMnjIrin>I`5pTVDhjGr>E%#GaBBGB%B}mjOKFi$)lX=JWwn6q?vYjb(EfgFyJk>8r z<;QeoEX&@JzG;US_c2fV+j#9U0ER;w)LAuXiZp%av6(gIS*;bJraetRXONhR&ea1Y zW@Em{;olc~4b);|9&ZRbX-D^oa3rk`9X3yzE728W5sx#eU@oQ%HeKKAP{q}Fzi=Wm z3H>|5fte)xL^#vzb3*FjhwP!`+o!G`{&}m9rd^j&r@;1Wc5fVqr;E!wW|}`wqrBcH z2|ix+Pb+ISd6#Tv@Z0l2+OEgX9AB37Uv-mi5uR-=dT(maDApIC0H)eqL{tBOxnpU5 zk9&$68=rqrPO<0ULuKDH8O$5!QC{`N-OE*Sf>b6|?gdtv&JJFL_-^%jU%|YX$^pA{0uYGh}-j8;Ml-AoR&^ z89y{eHu0XEuNl@6zY}c}k zW%RNnkv9A}ig3Ld&KOf$DBHy-iD|spi6Hbu7hF3C0;RVIT6WUSvJw^v-s44`r?N!D zd3!Ug@rW~^4@2^{H|*r>Up&1jMCYNN&xpE^NxOz9lh31Snm%w`2ECnPPC&}PJ?X-E zEyJ5Qx71+LzL0YRA!MX^_&EHCC$jf_w;J*Aj|z1W*bYw+C|lz{oCA2)TI}ev`k?mZ zDtwdcaVW9T@*9~ul=Ex!gy0MprM)iB4#&lJc`OJY$+6od;{iRcH_bc&aH;&1OL%6+AWz0dkSqlBtg6&~#+)HV@~_De z3ca5wM@;#DLpg0T#MFUxNmB`>9Dh-cbgb~)zoVQOfg{MPM{?Ps(UHYOxHq0>?JozY zfMM3Om$|VDG6y;HlX5e!orqz|7UPJ;6WGqL!<<(O{(ni19mBag(o3Dca;C`-QLx1G zbx7m!5|v9XDV%H6sM-r)vSM2376eCbs?g0s8eW_MHKaDVG!ymlRV>74Trtm>8&9+x zL!Yg06ED?~f9!idI*{$(Vgz08zaAzv9SV5;Y8!}l#(W5YPdkh0;^Fz&KXDKHbp-Q8 zhBN6fkmEuwi77I&N}{f=c3ae6BhqPPLZ9noZ7JKxWI?G6?a z66BTO<8Bk90}PH`?%?TCw70nVF7@0Q5Xw!}_lv0NK%?Ctz&{58$%qYOFwW;z?8ZIy z^Ml3{ch=**_a|5;^O?9m@v0_wX|DQM{@x>hN;<_WYD0c(9+uaNJo z3?%PFF$@SUqXZhk4DQ|1=CY#<$bo6ZBRRGjHy+4eR3aZ{uHbS7cWGiftZq=m2Dj7RsdLf@WN82e=2Mr#RO{_j& zbbKbop@>P44LeW_!K1@?2DmR1)5~IWA({r@w2IrnK6AXUW7%woz`k|bxasiWAYYpM z*dd*p$Bml9x*MR2jUvynz*sRVNljKKwfPIUK}XdLdJM4P5_wfrgdn##SKuUF*z-Y9 zx=V5g2+w&Xv1U8sD30i$30AhPU_vMd(Q(71new`q&1Qk1mF}6n1YIK-yEEU0Zj;$rG=<)#hk1BJCv0L zL}tZovXLNgPN*-Xu>WmR!(36@nb$tvUg~1Yhqq?vqQcSfvJ%GkUeExPrX#ZIHt%CP zaV0i9R9BXEe8<{a__6zOD3B*#^i&#lX&Y>#GY4(!Aal|CHd=K%B{Af2iD-z)Hi46* zzpi(FJDzs9SXHHuxo@|GMn$)zy3zBa|DD3Kj7*_vH#e(2@A{**y!hk?e8BmdKVXLS zwq(F%6dm8ith*+z_0Tq_=>@6{_od8Nr?DNj9)61-7fyE*@xalS4P*`Wb9$8kDu{HQ zb8nsVW(bucJIm|({}JAhZl);`$6A<4i>4-5vS4jNZRYfgXtPF?@QGZ9Tz_l_4NZmhF98QtR(}L1;^7)F|K$cJxVi*`ekx zjW~KyF&{FEfd3c--Q1eZw_2 zYb}Ki=dUL0G=yO&_wz{|c-VI+wq$}TCjcFSrSOz2;tOhSMgh4XhW{f7b}OmgErzlK z`kRZeFH%||2K;CMts91}ru#a0@4+6TN7b_k`5b8W!pYbaU^pB?# z$fIG5ZfdnIc&EG7mU$ac?KdZDU7wmH6Y{)X$9ah6%9VWp&v66@^lvsH*gpbh5pC~h zkyzk=Xu&~QIJr@Ng@O9<6zkiXOAUsu!IgmewL4$MClp3rq(JJrhR+pwQmgt?tE&>`=EzQ-r{IUz9N=s&ofMpF&Bup-X0}*TCxEO zwBdk%pg6?I{7Qxu@QX)L+EJ*G$0|G^dsE>YvScm*vbD$fdGOK$8laThs%6tb!U$Np zTX^Uex?q`tM;aQCPcDboGIacfT)!SjyW$HPtTk~TB~=>eGQ8zTHepo=P|BGpfauaz ztlfJXLZkVC!yE*cgAdLoqM3shDQYVh!>0>dNdcx;VfYdy0Mo1TGG!1i(!^)fX4}dZ zAWcQx0Wx*aI^}>(i^L8PA0%L9s2hwgkV|qky#-p(jY+A6=0-0UKkO#ZZ@Q0QQ90bmm4TF9Yb4H%3%E-Q|dH&WWio*^dEgG#?`h>%dY zYQJ~M4&hIXGSFj(1+FDT7Rff3Ki(xgVVy}5h{-c74n~LFedxZ+F-$6Ii!x~0-Y&szhv16SgxKvaFH$iJY2Z{eBcTo2F@Cf=AkkVeE8)g*ln2=0(0kxcO%fCveDmt* z~`U-kLErXkDH@o*v@TKO+EiaBfYAv-t_=;!N#-GKU>B|CMgbDes}iC#}e zSz~Y{C?1M4Vc(X)P$%B-FODT4YdCTY#_bb*D`YQ7?xPDqh?SnmN}gzB$LhW#ELowH zY&t*ECUB#S5pbRUaWrFfKe!}Q)z2G72Skm@2%g2joWJ>&BuIQ21~qACL1xQPV2tqm zpa-<@5ACxaKA(XWg#)S^Xa+jqS5`w{8trtm^=&o+qT%!Yu&zC_!{^hncIp2ru0#%4 zKrX%(5?TFu?}DMw%J=k|Xb-8! zuykJ~$CN)pW1P|a!~Yuo;eYGopZt%0AO8w1I3BH^;YiU9TBTc*u#Q|gF!~h&wrN?C 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%0Ab~^c5Bzi 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

    Xv?=e#0}#cwNbyVn0JAfH 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®MgcMxQ^Pb)m>%BmG5%sz|9O}r$~ukzrn%7eZ-m` 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.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 diff --git a/index.html b/index.html index 01d220c3..89d57be6 100644 --- a/index.html +++ b/index.html @@ -534,6 +534,9 @@

    + @@ -791,6 +794,24 @@ + + + + + + @@ -1462,7 +1483,7 @@

    Type definitions

    `qI7P_k-p@2IVyH*zodg#OdEcw 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�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%0A+mg%9j-=8-{BeSnM&By0KI2xQCO=$ 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 %oUCj48xSOtQJ|3eOy;Yt^EV^S&B^X+b| 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

    diff --git a/license.html b/license.html index 0a707c52..8603ea67 100644 --- a/license.html +++ b/license.html @@ -538,6 +538,9 @@ + @@ -795,6 +798,24 @@ + + + + + + @@ -1309,7 +1330,7 @@
    diff --git a/readme.html b/readme.html index 333ae588..2be9cd32 100644 --- a/readme.html +++ b/readme.html @@ -538,6 +538,9 @@ + @@ -795,6 +798,24 @@ + + + + + + @@ -1466,7 +1487,7 @@

    Type definitions

    diff --git a/search.json b/search.json index ea24c5f4..3bcac7f8 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:9Geometria6AABB2Da":{"name":"AABB2D","abstract":"

    Represents a 2D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB2Fa":{"name":"AABB2F","abstract":"

    Represents a 2D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB2ia":{"name":"AABB2i","abstract":"

    Represents a 2D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB2a":{"name":"AABB2","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Circle2Da":{"name":"Circle2D","abstract":"

    Represents a 2D circle with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Circle2Fa":{"name":"Circle2F","abstract":"

    Represents a 2D circle with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Circle2a":{"name":"Circle2","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Da":{"name":"CircleArc2D","abstract":"

    Represents a 2D arc of a circle with double-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Fa":{"name":"CircleArc2F","abstract":"

    Represents a 2D arc of a circle with single-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria16DirectionalRay2Da":{"name":"DirectionalRay2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay2Fa":{"name":"DirectionalRay2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay2a":{"name":"DirectionalRay2","abstract":"

    Typealias for DirectionalRay<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria12EdgeInsets2Da":{"name":"EdgeInsets2D","abstract":"

    Represents a 2D edge inset with double-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2Fa":{"name":"EdgeInsets2F","abstract":"

    Represents a 2D edge inset with single-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2ia":{"name":"EdgeInsets2i","abstract":"

    Represents a 2D edge inset with integer parameters.

    "},"Typealiases.html#/s:9Geometria9Ellipse2Da":{"name":"Ellipse2D","abstract":"

    Represents a 2D ellipse as a double-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2Fa":{"name":"Ellipse2F","abstract":"

    Represents a 2D ellipse as a single-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2ia":{"name":"Ellipse2i","abstract":"

    Represents a 2D ellipse as a integer center with X and Y radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse2a":{"name":"Ellipse2","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane2Da":{"name":"Hyperplane2D","abstract":"

    Represents a 2D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane2Fa":{"name":"Hyperplane2F","abstract":"

    Represents a 2D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector2FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line2Da":{"name":"Line2D","abstract":"

    Represents a 2D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2Fa":{"name":"Line2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2ia":{"name":"Line2i","abstract":"

    Represents a 2D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line2a":{"name":"Line2","abstract":"

    Typealias for Line<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LinePolygon2Da":{"name":"LinePolygon2D","abstract":"

    Represents a 2D polygon as a series of connected double-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2Fa":{"name":"LinePolygon2F","abstract":"

    Represents a 2D polygon as a series of connected single-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2ia":{"name":"LinePolygon2i","abstract":"

    Represents a 2D polygon as a series of connected integer 2D vertices.

    "},"Typealiases.html#/s:9Geometria12LinePolygon2a":{"name":"LinePolygon2","abstract":"

    Typealias for LinePolygon<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment2Da":{"name":"LineSegment2D","abstract":"

    Represents a 2D line segment as a pair of double-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2Fa":{"name":"LineSegment2F","abstract":"

    Represents a 2D line segment as a pair of single-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2ia":{"name":"LineSegment2i","abstract":"

    Represents a 2D line segment as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment2a":{"name":"LineSegment2","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria18PointNormalPlane2Da":{"name":"PointNormalPlane2D","abstract":"

    Represents a 2D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane2Fa":{"name":"PointNormalPlane2F","abstract":"

    Represents a 2D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria5Ray2Da":{"name":"Ray2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2Fa":{"name":"Ray2F","abstract":"

    Represents a 2D ray as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2ia":{"name":"Ray2i","abstract":"

    Represents a 2D ray as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray2a":{"name":"Ray2","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Da":{"name":"Rectangle2D","abstract":"

    Represents a double-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Fa":{"name":"Rectangle2F","abstract":"

    Represents a single-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2ia":{"name":"Rectangle2i","abstract":"

    Represents an integer 2D rectangle.

    "},"Typealiases.html#/s:9Geometria10Rectangle2a":{"name":"Rectangle2","abstract":"

    Typealias for NRectangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria16RoundRectangle2Da":{"name":"RoundRectangle2D","abstract":"

    Represents a 2D rounded rectangle with double-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2Fa":{"name":"RoundRectangle2F","abstract":"

    Represents a 2D rounded rectangle with single-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2ia":{"name":"RoundRectangle2i","abstract":"

    Represents a 2D rounded rectangle with integer bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria15RoundRectangle2a":{"name":"RoundRectangle2","abstract":"

    Represents a 2D rounded rectangle with rectangular bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria8Square2Da":{"name":"Square2D","abstract":"

    Represents a double-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2Fa":{"name":"Square2F","abstract":"

    Represents a single-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2ia":{"name":"Square2i","abstract":"

    Represents an integer 2D square.

    "},"Typealiases.html#/s:9Geometria7Square2a":{"name":"Square2","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria9Stadium2Da":{"name":"Stadium2D","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2Fa":{"name":"Stadium2F","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2ia":{"name":"Stadium2i","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria8Stadium2a":{"name":"Stadium2","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria10Triangle2Da":{"name":"Triangle2D","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2Fa":{"name":"Triangle2F","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2ia":{"name":"Triangle2i","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle2a":{"name":"Triangle2","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Vector2Da":{"name":"Vector2D","abstract":"

    Represents a 2D point with two double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2Fa":{"name":"Vector2F","abstract":"

    Represents a 2D point with two single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2ia":{"name":"Vector2i","abstract":"

    Represents a 2D point with two Int components

    "},"Typealiases.html#/s:9Geometria6AABB3Da":{"name":"AABB3D","abstract":"

    Represents a 3D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB3Fa":{"name":"AABB3F","abstract":"

    Represents a 3D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB3ia":{"name":"AABB3i","abstract":"

    Represents a 3D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB3a":{"name":"AABB3","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria9Capsule3Da":{"name":"Capsule3D","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3Fa":{"name":"Capsule3F","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3ia":{"name":"Capsule3i","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria8Capsule3a":{"name":"Capsule3","abstract":"

    Typealias for NCapsule<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria6Cube3Da":{"name":"Cube3D","abstract":"

    Represents a double-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3Fa":{"name":"Cube3F","abstract":"

    Represents a single-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3ia":{"name":"Cube3i","abstract":"

    Represents an integer 3D cube.

    "},"Typealiases.html#/s:9Geometria5Cube3a":{"name":"Cube3","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria10Cylinder3Da":{"name":"Cylinder3D","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3Fa":{"name":"Cylinder3F","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3ia":{"name":"Cylinder3i","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria16DirectionalRay3Da":{"name":"DirectionalRay3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay3Fa":{"name":"DirectionalRay3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay3a":{"name":"DirectionalRay3","abstract":"

    Typealias for DirectionalRay3<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria9Ellipse3Da":{"name":"Ellipse3D","abstract":"

    Represents a 3D ellipse as a double-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3Fa":{"name":"Ellipse3F","abstract":"

    Represents a 3D ellipse as a single-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3ia":{"name":"Ellipse3i","abstract":"

    Represents a 3D ellipse as a integer center with X, Y, and Z radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse3a":{"name":"Ellipse3","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane3Da":{"name":"Hyperplane3D","abstract":"

    Represents a 3D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane3Fa":{"name":"Hyperplane3F","abstract":"

    Represents a 3D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line3Da":{"name":"Line3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3Fa":{"name":"Line3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3ia":{"name":"Line3i","abstract":"

    Represents a 3D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line3a":{"name":"Line3","abstract":"

    Typealias for Line<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment3Da":{"name":"LineSegment3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3Fa":{"name":"LineSegment3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3ia":{"name":"LineSegment3i","abstract":"

    Represents a 3D line as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment3a":{"name":"LineSegment3","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria18PointNormalPlane3Da":{"name":"PointNormalPlane3D","abstract":"

    Represents a 3D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane3Fa":{"name":"PointNormalPlane3F","abstract":"

    Represents a 3D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Da":{"name":"ProjectivePointNormalPlane3D","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Fa":{"name":"ProjectivePointNormalPlane3F","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria5Ray3Da":{"name":"Ray3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3Fa":{"name":"Ray3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3ia":{"name":"Ray3i","abstract":"

    Represents a 3D line as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray3a":{"name":"Ray3","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria16RotationMatrix3Da":{"name":"RotationMatrix3D","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria16RotationMatrix3Fa":{"name":"RotationMatrix3F","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria15RotationMatrix3a":{"name":"RotationMatrix3","abstract":"

    Describes a 3-dimensional rotation matrix.

    "},"Typealiases.html#/s:9Geometria8Sphere3Da":{"name":"Sphere3D","abstract":"

    Represents a 3D sphere with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Sphere3Fa":{"name":"Sphere3F","abstract":"

    Represents a 3D sphere with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Sphere3a":{"name":"Sphere3","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria7Torus3Da":{"name":"Torus3D","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria7Torus3Fa":{"name":"Torus3F","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria10Triangle3Da":{"name":"Triangle3D","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3Fa":{"name":"Triangle3F","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3ia":{"name":"Triangle3i","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle3a":{"name":"Triangle3","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria8Vector3Da":{"name":"Vector3D","abstract":"

    Represents a 3D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3Fa":{"name":"Vector3F","abstract":"

    Represents a 3D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3ia":{"name":"Vector3i","abstract":"

    Represents a 3D point with three Int components

    "},"Typealiases.html#/s:9Geometria12Hyperplane4Da":{"name":"Hyperplane4D","abstract":"

    Represents a 4D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane4Fa":{"name":"Hyperplane4F","abstract":"

    Represents a 4D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane4a":{"name":"Hyperplane4","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector4FloatingPoint.

    "},"Typealiases.html#/s:9Geometria8Vector4Da":{"name":"Vector4D","abstract":"

    Represents a 4D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4Fa":{"name":"Vector4F","abstract":"

    Represents a 4D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4ia":{"name":"Vector4i","abstract":"

    Represents a 4D point with three Int components

    "},"Typealiases.html#/s:9Geometria10Matrix3x2Da":{"name":"Matrix3x2D","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 4x4 identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1mx_xxxt_x_xxxtx_xxxtx_xxxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 4x4 tuple.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r0x_xxxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r1x_xxxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r2x_xxxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r3x_xxxtvp":{"name":"r3","abstract":"

    The fourth row of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c0x_xxxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c1x_xxxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c2x_xxxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c3x_xxxtvp":{"name":"c3","abstract":"

    The fourth column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r0VecAA7Vector4VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r1VecAA7Vector4VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r2VecAA7Vector4VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r3VecAA7Vector4VyxGvp":{"name":"r3Vec","abstract":"

    Gets the fourth row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c0VecAA7Vector4VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c1VecAA7Vector4VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c2VecAA7Vector4VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c3VecAA7Vector4VyxGvp":{"name":"c3Vec","abstract":"

    Gets the fourth column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGx_xxxt_x_xxxtx_xxxtx_xxxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGqd___qd__qd__qd__t_tc6ScalarQyd__RszAA11Vector4TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector4 values as the values","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_xxxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector4FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector3FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix4x4 that is a transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScale1x1y1zACyxGx_xxtFZ":{"name":"makeScale(x:y:z:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScaleyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeXRotationyACyxGxFZ":{"name":"makeXRotation(_:)","abstract":"

    Creates an X rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeYRotationyACyxGxFZ":{"name":"makeYRotation(_:)","abstract":"

    Creates an Y rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeZRotationyACyxGxFZ":{"name":"makeZRotation(_:)","abstract":"

    Creates a Z rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslation1x1y1zACyxGx_xxtFZ":{"name":"makeTranslation(x:y:z:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslationyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix4x4"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 3x3 identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1mx_xxt_x_xxtx_xxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 3x3 tuple.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r0x_xxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r1x_xxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r2x_xxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c0x_xxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c1x_xxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c2x_xxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r0VecAA7Vector3VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r1VecAA7Vector3VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r2VecAA7Vector3VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c0VecAA7Vector3VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c1VecAA7Vector3VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c2VecAA7Vector3VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGx_xxt_x_xxtx_xxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGqd___qd__qd__t_tc6ScalarQyd__RszAA11Vector3TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector3Type values as the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_xxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector2FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix3x3 that is a transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScale1x1yACyxGx_xtFZ":{"name":"make2DScale(x:y:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScaleyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14make2DRotationyACyxGxFZ":{"name":"make2DRotation(_:)","abstract":"

    Creates a rotation matrix that when applied to a 2-dimensional vector,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslation1x1yACyxGx_xtFZ":{"name":"make2DTranslation(x:y:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslationyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V31make3DSkewSymmetricCrossProduct_11orientationACyxGqd___AA12Orientation3Ot6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"make3DSkewSymmetricCrossProduct(_:orientation:)","abstract":"

    Creates a skew-symmetric cross product matrix for a given vector.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6Vectora":{"name":"Vector","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Gets the identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m11xvp":{"name":"m11","abstract":"

    Element (1,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m12xvp":{"name":"m12","abstract":"

    Element (1,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m21xvp":{"name":"m21","abstract":"

    Element (2,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m22xvp":{"name":"m22","abstract":"

    Element (2,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m31xvp":{"name":"m31","abstract":"

    Element (3,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m32xvp":{"name":"m32","abstract":"

    Element (3,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row1SayxGvp":{"name":"row1","abstract":"

    Gets the first row in the matrix; that is M11 and M12.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row2SayxGvp":{"name":"row2","abstract":"

    Gets the second row in the matrix; that is M21 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row3SayxGvp":{"name":"row3","abstract":"

    Gets the third row in the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column1SayxGvp":{"name":"column1","abstract":"

    Gets the first column in the matrix; that is M11, M21, and M31.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column2SayxGvp":{"name":"column2","abstract":"

    Gets the second column in the matrix; that is M12, M22, and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V17translationVectorAA7Vector2VyxGvp":{"name":"translationVector","abstract":"

    Gets the translation of the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11scaleVectorAA7Vector2VyxGvp":{"name":"scaleVector","abstract":"

    Gets the scale of the matrix; that is M11 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V10isIdentitySbvp":{"name":"isIdentity","abstract":"

    Gets a value indicating whether this instance is an identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5indexxSi_tcip":{"name":"subscript(index:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6column3rowxSi_Sitcip":{"name":"subscript(column:row:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5valueACyxGx_tcfc":{"name":"init(value:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m113m123m213m223m313m32ACyxGx_xxxxxtcfc":{"name":"init(m11:m12:m21:m22:m31:m32:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6valuesACyxGSayxG_tcfc":{"name":"init(values:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7toArraySayxGyF":{"name":"toArray()","abstract":"

    Creates an array containing the elements of the matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11determinantxyF":{"name":"determinant()","abstract":"

    Calculates the determinant of this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8invertedACyxGyF":{"name":"inverted()","abstract":"

    Calculates the inverse of this matrix instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3addyACyxGAE_AEtFZ":{"name":"add(_:_:)","abstract":"

    Determines the sum of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8subtractyACyxGAE_AEtFZ":{"name":"subtract(_:_:)","abstract":"

    Determines the difference between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_xtFZ":{"name":"multiply(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_AEtFZ":{"name":"multiply(_:_:)","abstract":"

    Determines the product of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_xtFZ":{"name":"divide(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_AEtFZ":{"name":"divide(_:_:)","abstract":"

    Determines the quotient of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6negateyACyxGAEFZ":{"name":"negate(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4lerp5start3end6amountACyxGAH_AHxtFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGAA7Vector2VyxG_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1yACyxGx_xtFZ":{"name":"scaling(x:y:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGx_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that uniformly scales along both axes.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1y6centerACyxGx_xAA7Vector2VyxGtFZ":{"name":"scaling(x:y:center:)","abstract":"

    Creates a matrix that is scaling from a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGx_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGAA5AngleVyxG_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGx_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGAA5AngleVyxG_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translationyACyxGAA7Vector2VyxGFZ":{"name":"translation(_:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translation1x1yACyxGx_xtFZ":{"name":"translation(x:y:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xxxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xAA5AngleVyxGxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointAA7Vector2VyxGACyxG_AItFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointqd__ACyxG_qd__t6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4skew6angleX0D1YACyxGx_xtFZ":{"name":"skew(angleX:angleY:)","abstract":"

    Creates a skew matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6invertyACyxGAEFZ":{"name":"invert(_:)","abstract":"

    Calculates the inverse of the specified matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1popyACyxGAEFZ":{"name":"+(_:)","abstract":"

    Assert a matrix (return it unchanged).

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Multiplies two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","abstract":"

    Divides two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyAA10NRectangleVyqd__GAG6ScalarAA10VectorTypePQyd__RszAA07Vector2G0Rd__AA0F8AdditiveRd__AA0F10ComparableRd__lF":{"name":"transform(_:)","abstract":"

    Transforms a given rectangle’s bounds using this transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyqd__qd__6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(_:)","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transform6pointsSayqd__GAF_t6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(points:)","parent_name":"Matrix3x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 2x2 identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1mx_xt_x_xttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 2x2 tuple.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r0x_xtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r1x_xtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c0x_xtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c1x_xtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r0VecAA7Vector2VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r1VecAA7Vector2VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c0VecAA7Vector2VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c1VecAA7Vector2VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGx_xt_x_xtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGqd___qd__t_tc6ScalarQyd__RszAA11Vector2TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector2Type values as the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_xt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix2x2 that is a transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix2x2"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2waAEvp":{"name":"wa","abstract":"

    Normalized weight of vertex a.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wbAEvp":{"name":"wb","abstract":"

    Normalized weight of vertex b.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wcAEvp":{"name":"wc","abstract":"

    Normalized weight of vertex c.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wa2wb2wcAGyx_GAE_A2Etcfc":{"name":"init(wa:wb:wc:)","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesVAAs18AdditiveArithmeticAERQrlE4zeroAGyx_GvpZ":{"name":"zero","abstract":"

    Returns zerod-out barycentric coordinates.

    ","parent_name":"Coordinates"},"Structs/Triangle.html#/s:9Geometria8TriangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1axvp":{"name":"a","abstract":"

    The first point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1bxvp":{"name":"b","abstract":"

    The second point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1cxvp":{"name":"c","abstract":"

    The third point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1a1b1cACyxGx_xxtcfc":{"name":"init(a:b:c:)","parent_name":"Triangle"},"Structs/Triangle/Coordinates.html":{"name":"Coordinates","abstract":"

    Defines the normalized barycentric coordinates for a Triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineABAA11LineSegmentVyxGvp":{"name":"lineAB","abstract":"

    Returns a line segment for the edge between the points a -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineACAA11LineSegmentVyxGvp":{"name":"lineAC","abstract":"

    Returns a line segment for the edge between the points a -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBCAA11LineSegmentVyxGvp":{"name":"lineBC","abstract":"

    Returns a line segment for the edge between the points b -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBAAA11LineSegmentVyxGvp":{"name":"lineBA","abstract":"

    Returns a line segment for the edge between the points b -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCAAA11LineSegmentVyxGvp":{"name":"lineCA","abstract":"

    Returns a line segment for the edge between the points c -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCBAA11LineSegmentVyxGvp":{"name":"lineCB","abstract":"

    Returns a line segment for the edge between the points c -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A20VectorMultiplicativeRzrlE14projectToWorldyxAcASQ6ScalarRpzrlE11CoordinatesVyx_GF":{"name":"projectToWorld(_:)","abstract":"

    Projects the given barycentric coordinates back into world space.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Returns the geometric center of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A19VectorFloatingPointRzrlE4area6ScalarQzvp":{"name":"area","abstract":"

    Returns the positive area of this triangle.

    ","parent_name":"Triangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangleAA0C0VyxGvp":{"name":"rectangle","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6radiusxvp":{"name":"radius","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangle6radiusACyxGAA0C0VyxG_xtcfc":{"name":"init(rectangle:radius:)","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this round rectangle’s","parent_name":"RoundNRectangle"},"Structs/Ray.html#/s:9Geometria3RayV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from start passes through before","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5start1bACyxGx_xtcfc":{"name":"init(start:b:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV6asLineAA0D0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this ray, where line.a matches","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE013asDirectionalB0AA0gB0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where ray.start","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive projected scalars (ray)

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"Ray"},"Structs/LineCategory.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11isOpenStartSbvp":{"name":"isOpenStart","abstract":"

    Returns whether the start of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV9isOpenEndSbvp":{"name":"isOpenEnd","abstract":"

    Returns whether the end of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:SY8rawValuexSg03RawB0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV4lineACvpZ":{"name":"line","abstract":"

    Category for a geometric line that define an infinite line.

    ","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV3rayACvpZ":{"name":"ray","abstract":"

    Category for a geometric ray line which has a starting","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11lineSegmentACvpZ":{"name":"lineSegment","abstract":"

    Category for a line segment that define a closed interval with a start","parent_name":"LineCategory"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValuexvp":{"name":"wrappedValue","abstract":"

    Gets or sets the underlying vector value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if the underlying vector is a non-zero value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValueACyxGx_tcfc":{"name":"init(wrappedValue:)","abstract":"

    Creates a new UnitVector with a given starting value.

    ","parent_name":"UnitVector"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneVyACyxGqd__c6VectorQyd__RszAA0D4TypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV02asbC0AA0bC0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormalPlane"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5pointxvp":{"name":"point","abstract":"

    A point on the surface of an object.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6normalxvp":{"name":"normal","abstract":"

    The surface normal of the shape at the point point.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV7asPlaneAA0bcE0VyxGvp":{"name":"asPlane","abstract":"

    Returns a PointNormalPlane value initialized with this point normal’s","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormal that wraps the given plane object.

    ","parent_name":"PointNormal"},"Structs/NSquare.html#/s:9Geometria7NSquareV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8locationxvp":{"name":"location","abstract":"

    The location of this box, corresponding to the minimal coordinate of the","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV10sideLength6ScalarQzvp":{"name":"sideLength","abstract":"

    The length of the side edges of this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns a rectangle with the same boundaries as this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8location10sideLengthACyxGx_6ScalarQztcfc":{"name":"init(location:sideLength:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Returns the span of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE8verticesSayxGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given vector is contained within the bounds of this","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NSquare with position .zero and side length 1.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns whether a given line intersects with this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSquare"},"Structs/NSphere.html#/s:9Geometria7NSphereV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6centerxvp":{"name":"center","abstract":"

    The center point of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6center6radiusACyxGx_6ScalarQztcfc":{"name":"init(center:radius:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV11asEllipsoidAA0D0VyxGvp":{"name":"asEllipsoid","abstract":"

    Returns an ellipsoid with the same center point and radius parameters as","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVAAs18AdditiveArithmetic6ScalarRpzrlE8expanded2byACyxGAF_tF":{"name":"expanded(by:)","abstract":"

    Returns a new N-Sphere with the same center point as self, but with","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Retunrs an NSphere with center .zero and radius 1.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzSL6ScalarRpzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if this N-sphere’s area contains a given point by checking","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this sphere’s surface to vector.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this N-sphere’s area intersects the given line type.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"NSphere"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8locationxvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV4sizexvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a NRectangle with the location + size of a rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxGx_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxG6ScalarQz_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns an empty rectangle

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this rectangle is zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimumxvp":{"name":"minimum","abstract":"

    Minimum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7maximumxvp":{"name":"maximum","abstract":"

    Maximum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6asAABBAA0F0VyxGvp":{"name":"asAABB","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an empty NRectangle instance.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NRectangle instance out of the given minimum and maximum","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if size >= .zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2ofACyxGxd_tcfc":{"name":"init(of:)","abstract":"

    Initializes a NRectangle containing the minimum area capable of containing","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a NRectangle out of a set of points, expanding to the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given point.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given set of","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given NRectangle rests completely inside the boundaries","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this NRectangle intersects the given NRectangle instance.","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit this","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit two","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NRectangle with location .zero and size .one.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE8scaledBy6vectorACyxGx_tF":{"name":"scaledBy(vector:)","abstract":"

    Returns a NRectangle with the same position as this NRectangle, with its","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this NRectangle’s area intersects the given line type.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NRectangle"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5startxvp":{"name":"start","abstract":"

    Gets the starting point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV3endxvp":{"name":"end","abstract":"

    Gets the end point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this capsule.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13startAsSphereAA7NSphereVyxGvp":{"name":"startAsSphere","abstract":"

    Returns the NSphere that represents the top- or start, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV11endAsSphereAA7NSphereVyxGvp":{"name":"endAsSphere","abstract":"

    Returns the NSphere that represents the bottom- or end, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVAAs18AdditiveArithmetic6ScalarRpzSLAFRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this N-capsule’s parameters produce a valid, non-empty","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal bounds capable of fully containing this N-capsule’s","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this N-capsule’s surface to vector.

    ","parent_name":"NCapsule"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV6Scalara":{"name":"Scalar","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5startxvp":{"name":"start","abstract":"

    The bounded start of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV3endxvp":{"name":"end","abstract":"

    The bounded end of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1axvp":{"name":"a","abstract":"

    Alias for start.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1bxvp":{"name":"b","abstract":"

    Alias for b.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5start3endACyxGx_xtcfc":{"name":"init(start:end:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV02asB0AA0B0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5asRayAA0E0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV8reversedACyxGvp":{"name":"reversed","abstract":"

    Returns a new line segment that has the start and end points of this","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A16VectorComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this line segment’s","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A20VectorMultiplicativeRzrlE13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the squared length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Gets the center point of this line segment.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE16asDirectionalRayAA0hI0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for projected scalars (0-1), which describes a","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineSegment"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV6Scalara":{"name":"Scalar","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesSayxGvp":{"name":"vertices","abstract":"

    A sequence of vertices that describe sequential lines connected at the","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVACyxGycfc":{"name":"init()","abstract":"

    Initializes a LinePolygon with empty vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesACyxGSayxG_tcfc":{"name":"init(vertices:)","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV9addVertexyyxF":{"name":"addVertex(_:)","abstract":"

    Adds a new vertex at the end of this polygon’s vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV7reverseyyF":{"name":"reverse()","abstract":"

    Reverses the order of the vertices within this line polygon.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8reversedACyxGyF":{"name":"reversed()","abstract":"

    Returns a new line polygon where the vertices are the reversed list of","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV12lineSegmentsSayAA0B7SegmentVyxGGyF":{"name":"lineSegments()","abstract":"

    Returns a list of line segments that represent the outlines of this line","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A14VectorAdditiveRzAA0D10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing all points from this","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7averagexvp":{"name":"average","abstract":"

    Returns a vector with the coordinates of the arithmetic mean of all","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point within the lines represented by self to point.

    ","parent_name":"LinePolygon"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5enteryAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"enter(_:)","abstract":"

    Represents an intersection that crosses to within the boundaries","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O4exityAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"exit(_:)","abstract":"

    Represents an intersection that crosses to the outside of the","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5pointyAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"point(_:)","abstract":"

    Represents an intersection that is non-directional.

    ","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O11pointNormalAA05PointE0VyxGvp":{"name":"pointNormal","abstract":"

    Gets the point normal associated with this intersection

    ","parent_name":"Intersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContainedSbvp":{"name":"isContained","abstract":"

    A flag that is set to true if the line the shape was tested against is","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV13intersectionsSayAC0C0Oyx_GGvp":{"name":"intersections","abstract":"

    A list of intersections that where returned by a LineIntersectableType.

    ","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContained13intersectionsACyxGSb_SayAC0C0Oyx_GGtcfc":{"name":"init(isContained:intersections:)","parent_name":"LineIntersection"},"Structs/LineIntersection/Intersection.html":{"name":"Intersection","abstract":"

    Represents an intersection in a LineIntersection.

    ","parent_name":"LineIntersection"},"Structs/Line.html#/s:9Geometria4LineV6Scalara":{"name":"Scalar","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1axvp":{"name":"a","abstract":"

    An initial point a line tracing from infinity passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from a passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all non-NaN scalar values, which describes a","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Line"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV13asPointNormalAA0dE0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA0F13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection against this hyperplane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is contained within the enclosed space","parent_name":"Hyperplane"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6centerxvp":{"name":"center","abstract":"

    This ellipsoid’s center.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6radiusxvp":{"name":"radius","abstract":"

    The axis-aligned axis (or radii) for this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6center6radiusACyxGx_xtcfc":{"name":"init(center:radius:)","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an Ellipsoid with center .zero and radius .one.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given point is contained within this ellipse.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0H13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"
    ","parent_name":"Ellipsoid"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6Scalara":{"name":"Scalar","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9directionxvp":{"name":"direction","abstract":"

    A unit vector relative to start which indicates the direction of this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5start9directionACyxGx_xtcfc":{"name":"init(start:direction:)","abstract":"

    Initializes a directional ray with a given start position and direction","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayVyACyxGqd__c6VectorQyd__RszAA8LineTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a directional ray with a given line’s endpoints.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","abstract":"

    Initializes a directional ray with a line passing through a and b.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1axvp":{"name":"a","abstract":"

    Equivalent to start.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1bxvp":{"name":"b","abstract":"

    Equivalent to start + direction.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6asLineAA0E0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this directional ray, where line.a","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV02asC0AA0C0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this directional ray, where ray.start","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9lineSlopexvp":{"name":"lineSlope","abstract":"

    Gets the slope of this directional ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18withPointsScaledByyACyxGxF":{"name":"withPointsScaledBy(_:)","abstract":"
    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV15projectAsScalary0F0QzxF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18projectedMagnitudeyx6ScalarQzF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this ray’s start point","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive scalar values, which describes a ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV33clampProjectedNormalizedMagnitudey6ScalarQzAFF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"DirectionalRay"},"Structs/AABB.html#/s:9Geometria4AABBV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimumxvp":{"name":"minimum","abstract":"

    The minimal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7maximumxvp":{"name":"maximum","abstract":"

    The maximal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV8locationxvp":{"name":"location","abstract":"

    The location of this Box corresponding to its minimal vector.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NBox with the given minimum and maximum boundary","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV6boundsACyxGvp":{"name":"bounds","abstract":"

    Returns self.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVAASQRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this box is zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true iff minimum <= maximum.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of_ACyxGx_xtcfc":{"name":"init(of:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of__ACyxGx_xxtcfc":{"name":"init(of:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of___ACyxGx_xxxtcfc":{"name":"init(of:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to include the given point.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to fully include the given set of points.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE5clampyxxF":{"name":"clamp(_:)","abstract":"

    Clamps a given vector’s coordinates to the confines of this AABB.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given box is completely contained inside the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this box intersects the given box instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a box which is the minimum box capable of fitting self and the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a box which is the minimum box capable of fitting left and","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns a box with minimum and maximum set to Vector.zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Gets the size of this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE6isZeroSbvp":{"name":"isZero","abstract":"

    Returns true if this box is a AABB.zero instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns this Box represented as a Rectangle

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an AABB with zero minimal and maximal vectors.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes this AABB with the equivalent coordinates of a rectangle","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2of____ACyxGx_xxxxdtcfc":{"name":"init(of:_:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing all","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a box out of a set of points, expanding to the smallest","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5aabbsACyxGSayAGG_tcfc":{"name":"init(aabbs:)","abstract":"

    Initializes the smallest AABB capable of fully containing all of the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an AABB with minimum .zero and maximum .one.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this AABB into 2 ^ D (where D is the dimensional size of","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this AABB’s area intersects the given line type.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"AABB"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5startAA0B0VyxGvp":{"name":"start","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5sweepAA0B0VyxGvp":{"name":"sweep","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV4stopAA0B0VyxGvp":{"name":"stop","abstract":"

    Returns start + sweep.

    ","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGx_xtcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGAA0B0VyxG_AItcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other cover to the same angle sweep, after","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV8containsySbAA0B0VyxGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV7clampedyAA0B0VyxGAGF":{"name":"clamped(_:)","abstract":"

    Returns the result of clamping a given angle so it is contained within","parent_name":"AngleSweep"},"Structs/Angle.html#/s:9Geometria5AngleV2piACyxGvpZ":{"name":"pi","abstract":"

    Gets the angle value for the mathematical constant π.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansxvp":{"name":"radians","abstract":"

    Gets the radian value associated with this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansACyxGx_tcfc":{"name":"init(radians:)","abstract":"

    Initializes this angle with a given radians angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other refer to the same angle, after","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV10normalized4fromxx_tF":{"name":"normalized(from:)","abstract":"

    Returns this angle’s normalized representation, starting from a given","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV14relativeAngles2toACyxG8shortest_AF7longesttAF_tF":{"name":"relativeAngles(to:)","abstract":"

    Returns the relative sweep angles to go from self to other.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3cosxvp":{"name":"cos","abstract":"

    Returns the cosine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3sinxvp":{"name":"sin","abstract":"

    Returns the sine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3tanxvp":{"name":"tan","abstract":"

    Returns the tangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4acosxvp":{"name":"acos","abstract":"

    Returns the arccosine of this angle

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4asinxvp":{"name":"asin","abstract":"

    Returns the arcsine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4atanxvp":{"name":"atan","abstract":"

    Returns the arctangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4coshxvp":{"name":"cosh","abstract":"

    Returns the [hyperbolic cosine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4sinhxvp":{"name":"sinh","abstract":"

    Returns the [hyperbolic sine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4tanhxvp":{"name":"tanh","abstract":"

    Returns the [hyperbolic tangent][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5acoshxvp":{"name":"acosh","abstract":"

    Returns the [inverse hyperbolic cosine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5asinhxvp":{"name":"asinh","abstract":"

    Returns the [inverse hyperbolic sine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5atanhxvp":{"name":"atanh","abstract":"

    Returns the [inverse hyperbolic tangent][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4zeroACyxGvpZ":{"name":"zero","abstract":"

    Gets the zero radian angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two angles by summing their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two angles by subtracting their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_xtFZ":{"name":"+(_:_:)","abstract":"

    Adds a scalar and an angle, producing an angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_xtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts a scalar from an angle, producing an angle value

    ","parent_name":"Angle"},"Structs/Angle.html#/s:Sj9magnitude9MagnitudeQzvp":{"name":"magnitude","parent_name":"Angle"},"Structs/Angle.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj7exactlyxSgqd___tcSzRd__lufc":{"name":"init(exactly:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_AEtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2meoiyyACyxGz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_xtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Vector4.html#/s:9Geometria7Vector4V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1wxvp":{"name":"w","abstract":"

    w coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector4

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VyACyxGx_xxxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector4 with the values from a given tuple.

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector4 value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector4Type value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector4Type

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector4 where each component is the absolute value of the","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector3.html#/s:9Geometria7Vector3V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector3

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VyACyxGx_xxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector3 with the values from a given tuple.

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector3 value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector3Type value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector3Type

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector3 where each component is the absolute value of the","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7azimuthxvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6centerxvp":{"name":"center","abstract":"

    The geometric center point of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V4axisxvp":{"name":"axis","abstract":"

    The axis of revolution of the circle that composes the tube of the torus.","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11majorRadius6ScalarQzvp":{"name":"majorRadius","abstract":"

    The radius from the center of the torus to the center of the tube.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11minorRadius6ScalarQzvp":{"name":"minorRadius","abstract":"

    The radius of the tube of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6center4axis11majorRadius05minorF0ACyxGx_x6ScalarQzAJtcfc":{"name":"init(center:axis:majorRadius:minorRadius:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Gets the minimal bounding box capable of fully containing all the points","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given point vector is enclosed within the volume of","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Torus3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6upAxisxvp":{"name":"upAxis","abstract":"

    A normalized vector perpendicular to normal and rightAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9rightAxisxvp":{"name":"rightAxis","abstract":"

    A normalized vector perpendicular to normal and upAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5point6normal6upAxis05rightI0ACyxGx_xxxtcfc":{"name":"init(point:normal:upAxis:rightAxis:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeC0yyxF":{"name":"changePoint(_:)","abstract":"

    Updates the value of this instance’s point.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingC0yACyxGxF":{"name":"changingPoint(_:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same normal,","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeD0_6upAxisyx_xtF":{"name":"changeNormal(_:upAxis:)","abstract":"

    Replaces this instance with a new ProjectivePointNormalPlane3 with","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingD0_6upAxisACyxGx_xtF":{"name":"changingNormal(_:upAxis:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same point as","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V18makeCorrectedPlane5point6normal6upAxisACyxGx_xxtFZ":{"name":"makeCorrectedPlane(point:normal:upAxis:)","abstract":"

    Creates a new ProjectivePointNormalPlane3 by computing rightAxis","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V02ascD5PlaneAA0cdG0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a point normal plane with the same point and normal as this","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V23projectLineIntersectiony10SubVector2QzSgqd__6VectorQyd__RszAA013Line3FloatingC0Rd__lF":{"name":"projectLineIntersection(_:)","abstract":"

    With a given line, perform a plane-line intersection and project the","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9project2Dy10SubVector2QzxF":{"name":"project2D(_:)","abstract":"

    Performs a projection of a given vector onto this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuthxvp":{"name":"azimuth","abstract":"

    The azimuth, or XY-plane angle in 3D space, of this coordinate in radians.

    ","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this coordinate in radians, or the angle between","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuth9elevationACyxGx_xtcfc":{"name":"init(azimuth:elevation:)","parent_name":"SphereCoordinates"},"Structs/Disk3.html#/s:9Geometria5Disk3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6centerxvp":{"name":"center","abstract":"

    The center point of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6normalxvp":{"name":"normal","abstract":"

    The normal of the disk’s surface.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6center6normal6radiusACyxGx_x6ScalarQztcfc":{"name":"init(center:normal:radius:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V18asPointNormalPlaneAA0deF0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a PointNormalPlane3 with the same point and normal vectors","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V12intersection4withxSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this disk.

    ","parent_name":"Disk3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5startxvp":{"name":"start","abstract":"

    The starting point of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V3endxvp":{"name":"end","abstract":"

    The end point of this cylinder

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V9asCapsuleAA8NCapsuleVyxGvp":{"name":"asCapsule","abstract":"

    Returns a Capsule3 with the same start, end, and radius","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VAASQRzs18AdditiveArithmetic6ScalarAA10VectorTypePRpzSLAHRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this cylinder’s parameters produce a valid, non-empty","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE11startAsDiskAA5Disk3VyxGvp":{"name":"startAsDisk","abstract":"

    Returns the disk that represents the top- or start, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE9endAsDiskAA5Disk3VyxGvp":{"name":"endAsDisk","abstract":"

    Returns the disk that represents the bottom- or end, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point onto this cylinder, returning the closest point","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A11Vector3RealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA18Line3FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the intersection points of a given line along this cylinder’s","parent_name":"Cylinder3"},"Structs/Vector2.html#/s:9Geometria7Vector2V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector2

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VyACyxGx_xt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector2 with the values from a given tuple.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector2 value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector2Type value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector2Type

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector2 where each component is the absolute value of the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE13perpendicularACyxGyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE11leftRotatedACyxGyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE12rightRotatedACyxGyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE5anglexvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2byACyxGAA5AngleVyxG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate2byyAA5AngleVyxG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2by6aroundACyxGAA5AngleVyxG_AJtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate_2byACyxGAI_AA5AngleVyxGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_xANtFZ":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_AA5AngleVyxGANtFZ":{"name":"matrix(scale:rotate:translate:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE1moiyACyxGAH_AA9Matrix3x2VyxGtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE2meoiyyACyxGz_AA9Matrix3x2VyxGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5pointxvp":{"name":"point","abstract":"

    The intersection point in global space.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line1NormalizedMagnitude6ScalarQzvp":{"name":"line1NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line2NormalizedMagnitude6ScalarQzvp":{"name":"line2NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5point24line1NormalizedMagnitude05line2gH0ACyxGx_6ScalarQzAItcfc":{"name":"init(point:line1NormalizedMagnitude:line2NormalizedMagnitude:)","parent_name":"LineIntersectionResult"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left6ScalarQzvp":{"name":"left","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V3top6ScalarQzvp":{"name":"top","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V5right6ScalarQzvp":{"name":"right","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6bottom6ScalarQzvp":{"name":"bottom","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left3top5right6bottomACyxG6ScalarQz_A3Jtcfc":{"name":"init(left:top:right:bottom:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VyACyxG6ScalarQzcfc":{"name":"init(_:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE5inset9rectangleAA10NRectangleVyxGAI_tF":{"name":"inset(rectangle:)","parent_name":"EdgeInsets2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6Scalara":{"name":"Scalar","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6centerxvp":{"name":"center","abstract":"

    The center of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startAngleAA0E0Vy6ScalarQzGvp":{"name":"startAngle","abstract":"

    The starting angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10sweepAngleAA0E0Vy6ScalarQzGvp":{"name":"sweepAngle","abstract":"

    The sweep angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzA2Jtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzAA0G0VyAJGAMtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPoint03endE010sweepAngleACyxGx_xAA0H0Vy6ScalarQzGtcfc":{"name":"init(startPoint:endPoint:sweepAngle:)","abstract":"

    Creates a new circular arc that fills the space between startPoint and","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center10startPoint03endF0ACyxGx_xxtcfc":{"name":"init(center:startPoint:endPoint:)","abstract":"

    Creates a new circular arc that fits the given start/end points on the","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9asCircle2AA7NSphereVyxGvp":{"name":"asCircle2","abstract":"

    Constructs a circle with the same center + radius as this circle arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12asAngleSweepAA0eF0Vy6ScalarQzGvp":{"name":"asAngleSweep","abstract":"

    Constructs an angle sweep from this arc’s start and sweep angles.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9stopAngleAA0E0Vy6ScalarQzGvp":{"name":"stopAngle","abstract":"

    Returns the stop angle of this sweep, as the sum of startAngle + sweepAngle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V4area6ScalarQzvp":{"name":"area","abstract":"

    Computes the area of this circular arc, when interpreted as a pie slice","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9arcLength6ScalarQzvp":{"name":"arcLength","abstract":"

    Computes the length of this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V11chordLength6ScalarQzvp":{"name":"chordLength","abstract":"

    Computes the length of the chord represented by this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPointxvp":{"name":"startPoint","abstract":"

    Returns the starting point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8endPointxvp":{"name":"endPoint","abstract":"

    Returns the end point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySb6ScalarQzF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle in radians","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySbAA5AngleVy6ScalarQzGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7clampedyAA5AngleVy6ScalarQzGAIF":{"name":"clamped(_:)","abstract":"

    Clamps a given angle to be within this arc’s startAngle + sweepAngle range.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12pointOnAngleyxAA0F0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on the circle represented by this arc on a given angle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6boundsAA4AABBVyxGyF":{"name":"bounds()","abstract":"

    Returns the minimal bounding box capable of fully containing this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9quadrantsSayxGyF":{"name":"quadrants()","abstract":"

    Returns the coordinates of the occupied quadrants that this arc sweeps","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point to the closest point within this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance to the closest point within this arc to the","parent_name":"CircleArc2"},"Structs/CircleArc2.html":{"name":"CircleArc2","abstract":"

    Represents a 2D arc of a circle as a center, radius, and start+sweep angles.

    "},"Structs/EdgeInsets2.html":{"name":"EdgeInsets2","abstract":"

    Represents a 2D edge inset as relative inset values for each of the four"},"Structs/LineIntersectionResult.html":{"name":"LineIntersectionResult","abstract":"

    Describes the result of a line-line intersection query on two"},"Structs/Vector2.html":{"name":"Vector2","abstract":"

    A two-component vector type

    "},"Structs/Cylinder3.html":{"name":"Cylinder3","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Structs/Disk3.html":{"name":"Disk3","abstract":"

    Represents a 3-dimensional flat disk as a center point, normal, and radius.

    "},"Structs/SphereCoordinates.html":{"name":"SphereCoordinates","abstract":"

    Coordinates on a sphere projective space.

    "},"Structs/ProjectivePointNormalPlane3.html":{"name":"ProjectivePointNormalPlane3","abstract":"

    A point-normal plane with a separate up and right vector used to control"},"Structs/Torus3.html":{"name":"Torus3","abstract":"

    Represents a three dimensional torus shape as a center point, an axis of"},"Structs/Vector3.html":{"name":"Vector3","abstract":"

    A three-component vector type

    "},"Structs/Vector4.html":{"name":"Vector4","abstract":"

    A four-component vector type

    "},"Structs/Angle.html":{"name":"Angle","abstract":"

    A standardized representation of an angle.

    "},"Structs/AngleSweep.html":{"name":"AngleSweep","abstract":"

    A pair of angle + angle range values that can be used to test inclusivity of"},"Structs/AABB.html":{"name":"AABB","abstract":"

    Represents an axis-aligned bounding box with two N-dimensional vectors that"},"Structs/DirectionalRay.html":{"name":"DirectionalRay","abstract":"

    Represents an N-dimensional geometric ray which projects a line from a"},"Structs/Ellipsoid.html":{"name":"Ellipsoid","abstract":"

    Represents an N-dimensional ellipsoid as a center with an N-dimensional"},"Structs/Hyperplane.html":{"name":"Hyperplane","abstract":"

    Represents a hyperplane with a"},"Structs/Line.html":{"name":"Line","abstract":"

    Represents a geometric line as a pair of start and end N-dimensional vectors"},"Structs/LineIntersection.html":{"name":"LineIntersection","abstract":"

    The result of a LineIntersectableType-line intersection test.

    "},"Structs/LinePolygon.html":{"name":"LinePolygon","abstract":"

    Represents a line polygon as a series of connected N-dimensional vertices.

    "},"Structs/LineSegment.html":{"name":"LineSegment","abstract":"

    Represents a line segment as a pair of start and end N-dimensional vectors"},"Structs/NCapsule.html":{"name":"NCapsule","abstract":"

    Represents an N-dimensional capsule (A"},"Structs/NRectangle.html":{"name":"NRectangle","abstract":"

    Represents an N-dimensional rectangle with a vector describing its origin"},"Structs/NSphere.html":{"name":"NSphere","abstract":"

    Represents an N-dimensional sphere"},"Structs/NSquare.html":{"name":"NSquare","abstract":"

    Represents an N-dimensional square with an origin point and a scalar value"},"Structs/PointNormal.html":{"name":"PointNormal","abstract":"

    Represents a point along with a normal on the surface of a geometry.

    "},"Structs/PointNormalPlane.html":{"name":"PointNormalPlane","abstract":"

    Represents an infinite plane with a point and a normal.

    "},"Structs/UnitVector.html":{"name":"UnitVector","abstract":"

    Wraps a vector and ensures that assignments are always stored as a unit"},"Structs/LineCategory.html":{"name":"LineCategory","abstract":"

    Represents the category for a LineType, specifying whether the end points"},"Structs/Ray.html":{"name":"Ray","abstract":"

    Represents an N-dimensional geometric ray line which has a starting point"},"Structs/RoundNRectangle.html":{"name":"RoundNRectangle","abstract":"

    Represents an N-dimensional rounded rectangle with a rectangle and radius"},"Structs/Triangle.html":{"name":"Triangle","abstract":"

    Represents a [triangle] as a trio of N-dimensional vectors which describe a"},"Structs/Matrix2x2.html":{"name":"Matrix2x2","abstract":"

    Plain 2-row 2-column Matrix with real components.

    "},"Structs/Matrix3x2.html":{"name":"Matrix3x2","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with floating-point"},"Structs/Matrix3x3.html":{"name":"Matrix3x3","abstract":"

    Plain 3-row 3-column Matrix with real components.

    "},"Structs/Matrix4x4.html":{"name":"Matrix4x4","abstract":"

    Plain 4-row 4-column Matrix with real components.

    "},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP9TransposeQa":{"name":"Transpose","abstract":"

    The resulting type of a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP10transposed9TransposeQzyF":{"name":"transposed()","abstract":"

    Returns a new matrix that is a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP11determinant6ScalarQzyF":{"name":"determinant()","abstract":"

    Returns the determinant of this square matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP8invertedxSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP1moiyxx_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"SquareMatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar value associated with each element of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8identityxvpZ":{"name":"identity","abstract":"

    Gets the identity matrix for this matrix type.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8rowCountSivp":{"name":"rowCount","abstract":"

    Gets the number of rows in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP11columnCountSivp":{"name":"columnCount","abstract":"

    Gets the number of columns in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypePy6ScalarQzSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Gets or sets the scalar value on a given column/row in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(rowMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(columnMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesSay6ScalarQzGyF":{"name":"rowMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesSay6ScalarQzGyF":{"name":"columnMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1poiyxx_xtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1soiyxx_xtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and stores","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar type associated with this VectorType.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypePy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","abstract":"

    Creates a new VectorType with the given scalar on all coordinates.

    ","parent_name":"VectorType"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector2Qa":{"name":"SubVector2","abstract":"

    The 2-dimensional vector type for selections of 2-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector3Qa":{"name":"SubVector3","abstract":"

    The 3-dimensional vector type for selections of 3-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector4Qa":{"name":"SubVector4","abstract":"

    The 4-dimensional vector type for selections of 4-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP14TakeDimensionsQa":{"name":"TakeDimensions","abstract":"

    A named indexer into the dimensions of this vector.

    ","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector2Qz14TakeDimensionsQz_AGtcip":{"name":"subscript(_:_:)","abstract":"

    Takes a new 2D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector3Qz14TakeDimensionsQz_A2Gtcip":{"name":"subscript(_:_:_:)","abstract":"

    Takes a new 3D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector4Qz14TakeDimensionsQz_A3Gtcip":{"name":"subscript(_:_:_:_:)","abstract":"

    Takes a new 4D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8absolutexvp":{"name":"absolute","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","abstract":"

    Returns a VectorSigned where each component is one","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8withSign2ofxx_tF":{"name":"withSign(of:)","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates this Vector by flipping the sign of each component.

    ","parent_name":"VectorSigned"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_6ScalarQztFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3onexvpZ":{"name":"one","abstract":"

    A unit-value VectorType value where each component corresponds to its","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the length squared of this VectorType.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this VectorType and another","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3doty6ScalarQzxF":{"name":"dot(_:)","abstract":"

    Calculates the dot product","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP4lerp5start3end6amountxx_x6ScalarQztFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two vectors.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyx6ScalarQz_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length), or","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP9normalizeyyF":{"name":"normalize()","abstract":"

    Normalizes this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP10normalizedxyF":{"name":"normalized()","abstract":"

    Returns a normalized version of this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP8distance2to6ScalarQzx_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this VectorFloatingPoint and another","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyx6ScalarQz_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_6ScalarQztF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedyxs0cD12RoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedxyF":{"name":"rounded()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP4ceilxyF":{"name":"ceil()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP5floorxyF":{"name":"floor()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_xtFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_6ScalarQztFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyx6ScalarQz_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16maximalComponent6ScalarQzvp":{"name":"maximalComponent","abstract":"

    Returns the component of this vector that has the greatest value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16minimalComponent6ScalarQzvp":{"name":"minimalComponent","abstract":"

    Returns the component of this vector that has the least value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMinyxx_xtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMaxyxx_xtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1loiySbx_xtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2leoiySbx_xtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1goiySbx_xtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2geoiySbx_xtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","abstract":"

    Gets the number of scalars within this vector that has a non-zero value.

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditivePxycfc":{"name":"init()","abstract":"

    Initializes a zero-valued VectorType

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_6ScalarQztFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_6ScalarQztFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_6ScalarQztFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_6ScalarQztFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given rectangle rests completely inside the boundaries","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP10intersectsySbxF":{"name":"intersects(_:)","abstract":"

    Returns whether this rectangle intersects the given rectangle instance.","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP5unionyxxF":{"name":"union(_:)","abstract":"

    Returns a rectangle which is the minimum rectangle that can fit this","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP12intersectionyxSgxF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"SelfIntersectableRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a copy of this rectangle with its location offset by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP9resizedByyx6VectorQzF":{"name":"resizedBy(_:)","abstract":"

    Returns a copy of this rectangle with its size increased by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8verticesSay6VectorQzGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this rectangle.

    ","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE8offsetByyx6VectorAA0cD0PQzF":{"name":"offsetBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE9resizedByyx6VectorAA0cD0PQzF":{"name":"resizedBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypeP14signedDistance2to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance of a given point to this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypePAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Projects a given vector on this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector for this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","abstract":"

    A point that is on this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6normal6VectorQzvp":{"name":"normal","abstract":"

    A normal vector specifying the slope- or ‘up’, of the plane’s surface.

    ","parent_name":"PlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP39unclampedNormalMagnitudeForIntersection4with6Vector_6ScalarQZSgqd___tAA0B13FloatingPointRd__AFQyd__AFRtzlF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"LineIntersectablePlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP12intersection4with6VectorQzSgqd___tAA0B13FloatingPointRd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this plane.

    ","parent_name":"LineIntersectablePlaneType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","abstract":"

    Gets the first point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1b6VectorQzvp":{"name":"b","abstract":"

    Gets the second point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","abstract":"

    Gets the category for this LineType, specifying whether the end points","parent_name":"LineType"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP16projectUnclampedy6VectorQzAFF":{"name":"projectUnclamped(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line.","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP18projectedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP28projectedNormalizedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedNormalizedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP36containsProjectedNormalizedMagnitudeySb6Vector_6ScalarQZF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true if a normalized, projected scalar representing a segment","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP33clampProjectedNormalizedMagnitudey6Vector_6ScalarQZAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointPAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns the closest point on this line to a given point.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"LineFloatingPoint"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP9Magnitudea":{"name":"Magnitude","abstract":"

    Alias for Vector.Scalar.

    ","parent_name":"LineDivisible"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP15projectAsScalary6Vector_0F0QZAEQzF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line,","parent_name":"LineDivisible"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP9lineSlope6VectorQzvp":{"name":"lineSlope","abstract":"

    Gets the slope of this line, or the vector that represents b - a.

    ","parent_name":"LineAdditive"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a new line with the same slope, but with the end-points shifted","parent_name":"LineAdditive"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP1doiyxx_xtFZ":{"name":"/(_:_:)","abstract":"

    Divides two values.

    ","parent_name":"DivisibleArithmetic"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","abstract":"

    Divides two values and stores the result in the left-hand-side","parent_name":"DivisibleArithmetic"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP6VectorQa":{"name":"Vector","abstract":"

    The type of vector associated with this SignedDistanceMeasurableType.

    ","parent_name":"SignedDistanceMeasurableType"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance from the closest point on the surface of","parent_name":"SignedDistanceMeasurableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this PointProjectableType.

    ","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns a vector on the surface of this geometric type that is the","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between the closest point in this geometric","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between the closest point in this geometric type’s","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A20VectorMultiplicative0E0RpzrlE15distanceSquared2toAE_6ScalarQZAF_tF":{"name":"distanceSquared(to:)","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A014VectorFloatingB00E0RpzrlE8distance2toAE_6ScalarQZAF_tF":{"name":"distance(to:)","parent_name":"PointProjectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineIntersectableType.

    ","parent_name":"LineIntersectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"LineIntersectableType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this ConvexType.

    ","parent_name":"ConvexType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"ConvexType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this BoundableType.

    ","parent_name":"BoundableType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","abstract":"

    Gets a bounding box with the minimal volume to fully enclose all points","parent_name":"BoundableType"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP6VectorQa":{"name":"Vector","abstract":"

    The vector type for the higher-dimensional shape in Euclidean geometric","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","abstract":"

    The type for projective coordinates within the projective space.

    ","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","abstract":"

    Projects a vector onto this projective space, and if successful, returns","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","abstract":"

    Pulls out a projective coordinate from this space back to the original","parent_name":"ProjectiveSpace"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP03SubB0Qa":{"name":"SubVector4","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1w6ScalarQzvp":{"name":"w","abstract":"

    The W coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1z1wxqd___6ScalarQzAGtcAA07Vector2C0Rd__AFQyd__AGRSlufc":{"name":"init(_:z:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1wxqd___6ScalarQztcAA07Vector3C0Rd__AEQyd__AFRSlufc":{"name":"init(_:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector4Type type by copying the","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector4FloatingPoint with a given binary Vector3

    ","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector4Additive"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector3TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Additive"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP03SubB0Qa":{"name":"SubVector3","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP_1zxqd___6ScalarQztcAA07Vector2C0Rd__AEQyd__AFRSlufc":{"name":"init(_:z:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector3Type type by copying the","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP7azimuth6ScalarQzvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3Real"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP9elevation6ScalarQzvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3Real"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitZxvpZ":{"name":"unitZ","abstract":"

    Gets the (x: 0, y: 0, z: 1) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5crossyxxF":{"name":"cross(_:)","abstract":"

    Performs a cross product between this vector and another vector.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 3D vector triple product between self, b, and c:","parent_name":"Vector3Multiplicative"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector3FloatingPoint with a given binary Vector3

    ","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3Additive.html#/s:9Geometria15Vector3AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Additive"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypeP12intersection4withAA4LineVy6VectorQzGSgqd___tAA0hcbE0Rd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 3 dimensional plane with another","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypePA2A21Vector3Multiplicative6VectorRpzrlE12intersection4withAA4LineVyAFGSgqd___tAA0kcbE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","abstract":"

    The 2D type of this 3D line.

    ","parent_name":"Line3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP10make2DLiney8SubLine2QzAE_6VectorQZ_AHtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3Type"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP44unclampedNormalizedMagnitudesForShortestLine2to6Vector_6ScalarAA0L4TypePQZ6onSelf_AJ0O5OthertSgqd___tAA0jcD0Rd__AFQyd__AFRtzlF":{"name":"unclampedNormalizedMagnitudesForShortestLine(to:)","abstract":"

    Returns a pair of unclamped, normalized magnitudes, on self and","parent_name":"Line3FloatingPoint"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP12shortestLine2toAA0F7SegmentVy6VectorQzGSgqd___tAA0fcD0Rd__AHQyd__AIRSlF":{"name":"shortestLine(to:)","abstract":"

    Returns the shortest line segment between the points of this line to","parent_name":"Line3FloatingPoint"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Line3IntersectableType.

    ","parent_name":"Line3IntersectableType"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP13intersections4withAA16LineIntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"Line3IntersectableType"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex3Type.

    ","parent_name":"Convex3Type"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line3FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex3Type"},"Protocols/SphereProjectiveSpace.html#/s:9Geometria21SphereProjectiveSpaceP6ScalarQa":{"name":"Scalar","parent_name":"SphereProjectiveSpace"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP03SubB0Qa":{"name":"SubVector2","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector2Type type by copying the","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP13perpendicularxyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP11leftRotatedxyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP12rightRotatedxyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle2toAA5AngleVy6ScalarQzGx_tF":{"name":"angle(to:)","abstract":"

    Returns the angle between self and other.

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byx6ScalarQz_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byxAA5AngleVy6ScalarQzG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byy6ScalarQz_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byyAA5AngleVy6ScalarQzG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundx6ScalarQz_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundxAA5AngleVy6ScalarQzG_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_6ScalarQztFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_AA5AngleVy6ScalarQzGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP1moiyxx_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP2meoiyyxz_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5crossy6ScalarQzxF":{"name":"cross(_:)","abstract":"

    Calculates the cross product between this and another provided Vector.","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 2D vector triple product between self, b, and c:","parent_name":"Vector2Multiplicative"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector2FloatingPoint with a given binary Vector2

    ","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this RectangleType.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP8location6VectorQzvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP4size6VectorQzvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets the X position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets the Y position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets the width of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets the height of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE3topAE_6ScalarQZvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE4leftAE_6ScalarQZvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE7topLeftAFvp":{"name":"topLeft","abstract":"

    The top-left corner of the rectangle.

    ","parent_name":"RectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP6center6VectorQzvp":{"name":"center","abstract":"

    Gets the center point of this rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10inflatedByyx6VectorQzF":{"name":"inflatedBy(_:)","abstract":"

    Returns a new rectangle which is an inflated version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP7insetByyx6VectorQzF":{"name":"insetBy(_:)","abstract":"

    Returns a new rectangle which is an inset version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP12movingCenter2tox6VectorQz_tF":{"name":"movingCenter(to:)","abstract":"

    Returns a new rectangle with the same size as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP8scaledBy_6aroundx6Vector_6ScalarQZ_AFQztF":{"name":"scaledBy(_:around:)","abstract":"

    Returns a new rectangle with its bounds scaled around a given center point","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP20scaledAroundCenterByyx6Vector_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","abstract":"

    Returns a new rectangle with the same center point as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10subdividedSayxGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerXAfH_6ScalarAA0gD0PQZvp":{"name":"centerX","abstract":"

    Gets or sets the center X position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerYAfH_6ScalarAA0gD0PQZvp":{"name":"centerY","abstract":"

    Gets or sets the center Y position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE10inflatedBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"inflatedBy(x:y:)","abstract":"

    Returns a Rectangle which is an inflated version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7insetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"insetBy(x:y:)","abstract":"

    Returns a Rectangle which is an inset version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE12movingCenter3toX1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"movingCenter(toX:y:)","abstract":"

    Returns a new Rectangle with the same width and height as the current","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE6center6VectorAA0cD0PQzvp":{"name":"center","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE10inflatedByyx6VectorAA0cD0PQzF":{"name":"inflatedBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE7insetByyx6VectorAA0cD0PQzF":{"name":"insetBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE12movingCenter2tox6VectorAA0cD0PQz_tF":{"name":"movingCenter(to:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE8scaledBy_6aroundx6VectorAA0cD0P_6ScalarQZ_AgIQztF":{"name":"scaledBy(_:around:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE20scaledAroundCenterByyx6VectorAA0cD0P_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8location4sizex6VectorQz_AGtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a new instance of a ConstructableRectangleType with the","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP12withLocationyx6VectorQzF":{"name":"withLocation(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8withSizeyx6VectorQzF":{"name":"withSize(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s location with a","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets or sets the X position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets or sets the Y position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets or sets the width of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets or sets the height of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1x1y5width6heightxAE_6ScalarQZ_A3Ltcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a 2D rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE8withSize5width6heightxAE_6ScalarQZ_AKtF":{"name":"withSize(width:height:)","abstract":"

    Returns a Rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE12withLocation1x1yxAE_6ScalarQZ_AKtF":{"name":"withLocation(x:y:)","abstract":"

    Returns a rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE9movingTop2toxAE_6ScalarQZ_tF":{"name":"movingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE10movingLeft2toxAE_6ScalarQZ_tF":{"name":"movingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A08AdditivecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE8offsetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"offsetBy(x:y:)","abstract":"

    Returns a copy of this Rectangle with the minimum and maximum coordinates","parent_name":"ConstructableRectangleType"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypeP12intersection4with6VectorQzSgqd___tAA0bE0Rd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 2 dimensional plane with another","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypePA2A20Vector2FloatingPoint6VectorRpzrlE12intersection4withAFSgqd___tAA0bE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/Line2Real.html#/s:9Geometria9Line2RealP5angle6Vector_6ScalarQZvp":{"name":"angle","abstract":"

    Returns the angle of this line, in radians

    ","parent_name":"Line2Real"},"Protocols/Line2FloatingPoint.html#/s:9Geometria18Line2FloatingPointP12intersection4withAA22LineIntersectionResultVy6VectorQzGSgqd___tAaBRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line-line intersection with other.

    ","parent_name":"Line2FloatingPoint"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP6VectorQa":{"name":"Vector","abstract":"

    The comparable vector type associated with this VolumetricType.

    ","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP8containsySb6VectorQzF":{"name":"contains(_:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector2C06VectorRpzrlE8contains1x1ySbAE_6ScalarAA0eC0PQZ_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector3C06VectorRpzrlE8contains1x1y1zSbAE_6ScalarAA0eC0PQZ_A2NtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true iff vector lies within the ‘inside’ volume of this","parent_name":"VolumetricType"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex2Type.

    ","parent_name":"Convex2Type"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line2FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex2Type"},"Protocols/Convex2Type.html":{"name":"Convex2Type","abstract":"

    Protocol for 2D geometric types defined by floating-point vectors that form"},"Protocols/VolumetricType.html":{"name":"VolumetricType","abstract":"

    Protocol for geometric types that have an internal volumetric area that can"},"Protocols/Line2FloatingPoint.html":{"name":"Line2FloatingPoint","abstract":"

    Protocol for 2D line types where the vectors are floating-point vectors.

    "},"Protocols/Line2Real.html":{"name":"Line2Real","abstract":"

    Protocol for 2D line types where the vectors are real vectors.

    "},"Protocols.html#/s:9Geometria9Line2TypeP":{"name":"Line2Type","abstract":"

    A line that is described by two 2-dimensional vectors.

    "},"Protocols/PlaneIntersectablePlane2Type.html":{"name":"PlaneIntersectablePlane2Type","abstract":"

    A 1D plane in 2D space that can be intersected with other intersectable"},"Protocols/ConstructableRectangleType.html":{"name":"ConstructableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be constructed with location"},"Protocols/DivisibleRectangleType.html":{"name":"DivisibleRectangleType","abstract":"

    Protocol refining RectangleType with VectorDivisible extensions.

    "},"Protocols/RectangleType.html":{"name":"RectangleType","abstract":"

    Protocol for geometric types defined by vectors that fill enclosed"},"Protocols.html#/s:9Geometria15Vector2AdditiveP":{"name":"Vector2Additive","abstract":"

    Protocol for 2D types that support addition and subtraction.

    "},"Protocols/Vector2FloatingPoint.html":{"name":"Vector2FloatingPoint","abstract":"

    Protocol for 2D vector types where the components are floating-point numbers.

    "},"Protocols/Vector2Multiplicative.html":{"name":"Vector2Multiplicative","abstract":"

    Protocol for 2D vector types with multiplicable scalars.

    "},"Protocols/Vector2Real.html":{"name":"Vector2Real","abstract":"

    Protocol for 2D real vector types.

    "},"Protocols/Vector2Signed.html":{"name":"Vector2Signed","abstract":"

    Protocol for 2D vector types where the components are signed numbers.

    "},"Protocols/Vector2Type.html":{"name":"Vector2Type","abstract":"

    Protocol for types that can represent 2D vectors.

    "},"Protocols.html#/s:9Geometria20PlaneProjectiveSpaceP":{"name":"PlaneProjectiveSpace","abstract":"

    A projective space for 2D planes.

    "},"Protocols/SphereProjectiveSpace.html":{"name":"SphereProjectiveSpace","abstract":"

    A projected space laying on the surface of a 3-dimensional sphere, with a"},"Protocols/Convex3Type.html":{"name":"Convex3Type","abstract":"

    Protocol for 3D geometric types defined by floating-point vectors that form"},"Protocols/Line3IntersectableType.html":{"name":"Line3IntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with 3D lines.

    "},"Protocols/Line3FloatingPoint.html":{"name":"Line3FloatingPoint","abstract":"

    Protocol for 3D line types where the vectors are floating-point vectors.

    "},"Protocols/Line3Type.html":{"name":"Line3Type","abstract":"

    A line that is described by two 3-dimensional vectors.

    "},"Protocols.html#/s:9Geometria10Plane3TypeP":{"name":"Plane3Type","abstract":"

    A plane that represents a flat 2D surface in 3D space.

    "},"Protocols/PlaneIntersectablePlane3Type.html":{"name":"PlaneIntersectablePlane3Type","abstract":"

    A 2D plane in 3D space that can be intersected with other intersectable"},"Protocols/Vector3Additive.html":{"name":"Vector3Additive","abstract":"

    Protocol for 3D vector types with additive scalars.

    "},"Protocols/Vector3FloatingPoint.html":{"name":"Vector3FloatingPoint","abstract":"

    Protocol for 3D vector types where the components are floating-point numbers

    "},"Protocols/Vector3Multiplicative.html":{"name":"Vector3Multiplicative","abstract":"

    Protocol for 3D vector types with multiplicable scalars.

    "},"Protocols/Vector3Real.html":{"name":"Vector3Real","abstract":"

    Protocol for 3D vector types where the components are Real numbers

    "},"Protocols/Vector3Type.html":{"name":"Vector3Type","abstract":"

    Protocol for types that can represent 3D vectors.

    "},"Protocols/Vector4Additive.html":{"name":"Vector4Additive","abstract":"

    Protocol for 4D vector types with additive scalars.

    "},"Protocols/Vector4FloatingPoint.html":{"name":"Vector4FloatingPoint","abstract":"

    Protocol for 4D vector types where the components are floating-point numbers

    "},"Protocols/Vector4Type.html":{"name":"Vector4Type","abstract":"

    Protocol for types that can represent 4D vectors.

    "},"Protocols/ProjectiveSpace.html":{"name":"ProjectiveSpace","abstract":"

    A protocol for projective spaces, where lower-dimensional spaces can be"},"Protocols/BoundableType.html":{"name":"BoundableType","abstract":"

    Protocol for general geometric types that can be fitted into a finite,"},"Protocols/ConvexType.html":{"name":"ConvexType","abstract":"

    Protocol for N-dimensional geometric types defined by floating-point vectors"},"Protocols.html#/s:9Geometria13GeometricTypeP":{"name":"GeometricType","abstract":"

    A general geometric type.

    "},"Protocols/LineIntersectableType.html":{"name":"LineIntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with lines.

    "},"Protocols/PointProjectableType.html":{"name":"PointProjectableType","abstract":"

    Protocol for geometric types that support vector projection operations.

    "},"Protocols/SignedDistanceMeasurableType.html":{"name":"SignedDistanceMeasurableType","abstract":"

    Represents an object that exposese a single function that returns the signed"},"Protocols/DivisibleArithmetic.html":{"name":"DivisibleArithmetic","abstract":"

    A type with values that support division.

    "},"Protocols/LineAdditive.html":{"name":"LineAdditive","abstract":"

    Protocol for objects that form geometric lines with two VectorAdditive"},"Protocols/LineDivisible.html":{"name":"LineDivisible","abstract":"

    Protocol for objects that form geometric lines with two VectorDivisible"},"Protocols/LineFloatingPoint.html":{"name":"LineFloatingPoint","abstract":"

    Protocol for objects that form geometric lines with two floating-point"},"Protocols/LineMultiplicative.html":{"name":"LineMultiplicative","abstract":"

    Protocol for objects that form geometric lines with two VectorMultiplicative"},"Protocols.html#/s:9Geometria8LineRealP":{"name":"LineReal","abstract":"

    Protocol for objects that form geometric lines with two VectorReal"},"Protocols/LineType.html":{"name":"LineType","abstract":"

    Protocol for objects that form geometric lines with at least two distinct"},"Protocols/LineIntersectablePlaneType.html":{"name":"LineIntersectablePlaneType","abstract":"

    Represents a plane type that has support for line-intersection.

    "},"Protocols/PlaneType.html":{"name":"PlaneType","abstract":"

    Represents a plane in N-dimensional space with a center point and a normal"},"Protocols/PointProjectablePlaneType.html":{"name":"PointProjectablePlaneType","abstract":"

    Represents a plane type that has support for point-projection.

    "},"Protocols/AdditiveRectangleType.html":{"name":"AdditiveRectangleType","abstract":"

    Protocol refining RectangleType with VectorAdditive extensions.

    "},"Protocols/SelfIntersectableRectangleType.html":{"name":"SelfIntersectableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be combined as intersection"},"Protocols/VectorAdditive.html":{"name":"VectorAdditive","abstract":"

    Represents a VectorType with addition and subtraction arithmetic"},"Protocols/VectorComparable.html":{"name":"VectorComparable","abstract":"

    Represents a VectorType with comparison operators available.

    "},"Protocols/VectorDivisible.html":{"name":"VectorDivisible","abstract":"

    Represents a VectorType with support for division.

    "},"Protocols/VectorFloatingPoint.html":{"name":"VectorFloatingPoint","abstract":"

    Protocol for vector types where the components are floating-point numbers

    "},"Protocols/VectorMultiplicative.html":{"name":"VectorMultiplicative","abstract":"

    Protocol for Vectors that support multiplication

    "},"Protocols/VectorReal.html":{"name":"VectorReal","abstract":"

    Protocol for vector types where the components are real numbers.

    "},"Protocols/VectorSigned.html":{"name":"VectorSigned","abstract":"

    Vector type where the components are signed numbers.

    "},"Protocols/VectorTakeable.html":{"name":"VectorTakeable","abstract":"

    Protocol that vector types conform to to indicate that different combinations"},"Protocols/VectorType.html":{"name":"VectorType","abstract":"

    Protocol for N-dimensional vector types.

    "},"Protocols/MatrixType.html":{"name":"MatrixType","abstract":"

    Protocol for Matrix types.

    "},"Protocols/SquareMatrixType.html":{"name":"SquareMatrixType","abstract":"

    Protocol for square matrices, or matrices with the same number of rows and"},"Protocols/TransposableMatrixType.html":{"name":"TransposableMatrixType","abstract":"

    Protocol for matrices that support transposition.

    "},"Functions.html#/s:9Geometria3minyxx_xtAA16VectorComparableRzlF":{"name":"min(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal"},"Functions.html#/s:9Geometria3maxyxx_xtAA16VectorComparableRzlF":{"name":"max(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal"},"Functions.html#/s:9Geometria5roundyxxAA19VectorFloatingPointRzlF":{"name":"round(_:)","abstract":"

    Rounds the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria4ceilyxxAA19VectorFloatingPointRzlF":{"name":"ceil(_:)","abstract":"

    Rounds up the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria5flooryxxAA19VectorFloatingPointRzlF":{"name":"floor(_:)","abstract":"

    Rounds down the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria3absyxxAA12VectorSignedRzlF":{"name":"abs(_:)","abstract":"

    Returns a VectorSigned with each component as the absolute value of the"},"Functions.html#/s:9Geometria2eeoiySbx_xt_x_xtt_x_xt_x_xtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix2x2 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxt_x_xxtx_xxtt_x_xxt_x_xxtx_xxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix3x3 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxxt_x_xxxtx_xxxtx_xxxtt_x_xxxt_x_xxxtx_xxxtx_xxxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix4x4 values.

    "},"Extensions/Collection.html#/s:Sl9GeometriaE13averageVectorqd__yAA0C9DivisibleRd__7ElementQzRsd__SF6ScalarRpd__lF":{"name":"averageVector()","abstract":"

    Averages this collection of vectors into one VectorDivisible point as","parent_name":"Collection"},"Extensions/SIMD4.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD4"},"Extensions/SIMD4.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD4"},"Extensions/SIMD4.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/absolute":{"name":"absolute","parent_name":"SIMD4"},"Extensions/SIMD4.html#/sign":{"name":"sign","parent_name":"SIMD4"},"Extensions/SIMD4.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD4"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A21Vector3MultiplicativeRzrlE11crossedAreaxvp":{"name":"crossedArea","abstract":"

    Returns the cross product of the edges BA and CA on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE6normalxvp":{"name":"normal","abstract":"

    Returns normal for this Triangle3. The direction of the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE7asPlaneAA0e6NormalG0VyxGvp":{"name":"asPlane","abstract":"

    Returns the plane this Triangle3 forms on 3D space, with the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE12intersection4withxSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE23mollerTrumboreIntersect4with6ScalarQz13lineMagnitude_AcASQAHRQrlE11CoordinatesVyx_GtSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"mollerTrumboreIntersect(with:)","abstract":"

    Performs Möller-Trumbore intersection algorithm against a line.","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentric1x1y1zAcASQ6ScalarRpzrlE11CoordinatesVyx_GAJ_A2JtF":{"name":"toBarycentric(x:y:z:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Triangle3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Sphere3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Sphere3"},"Extensions/SIMD3.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD3"},"Extensions/SIMD3.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/absolute":{"name":"absolute","parent_name":"SIMD3"},"Extensions/SIMD3.html#/sign":{"name":"sign","parent_name":"SIMD3"},"Extensions/SIMD3.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector3Type and another Vector3Type

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalize()":{"name":"normalize()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalized()":{"name":"normalized()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/rounded()":{"name":"rounded()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/ceil()":{"name":"ceil()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/floor()":{"name":"floor()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/azimuth":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/elevation":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"SIMD3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V14make3DRotation___5order11orientationACyxGx_xxAA14RotationOrder3OAA12Orientation3OtFZ":{"name":"make3DRotation(_:_:_:order:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix from a set of rotations around","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationX_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationX(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the X-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationY_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationY(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationZ_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationZ(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___xAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___AA0G0VyxGAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V21make3DRotationBetween__11orientationACyxGqd___qd__AA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationBetween(_:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around a single","parent_name":"RotationMatrix3"},"Extensions/Ray3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE2x12y12z12x22y22z2ACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Ray with two 3D vectors representing the starting","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE1x1y1z2dx2dy2dzACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE10make2DLineyACy10SubVector2AA0E8TakeablePQzGAJ_AJtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Ray3"},"Extensions/LineSegment3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"LineSegment3"},"Extensions/Line3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusZ6ScalarQzvp":{"name":"radiusZ","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE6center7radiusX0H1Y0H1ZACyxGx_6ScalarAA0eD0PQzA2Ntcfc":{"name":"init(center:radiusX:radiusY:radiusZ:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE8contains1x1y1zSb6ScalarAA0eD0PQz_A2MtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Ellipse3"},"Extensions/DirectionalRay3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Directional Ray with 3D vectors describing the start","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE1x1y1z2dx2dy2dzACyxG6ScalarQz_A5Mtcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"DirectionalRay3"},"Extensions/Cube3.html#/s:9Geometria7NSquareVA2A11Vector3TypeRzrlE1x1y1z10sideLengthACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:z:sideLength:)","parent_name":"Cube3"},"Extensions/Capsule3.html#/s:9Geometria8NCapsuleVA2A11Vector3TypeRzrlE10asCylinderAA9Cylinder3VyxGvp":{"name":"asCylinder","abstract":"

    Returns a Cylinder3 with the same start, end, and radius","parent_name":"Capsule3"},"Extensions/Capsule3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Capsule3"},"Extensions/Vector2F.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2F"},"Extensions/Vector2F.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2F"},"Extensions/Vector2D.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2D"},"Extensions/Vector2D.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2D"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE04unitB0ACyxGvpZ":{"name":"unitTriangle","abstract":"

    Returns a unit triangle where a, b, and c take the following","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE16signedDoubleArea6ScalarQzvp":{"name":"signedDoubleArea","abstract":"

    Returns the signed doubled area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzrlE10signedArea6ScalarAA0E4TypePQzvp":{"name":"signedArea","abstract":"

    Returns the signed area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzAA0E6SignedRzrlE7winding6ScalarAA0E4TypePQzvp":{"name":"winding","abstract":"

    Returns the signed value of this triangle’s winding.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether the given point vector is contained within this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentric1x1yAcASQ6ScalarRpzrlE11CoordinatesVyx_GAI_AItF":{"name":"toBarycentric(x:y:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA05Line2dE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Triangle2"},"Extensions/Square2.html#/s:9Geometria7NSquareVA2A11Vector2TypeRzrlE1x1y10sideLengthACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:sideLength:)","parent_name":"Square2"},"Extensions/SIMD2.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD2"},"Extensions/SIMD2.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/cross(_:)":{"name":"cross(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/absolute":{"name":"absolute","parent_name":"SIMD2"},"Extensions/SIMD2.html#/sign":{"name":"sign","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formPerpendicular()":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/perpendicular()":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/leftRotated()":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formLeftRotated()":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rightRotated()":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formRightRotated()":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalize()":{"name":"normalize()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalized()":{"name":"normalized()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector2Type and another Vector2Type

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rounded()":{"name":"rounded()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/ceil()":{"name":"ceil()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/floor()":{"name":"floor()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/angle":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:)":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(by:)":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:around:)":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(_:by:)":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/matrix(scale:rotate:translate:)":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*=(_:_:)":{"name":"*=(_:_:)","parent_name":"SIMD2"},"Extensions/RoundRectangle2.html#/s:9Geometria15RoundNRectangleVA2A11Vector2TypeRzrlE9rectangle7radiusX0G1YACyxGAA0C0VyxG_6ScalarQzAMtcfc":{"name":"init(rectangle:radiusX:radiusY:)","parent_name":"RoundRectangle2"},"Extensions/Rectangle2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5right6ScalarAA0eD0PQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE6bottom6ScalarAA0eD0PQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this Rectangle‘s corners in","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE4left3top5right6bottomACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a Rectangle with the edges of a box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11movingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE12movingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE14stretchingLeft2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and right as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE13stretchingTop2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and bottom as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE15stretchingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and left as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE16stretchingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and top as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5insetyACyxGAA11EdgeInsets2VyxGF":{"name":"inset(_:)","abstract":"

    Insets this Rectangle with a given set of edge inset values.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA10VectorRealRzrlE17transformedBoundsyACyxGAA9Matrix3x2Vy6ScalarAA0eD0PQzGF":{"name":"transformedBounds(_:)","abstract":"

    Applies the given Matrix on all corners of this Rectangle, returning a new","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzAA0E10ComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA20VectorMultiplicativeRzrlE8scaledBy1x1yACyxG6ScalarAA0eD0PQz_AMtF":{"name":"scaledBy(x:y:)","abstract":"

    Returns a Rectangle with the same position as this Rectangle, with its","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzSF6ScalarRpzrlE1x1y5width6heightACyxGqd___qd__qd__qd__tcSzRd__lufc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE2x12y12x22y2ACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Ray with two 2D vectors representing the starting","parent_name":"Ray2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y2dx2dyACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Ray with a 2D vector for its position and another","parent_name":"Ray2"},"Extensions/LineSegment2.html#/s:9Geometria11LineSegmentVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"LineSegment2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzrlE9addVertex1x1yy6ScalarQz_AItF":{"name":"addVertex(x:y:)","abstract":"

    Adds a new 2D vertex at the end of this polygon’s vertices list

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzrlE7winding6ScalarQzyF":{"name":"winding()","abstract":"

    Returns the winding number for this polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA19DivisibleArithmetic6ScalarRpzrlE4areaAGyF":{"name":"area()","abstract":"

    Returns the signed area of this 2D polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA16VectorComparableRzrlE8isConvexSbyF":{"name":"isConvex()","abstract":"

    Returns true if this polygon is convex.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA16VectorComparableRzAA0F9DivisibleRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Assuming this LinePolygon2 represents a clockwise closed polygon,","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE02isH6OnEdge_9toleranceSbx_6ScalarAA0fE0PQztF":{"name":"isPointOnEdge(_:tolerance:)","abstract":"

    Returns true if the given point lies within an edge of the polygon","parent_name":"LinePolygon2"},"Extensions/Line2.html#/s:9Geometria4LineVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"Line2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE6center7radiusX0H1YACyxGx_6ScalarAA0eD0PQzAMtcfc":{"name":"init(center:radiusX:radiusY:)","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE4focix1a_x1btyF":{"name":"foci()","abstract":"

    Computes the focal points of this 2D ellipse, as two vectors in space","parent_name":"Ellipse2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Directional Ray with 2D vectors describing the start","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE1x1y2dx2dyACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Directional Ray with a 2D vector for its position and","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A11Vector2RealRzrlE5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle of this directional ray, in radians

    ","parent_name":"DirectionalRay2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzrlE1x1y6radiusACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:radius:)","abstract":"

    Initializes a circle centered at a given point with a given radius.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzAA20VectorMultiplicativeRzSL6ScalarAA0eD0PRpzrlE8contains1x1ySbAI_AItF":{"name":"contains(x:y:)","abstract":"

    Returns true if this circle’s area contains a given point.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A20Vector2FloatingPointRzrlE12intersection4withAA24ClosedShape2IntersectionOyxGACyxG_tF":{"name":"intersection(with:)","abstract":"

    Returns the result of the intersection between self and another Circle2.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE12pointOnAngleyxAA0G0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on this circle represented by a given angle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxGAA0G0Vy6ScalarQzG_AOtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxG6ScalarQz_ALtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/AABB2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1x6ScalarQzvp":{"name":"x","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1y6ScalarQzvp":{"name":"y","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left6ScalarQzvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE3top6ScalarQzvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE5right6ScalarQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE6bottom6ScalarQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7topLeftxvp":{"name":"topLeft","abstract":"

    The top-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this AABB‘s 2D corners in","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left3top5right6bottomACyxG6ScalarQz_A3Ktcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a AABB with the edges of a box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA16VectorComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y5width6heightACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a AABB with the coordinates of a rectangle.

    ","parent_name":"AABB2"},"Extensions/AABB2.html":{"name":"AABB2"},"Extensions/Circle2.html":{"name":"Circle2"},"Extensions/DirectionalRay2.html":{"name":"DirectionalRay2"},"Extensions/Ellipse2.html":{"name":"Ellipse2"},"Extensions.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2"},"Extensions/Line2.html":{"name":"Line2"},"Extensions/LinePolygon2.html":{"name":"LinePolygon2"},"Extensions/LineSegment2.html":{"name":"LineSegment2"},"Extensions.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2"},"Extensions/Ray2.html":{"name":"Ray2"},"Extensions/Rectangle2.html":{"name":"Rectangle2"},"Extensions/RoundRectangle2.html":{"name":"RoundRectangle2"},"Extensions/SIMD2.html":{"name":"SIMD2"},"Extensions/Square2.html":{"name":"Square2"},"Extensions/Triangle2.html":{"name":"Triangle2"},"Extensions/Vector2D.html":{"name":"Vector2D"},"Extensions/Vector2F.html":{"name":"Vector2F"},"Extensions.html#/s:9Geometria5AABB3a":{"name":"AABB3"},"Extensions/Capsule3.html":{"name":"Capsule3"},"Extensions/Cube3.html":{"name":"Cube3"},"Extensions/DirectionalRay3.html":{"name":"DirectionalRay3"},"Extensions/Ellipse3.html":{"name":"Ellipse3"},"Extensions.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3"},"Extensions/Line3.html":{"name":"Line3"},"Extensions/LineSegment3.html":{"name":"LineSegment3"},"Extensions.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3"},"Extensions/Ray3.html":{"name":"Ray3"},"Extensions/RotationMatrix3.html":{"name":"RotationMatrix3"},"Extensions/SIMD3.html":{"name":"SIMD3"},"Extensions/Sphere3.html":{"name":"Sphere3"},"Extensions/Triangle3.html":{"name":"Triangle3"},"Extensions/SIMD4.html":{"name":"SIMD4"},"Extensions.html#/s:Si":{"name":"Int"},"Extensions.html#/s:Su":{"name":"UInt"},"Extensions.html#/s:s4Int8V":{"name":"Int8"},"Extensions.html#/s:s5Int16V":{"name":"Int16"},"Extensions.html#/s:s5Int32V":{"name":"Int32"},"Extensions.html#/s:s5Int64V":{"name":"Int64"},"Extensions.html#/s:s5UInt8V":{"name":"UInt8"},"Extensions.html#/s:s6UInt16V":{"name":"UInt16"},"Extensions.html#/s:s6UInt32V":{"name":"UInt32"},"Extensions.html#/s:s6UInt64V":{"name":"UInt64"},"Extensions.html#/s:Sf":{"name":"Float"},"Extensions.html#/s:Sd":{"name":"Double"},"Extensions.html#/s:s7Float80V":{"name":"Float80"},"Extensions/Collection.html":{"name":"Collection"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO5enteryAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"enter","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO4exityAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"exit","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9containedyACyxGAEmAA19VectorFloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the line’s boundaries are completely contained","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the line crosses the bounds of the convex","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO5enteryACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"enter(_:)","abstract":"

    Represents cases where the line starts outside the shape and crosses in","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO4exityACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"exit(_:)","abstract":"

    Represents cases where the line starts within the convex shape and","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9enterExityACyxGAA11PointNormalVyxG_AHtcAEmAA014VectorFloatingG0RzlF":{"name":"enterExit(_:_:)","abstract":"

    Represents cases where the line crosses the convex shape twice: Once on","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO02noD0yACyxGAEmAA19VectorFloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO12pointNormalsSayAA11PointNormalVyxGGvp":{"name":"pointNormals","abstract":"

    Returns the list of point normals referenced by this intersection instance.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA014VectorFloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ConvexLineIntersection"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1wyA2CmF":{"name":"w","parent_name":"Vector4TakeDimensions"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyzyA2CmF":{"name":"xyz","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzyyA2CmF":{"name":"xzy","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyxyA2CmF":{"name":"zyx","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxyyA2CmF":{"name":"zxy","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzxyA2CmF":{"name":"yzx","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxzyA2CmF":{"name":"yxz","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxzyA2CmF":{"name":"zxz","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzxyA2CmF":{"name":"xzx","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxyyA2CmF":{"name":"yxy","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyxyA2CmF":{"name":"xyx","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyzyA2CmF":{"name":"zyz","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzyyA2CmF":{"name":"yzy","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector3TakeDimensions"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O11rightHandedyA2CmF":{"name":"rightHanded","abstract":"

    Specifies a right-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O10leftHandedyA2CmF":{"name":"leftHanded","abstract":"

    Specifies a left-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector2TakeDimensions"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector2TakeDimensions"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO14twoPointsFirstyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsFirst","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO15twoPointsSecondyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsSecond","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO6pointsyAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"points(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO9pairEnteryAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairEnter(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO8pairExityAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairExit(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enterAA11PointNormalVyxGvp":{"name":"enter","abstract":"

    The entrance point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV4exitAA11PointNormalVyxGvp":{"name":"exit","abstract":"

    The exit point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enter4exitAEyx_GAA11PointNormalVyxG_AKtcfc":{"name":"init(enter:exit:)","parent_name":"Pair"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9containedyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the convex’s boundaries are completely contained","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO8containsyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contains","abstract":"

    Represents the case where the other convex’s boundaries are completely","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA015Vector2FloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the convex crosses the bounds of the convex","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO5pairsyACyxGSayAC4PairVyx_GGcAEmAA20Vector2FloatingPointRzlF":{"name":"pairs(_:)","abstract":"

    A sequence of one or more intersection pairs of points that represent","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO02noD0yACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9twoPointsyACyxGAA11PointNormalVyxG_AHtFZ":{"name":"twoPoints(_:_:)","abstract":"

    Convenience for .pairs([.init(enter: p1, exit: p2)]).

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA015Vector2FloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/Pair.html":{"name":"Pair","abstract":"

    A pair of entrance/exit intersection points.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html":{"name":"ClosedShape2Intersection","abstract":"

    The result of a intersection test against two 2-dimensional closed shapes.

    "},"Enums/Vector2TakeDimensions.html":{"name":"Vector2TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 2 type.

    "},"Enums/Orientation3.html":{"name":"Orientation3","abstract":"

    Describes the orientation"},"Enums/Vector3TakeDimensions.html":{"name":"Vector3TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/RotationOrder3.html":{"name":"RotationOrder3","abstract":"

    Specifies configurations for the order of rotations when creating a"},"Enums/Vector4TakeDimensions.html":{"name":"Vector4TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/ConvexLineIntersection.html":{"name":"ConvexLineIntersection","abstract":"

    The result of a convex-line intersection test.

    "},"changelog.html":{"name":"CHANGELOG"},"license.html":{"name":"LICENSE"},"readme.html":{"name":"README"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:9Geometria6AABB2Da":{"name":"AABB2D","abstract":"

    Represents a 2D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB2Fa":{"name":"AABB2F","abstract":"

    Represents a 2D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB2ia":{"name":"AABB2i","abstract":"

    Represents a 2D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB2a":{"name":"AABB2","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Circle2Da":{"name":"Circle2D","abstract":"

    Represents a 2D circle with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Circle2Fa":{"name":"Circle2F","abstract":"

    Represents a 2D circle with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Circle2a":{"name":"Circle2","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Da":{"name":"CircleArc2D","abstract":"

    Represents a 2D arc of a circle with double-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria11CircleArc2Fa":{"name":"CircleArc2F","abstract":"

    Represents a 2D arc of a circle with single-precision floating-point components.

    "},"Typealiases.html#/s:9Geometria16DirectionalRay2Da":{"name":"DirectionalRay2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay2Fa":{"name":"DirectionalRay2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay2a":{"name":"DirectionalRay2","abstract":"

    Typealias for DirectionalRay<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria12EdgeInsets2Da":{"name":"EdgeInsets2D","abstract":"

    Represents a 2D edge inset with double-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2Fa":{"name":"EdgeInsets2F","abstract":"

    Represents a 2D edge inset with single-precision floating-point parameters.

    "},"Typealiases.html#/s:9Geometria12EdgeInsets2ia":{"name":"EdgeInsets2i","abstract":"

    Represents a 2D edge inset with integer parameters.

    "},"Typealiases.html#/s:9Geometria9Ellipse2Da":{"name":"Ellipse2D","abstract":"

    Represents a 2D ellipse as a double-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2Fa":{"name":"Ellipse2F","abstract":"

    Represents a 2D ellipse as a single-precision floating-point center with X"},"Typealiases.html#/s:9Geometria9Ellipse2ia":{"name":"Ellipse2i","abstract":"

    Represents a 2D ellipse as a integer center with X and Y radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse2a":{"name":"Ellipse2","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane2Da":{"name":"Hyperplane2D","abstract":"

    Represents a 2D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane2Fa":{"name":"Hyperplane2F","abstract":"

    Represents a 2D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector2FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line2Da":{"name":"Line2D","abstract":"

    Represents a 2D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2Fa":{"name":"Line2F","abstract":"

    Represents a 2D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line2ia":{"name":"Line2i","abstract":"

    Represents a 2D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line2a":{"name":"Line2","abstract":"

    Typealias for Line<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LinePolygon2Da":{"name":"LinePolygon2D","abstract":"

    Represents a 2D polygon as a series of connected double-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2Fa":{"name":"LinePolygon2F","abstract":"

    Represents a 2D polygon as a series of connected single-precision"},"Typealiases.html#/s:9Geometria13LinePolygon2ia":{"name":"LinePolygon2i","abstract":"

    Represents a 2D polygon as a series of connected integer 2D vertices.

    "},"Typealiases.html#/s:9Geometria12LinePolygon2a":{"name":"LinePolygon2","abstract":"

    Typealias for LinePolygon<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment2Da":{"name":"LineSegment2D","abstract":"

    Represents a 2D line segment as a pair of double-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2Fa":{"name":"LineSegment2F","abstract":"

    Represents a 2D line segment as a pair of single-precision floating-point"},"Typealiases.html#/s:9Geometria13LineSegment2ia":{"name":"LineSegment2i","abstract":"

    Represents a 2D line segment as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment2a":{"name":"LineSegment2","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11PointCloud2a":{"name":"PointCloud2","abstract":"

    A point-cloud composed of two-dimensional vector points.

    "},"Typealiases.html#/s:9Geometria12PointCloud2Da":{"name":"PointCloud2D","abstract":"

    A point-cloud composed of two-dimensional vector points of double-precision"},"Typealiases.html#/s:9Geometria12PointCloud2Fa":{"name":"PointCloud2F","abstract":"

    A point-cloud composed of two-dimensional vector points of single-precision"},"Typealiases.html#/s:9Geometria18PointNormalPlane2Da":{"name":"PointNormalPlane2D","abstract":"

    Represents a 2D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane2Fa":{"name":"PointNormalPlane2F","abstract":"

    Represents a 2D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria5Ray2Da":{"name":"Ray2D","abstract":"

    Represents a 2D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2Fa":{"name":"Ray2F","abstract":"

    Represents a 2D ray as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray2ia":{"name":"Ray2i","abstract":"

    Represents a 2D ray as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray2a":{"name":"Ray2","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Da":{"name":"Rectangle2D","abstract":"

    Represents a double-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2Fa":{"name":"Rectangle2F","abstract":"

    Represents a single-precision floating-point 2D rectangle.

    "},"Typealiases.html#/s:9Geometria11Rectangle2ia":{"name":"Rectangle2i","abstract":"

    Represents an integer 2D rectangle.

    "},"Typealiases.html#/s:9Geometria10Rectangle2a":{"name":"Rectangle2","abstract":"

    Typealias for NRectangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria16RoundRectangle2Da":{"name":"RoundRectangle2D","abstract":"

    Represents a 2D rounded rectangle with double-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2Fa":{"name":"RoundRectangle2F","abstract":"

    Represents a 2D rounded rectangle with single-precision floating-point bounds"},"Typealiases.html#/s:9Geometria16RoundRectangle2ia":{"name":"RoundRectangle2i","abstract":"

    Represents a 2D rounded rectangle with integer bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria15RoundRectangle2a":{"name":"RoundRectangle2","abstract":"

    Represents a 2D rounded rectangle with rectangular bounds and X and Y radius.

    "},"Typealiases.html#/s:9Geometria8Square2Da":{"name":"Square2D","abstract":"

    Represents a double-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2Fa":{"name":"Square2F","abstract":"

    Represents a single-precision floating-point 2D square.

    "},"Typealiases.html#/s:9Geometria8Square2ia":{"name":"Square2i","abstract":"

    Represents an integer 2D square.

    "},"Typealiases.html#/s:9Geometria7Square2a":{"name":"Square2","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria9Stadium2Da":{"name":"Stadium2D","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2Fa":{"name":"Stadium2F","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria9Stadium2ia":{"name":"Stadium2i","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria8Stadium2a":{"name":"Stadium2","abstract":"

    Represents a regular 2-dimensional Stadium"},"Typealiases.html#/s:9Geometria10Triangle2Da":{"name":"Triangle2D","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2Fa":{"name":"Triangle2F","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle2ia":{"name":"Triangle2i","abstract":"

    Represents a 2D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle2a":{"name":"Triangle2","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector2Type.

    "},"Typealiases.html#/s:9Geometria8Vector2Da":{"name":"Vector2D","abstract":"

    Represents a 2D point with two double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2Fa":{"name":"Vector2F","abstract":"

    Represents a 2D point with two single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector2ia":{"name":"Vector2i","abstract":"

    Represents a 2D point with two Int components

    "},"Typealiases.html#/s:9Geometria6AABB3Da":{"name":"AABB3D","abstract":"

    Represents a 3D axis-aligned bounding box with two double-precision"},"Typealiases.html#/s:9Geometria6AABB3Fa":{"name":"AABB3F","abstract":"

    Represents a 3D axis-aligned bounding box with two single-precision"},"Typealiases.html#/s:9Geometria6AABB3ia":{"name":"AABB3i","abstract":"

    Represents a 3D axis-aligned bounding box with two integer vectors that"},"Typealiases.html#/s:9Geometria5AABB3a":{"name":"AABB3","abstract":"

    Typealias for AABB<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria9Capsule3Da":{"name":"Capsule3D","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3Fa":{"name":"Capsule3F","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria9Capsule3ia":{"name":"Capsule3i","abstract":"

    Represents a regular 3-dimensional Capsule as a pair of end points and a"},"Typealiases.html#/s:9Geometria8Capsule3a":{"name":"Capsule3","abstract":"

    Typealias for NCapsule<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria6Cube3Da":{"name":"Cube3D","abstract":"

    Represents a double-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3Fa":{"name":"Cube3F","abstract":"

    Represents a single-precision floating-point 3D cube.

    "},"Typealiases.html#/s:9Geometria6Cube3ia":{"name":"Cube3i","abstract":"

    Represents an integer 3D cube.

    "},"Typealiases.html#/s:9Geometria5Cube3a":{"name":"Cube3","abstract":"

    Typealias for NSquare<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria10Cylinder3Da":{"name":"Cylinder3D","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3Fa":{"name":"Cylinder3F","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria10Cylinder3ia":{"name":"Cylinder3i","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Typealiases.html#/s:9Geometria16DirectionalRay3Da":{"name":"DirectionalRay3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria16DirectionalRay3Fa":{"name":"DirectionalRay3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria15DirectionalRay3a":{"name":"DirectionalRay3","abstract":"

    Typealias for DirectionalRay3<V>, where V is constrained to"},"Typealiases.html#/s:9Geometria9Ellipse3Da":{"name":"Ellipse3D","abstract":"

    Represents a 3D ellipse as a double-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3Fa":{"name":"Ellipse3F","abstract":"

    Represents a 3D ellipse as a single-precision floating-point center with X,"},"Typealiases.html#/s:9Geometria9Ellipse3ia":{"name":"Ellipse3i","abstract":"

    Represents a 3D ellipse as a integer center with X, Y, and Z radii.

    "},"Typealiases.html#/s:9Geometria8Ellipse3a":{"name":"Ellipse3","abstract":"

    Typealias for Ellipsoid<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria12Hyperplane3Da":{"name":"Hyperplane3D","abstract":"

    Represents a 3D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane3Fa":{"name":"Hyperplane3F","abstract":"

    Represents a 3D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria6Line3Da":{"name":"Line3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3Fa":{"name":"Line3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria6Line3ia":{"name":"Line3i","abstract":"

    Represents a 3D line as a pair of integer vectors which the infinite line"},"Typealiases.html#/s:9Geometria5Line3a":{"name":"Line3","abstract":"

    Typealias for Line<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria13LineSegment3Da":{"name":"LineSegment3D","abstract":"

    Represents a 3D line as a pair of double-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3Fa":{"name":"LineSegment3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point start and"},"Typealiases.html#/s:9Geometria13LineSegment3ia":{"name":"LineSegment3i","abstract":"

    Represents a 3D line as a pair of integer start and end vectors.

    "},"Typealiases.html#/s:9Geometria12LineSegment3a":{"name":"LineSegment3","abstract":"

    Typealias for LineSegment<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria11PointCloud3a":{"name":"PointCloud3","abstract":"

    A point-cloud composed of three-dimensional vector points.

    "},"Typealiases.html#/s:9Geometria12PointCloud3Da":{"name":"PointCloud3D","abstract":"

    A point-cloud composed of three-dimensional vector points of double-precision"},"Typealiases.html#/s:9Geometria12PointCloud3Fa":{"name":"PointCloud3F","abstract":"

    A point-cloud composed of three-dimensional vector points of single-precision"},"Typealiases.html#/s:9Geometria18PointNormalPlane3Da":{"name":"PointNormalPlane3D","abstract":"

    Represents a 3D plane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria18PointNormalPlane3Fa":{"name":"PointNormalPlane3F","abstract":"

    Represents a 3D plane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3","abstract":"

    Typealias for PointNormalPlane<V>, where V is constrained to Vector3FloatingPoint.

    "},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Da":{"name":"ProjectivePointNormalPlane3D","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria28ProjectivePointNormalPlane3Fa":{"name":"ProjectivePointNormalPlane3F","abstract":"

    Represents a 3D projective plane as a point, normal, right, and up-axis"},"Typealiases.html#/s:9Geometria5Ray3Da":{"name":"Ray3D","abstract":"

    Represents a 3D ray as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3Fa":{"name":"Ray3F","abstract":"

    Represents a 3D line as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria5Ray3ia":{"name":"Ray3i","abstract":"

    Represents a 3D line as a pair of integer vectors describing where the ray"},"Typealiases.html#/s:9Geometria4Ray3a":{"name":"Ray3","abstract":"

    Typealias for Ray<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria16RotationMatrix3Da":{"name":"RotationMatrix3D","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria16RotationMatrix3Fa":{"name":"RotationMatrix3F","abstract":"

    Describes a 3-dimensional rotation matrix"},"Typealiases.html#/s:9Geometria15RotationMatrix3a":{"name":"RotationMatrix3","abstract":"

    Describes a 3-dimensional rotation matrix.

    "},"Typealiases.html#/s:9Geometria8Sphere3Da":{"name":"Sphere3D","abstract":"

    Represents a 3D sphere with a double-precision floating-point center point"},"Typealiases.html#/s:9Geometria8Sphere3Fa":{"name":"Sphere3F","abstract":"

    Represents a 3D sphere with a single-precision floating-point center point"},"Typealiases.html#/s:9Geometria7Sphere3a":{"name":"Sphere3","abstract":"

    Typealias for NSphere<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria7Torus3Da":{"name":"Torus3D","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria7Torus3Fa":{"name":"Torus3F","abstract":"

    Represents a three dimensional [torus] shape as a center point, an axis of"},"Typealiases.html#/s:9Geometria10Triangle3Da":{"name":"Triangle3D","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3Fa":{"name":"Triangle3F","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with"},"Typealiases.html#/s:9Geometria10Triangle3ia":{"name":"Triangle3i","abstract":"

    Represents a 3D triangle as a trio of N-dimensional vectors with integer"},"Typealiases.html#/s:9Geometria9Triangle3a":{"name":"Triangle3","abstract":"

    Typealias for Triangle<V>, where V is constrained to Vector3Type.

    "},"Typealiases.html#/s:9Geometria8Vector3Da":{"name":"Vector3D","abstract":"

    Represents a 3D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3Fa":{"name":"Vector3F","abstract":"

    Represents a 3D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector3ia":{"name":"Vector3i","abstract":"

    Represents a 3D point with three Int components

    "},"Typealiases.html#/s:9Geometria12Hyperplane4Da":{"name":"Hyperplane4D","abstract":"

    Represents a 4D hyperplane as a pair of double-precision floating-point vectors"},"Typealiases.html#/s:9Geometria12Hyperplane4Fa":{"name":"Hyperplane4F","abstract":"

    Represents a 4D hyperplane as a pair of single-precision floating-point vectors"},"Typealiases.html#/s:9Geometria11Hyperplane4a":{"name":"Hyperplane4","abstract":"

    Typealias for Hyperplane<V>, where V is constrained to Vector4FloatingPoint.

    "},"Typealiases.html#/s:9Geometria8Vector4Da":{"name":"Vector4D","abstract":"

    Represents a 4D point with three double-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4Fa":{"name":"Vector4F","abstract":"

    Represents a 4D point with three single-precision floating-point components

    "},"Typealiases.html#/s:9Geometria8Vector4ia":{"name":"Vector4i","abstract":"

    Represents a 4D point with three Int components

    "},"Typealiases.html#/s:9Geometria10Matrix3x2Da":{"name":"Matrix3x2D","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 4x4 identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1mx_xxxt_x_xxxtx_xxxtx_xxxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 4x4 tuple.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r0x_xxxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r1x_xxxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r2x_xxxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2r3x_xxxtvp":{"name":"r3","abstract":"

    The fourth row of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c0x_xxxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c1x_xxxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c2x_xxxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2c3x_xxxtvp":{"name":"c3","abstract":"

    The fourth column of this matrix

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r0VecAA7Vector4VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r1VecAA7Vector4VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r2VecAA7Vector4VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5r3VecAA7Vector4VyxGvp":{"name":"r3Vec","abstract":"

    Gets the fourth row of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c0VecAA7Vector4VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c1VecAA7Vector4VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c2VecAA7Vector4VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5c3VecAA7Vector4VyxGvp":{"name":"c3Vec","abstract":"

    Gets the fourth column of this matrix in a Vector4.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGx_xxxt_x_xxxtx_xxxtx_xxxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V4rowsACyxGqd___qd__qd__qd__t_tc6ScalarQyd__RszAA11Vector4TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector4 values as the values","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_xxxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector4FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector3FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix4x4 that is a transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScale1x1y1zACyxGx_xxtFZ":{"name":"makeScale(x:y:z:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V9makeScaleyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeXRotationyACyxGxFZ":{"name":"makeXRotation(_:)","abstract":"

    Creates an X rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeYRotationyACyxGxFZ":{"name":"makeYRotation(_:)","abstract":"

    Creates an Y rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V13makeZRotationyACyxGxFZ":{"name":"makeZRotation(_:)","abstract":"

    Creates a Z rotation matrix that when applied to a vector, rotates it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslation1x1y1zACyxGx_xxtFZ":{"name":"makeTranslation(x:y:z:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V15makeTranslationyACyxGqd__6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"makeTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix4x4"},"Structs/Matrix4x4.html#/s:9Geometria9Matrix4x4V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix4x4"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 3x3 identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1mx_xxt_x_xxtx_xxttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 3x3 tuple.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r0x_xxtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r1x_xxtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2r2x_xxtvp":{"name":"r2","abstract":"

    The third row of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c0x_xxtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c1x_xxtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2c2x_xxtvp":{"name":"c2","abstract":"

    The third column of this matrix

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r0VecAA7Vector3VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r1VecAA7Vector3VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5r2VecAA7Vector3VyxGvp":{"name":"r2Vec","abstract":"

    Gets the third row of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c0VecAA7Vector3VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c1VecAA7Vector3VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5c2VecAA7Vector3VyxGvp":{"name":"c2Vec","abstract":"

    Gets the third column of this matrix in a Vector3.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGx_xxt_x_xxtx_xxtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V4rowsACyxGqd___qd__qd__t_tc6ScalarQyd__RszAA11Vector3TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector3Type values as the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_xxt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector3FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V15transformVectoryqd__qd__6ScalarQyd__RszAA20Vector2FloatingPointRd__lF":{"name":"transformVector(_:)","abstract":"

    Transforms a given vector, applying scaling, rotation and translation to","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix3x3 that is a transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScale1x1yACyxGx_xtFZ":{"name":"make2DScale(x:y:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V11make2DScaleyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DScale(_:)","abstract":"

    Creates a matrix that when applied to a vector, scales each coordinate","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V14make2DRotationyACyxGxFZ":{"name":"make2DRotation(_:)","abstract":"

    Creates a rotation matrix that when applied to a 2-dimensional vector,","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslation1x1yACyxGx_xtFZ":{"name":"make2DTranslation(x:y:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V17make2DTranslationyACyxGqd__6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"make2DTranslation(_:)","abstract":"

    Creates a translation matrix that when applied to a vector, moves it","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V31make3DSkewSymmetricCrossProduct_11orientationACyxGqd___AA12Orientation3Ot6ScalarQyd__RszAA11Vector3TypeRd__lFZ":{"name":"make3DSkewSymmetricCrossProduct(_:orientation:)","abstract":"

    Creates a skew-symmetric cross product matrix for a given vector.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix3x3"},"Structs/Matrix3x3.html#/s:9Geometria9Matrix3x3V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix3x3"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6Vectora":{"name":"Vector","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Gets the identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m11xvp":{"name":"m11","abstract":"

    Element (1,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m12xvp":{"name":"m12","abstract":"

    Element (1,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m21xvp":{"name":"m21","abstract":"

    Element (2,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m22xvp":{"name":"m22","abstract":"

    Element (2,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m31xvp":{"name":"m31","abstract":"

    Element (3,1)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m32xvp":{"name":"m32","abstract":"

    Element (3,2)

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row1SayxGvp":{"name":"row1","abstract":"

    Gets the first row in the matrix; that is M11 and M12.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row2SayxGvp":{"name":"row2","abstract":"

    Gets the second row in the matrix; that is M21 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4row3SayxGvp":{"name":"row3","abstract":"

    Gets the third row in the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column1SayxGvp":{"name":"column1","abstract":"

    Gets the first column in the matrix; that is M11, M21, and M31.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7column2SayxGvp":{"name":"column2","abstract":"

    Gets the second column in the matrix; that is M12, M22, and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V17translationVectorAA7Vector2VyxGvp":{"name":"translationVector","abstract":"

    Gets the translation of the matrix; that is M31 and M32.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11scaleVectorAA7Vector2VyxGvp":{"name":"scaleVector","abstract":"

    Gets the scale of the matrix; that is M11 and M22.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V10isIdentitySbvp":{"name":"isIdentity","abstract":"

    Gets a value indicating whether this instance is an identity matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5indexxSi_tcip":{"name":"subscript(index:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6column3rowxSi_Sitcip":{"name":"subscript(column:row:)","abstract":"

    Gets or sets the component at the specified index.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V5valueACyxGx_tcfc":{"name":"init(value:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3m113m123m213m223m313m32ACyxGx_xxxxxtcfc":{"name":"init(m11:m12:m21:m22:m31:m32:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6valuesACyxGSayxG_tcfc":{"name":"init(values:)","abstract":"

    Initializes a new instance of the Matrix3x2 struct.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7toArraySayxGyF":{"name":"toArray()","abstract":"

    Creates an array containing the elements of the matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11determinantxyF":{"name":"determinant()","abstract":"

    Calculates the determinant of this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8invertedACyxGyF":{"name":"inverted()","abstract":"

    Calculates the inverse of this matrix instance.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V3addyACyxGAE_AEtFZ":{"name":"add(_:_:)","abstract":"

    Determines the sum of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8subtractyACyxGAE_AEtFZ":{"name":"subtract(_:_:)","abstract":"

    Determines the difference between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_xtFZ":{"name":"multiply(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8multiplyyACyxGAE_AEtFZ":{"name":"multiply(_:_:)","abstract":"

    Determines the product of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_xtFZ":{"name":"divide(_:_:)","abstract":"

    Scales a matrix by the given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6divideyACyxGAE_AEtFZ":{"name":"divide(_:_:)","abstract":"

    Determines the quotient of two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6negateyACyxGAEFZ":{"name":"negate(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4lerp5start3end6amountACyxGAH_AHxtFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGAA7Vector2VyxG_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1yACyxGx_xtFZ":{"name":"scaling(x:y:)","abstract":"

    Creates a matrix that scales along the x-axis and y-axis.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling5scaleACyxGx_tFZ":{"name":"scaling(scale:)","abstract":"

    Creates a matrix that uniformly scales along both axes.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V7scaling1x1y6centerACyxGx_xAA7Vector2VyxGtFZ":{"name":"scaling(x:y:center:)","abstract":"

    Creates a matrix that is scaling from a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGx_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angleACyxGAA5AngleVyxG_tFZ":{"name":"rotation(angle:)","abstract":"

    Creates a matrix that rotates.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGx_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V8rotation5angle6centerACyxGAA5AngleVyxG_AA7Vector2VyxGtFZ":{"name":"rotation(angle:center:)","abstract":"

    Creates a matrix that rotates about a specified center.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translationyACyxGAA7Vector2VyxGFZ":{"name":"translation(_:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V11translation1x1yACyxGx_xtFZ":{"name":"translation(x:y:)","abstract":"

    Creates a translation matrix using the specified offsets.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xxxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformation6xScale01yD05angle7xOffset01yF0ACyxGx_xAA5AngleVyxGxxtFZ":{"name":"transformation(xScale:yScale:angle:xOffset:yOffset:)","abstract":"

    Creates a transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointAA7Vector2VyxGACyxG_AItFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V14transformPoint6matrix5pointqd__ACyxG_qd__t6ScalarQyd__RszAA11Vector2TypeRd__lFZ":{"name":"transformPoint(matrix:point:)","abstract":"

    Transforms a vector by this matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V4skew6angleX0D1YACyxGx_xtFZ":{"name":"skew(angleX:angleY:)","abstract":"

    Creates a skew matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V6invertyACyxGAEFZ":{"name":"invert(_:)","abstract":"

    Calculates the inverse of the specified matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1popyACyxGAEFZ":{"name":"+(_:)","abstract":"

    Assert a matrix (return it unchanged).

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates a matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Multiplies two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Scales a matrix by a given value.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","abstract":"

    Divides two matrices.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyAA10NRectangleVyqd__GAG6ScalarAA10VectorTypePQyd__RszAA07Vector2G0Rd__AA0F8AdditiveRd__AA0F10ComparableRd__lF":{"name":"transform(_:)","abstract":"

    Transforms a given rectangle’s bounds using this transformation matrix.

    ","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transformyqd__qd__6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(_:)","parent_name":"Matrix3x2"},"Structs/Matrix3x2.html#/s:9Geometria9Matrix3x2V9transform6pointsSayqd__GAF_t6ScalarQyd__RszAA11Vector2TypeRd__lF":{"name":"transform(points:)","parent_name":"Matrix3x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8identityACyxGvpZ":{"name":"identity","abstract":"

    Returns a 2x2 identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1Ma":{"name":"M","abstract":"

    The full type of this matrix’s backing, as a tuple of columns.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V3Rowa":{"name":"Row","abstract":"

    The type of this matrix’s row.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V6Columna":{"name":"Column","abstract":"

    The type of this matrix’s column.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1mx_xt_x_xttvp":{"name":"m","abstract":"

    Gets or sets all coefficients of this matrix as a single 2x2 tuple.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r0x_xtvp":{"name":"r0","abstract":"

    The first row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2r1x_xtvp":{"name":"r1","abstract":"

    The second row of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c0x_xtvp":{"name":"c0","abstract":"

    The first column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2c1x_xtvp":{"name":"c1","abstract":"

    The second column of this matrix

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r0VecAA7Vector2VyxGvp":{"name":"r0Vec","abstract":"

    Gets the first row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5r1VecAA7Vector2VyxGvp":{"name":"r1Vec","abstract":"

    Gets the second row of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c0VecAA7Vector2VyxGvp":{"name":"c0Vec","abstract":"

    Gets the first column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5c1VecAA7Vector2VyxGvp":{"name":"c1Vec","abstract":"

    Gets the second column of this matrix in a Vector2.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8rowCountSivp":{"name":"rowCount","abstract":"

    Returns the number of rows in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11columnCountSivp":{"name":"columnCount","abstract":"

    Returns the number of columns in this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VyxSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Subscripts into this matrix using column/row numbers.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V5tracexvp":{"name":"trace","abstract":"

    Returns the trace of this matrix, i.e. the sum of all the values on","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11descriptionSSvp":{"name":"description","abstract":"

    Returns a String that represents this instance.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2VACyxGycfc":{"name":"init()","abstract":"

    Initializes an identity matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGx_xt_x_xtt_tcfc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given row values.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V4rowsACyxGqd___qd__t_tc6ScalarQyd__RszAA11Vector2TypeRd__lufc":{"name":"init(rows:)","abstract":"

    Initializes a new matrix with the given Vector2Type values as the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9repeatingACyxGx_tcfc":{"name":"init(repeating:)","abstract":"

    Initializes a matrix with the given scalar on all positions.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_xt_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalars laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8diagonalACyxGx_tcfc":{"name":"init(diagonal:)","abstract":"

    Initializes a matrix with the given scalar laid out on the diagonal,","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V11determinantxyF":{"name":"determinant()","abstract":"

    Returns the determinant of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V14transformPointyqd__qd__6ScalarQyd__RszAA015Vector2FloatingD0Rd__lF":{"name":"transformPoint(_:)","abstract":"

    Transforms a given vector as a point, applying scaling, rotation and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V10transposedACyxGyF":{"name":"transposed()","abstract":"

    Returns a new Matrix2x2 that is a transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V9transposeyyF":{"name":"transpose()","abstract":"

    Performs an in-place transposition of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V8invertedACyxGSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1sopyACyxGAEFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2meoiyyACyxGz_AEtFZ":{"name":"*=(_:_:)","abstract":"

    Performs an in-place matrix multiplication between lhs and rhs","parent_name":"Matrix2x2"},"Structs/Matrix2x2.html#/s:9Geometria9Matrix2x2V2eeoiySbACyxG_AEtFZ":{"name":"==(_:_:)","abstract":"

    Returns true iff all coefficients from lhs and rhs are equal.

    ","parent_name":"Matrix2x2"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2waAEvp":{"name":"wa","abstract":"

    Normalized weight of vertex a.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wbAEvp":{"name":"wb","abstract":"

    Normalized weight of vertex b.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wcAEvp":{"name":"wc","abstract":"

    Normalized weight of vertex c.

    ","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesV2wa2wb2wcAGyx_GAE_A2Etcfc":{"name":"init(wa:wb:wc:)","parent_name":"Coordinates"},"Structs/Triangle/Coordinates.html#/s:9Geometria8TriangleVAASQ6ScalarRpzrlE11CoordinatesVAAs18AdditiveArithmeticAERQrlE4zeroAGyx_GvpZ":{"name":"zero","abstract":"

    Returns zerod-out barycentric coordinates.

    ","parent_name":"Coordinates"},"Structs/Triangle.html#/s:9Geometria8TriangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1axvp":{"name":"a","abstract":"

    The first point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1bxvp":{"name":"b","abstract":"

    The second point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1cxvp":{"name":"c","abstract":"

    The third point of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV1a1b1cACyxGx_xxtcfc":{"name":"init(a:b:c:)","parent_name":"Triangle"},"Structs/Triangle/Coordinates.html":{"name":"Coordinates","abstract":"

    Defines the normalized barycentric coordinates for a Triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineABAA11LineSegmentVyxGvp":{"name":"lineAB","abstract":"

    Returns a line segment for the edge between the points a -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineACAA11LineSegmentVyxGvp":{"name":"lineAC","abstract":"

    Returns a line segment for the edge between the points a -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBCAA11LineSegmentVyxGvp":{"name":"lineBC","abstract":"

    Returns a line segment for the edge between the points b -> c.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineBAAA11LineSegmentVyxGvp":{"name":"lineBA","abstract":"

    Returns a line segment for the edge between the points b -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCAAA11LineSegmentVyxGvp":{"name":"lineCA","abstract":"

    Returns a line segment for the edge between the points c -> a.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleV6lineCBAA11LineSegmentVyxGvp":{"name":"lineCB","abstract":"

    Returns a line segment for the edge between the points c -> b.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A20VectorMultiplicativeRzrlE14projectToWorldyxAcASQ6ScalarRpzrlE11CoordinatesVyx_GF":{"name":"projectToWorld(_:)","abstract":"

    Projects the given barycentric coordinates back into world space.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Returns the geometric center of this triangle.

    ","parent_name":"Triangle"},"Structs/Triangle.html#/s:9Geometria8TriangleVA2A19VectorFloatingPointRzrlE4area6ScalarQzvp":{"name":"area","abstract":"

    Returns the positive area of this triangle.

    ","parent_name":"Triangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangleAA0C0VyxGvp":{"name":"rectangle","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV6radiusxvp":{"name":"radius","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleV9rectangle6radiusACyxGAA0C0VyxG_xtcfc":{"name":"init(rectangle:radius:)","parent_name":"RoundNRectangle"},"Structs/RoundNRectangle.html#/s:9Geometria15RoundNRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this round rectangle’s","parent_name":"RoundNRectangle"},"Structs/Ray.html#/s:9Geometria3RayV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from start passes through before","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV5start1bACyxGx_xtcfc":{"name":"init(start:b:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayV6asLineAA0D0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this ray, where line.a matches","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE013asDirectionalB0AA0gB0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where ray.start","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive projected scalars (ray)

    ","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Ray"},"Structs/Ray.html#/s:9Geometria3RayVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"Ray"},"Structs/LineCategory.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11isOpenStartSbvp":{"name":"isOpenStart","abstract":"

    Returns whether the start of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV9isOpenEndSbvp":{"name":"isOpenEnd","abstract":"

    Returns whether the end of this line category is open, i.e. it extends","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:SY8rawValuexSg03RawB0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV4lineACvpZ":{"name":"line","abstract":"

    Category for a geometric line that define an infinite line.

    ","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV3rayACvpZ":{"name":"ray","abstract":"

    Category for a geometric ray line which has a starting","parent_name":"LineCategory"},"Structs/LineCategory.html#/s:9Geometria12LineCategoryV11lineSegmentACvpZ":{"name":"lineSegment","abstract":"

    Category for a line segment that define a closed interval with a start","parent_name":"LineCategory"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValuexvp":{"name":"wrappedValue","abstract":"

    Gets or sets the underlying vector value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if the underlying vector is a non-zero value.

    ","parent_name":"UnitVector"},"Structs/UnitVector.html#/s:9Geometria10UnitVectorV12wrappedValueACyxGx_tcfc":{"name":"init(wrappedValue:)","abstract":"

    Creates a new UnitVector with a given starting value.

    ","parent_name":"UnitVector"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneVyACyxGqd__c6VectorQyd__RszAA0D4TypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria16PointNormalPlaneV02asbC0AA0bC0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"PointNormalPlane"},"Structs/PointNormalPlane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormalPlane"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5pointxvp":{"name":"point","abstract":"

    A point on the surface of an object.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV6normalxvp":{"name":"normal","abstract":"

    The surface normal of the shape at the point point.

    ","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalV7asPlaneAA0bcE0VyxGvp":{"name":"asPlane","abstract":"

    Returns a PointNormalPlane value initialized with this point normal’s","parent_name":"PointNormal"},"Structs/PointNormal.html#/s:9Geometria11PointNormalVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormal that wraps the given plane object.

    ","parent_name":"PointNormal"},"Structs/PointCloud.html#/s:9Geometria10PointCloudV6pointsSayxGvp":{"name":"points","abstract":"

    The points contained within this point-cloud.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVACyxGycfc":{"name":"init()","abstract":"

    Initializes an empty point-cloud.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudV6pointsACyxGqd___tc7ElementQyd__RszSTRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a new point-cloud with a given sequence of points.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A14VectorAdditiveRzrlE10translated2byACyxGx_tF":{"name":"translated(by:)","abstract":"

    Returns a copy of this point cloud, offset in space by offset.

    ","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A14VectorAdditiveRzAA0D10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Gets the minimal axis-aligned bounding box capable of containing this","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A20VectorMultiplicativeRzrlE6scaled2byACyxGx_tF":{"name":"scaled(by:)","abstract":"

    Returns a copy of this point cloud, scaled in space towards the origin","parent_name":"PointCloud"},"Structs/PointCloud.html#/s:9Geometria10PointCloudVA2A20VectorMultiplicativeRzrlE6scaled2by6aroundACyxGx_xtF":{"name":"scaled(by:around:)","abstract":"

    Returns a copy of this point cloud, scaled in space towards the given","parent_name":"PointCloud"},"Structs/NSquare.html#/s:9Geometria7NSquareV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8locationxvp":{"name":"location","abstract":"

    The location of this box, corresponding to the minimal coordinate of the","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV10sideLength6ScalarQzvp":{"name":"sideLength","abstract":"

    The length of the side edges of this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns a rectangle with the same boundaries as this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareV8location10sideLengthACyxGx_6ScalarQztcfc":{"name":"init(location:sideLength:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Returns the span of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzrlE8verticesSayxGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this NSquare.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given vector is contained within the bounds of this","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NSquare with position .zero and side length 1.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria7NSquareVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns whether a given line intersects with this square.

    ","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NSquare"},"Structs/NSquare.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSquare"},"Structs/NSphere.html#/s:9Geometria7NSphereV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6centerxvp":{"name":"center","abstract":"

    The center point of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this N-sphere.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV6center6radiusACyxGx_6ScalarQztcfc":{"name":"init(center:radius:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereV11asEllipsoidAA0D0VyxGvp":{"name":"asEllipsoid","abstract":"

    Returns an ellipsoid with the same center point and radius parameters as","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVAAs18AdditiveArithmetic6ScalarRpzrlE8expanded2byACyxGAF_tF":{"name":"expanded(by:)","abstract":"

    Returns a new N-Sphere with the same center point as self, but with","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Retunrs an NSphere with center .zero and radius 1.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A20VectorMultiplicativeRzSL6ScalarRpzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if this N-sphere’s area contains a given point by checking","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this sphere’s surface to vector.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this N-sphere’s area intersects the given line type.

    ","parent_name":"NSphere"},"Structs/NSphere.html#/s:9Geometria7NSphereVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"NSphere"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8locationxvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV4sizexvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a NRectangle with the location + size of a rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxGx_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleV7rounded6radiusAA05RoundB0VyxG6ScalarQz_tF":{"name":"rounded(radius:)","abstract":"

    Returns a RoundNRectangle which has the same bounds as this rectangle,","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns an empty rectangle

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this rectangle is zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimumxvp":{"name":"minimum","abstract":"

    Minimum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7maximumxvp":{"name":"maximum","abstract":"

    Maximum point for this rectangle.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6asAABBAA0F0VyxGvp":{"name":"asAABB","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an empty NRectangle instance.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NRectangle instance out of the given minimum and maximum","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns this Rectangle represented as an AABB

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true if size >= .zero.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2ofACyxGxd_tcfc":{"name":"init(of:)","abstract":"

    Initializes a NRectangle containing the minimum area capable of containing","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a NRectangle out of a set of points, expanding to the","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given point.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands the bounding box of this NRectangle to include the given set of","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given NRectangle rests completely inside the boundaries","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this NRectangle intersects the given NRectangle instance.","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit this","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a NRectangle which is the minimum NRectangle that can fit two","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an NRectangle with location .zero and size .one.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A20VectorMultiplicativeRzrlE8scaledBy6vectorACyxGx_tF":{"name":"scaledBy(vector:)","abstract":"

    Returns a NRectangle with the same position as this NRectangle, with its","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10NRectangleVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this NRectangle’s area intersects the given line type.

    ","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","parent_name":"NRectangle"},"Structs/NRectangle.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"NRectangle"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5startxvp":{"name":"start","abstract":"

    Gets the starting point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV3endxvp":{"name":"end","abstract":"

    Gets the end point of this capsule’s geometry.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this capsule.

    ","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV13startAsSphereAA7NSphereVyxGvp":{"name":"startAsSphere","abstract":"

    Returns the NSphere that represents the top- or start, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleV11endAsSphereAA7NSphereVyxGvp":{"name":"endAsSphere","abstract":"

    Returns the NSphere that represents the bottom- or end, section of","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVAAs18AdditiveArithmetic6ScalarRpzSLAFRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this N-capsule’s parameters produce a valid, non-empty","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal bounds capable of fully containing this N-capsule’s","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"NCapsule"},"Structs/NCapsule.html#/s:9Geometria8NCapsuleVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point on this N-capsule’s surface to vector.

    ","parent_name":"NCapsule"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV6Scalara":{"name":"Scalar","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5startxvp":{"name":"start","abstract":"

    The bounded start of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV3endxvp":{"name":"end","abstract":"

    The bounded end of this line segment, inclusive.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1axvp":{"name":"a","abstract":"

    Alias for start.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV1bxvp":{"name":"b","abstract":"

    Alias for b.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5start3endACyxGx_xtcfc":{"name":"init(start:end:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV02asB0AA0B0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV5asRayAA0E0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this line segment, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentV8reversedACyxGvp":{"name":"reversed","abstract":"

    Returns a new line segment that has the start and end points of this","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A16VectorComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this line segment’s","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A20VectorMultiplicativeRzrlE13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the squared length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A15VectorDivisibleRzrlE6centerxvp":{"name":"center","abstract":"

    Gets the center point of this line segment.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the length of this line.

    ","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE16asDirectionalRayAA0hI0VyxGvp":{"name":"asDirectionalRay","abstract":"

    Returns a DirectionalRay representation of this ray, where the","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for projected scalars (0-1), which describes a","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineSegment"},"Structs/LineSegment.html#/s:9Geometria11LineSegmentVA2A19VectorFloatingPointRzrlE15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineSegment"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV6Scalara":{"name":"Scalar","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesSayxGvp":{"name":"vertices","abstract":"

    A sequence of vertices that describe sequential lines connected at the","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVACyxGycfc":{"name":"init()","abstract":"

    Initializes a LinePolygon with empty vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8verticesACyxGSayxG_tcfc":{"name":"init(vertices:)","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV9addVertexyyxF":{"name":"addVertex(_:)","abstract":"

    Adds a new vertex at the end of this polygon’s vertices list.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV7reverseyyF":{"name":"reverse()","abstract":"

    Reverses the order of the vertices within this line polygon.

    ","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV8reversedACyxGyF":{"name":"reversed()","abstract":"

    Returns a new line polygon where the vertices are the reversed list of","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonV12lineSegmentsSayAA0B7SegmentVyxGGyF":{"name":"lineSegments()","abstract":"

    Returns a list of line segments that represent the outlines of this line","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A14VectorAdditiveRzAA0D10ComparableRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing all points from this","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7averagexvp":{"name":"average","abstract":"

    Returns a vector with the coordinates of the arithmetic mean of all","parent_name":"LinePolygon"},"Structs/LinePolygon.html#/s:9Geometria11LinePolygonVA2A19VectorFloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Returns the closest point within the lines represented by self to point.

    ","parent_name":"LinePolygon"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5enteryAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"enter(_:)","abstract":"

    Represents an intersection that crosses to within the boundaries","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O4exityAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"exit(_:)","abstract":"

    Represents an intersection that crosses to the outside of the","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O5pointyAEyx_GAA11PointNormalVyxGcAGmAA014VectorFloatingE0RzlF":{"name":"point(_:)","abstract":"

    Represents an intersection that is non-directional.

    ","parent_name":"Intersection"},"Structs/LineIntersection/Intersection.html#/s:9Geometria16LineIntersectionV0C0O11pointNormalAA05PointE0VyxGvp":{"name":"pointNormal","abstract":"

    Gets the point normal associated with this intersection

    ","parent_name":"Intersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContainedSbvp":{"name":"isContained","abstract":"

    A flag that is set to true if the line the shape was tested against is","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV13intersectionsSayAC0C0Oyx_GGvp":{"name":"intersections","abstract":"

    A list of intersections that where returned by a LineIntersectableType.

    ","parent_name":"LineIntersection"},"Structs/LineIntersection.html#/s:9Geometria16LineIntersectionV11isContained13intersectionsACyxGSb_SayAC0C0Oyx_GGtcfc":{"name":"init(isContained:intersections:)","parent_name":"LineIntersection"},"Structs/LineIntersection/Intersection.html":{"name":"Intersection","abstract":"

    Represents an intersection in a LineIntersection.

    ","parent_name":"LineIntersection"},"Structs/Line.html#/s:9Geometria4LineV6Scalara":{"name":"Scalar","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1axvp":{"name":"a","abstract":"

    An initial point a line tracing from infinity passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1bxvp":{"name":"b","abstract":"

    A secondary point a line tracing from a passes through before","parent_name":"Line"},"Structs/Line.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all non-NaN scalar values, which describes a","parent_name":"Line"},"Structs/Line.html#/s:9Geometria4LineVA2A19VectorFloatingPointRzrlE33clampProjectedNormalizedMagnitudey6ScalarQzAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"Line"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV5point6normalACyxGx_xtcfc":{"name":"init(point:normal:)","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneVyACyxGqd__c6VectorQyd__RszAA9PlaneTypeRd__lufc":{"name":"init(_:)","abstract":"

    Creates a PointNormalPlane that wraps the given plane object.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV13asPointNormalAA0dE0VyxGvp":{"name":"asPointNormal","abstract":"

    Returns a PointNormal value initialized with this plane’s parameters.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA0F13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection against this hyperplane.

    ","parent_name":"Hyperplane"},"Structs/Hyperplane.html#/s:9Geometria10HyperplaneV8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is contained within the enclosed space","parent_name":"Hyperplane"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6centerxvp":{"name":"center","abstract":"

    This ellipsoid’s center.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6radiusxvp":{"name":"radius","abstract":"

    The axis-aligned axis (or radii) for this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidV6center6radiusACyxGx_xtcfc":{"name":"init(center:radius:)","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A14VectorAdditiveRzrlE6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Returns the minimal AABB capable of containing this ellipsoid.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an Ellipsoid with center .zero and radius .one.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if the given point is contained within this ellipse.

    ","parent_name":"Ellipsoid"},"Structs/Ellipsoid.html#/s:9Geometria9EllipsoidVA2A10VectorRealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0H13FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"
    ","parent_name":"Ellipsoid"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6Scalara":{"name":"Scalar","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5startxvp":{"name":"start","abstract":"

    The starting position of this ray

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9directionxvp":{"name":"direction","abstract":"

    A unit vector relative to start which indicates the direction of this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV5start9directionACyxGx_xtcfc":{"name":"init(start:direction:)","abstract":"

    Initializes a directional ray with a given start position and direction","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayVyACyxGqd__c6VectorQyd__RszAA8LineTypeRd__lufc":{"name":"init(_:)","abstract":"

    Initializes a directional ray with a given line’s endpoints.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1a1bACyxGx_xtcfc":{"name":"init(a:b:)","abstract":"

    Initializes a directional ray with a line passing through a and b.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1axvp":{"name":"a","abstract":"

    Equivalent to start.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV1bxvp":{"name":"b","abstract":"

    Equivalent to start + direction.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV6asLineAA0E0VyxGvp":{"name":"asLine","abstract":"

    Returns a Line representation of this directional ray, where line.a","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV02asC0AA0C0VyxGvp":{"name":"asRay","abstract":"

    Returns a Ray representation of this directional ray, where ray.start","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV9lineSlopexvp":{"name":"lineSlope","abstract":"

    Gets the slope of this directional ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18withPointsScaledByyACyxGxF":{"name":"withPointsScaledBy(_:)","abstract":"
    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV15projectAsScalary0F0QzxF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV18projectedMagnitudeyx6ScalarQzF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this ray’s start point","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV36containsProjectedNormalizedMagnitudeySb6ScalarQzF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true for all positive scalar values, which describes a ray.

    ","parent_name":"DirectionalRay"},"Structs/DirectionalRay.html#/s:9Geometria14DirectionalRayV33clampProjectedNormalizedMagnitudey6ScalarQzAFF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"DirectionalRay"},"Structs/AABB.html#/s:9Geometria4AABBV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimumxvp":{"name":"minimum","abstract":"

    The minimal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7maximumxvp":{"name":"maximum","abstract":"

    The maximal coordinate of this box.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV8locationxvp":{"name":"location","abstract":"

    The location of this Box corresponding to its minimal vector.","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV7minimum7maximumACyxGx_xtcfc":{"name":"init(minimum:maximum:)","abstract":"

    Initializes a NBox with the given minimum and maximum boundary","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBV6boundsACyxGvp":{"name":"bounds","abstract":"

    Returns self.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVAASQRzrlE10isSizeZeroSbvp":{"name":"isSizeZero","abstract":"

    Returns true if the size of this box is zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns true iff minimum <= maximum.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of_ACyxGx_xtcfc":{"name":"init(of:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of__ACyxGx_xxtcfc":{"name":"init(of:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE2of___ACyxGx_xxxtcfc":{"name":"init(of:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyx_tF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to include the given point.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE6expand9toIncludeyqd___t7ElementQyd__RszSTRd__lF":{"name":"expand(toInclude:)","abstract":"

    Expands this box to fully include the given set of points.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE5clampyxxF":{"name":"clamp(_:)","abstract":"

    Clamps a given vector’s coordinates to the confines of this AABB.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given point is contained within this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE8containsySbACyxGF":{"name":"contains(_:)","abstract":"

    Returns whether a given box is completely contained inside the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE10intersectsySbACyxGF":{"name":"intersects(_:)","abstract":"

    Returns whether this box intersects the given box instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE12intersectionyACyxGSgAGF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAGF":{"name":"union(_:)","abstract":"

    Returns a box which is the minimum box capable of fitting self and the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5unionyACyxGAG_AGtFZ":{"name":"union(_:_:)","abstract":"

    Returns a box which is the minimum box capable of fitting left and","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    Returns a box with minimum and maximum set to Vector.zero.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE4sizexvp":{"name":"size","abstract":"

    Gets the size of this box.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE6isZeroSbvp":{"name":"isZero","abstract":"

    Returns true if this box is a AABB.zero instance.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE11asRectangleAA10NRectangleVyxGvp":{"name":"asRectangle","abstract":"

    Returns this Box represented as a Rectangle

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlEACyxGycfc":{"name":"init()","abstract":"

    Initializes an AABB with zero minimal and maximal vectors.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzrlE8location4sizeACyxGx_xtcfc":{"name":"init(location:size:)","abstract":"

    Initializes this AABB with the equivalent coordinates of a rectangle","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE2of____ACyxGx_xxxxdtcfc":{"name":"init(of:_:_:_:_:)","abstract":"

    Initializes a box containing the minimum area capable of containing all","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE6pointsACyxGqd___tc7ElementQyd__RszSlRd__lufc":{"name":"init(points:)","abstract":"

    Initializes a box out of a set of points, expanding to the smallest","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A14VectorAdditiveRzAA0C10ComparableRzrlE5aabbsACyxGSayAGG_tcfc":{"name":"init(aabbs:)","abstract":"

    Initializes the smallest AABB capable of fully containing all of the","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A20VectorMultiplicativeRzrlE4unitACyxGvpZ":{"name":"unit","abstract":"

    Returns an AABB with minimum .zero and maximum .one.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A16VectorComparableRzAA0C9DivisibleRzrlE10subdividedSayACyxGGyF":{"name":"subdivided()","abstract":"

    Subdivides this AABB into 2 ^ D (where D is the dimensional size of","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE10intersects4lineSbqd___t0C0Qyd__RszAA04LinedE0Rd__lF":{"name":"intersects(line:)","abstract":"

    Returns true if this AABB’s area intersects the given line type.

    ","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria4AABBVA2A19VectorFloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t0C0Qyd__RszAA0idE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"AABB"},"Structs/AABB.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"AABB"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5startAA0B0VyxGvp":{"name":"start","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5sweepAA0B0VyxGvp":{"name":"sweep","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV4stopAA0B0VyxGvp":{"name":"stop","abstract":"

    Returns start + sweep.

    ","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGx_xtcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV5start5sweepACyxGAA0B0VyxG_AItcfc":{"name":"init(start:sweep:)","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other cover to the same angle sweep, after","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV8containsySbAA0B0VyxGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"AngleSweep"},"Structs/AngleSweep.html#/s:9Geometria10AngleSweepV7clampedyAA0B0VyxGAGF":{"name":"clamped(_:)","abstract":"

    Returns the result of clamping a given angle so it is contained within","parent_name":"AngleSweep"},"Structs/Angle.html#/s:9Geometria5AngleV2piACyxGvpZ":{"name":"pi","abstract":"

    Gets the angle value for the mathematical constant π.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansxvp":{"name":"radians","abstract":"

    Gets the radian value associated with this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV7radiansACyxGx_tcfc":{"name":"init(radians:)","abstract":"

    Initializes this angle with a given radians angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV12isEquivalent2toSbACyxG_tF":{"name":"isEquivalent(to:)","abstract":"

    Returns true if self and other refer to the same angle, after","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV10normalized4fromxx_tF":{"name":"normalized(from:)","abstract":"

    Returns this angle’s normalized representation, starting from a given","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV14relativeAngles2toACyxG8shortest_AF7longesttAF_tF":{"name":"relativeAngles(to:)","abstract":"

    Returns the relative sweep angles to go from self to other.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3cosxvp":{"name":"cos","abstract":"

    Returns the cosine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3sinxvp":{"name":"sin","abstract":"

    Returns the sine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV3tanxvp":{"name":"tan","abstract":"

    Returns the tangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4acosxvp":{"name":"acos","abstract":"

    Returns the arccosine of this angle

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4asinxvp":{"name":"asin","abstract":"

    Returns the arcsine of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4atanxvp":{"name":"atan","abstract":"

    Returns the arctangent of this angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4coshxvp":{"name":"cosh","abstract":"

    Returns the [hyperbolic cosine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4sinhxvp":{"name":"sinh","abstract":"

    Returns the [hyperbolic sine][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4tanhxvp":{"name":"tanh","abstract":"

    Returns the [hyperbolic tangent][https://en.wikipedia.org/wiki/Hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5acoshxvp":{"name":"acosh","abstract":"

    Returns the [inverse hyperbolic cosine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5asinhxvp":{"name":"asinh","abstract":"

    Returns the [inverse hyperbolic sine][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV5atanhxvp":{"name":"atanh","abstract":"

    Returns the [inverse hyperbolic tangent][https://en.wikipedia.org/wiki/Inverse_hyperbolic_function]","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV4zeroACyxGvpZ":{"name":"zero","abstract":"

    Gets the zero radian angle.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_AEtFZ":{"name":"+(_:_:)","abstract":"

    Adds two angles by summing their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_AEtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts two angles by subtracting their radians representation.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1poiyACyxGAE_xtFZ":{"name":"+(_:_:)","abstract":"

    Adds a scalar and an angle, producing an angle value.

    ","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1soiyACyxGAE_xtFZ":{"name":"-(_:_:)","abstract":"

    Subtracts a scalar from an angle, producing an angle value

    ","parent_name":"Angle"},"Structs/Angle.html#/s:Sj9magnitude9MagnitudeQzvp":{"name":"magnitude","parent_name":"Angle"},"Structs/Angle.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj7exactlyxSgqd___tcSzRd__lufc":{"name":"init(exactly:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_AEtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV1doiyACyxGAE_xtFZ":{"name":"/(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:Sj2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_AEtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2meoiyyACyxGz_xtFZ":{"name":"*=(_:_:)","parent_name":"Angle"},"Structs/Angle.html#/s:9Geometria5AngleV2deoiyyACyxGz_xtFZ":{"name":"/=(_:_:)","parent_name":"Angle"},"Structs/Vector4.html#/s:9Geometria7Vector4V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V1wxvp":{"name":"w","abstract":"

    w coordinate of this vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector4

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VyACyxGx_xxxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector4 with the values from a given tuple.

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector4 value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector4Type value where each component corresponds to its","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector4Type

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector4 where each component is the absolute value of the","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria7Vector4VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector4.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector4"},"Structs/Vector3.html#/s:9Geometria7Vector3V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V1zxvp":{"name":"z","abstract":"

    Z coordinate of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector3

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VyACyxGx_xxt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector3 with the values from a given tuple.

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector3 value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector3Type value where each component corresponds to its","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector3Type

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector3 where each component is the absolute value of the","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector3Type using a given","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7azimuthxvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3"},"Structs/Vector3.html#/s:9Geometria7Vector3VA2A19DivisibleArithmeticRz10RealModule0E0RzlE9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6centerxvp":{"name":"center","abstract":"

    The geometric center point of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V4axisxvp":{"name":"axis","abstract":"

    The axis of revolution of the circle that composes the tube of the torus.","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11majorRadius6ScalarQzvp":{"name":"majorRadius","abstract":"

    The radius from the center of the torus to the center of the tube.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V11minorRadius6ScalarQzvp":{"name":"minorRadius","abstract":"

    The radius of the tube of the torus.

    ","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6center4axis11majorRadius05minorF0ACyxGx_x6ScalarQzAJtcfc":{"name":"init(center:axis:majorRadius:minorRadius:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V6boundsAA4AABBVyxGvp":{"name":"bounds","abstract":"

    Gets the minimal bounding box capable of fully containing all the points","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria6Torus3V8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given point vector is enclosed within the volume of","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Torus3"},"Structs/Torus3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Torus3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5pointxvp":{"name":"point","abstract":"

    A point on this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6normalxvp":{"name":"normal","abstract":"

    The normal of the plane’s surface.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V6upAxisxvp":{"name":"upAxis","abstract":"

    A normalized vector perpendicular to normal and rightAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9rightAxisxvp":{"name":"rightAxis","abstract":"

    A normalized vector perpendicular to normal and upAxis which","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V5point6normal6upAxis05rightI0ACyxGx_xxxtcfc":{"name":"init(point:normal:upAxis:rightAxis:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeC0yyxF":{"name":"changePoint(_:)","abstract":"

    Updates the value of this instance’s point.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingC0yACyxGxF":{"name":"changingPoint(_:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same normal,","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V06changeD0_6upAxisyx_xtF":{"name":"changeNormal(_:upAxis:)","abstract":"

    Replaces this instance with a new ProjectivePointNormalPlane3 with","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V08changingD0_6upAxisACyxGx_xtF":{"name":"changingNormal(_:upAxis:)","abstract":"

    Returns a new ProjectivePointNormalPlane3 with the same point as","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V18makeCorrectedPlane5point6normal6upAxisACyxGx_xxtFZ":{"name":"makeCorrectedPlane(point:normal:upAxis:)","abstract":"

    Creates a new ProjectivePointNormalPlane3 by computing rightAxis","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V02ascD5PlaneAA0cdG0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a point normal plane with the same point and normal as this","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V23projectLineIntersectiony10SubVector2QzSgqd__6VectorQyd__RszAA013Line3FloatingC0Rd__lF":{"name":"projectLineIntersection(_:)","abstract":"

    With a given line, perform a plane-line intersection and project the","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria27ProjectivePointNormalPlane3V9project2Dy10SubVector2QzxF":{"name":"project2D(_:)","abstract":"

    Performs a projection of a given vector onto this plane.

    ","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/ProjectivePointNormalPlane3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"ProjectivePointNormalPlane3"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuthxvp":{"name":"azimuth","abstract":"

    The azimuth, or XY-plane angle in 3D space, of this coordinate in radians.

    ","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV9elevationxvp":{"name":"elevation","abstract":"

    The elevation angle of this coordinate in radians, or the angle between","parent_name":"SphereCoordinates"},"Structs/SphereCoordinates.html#/s:9Geometria17SphereCoordinatesV7azimuth9elevationACyxGx_xtcfc":{"name":"init(azimuth:elevation:)","parent_name":"SphereCoordinates"},"Structs/Disk3.html#/s:9Geometria5Disk3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6centerxvp":{"name":"center","abstract":"

    The center point of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6normalxvp":{"name":"normal","abstract":"

    The normal of the disk’s surface.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the disk.

    ","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V6center6normal6radiusACyxGx_x6ScalarQztcfc":{"name":"init(center:normal:radius:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V18asPointNormalPlaneAA0deF0VyxGvp":{"name":"asPointNormalPlane","abstract":"

    Returns a PointNormalPlane3 with the same point and normal vectors","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Disk3"},"Structs/Disk3.html#/s:9Geometria5Disk3V12intersection4withxSgqd___t6VectorQyd__RszAA17LineFloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this disk.

    ","parent_name":"Disk3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5startxvp":{"name":"start","abstract":"

    The starting point of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V3endxvp":{"name":"end","abstract":"

    The end point of this cylinder

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of this cylinder.

    ","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V5start3end6radiusACyxGx_x6ScalarQztcfc":{"name":"init(start:end:radius:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V13asLineSegmentAA0dE0VyxGvp":{"name":"asLineSegment","abstract":"

    Returns a line segment with the same start and","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3V9asCapsuleAA8NCapsuleVyxGvp":{"name":"asCapsule","abstract":"

    Returns a Capsule3 with the same start, end, and radius","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VAASQRzs18AdditiveArithmetic6ScalarAA10VectorTypePRpzSLAHRQrlE7isValidSbvp":{"name":"isValid","abstract":"

    Returns whether this cylinder’s parameters produce a valid, non-empty","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE11startAsDiskAA5Disk3VyxGvp":{"name":"startAsDisk","abstract":"

    Returns the disk that represents the top- or start, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE9endAsDiskAA5Disk3VyxGvp":{"name":"endAsDisk","abstract":"

    Returns the disk that represents the bottom- or end, section of this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns true if a given vector is fully contained within this","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A20Vector3FloatingPointRzrlE7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point onto this cylinder, returning the closest point","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Cylinder3"},"Structs/Cylinder3.html#/s:9Geometria9Cylinder3VA2A11Vector3RealRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA18Line3FloatingPointRd__lF":{"name":"intersection(with:)","abstract":"

    Returns the intersection points of a given line along this cylinder’s","parent_name":"Cylinder3"},"Structs/Vector2.html#/s:9Geometria7Vector2V1xxvp":{"name":"x","abstract":"

    X coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V1yxvp":{"name":"y","abstract":"

    Y coordinate of this vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2V11descriptionSSvp":{"name":"description","abstract":"

    Textual representation of this Vector2

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VyACyxGx_xt_tcfc":{"name":"init(_:)","abstract":"

    Initializes this Vector2 with the values from a given tuple.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMinyACyxGAE_AEtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE12pointwiseMaxyACyxGAE_AEtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1goiySbACyxG_AEtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2geoiySbACyxG_AEtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE1loiySbACyxG_AEtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzlE2leoiySbACyxG_AEtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE4zeroACyxGvpZ":{"name":"zero","abstract":"

    A zero-value Vector2 value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:s18AdditiveArithmeticP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1poiyACyxGAF_xtFZ":{"name":"+(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAAs18AdditiveArithmeticRzlE1soiyACyxGAF_xtFZ":{"name":"-(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3oneACyxGvpZ":{"name":"one","abstract":"

    A unit-value Vector2Type value where each component corresponds to its","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE3dotyxACyxGF":{"name":"dot(_:)","abstract":"

    Calculates the dot product between this and another provided Vector2Type

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGAE_xtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASjRzlE1moiyACyxGx_AEtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE8absoluteACyxGvp":{"name":"absolute","abstract":"

    Returns a Vector2 where each component is the absolute value of the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE1sopyACyxGAFFZ":{"name":"-(_:)","abstract":"

    Negates this Vector

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE13perpendicularACyxGyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin.

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE11leftRotatedACyxGyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE12rightRotatedACyxGyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VAASLRzs13SignedNumericRzlE16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative (in Cartesian space with Y","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGAF_xtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzlE1doiyACyxGx_AFtFZ":{"name":"/(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGx_AFtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE13addingProductyACyxGAF_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedyACyxGs25FloatingPointRoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE7roundedACyxGyF":{"name":"rounded()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE4ceilACyxGyF":{"name":"ceil()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE5floorACyxGyF":{"name":"floor()","abstract":"

    Rounds the components of this Vector2Type using a given","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_AFtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRzSFRzlE1roiyACyxGAF_xtFZ":{"name":"%(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE5anglexvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2byACyxGAA5AngleVyxG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate2byyAA5AngleVyxG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE7rotated2by6aroundACyxGAA5AngleVyxG_AJtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6rotate_2byACyxGAI_AA5AngleVyxGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_xANtFZ":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE6matrix5scale6rotate9translateAA9Matrix3x2VyxGACyxG_AA5AngleVyxGANtFZ":{"name":"matrix(scale:rotate:translate:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE1moiyACyxGAH_AA9Matrix3x2VyxGtFZ":{"name":"*(_:_:)","parent_name":"Vector2"},"Structs/Vector2.html#/s:9Geometria7Vector2VA2A19DivisibleArithmeticRz10RealModule0E0RzlE2meoiyyACyxGz_AA9Matrix3x2VyxGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5pointxvp":{"name":"point","abstract":"

    The intersection point in global space.

    ","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line1NormalizedMagnitude6ScalarQzvp":{"name":"line1NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV24line2NormalizedMagnitude6ScalarQzvp":{"name":"line2NormalizedMagnitude","abstract":"

    A scalar value between (0-1) that describe the normalized magnitude of","parent_name":"LineIntersectionResult"},"Structs/LineIntersectionResult.html#/s:9Geometria22LineIntersectionResultV5point24line1NormalizedMagnitude05line2gH0ACyxGx_6ScalarQzAItcfc":{"name":"init(point:line1NormalizedMagnitude:line2NormalizedMagnitude:)","parent_name":"LineIntersectionResult"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6Scalara":{"name":"Scalar","abstract":"

    Convenience for Vector.Scalar

    ","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left6ScalarQzvp":{"name":"left","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V3top6ScalarQzvp":{"name":"top","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V5right6ScalarQzvp":{"name":"right","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V6bottom6ScalarQzvp":{"name":"bottom","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2V4left3top5right6bottomACyxG6ScalarQz_A3Jtcfc":{"name":"init(left:top:right:bottom:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VyACyxG6ScalarQzcfc":{"name":"init(_:)","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE4zeroACyxGvpZ":{"name":"zero","parent_name":"EdgeInsets2"},"Structs/EdgeInsets2.html#/s:9Geometria11EdgeInsets2VA2A14VectorAdditiveRzrlE5inset9rectangleAA10NRectangleVyxGAI_tF":{"name":"inset(rectangle:)","parent_name":"EdgeInsets2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6Scalara":{"name":"Scalar","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6centerxvp":{"name":"center","abstract":"

    The center of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6radius6ScalarQzvp":{"name":"radius","abstract":"

    The radius of the arc’s circle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startAngleAA0E0Vy6ScalarQzGvp":{"name":"startAngle","abstract":"

    The starting angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10sweepAngleAA0E0Vy6ScalarQzGvp":{"name":"sweepAngle","abstract":"

    The sweep angle of this arc, in radians.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzA2Jtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center6radius10startAngle05sweepG0ACyxGx_6ScalarQzAA0G0VyAJGAMtcfc":{"name":"init(center:radius:startAngle:sweepAngle:)","abstract":"

    Initializes a new circular arc with the given input parameters.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPoint03endE010sweepAngleACyxGx_xAA0H0Vy6ScalarQzGtcfc":{"name":"init(startPoint:endPoint:sweepAngle:)","abstract":"

    Creates a new circular arc that fills the space between startPoint and","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6center10startPoint03endF0ACyxGx_xxtcfc":{"name":"init(center:startPoint:endPoint:)","abstract":"

    Creates a new circular arc that fits the given start/end points on the","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9asCircle2AA7NSphereVyxGvp":{"name":"asCircle2","abstract":"

    Constructs a circle with the same center + radius as this circle arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12asAngleSweepAA0eF0Vy6ScalarQzGvp":{"name":"asAngleSweep","abstract":"

    Constructs an angle sweep from this arc’s start and sweep angles.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9stopAngleAA0E0Vy6ScalarQzGvp":{"name":"stopAngle","abstract":"

    Returns the stop angle of this sweep, as the sum of startAngle + sweepAngle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V4area6ScalarQzvp":{"name":"area","abstract":"

    Computes the area of this circular arc, when interpreted as a pie slice","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9arcLength6ScalarQzvp":{"name":"arcLength","abstract":"

    Computes the length of this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V11chordLength6ScalarQzvp":{"name":"chordLength","abstract":"

    Computes the length of the chord represented by this circular arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V10startPointxvp":{"name":"startPoint","abstract":"

    Returns the starting point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8endPointxvp":{"name":"endPoint","abstract":"

    Returns the end point on this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySb6ScalarQzF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle in radians","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V8containsySbAA5AngleVy6ScalarQzGF":{"name":"contains(_:)","abstract":"

    Returns true if this circular arc contains a given angle value within","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7clampedyAA5AngleVy6ScalarQzGAIF":{"name":"clamped(_:)","abstract":"

    Clamps a given angle to be within this arc’s startAngle + sweepAngle range.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V12pointOnAngleyxAA0F0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on the circle represented by this arc on a given angle.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V6boundsAA4AABBVyxGyF":{"name":"bounds()","abstract":"

    Returns the minimal bounding box capable of fully containing this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V9quadrantsSayxGyF":{"name":"quadrants()","abstract":"

    Returns the coordinates of the occupied quadrants that this arc sweeps","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V7projectyxxF":{"name":"project(_:)","abstract":"

    Projects a given point to the closest point within this arc.

    ","parent_name":"CircleArc2"},"Structs/CircleArc2.html#/s:9Geometria10CircleArc2V15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance to the closest point within this arc to the","parent_name":"CircleArc2"},"Structs/CircleArc2.html":{"name":"CircleArc2","abstract":"

    Represents a 2D arc of a circle as a center, radius, and start+sweep angles.

    "},"Structs/EdgeInsets2.html":{"name":"EdgeInsets2","abstract":"

    Represents a 2D edge inset as relative inset values for each of the four"},"Structs/LineIntersectionResult.html":{"name":"LineIntersectionResult","abstract":"

    Describes the result of a line-line intersection query on two"},"Structs/Vector2.html":{"name":"Vector2","abstract":"

    A two-component vector type

    "},"Structs/Cylinder3.html":{"name":"Cylinder3","abstract":"

    Represents a regular 3-dimensional Cylinder"},"Structs/Disk3.html":{"name":"Disk3","abstract":"

    Represents a 3-dimensional flat disk as a center point, normal, and radius.

    "},"Structs/SphereCoordinates.html":{"name":"SphereCoordinates","abstract":"

    Coordinates on a sphere projective space.

    "},"Structs/ProjectivePointNormalPlane3.html":{"name":"ProjectivePointNormalPlane3","abstract":"

    A point-normal plane with a separate up and right vector used to control"},"Structs/Torus3.html":{"name":"Torus3","abstract":"

    Represents a three dimensional torus shape as a center point, an axis of"},"Structs/Vector3.html":{"name":"Vector3","abstract":"

    A three-component vector type

    "},"Structs/Vector4.html":{"name":"Vector4","abstract":"

    A four-component vector type

    "},"Structs/Angle.html":{"name":"Angle","abstract":"

    A standardized representation of an angle.

    "},"Structs/AngleSweep.html":{"name":"AngleSweep","abstract":"

    A pair of angle + angle range values that can be used to test inclusivity of"},"Structs/AABB.html":{"name":"AABB","abstract":"

    Represents an axis-aligned bounding box with two N-dimensional vectors that"},"Structs/DirectionalRay.html":{"name":"DirectionalRay","abstract":"

    Represents an N-dimensional geometric ray which projects a line from a"},"Structs/Ellipsoid.html":{"name":"Ellipsoid","abstract":"

    Represents an N-dimensional ellipsoid as a center with an N-dimensional"},"Structs/Hyperplane.html":{"name":"Hyperplane","abstract":"

    Represents a hyperplane with a"},"Structs/Line.html":{"name":"Line","abstract":"

    Represents a geometric line as a pair of start and end N-dimensional vectors"},"Structs/LineIntersection.html":{"name":"LineIntersection","abstract":"

    The result of a LineIntersectableType-line intersection test.

    "},"Structs/LinePolygon.html":{"name":"LinePolygon","abstract":"

    Represents a line polygon as a series of connected N-dimensional vertices.

    "},"Structs/LineSegment.html":{"name":"LineSegment","abstract":"

    Represents a line segment as a pair of start and end N-dimensional vectors"},"Structs/NCapsule.html":{"name":"NCapsule","abstract":"

    Represents an N-dimensional capsule (A"},"Structs/NRectangle.html":{"name":"NRectangle","abstract":"

    Represents an N-dimensional rectangle with a vector describing its origin"},"Structs/NSphere.html":{"name":"NSphere","abstract":"

    Represents an N-dimensional sphere"},"Structs/NSquare.html":{"name":"NSquare","abstract":"

    Represents an N-dimensional square with an origin point and a scalar value"},"Structs/PointCloud.html":{"name":"PointCloud","abstract":"

    A point-cloud container for"},"Structs/PointNormal.html":{"name":"PointNormal","abstract":"

    Represents a point along with a normal on the surface of a geometry.

    "},"Structs/PointNormalPlane.html":{"name":"PointNormalPlane","abstract":"

    Represents an infinite plane with a point and a normal.

    "},"Structs/UnitVector.html":{"name":"UnitVector","abstract":"

    Wraps a vector and ensures that assignments are always stored as a unit"},"Structs/LineCategory.html":{"name":"LineCategory","abstract":"

    Represents the category for a LineType, specifying whether the end points"},"Structs/Ray.html":{"name":"Ray","abstract":"

    Represents an N-dimensional geometric ray line which has a starting point"},"Structs/RoundNRectangle.html":{"name":"RoundNRectangle","abstract":"

    Represents an N-dimensional rounded rectangle with a rectangle and radius"},"Structs/Triangle.html":{"name":"Triangle","abstract":"

    Represents a [triangle] as a trio of N-dimensional vectors which describe a"},"Structs/Matrix2x2.html":{"name":"Matrix2x2","abstract":"

    Plain 2-row 2-column Matrix with real components.

    "},"Structs/Matrix3x2.html":{"name":"Matrix3x2","abstract":"

    Plain 3-row 2-column Matrix for 2D affine transformations with floating-point"},"Structs/Matrix3x3.html":{"name":"Matrix3x3","abstract":"

    Plain 3-row 3-column Matrix with real components.

    "},"Structs/Matrix4x4.html":{"name":"Matrix4x4","abstract":"

    Plain 4-row 4-column Matrix with real components.

    "},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP9TransposeQa":{"name":"Transpose","abstract":"

    The resulting type of a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/TransposableMatrixType.html#/s:9Geometria22TransposableMatrixTypeP10transposed9TransposeQzyF":{"name":"transposed()","abstract":"

    Returns a new matrix that is a transposition of this matrix.

    ","parent_name":"TransposableMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP11determinant6ScalarQzyF":{"name":"determinant()","abstract":"

    Returns the determinant of this square matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP8invertedxSgyF":{"name":"inverted()","abstract":"

    Returns the inverse of this matrix.

    ","parent_name":"SquareMatrixType"},"Protocols/SquareMatrixType.html#/s:9Geometria16SquareMatrixTypeP1moiyxx_xtFZ":{"name":"*(_:_:)","abstract":"

    Performs a matrix multiplication between lhs and rhs and returns","parent_name":"SquareMatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar value associated with each element of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8identityxvpZ":{"name":"identity","abstract":"

    Gets the identity matrix for this matrix type.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP8rowCountSivp":{"name":"rowCount","abstract":"

    Gets the number of rows in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP11columnCountSivp":{"name":"columnCount","abstract":"

    Gets the number of columns in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypePy6ScalarQzSi_Sitcip":{"name":"subscript(_:_:)","abstract":"

    Gets or sets the scalar value on a given column/row in this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(rowMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesxSay6ScalarQzG_tcfc":{"name":"init(columnMajorValues:)","abstract":"

    Initializes a matrix with a flat list of values that are read in","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP14rowMajorValuesSay6ScalarQzGyF":{"name":"rowMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP17columnMajorValuesSay6ScalarQzGyF":{"name":"columnMajorValues()","abstract":"

    Returns a flat array of each scalar value from this matrix ordered as a","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates (i.e. flips) the signs of all the values of this matrix.

    ","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1poiyxx_xtFZ":{"name":"+(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1soiyxx_xtFZ":{"name":"-(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and returns the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","abstract":"

    Performs a matrix addition between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","abstract":"

    Performs a matrix subtraction between lhs and rhs and stores the","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and returns","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","abstract":"

    Performs a scalar multiplication between lhs and rhs and stores","parent_name":"MatrixType"},"Protocols/MatrixType.html#/s:9Geometria10MatrixTypeP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","abstract":"

    Performs a scalar division between the elements of lhs and rhs and","parent_name":"MatrixType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP6ScalarQa":{"name":"Scalar","abstract":"

    The scalar type associated with this VectorType.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypePy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"VectorType"},"Protocols/VectorType.html#/s:9Geometria10VectorTypeP9repeatingx6ScalarQz_tcfc":{"name":"init(repeating:)","abstract":"

    Creates a new VectorType with the given scalar on all coordinates.

    ","parent_name":"VectorType"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector2Qa":{"name":"SubVector2","abstract":"

    The 2-dimensional vector type for selections of 2-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector3Qa":{"name":"SubVector3","abstract":"

    The 3-dimensional vector type for selections of 3-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP10SubVector4Qa":{"name":"SubVector4","abstract":"

    The 4-dimensional vector type for selections of 4-components on this","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeableP14TakeDimensionsQa":{"name":"TakeDimensions","abstract":"

    A named indexer into the dimensions of this vector.

    ","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector2Qz14TakeDimensionsQz_AGtcip":{"name":"subscript(_:_:)","abstract":"

    Takes a new 2D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector3Qz14TakeDimensionsQz_A2Gtcip":{"name":"subscript(_:_:_:)","abstract":"

    Takes a new 3D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorTakeable.html#/s:9Geometria14VectorTakeablePy10SubVector4Qz14TakeDimensionsQz_A3Gtcip":{"name":"subscript(_:_:_:_:)","abstract":"

    Takes a new 4D vector from a combination of two of the provided dimensions","parent_name":"VectorTakeable"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8absolutexvp":{"name":"absolute","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP4signxvp":{"name":"sign","abstract":"

    Returns a VectorSigned where each component is one","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP8withSign2ofxx_tF":{"name":"withSign(of:)","abstract":"

    Returns a VectorSigned where each component is the absolute magnitude","parent_name":"VectorSigned"},"Protocols/VectorSigned.html#/s:9Geometria12VectorSignedP1sopyxxFZ":{"name":"-(_:)","abstract":"

    Negates this Vector by flipping the sign of each component.

    ","parent_name":"VectorSigned"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_SitFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_6ScalarQztFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorReal.html#/s:9Geometria10VectorRealP3powyxx_xtFZ":{"name":"pow(_:_:)","abstract":"

    Returns the result of powering each component of this vector by the Nth","parent_name":"VectorReal"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3onexvpZ":{"name":"one","abstract":"

    A unit-value VectorType value where each component corresponds to its","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP13lengthSquared6ScalarQzvp":{"name":"lengthSquared","abstract":"

    Returns the length squared of this VectorType.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP15distanceSquared2to6ScalarQzx_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this VectorType and another","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP3doty6ScalarQzxF":{"name":"dot(_:)","abstract":"

    Calculates the dot product","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP4lerp5start3end6amountxx_x6ScalarQztFZ":{"name":"lerp(start:end:amount:)","abstract":"

    Performs a linear interpolation between two vectors.

    ","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyxx_6ScalarQztFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP1moiyx6ScalarQz_xtFZ":{"name":"*(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_xtFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorMultiplicative.html#/s:9Geometria20VectorMultiplicativeP2meoiyyxz_6ScalarQztFZ":{"name":"*=(_:_:)","parent_name":"VectorMultiplicative"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP6length6ScalarQzvp":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length), or","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP9normalizeyyF":{"name":"normalize()","abstract":"

    Normalizes this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP10normalizedxyF":{"name":"normalized()","abstract":"

    Returns a normalized version of this Vector.

    ","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP8distance2to6ScalarQzx_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this VectorFloatingPoint and another","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the two given vectors to this","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyx6ScalarQz_xtF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given scalar and vector","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP13addingProductyxx_6ScalarQztF":{"name":"addingProduct(_:_:)","abstract":"

    Returns the result of adding the product of the given vector and scalar","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedyxs0cD12RoundingRuleOF":{"name":"rounded(_:)","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP7roundedxyF":{"name":"rounded()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP4ceilxyF":{"name":"ceil()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP5floorxyF":{"name":"floor()","abstract":"

    Rounds the components of this VectorType using a given","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_xtFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorFloatingPoint.html#/s:9Geometria19VectorFloatingPointP1roiyxx_6ScalarQztFZ":{"name":"%(_:_:)","parent_name":"VectorFloatingPoint"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyxx_6ScalarQztFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP1doiyx6ScalarQz_xtFZ":{"name":"/(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorDivisible.html#/s:9Geometria15VectorDivisibleP2deoiyyxz_6ScalarQztFZ":{"name":"/=(_:_:)","parent_name":"VectorDivisible"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16maximalComponent6ScalarQzvp":{"name":"maximalComponent","abstract":"

    Returns the component of this vector that has the greatest value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP16minimalComponent6ScalarQzvp":{"name":"minimalComponent","abstract":"

    Returns the component of this vector that has the least value.

    ","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMinyxx_xtFZ":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP12pointwiseMaxyxx_xtFZ":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1loiySbx_xtFZ":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2leoiySbx_xtFZ":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP1goiySbx_xtFZ":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorComparable.html#/s:9Geometria16VectorComparableP2geoiySbx_xtFZ":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"VectorComparable"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP18nonZeroScalarCountSivp":{"name":"nonZeroScalarCount","abstract":"

    Gets the number of scalars within this vector that has a non-zero value.

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditivePxycfc":{"name":"init()","abstract":"

    Initializes a zero-valued VectorType

    ","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_xtFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_xtFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1poiyxx_6ScalarQztFZ":{"name":"+(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP1soiyxx_6ScalarQztFZ":{"name":"-(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_xtFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_xtFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2peoiyyxz_6ScalarQztFZ":{"name":"+=(_:_:)","parent_name":"VectorAdditive"},"Protocols/VectorAdditive.html#/s:9Geometria14VectorAdditiveP2seoiyyxz_6ScalarQztFZ":{"name":"-=(_:_:)","parent_name":"VectorAdditive"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether a given rectangle rests completely inside the boundaries","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP10intersectsySbxF":{"name":"intersects(_:)","abstract":"

    Returns whether this rectangle intersects the given rectangle instance.","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP5unionyxxF":{"name":"union(_:)","abstract":"

    Returns a rectangle which is the minimum rectangle that can fit this","parent_name":"SelfIntersectableRectangleType"},"Protocols/SelfIntersectableRectangleType.html#/s:9Geometria30SelfIntersectableRectangleTypeP12intersectionyxSgxF":{"name":"intersection(_:)","abstract":"

    Creates a rectangle which is equal to the positive area shared between","parent_name":"SelfIntersectableRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a copy of this rectangle with its location offset by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP9resizedByyx6VectorQzF":{"name":"resizedBy(_:)","abstract":"

    Returns a copy of this rectangle with its size increased by a given","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypeP8verticesSay6VectorQzGvp":{"name":"vertices","abstract":"

    Returns a list of vertices corresponding to the extremes of this rectangle.

    ","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE8offsetByyx6VectorAA0cD0PQzF":{"name":"offsetBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/AdditiveRectangleType.html#/s:9Geometria21AdditiveRectangleTypePA2A013ConstructablecD0RzrlE9resizedByyx6VectorAA0cD0PQzF":{"name":"resizedBy(_:)","parent_name":"AdditiveRectangleType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypeP14signedDistance2to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance of a given point to this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PointProjectablePlaneType.html#/s:9Geometria25PointProjectablePlaneTypePAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Projects a given vector on this plane.

    ","parent_name":"PointProjectablePlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector for this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","abstract":"

    A point that is on this plane.

    ","parent_name":"PlaneType"},"Protocols/PlaneType.html#/s:9Geometria9PlaneTypeP6normal6VectorQzvp":{"name":"normal","abstract":"

    A normal vector specifying the slope- or ‘up’, of the plane’s surface.

    ","parent_name":"PlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP39unclampedNormalMagnitudeForIntersection4with6Vector_6ScalarQZSgqd___tAA0B13FloatingPointRd__AFQyd__AFRtzlF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"LineIntersectablePlaneType"},"Protocols/LineIntersectablePlaneType.html#/s:9Geometria26LineIntersectablePlaneTypeP12intersection4with6VectorQzSgqd___tAA0B13FloatingPointRd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this plane.

    ","parent_name":"LineIntersectablePlaneType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1a6VectorQzvp":{"name":"a","abstract":"

    Gets the first point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP1b6VectorQzvp":{"name":"b","abstract":"

    Gets the second point that defines the line of this LineType.

    ","parent_name":"LineType"},"Protocols/LineType.html#/s:9Geometria8LineTypeP8categoryAA0B8CategoryVvp":{"name":"category","abstract":"

    Gets the category for this LineType, specifying whether the end points","parent_name":"LineType"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledByyx6VectorQzF":{"name":"withPointsScaledBy(_:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineMultiplicative.html#/s:9Geometria18LineMultiplicativeP18withPointsScaledBy_6aroundx6VectorQz_AGtF":{"name":"withPointsScaledBy(_:around:)","abstract":"

    Returns a new line with the end-points of this line scaled by vector","parent_name":"LineMultiplicative"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP16projectUnclampedy6VectorQzAFF":{"name":"projectUnclamped(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line.","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP18projectedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP28projectedNormalizedMagnitudey6VectorQzAE_6ScalarQZF":{"name":"projectedNormalizedMagnitude(_:)","abstract":"

    Returns the result of creating a projection of this line’s start point","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP36containsProjectedNormalizedMagnitudeySb6Vector_6ScalarQZF":{"name":"containsProjectedNormalizedMagnitude(_:)","abstract":"

    Returns true if a normalized, projected scalar representing a segment","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP33clampProjectedNormalizedMagnitudey6Vector_6ScalarQZAGF":{"name":"clampProjectedNormalizedMagnitude(_:)","abstract":"

    Returns a projected normalized magnitude that is guaranteed to be","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between this line and a given vector.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria17LineFloatingPointPAAE7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns the closest point on this line to a given point.

    ","parent_name":"LineFloatingPoint"},"Protocols/LineFloatingPoint.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"LineFloatingPoint"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP9Magnitudea":{"name":"Magnitude","abstract":"

    Alias for Vector.Scalar.

    ","parent_name":"LineDivisible"},"Protocols/LineDivisible.html#/s:9Geometria13LineDivisibleP15projectAsScalary6Vector_0F0QZAEQzF":{"name":"projectAsScalar(_:)","abstract":"

    Performs a vector projection of a given vector with respect to this line,","parent_name":"LineDivisible"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP9lineSlope6VectorQzvp":{"name":"lineSlope","abstract":"

    Gets the slope of this line, or the vector that represents b - a.

    ","parent_name":"LineAdditive"},"Protocols/LineAdditive.html#/s:9Geometria12LineAdditiveP8offsetByyx6VectorQzF":{"name":"offsetBy(_:)","abstract":"

    Returns a new line with the same slope, but with the end-points shifted","parent_name":"LineAdditive"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP1doiyxx_xtFZ":{"name":"/(_:_:)","abstract":"

    Divides two values.

    ","parent_name":"DivisibleArithmetic"},"Protocols/DivisibleArithmetic.html#/s:9Geometria19DivisibleArithmeticP2deoiyyxz_xtFZ":{"name":"/=(_:_:)","abstract":"

    Divides two values and stores the result in the left-hand-side","parent_name":"DivisibleArithmetic"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP6VectorQa":{"name":"Vector","abstract":"

    The type of vector associated with this SignedDistanceMeasurableType.

    ","parent_name":"SignedDistanceMeasurableType"},"Protocols/SignedDistanceMeasurableType.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","abstract":"

    Returns the signed distance from the closest point on the surface of","parent_name":"SignedDistanceMeasurableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this PointProjectableType.

    ","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP7projecty6VectorQzAFF":{"name":"project(_:)","abstract":"

    Returns a vector on the surface of this geometric type that is the","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP15distanceSquared2to6Vector_6ScalarQZAFQz_tF":{"name":"distanceSquared(to:)","abstract":"

    Returns the squared distance between the closest point in this geometric","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypeP8distance2to6Vector_6ScalarQZAFQz_tF":{"name":"distance(to:)","abstract":"

    Returns the distance between the closest point in this geometric type’s","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A20VectorMultiplicative0E0RpzrlE15distanceSquared2toAE_6ScalarQZAF_tF":{"name":"distanceSquared(to:)","parent_name":"PointProjectableType"},"Protocols/PointProjectableType.html#/s:9Geometria20PointProjectableTypePA2A014VectorFloatingB00E0RpzrlE8distance2toAE_6ScalarQZAF_tF":{"name":"distance(to:)","parent_name":"PointProjectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this LineIntersectableType.

    ","parent_name":"LineIntersectableType"},"Protocols/LineIntersectableType.html#/s:9Geometria21LineIntersectableTypeP13intersections4withAA0B12IntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"LineIntersectableType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this ConvexType.

    ","parent_name":"ConvexType"},"Protocols/ConvexType.html#/s:9Geometria10ConvexTypeP12intersection4withAA0B16LineIntersectionOy6VectorQzGqd___tAA0F13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"ConvexType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this BoundableType.

    ","parent_name":"BoundableType"},"Protocols/BoundableType.html#/s:9Geometria13BoundableTypeP6boundsAA4AABBVy6VectorQzGvp":{"name":"bounds","abstract":"

    Gets a bounding box with the minimal volume to fully enclose all points","parent_name":"BoundableType"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP6VectorQa":{"name":"Vector","abstract":"

    The vector type for the higher-dimensional shape in Euclidean geometric","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP11CoordinatesQa":{"name":"Coordinates","abstract":"

    The type for projective coordinates within the projective space.

    ","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","abstract":"

    Projects a vector onto this projective space, and if successful, returns","parent_name":"ProjectiveSpace"},"Protocols/ProjectiveSpace.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","abstract":"

    Pulls out a projective coordinate from this space back to the original","parent_name":"ProjectiveSpace"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP03SubB0Qa":{"name":"SubVector4","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1w6ScalarQzvp":{"name":"w","abstract":"

    The W coordinate of this 4D vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP1x1y1z1wx6ScalarQz_A3Itcfc":{"name":"init(x:y:z:w:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1z1wxqd___6ScalarQzAGtcAA07Vector2C0Rd__AFQyd__AGRSlufc":{"name":"init(_:z:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypeP_1wxqd___6ScalarQztcAA07Vector3C0Rd__AEQyd__AFRSlufc":{"name":"init(_:w:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector4Type type by copying the","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4Type.html#/s:9Geometria11Vector4TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z, and w in this vector

    ","parent_name":"Vector4Type"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector4FloatingPoint with a given binary Vector3

    ","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4FloatingPoint.html#/s:9Geometria20Vector4FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector4FloatingPoint"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector4Additive"},"Protocols/Vector4Additive.html#/s:9Geometria15Vector4AdditivePyxqd__cAA11Vector3TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector3Type,","parent_name":"Vector4Additive"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP03SubB0Qa":{"name":"SubVector3","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1z6ScalarQzvp":{"name":"z","abstract":"

    The Z coordinate of this 3D vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP1x1y1zx6ScalarQz_A2Htcfc":{"name":"init(x:y:z:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypeP_1zxqd___6ScalarQztcAA07Vector2C0Rd__AEQyd__AFRSlufc":{"name":"init(_:z:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector3Type type by copying the","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Type.html#/s:9Geometria11Vector3TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y, z in this vector

    ","parent_name":"Vector3Type"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP7azimuth6ScalarQzvp":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"Vector3Real"},"Protocols/Vector3Real.html#/s:9Geometria11Vector3RealP9elevation6ScalarQzvp":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"Vector3Real"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1, z: 0) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5unitZxvpZ":{"name":"unitZ","abstract":"

    Gets the (x: 0, y: 0, z: 1) vector of this type.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP5crossyxxF":{"name":"cross(_:)","abstract":"

    Performs a cross product between this vector and another vector.

    ","parent_name":"Vector3Multiplicative"},"Protocols/Vector3Multiplicative.html#/s:9Geometria21Vector3MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 3D vector triple product between self, b, and c:","parent_name":"Vector3Multiplicative"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector3FloatingPoint with a given binary Vector3

    ","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3FloatingPoint.html#/s:9Geometria20Vector3FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector3FloatingPoint"},"Protocols/Vector3Additive.html#/s:9Geometria15Vector3AdditivePyxqd__cAA11Vector2TypeRd__6ScalarQyd__AERtzlufc":{"name":"init(_:)","abstract":"

    Creates a new vector with the coordinates of a given Vector2Type,","parent_name":"Vector3Additive"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypeP12intersection4withAA4LineVy6VectorQzGSgqd___tAA0hcbE0Rd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 3 dimensional plane with another","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/PlaneIntersectablePlane3Type.html#/s:9Geometria28PlaneIntersectablePlane3TypePA2A21Vector3Multiplicative6VectorRpzrlE12intersection4withAA4LineVyAFGSgqd___tAA0kcbE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","abstract":"

    The 2D type of this 3D line.

    ","parent_name":"Line3Type"},"Protocols/Line3Type.html#/s:9Geometria9Line3TypeP10make2DLiney8SubLine2QzAE_6VectorQZ_AHtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3Type"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP44unclampedNormalizedMagnitudesForShortestLine2to6Vector_6ScalarAA0L4TypePQZ6onSelf_AJ0O5OthertSgqd___tAA0jcD0Rd__AFQyd__AFRtzlF":{"name":"unclampedNormalizedMagnitudesForShortestLine(to:)","abstract":"

    Returns a pair of unclamped, normalized magnitudes, on self and","parent_name":"Line3FloatingPoint"},"Protocols/Line3FloatingPoint.html#/s:9Geometria18Line3FloatingPointP12shortestLine2toAA0F7SegmentVy6VectorQzGSgqd___tAA0fcD0Rd__AHQyd__AIRSlF":{"name":"shortestLine(to:)","abstract":"

    Returns the shortest line segment between the points of this line to","parent_name":"Line3FloatingPoint"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Line3IntersectableType.

    ","parent_name":"Line3IntersectableType"},"Protocols/Line3IntersectableType.html#/s:9Geometria22Line3IntersectableTypeP13intersections4withAA16LineIntersectionVy6VectorQzGqd___tAA0B13FloatingPointRd__AHQyd__AIRSlF":{"name":"intersections(with:)","abstract":"

    Performs an intersection test against the given line, returning a list","parent_name":"Line3IntersectableType"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex3Type.

    ","parent_name":"Convex3Type"},"Protocols/Convex3Type.html#/s:9Geometria11Convex3TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line3FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex3Type"},"Protocols/SphereProjectiveSpace.html#/s:9Geometria21SphereProjectiveSpaceP6ScalarQa":{"name":"Scalar","parent_name":"SphereProjectiveSpace"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP03SubB0Qa":{"name":"SubVector2","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x6ScalarQzvp":{"name":"x","abstract":"

    The X coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1y6ScalarQzvp":{"name":"y","abstract":"

    The Y coordinate of this 2D vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypeP1x1yx6ScalarQz_AGtcfc":{"name":"init(x:y:)","abstract":"

    Initializes this vector type with the given coordinates.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePyxqd__cAaBRd__6ScalarQyd__ADRtzlufc":{"name":"init(_:)","abstract":"

    Initializes a new instance of this Vector2Type type by copying the","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAE11scalarCountSivp":{"name":"scalarCount","abstract":"

    The number of scalars in the vector.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePAAEy6ScalarQzSicip":{"name":"subscript(_:)","abstract":"

    Accesses the scalar at the specified position.

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21maximalComponentIndexSivp":{"name":"maximalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the greatest","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE21minimalComponentIndexSivp":{"name":"minimalComponentIndex","abstract":"

    Returns the index of the component of this vector that has the least","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16maximalComponent6ScalarAA0dC0PQzvp":{"name":"maximalComponent","abstract":"

    Returns the greatest scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Type.html#/s:9Geometria11Vector2TypePA2A16VectorComparableRzrlE16minimalComponent6ScalarAA0dC0PQzvp":{"name":"minimalComponent","abstract":"

    Returns the least scalar component between x, y in this vector

    ","parent_name":"Vector2Type"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP17formPerpendicularyyF":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP13perpendicularxyF":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP11leftRotatedxyF":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP15formLeftRotatedyyF":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP12rightRotatedxyF":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º","parent_name":"Vector2Signed"},"Protocols/Vector2Signed.html#/s:9Geometria13Vector2SignedP16formRightRotatedyyF":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"Vector2Signed"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP5angle2toAA5AngleVy6ScalarQzGx_tF":{"name":"angle(to:)","abstract":"

    Returns the angle between self and other.

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byx6ScalarQz_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2byxAA5AngleVy6ScalarQzG_tF":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byy6ScalarQz_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate2byyAA5AngleVy6ScalarQzG_tF":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundx6ScalarQz_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP7rotated2by6aroundxAA5AngleVy6ScalarQzG_xtF":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_6ScalarQztFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP6rotate_2byxx_AA5AngleVy6ScalarQzGtFZ":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle

    ","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP1moiyxx_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Real.html#/s:9Geometria11Vector2RealP2meoiyyxz_AA9Matrix3x2Vy6ScalarQzGtFZ":{"name":"*=(_:_:)","parent_name":"Vector2Real"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitXxvpZ":{"name":"unitX","abstract":"

    Gets the (x: 1, y: 0) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5unitYxvpZ":{"name":"unitY","abstract":"

    Gets the (x: 0, y: 1) vector of this type.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP5crossy6ScalarQzxF":{"name":"cross(_:)","abstract":"

    Calculates the cross product between this and another provided Vector.","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP13tripleProductyxx_xtF":{"name":"tripleProduct(_:_:)","abstract":"

    Performs a 2D vector triple product between self, b, and c:","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativeP7windingy6ScalarQzx_xxtFZ":{"name":"winding(_:_:_:)","abstract":"

    Returns the winding value of the three given input points.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2Multiplicative.html#/s:9Geometria21Vector2MultiplicativePAAE12areClockwiseySbx_xxtSL6ScalarRpzrlFZ":{"name":"areClockwise(_:_:_:)","abstract":"

    Returns true if the three given input points are wound in clockwise order.

    ","parent_name":"Vector2Multiplicative"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointPyxqd__cAA0B4TypeRd__Sz6ScalarRpd__lufc":{"name":"init(_:)","abstract":"

    Initializes this Vector2FloatingPoint with a given binary Vector2

    ","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1poiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1soiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1moiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2peoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"+=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2seoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"-=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2meoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"*=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxx_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP1doiyxqd___xtAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/Vector2FloatingPoint.html#/s:9Geometria20Vector2FloatingPointP2deoiyyxz_qd__tAA0B4TypeRd__Sz6ScalarRpd__lFZ":{"name":"/=(_:_:)","parent_name":"Vector2FloatingPoint"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP6VectorQa":{"name":"Vector","abstract":"

    The vector type associated with this RectangleType.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP8location6VectorQzvp":{"name":"location","abstract":"

    The starting location of this rectangle with the minimal coordinates","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypeP4size6VectorQzvp":{"name":"size","abstract":"

    The size of this rectangle, which when added to location produce the","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets the X position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets the Y position of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets the width of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets the height of this Rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE3topAE_6ScalarQZvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE4leftAE_6ScalarQZvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this rectangle.

    ","parent_name":"RectangleType"},"Protocols/RectangleType.html#/s:9Geometria13RectangleTypePA2A07Vector2C06VectorRpzrlE7topLeftAFvp":{"name":"topLeft","abstract":"

    The top-left corner of the rectangle.

    ","parent_name":"RectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP6center6VectorQzvp":{"name":"center","abstract":"

    Gets the center point of this rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10inflatedByyx6VectorQzF":{"name":"inflatedBy(_:)","abstract":"

    Returns a new rectangle which is an inflated version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP7insetByyx6VectorQzF":{"name":"insetBy(_:)","abstract":"

    Returns a new rectangle which is an inset version of this rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP12movingCenter2tox6VectorQz_tF":{"name":"movingCenter(to:)","abstract":"

    Returns a new rectangle with the same size as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP8scaledBy_6aroundx6Vector_6ScalarQZ_AFQztF":{"name":"scaledBy(_:around:)","abstract":"

    Returns a new rectangle with its bounds scaled around a given center point","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP20scaledAroundCenterByyx6Vector_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","abstract":"

    Returns a new rectangle with the same center point as the current instance,","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypeP10subdividedSayxGyF":{"name":"subdivided()","abstract":"

    Subdivides this rectangle into 2 ^ D (where D is the dimensional size","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerXAfH_6ScalarAA0gD0PQZvp":{"name":"centerX","abstract":"

    Gets or sets the center X position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7centerYAfH_6ScalarAA0gD0PQZvp":{"name":"centerY","abstract":"

    Gets or sets the center Y position of this Rectangle.

    ","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE10inflatedBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"inflatedBy(x:y:)","abstract":"

    Returns a Rectangle which is an inflated version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE7insetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"insetBy(x:y:)","abstract":"

    Returns a Rectangle which is an inset version of this Rectangle","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE12movingCenter3toX1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"movingCenter(toX:y:)","abstract":"

    Returns a new Rectangle with the same width and height as the current","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE6center6VectorAA0cD0PQzvp":{"name":"center","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE10inflatedByyx6VectorAA0cD0PQzF":{"name":"inflatedBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE7insetByyx6VectorAA0cD0PQzF":{"name":"insetBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE12movingCenter2tox6VectorAA0cD0PQz_tF":{"name":"movingCenter(to:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE8scaledBy_6aroundx6VectorAA0cD0P_6ScalarQZ_AgIQztF":{"name":"scaledBy(_:around:)","parent_name":"DivisibleRectangleType"},"Protocols/DivisibleRectangleType.html#/s:9Geometria22DivisibleRectangleTypePA2A013ConstructablecD0RzrlE20scaledAroundCenterByyx6VectorAA0cD0P_6ScalarQZF":{"name":"scaledAroundCenterBy(_:)","parent_name":"DivisibleRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8location4sizex6VectorQz_AGtcfc":{"name":"init(location:size:)","abstract":"

    Initializes a new instance of a ConstructableRectangleType with the","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP12withLocationyx6VectorQzF":{"name":"withLocation(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypeP8withSizeyx6VectorQzF":{"name":"withSize(_:)","abstract":"

    Returns a new rectangle that matches this rectangles’s location with a","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1xAE_6ScalarQZvp":{"name":"x","abstract":"

    Gets or sets the X position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1yAE_6ScalarQZvp":{"name":"y","abstract":"

    Gets or sets the Y position of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE5widthAE_6ScalarQZvp":{"name":"width","abstract":"

    Gets or sets the width of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE6heightAE_6ScalarQZvp":{"name":"height","abstract":"

    Gets or sets the height of this Rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE1x1y5width6heightxAE_6ScalarQZ_A3Ltcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a 2D rectangle.

    ","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE8withSize5width6heightxAE_6ScalarQZ_AKtF":{"name":"withSize(width:height:)","abstract":"

    Returns a Rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE12withLocation1x1yxAE_6ScalarQZ_AKtF":{"name":"withLocation(x:y:)","abstract":"

    Returns a rectangle that matches this rectangle’s size with a new","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE9movingTop2toxAE_6ScalarQZ_tF":{"name":"movingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A07Vector2D06VectorRpzrlE10movingLeft2toxAE_6ScalarQZ_tF":{"name":"movingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"ConstructableRectangleType"},"Protocols/ConstructableRectangleType.html#/s:9Geometria26ConstructableRectangleTypePA2A08AdditivecD0RzAA07Vector2D06VectorAA0cD0PRpzrlE8offsetBy1x1yxAfH_6ScalarAA0gD0PQZ_APtF":{"name":"offsetBy(x:y:)","abstract":"

    Returns a copy of this Rectangle with the minimum and maximum coordinates","parent_name":"ConstructableRectangleType"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypeP12intersection4with6VectorQzSgqd___tAA0bE0Rd__AFQyd__AGRSlF":{"name":"intersection(with:)","abstract":"

    Returns the intersection of this 2 dimensional plane with another","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/PlaneIntersectablePlane2Type.html#/s:9Geometria28PlaneIntersectablePlane2TypePA2A20Vector2FloatingPoint6VectorRpzrlE12intersection4withAFSgqd___tAA0bE0Rd__AEQyd__AFRSlF":{"name":"intersection(with:)","parent_name":"PlaneIntersectablePlane2Type"},"Protocols/Line2Real.html#/s:9Geometria9Line2RealP5angle6Vector_6ScalarQZvp":{"name":"angle","abstract":"

    Returns the angle of this line, in radians

    ","parent_name":"Line2Real"},"Protocols/Line2FloatingPoint.html#/s:9Geometria18Line2FloatingPointP12intersection4withAA22LineIntersectionResultVy6VectorQzGSgqd___tAaBRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line-line intersection with other.

    ","parent_name":"Line2FloatingPoint"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP6VectorQa":{"name":"Vector","abstract":"

    The comparable vector type associated with this VolumetricType.

    ","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypeP8containsySb6VectorQzF":{"name":"contains(_:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector2C06VectorRpzrlE8contains1x1ySbAE_6ScalarAA0eC0PQZ_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns true iff vector lies within the ‘inside’ area of this","parent_name":"VolumetricType"},"Protocols/VolumetricType.html#/s:9Geometria14VolumetricTypePA2A07Vector3C06VectorRpzrlE8contains1x1y1zSbAE_6ScalarAA0eC0PQZ_A2NtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true iff vector lies within the ‘inside’ volume of this","parent_name":"VolumetricType"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP6VectorQa":{"name":"Vector","abstract":"

    The floating-point vector type associated with this Convex2Type.

    ","parent_name":"Convex2Type"},"Protocols/Convex2Type.html#/s:9Geometria11Convex2TypeP12intersection4withAA22ConvexLineIntersectionOy6VectorQzGqd___tAA18Line2FloatingPointRd__AHQyd__AIRSlF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Convex2Type"},"Protocols/Convex2Type.html":{"name":"Convex2Type","abstract":"

    Protocol for 2D geometric types defined by floating-point vectors that form"},"Protocols/VolumetricType.html":{"name":"VolumetricType","abstract":"

    Protocol for geometric types that have an internal volumetric area that can"},"Protocols/Line2FloatingPoint.html":{"name":"Line2FloatingPoint","abstract":"

    Protocol for 2D line types where the vectors are floating-point vectors.

    "},"Protocols/Line2Real.html":{"name":"Line2Real","abstract":"

    Protocol for 2D line types where the vectors are real vectors.

    "},"Protocols.html#/s:9Geometria9Line2TypeP":{"name":"Line2Type","abstract":"

    A line that is described by two 2-dimensional vectors.

    "},"Protocols/PlaneIntersectablePlane2Type.html":{"name":"PlaneIntersectablePlane2Type","abstract":"

    A 1D plane in 2D space that can be intersected with other intersectable"},"Protocols/ConstructableRectangleType.html":{"name":"ConstructableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be constructed with location"},"Protocols/DivisibleRectangleType.html":{"name":"DivisibleRectangleType","abstract":"

    Protocol refining RectangleType with VectorDivisible extensions.

    "},"Protocols/RectangleType.html":{"name":"RectangleType","abstract":"

    Protocol for geometric types defined by vectors that fill enclosed"},"Protocols.html#/s:9Geometria15Vector2AdditiveP":{"name":"Vector2Additive","abstract":"

    Protocol for 2D types that support addition and subtraction.

    "},"Protocols/Vector2FloatingPoint.html":{"name":"Vector2FloatingPoint","abstract":"

    Protocol for 2D vector types where the components are floating-point numbers.

    "},"Protocols/Vector2Multiplicative.html":{"name":"Vector2Multiplicative","abstract":"

    Protocol for 2D vector types with multiplicable scalars.

    "},"Protocols/Vector2Real.html":{"name":"Vector2Real","abstract":"

    Protocol for 2D real vector types.

    "},"Protocols/Vector2Signed.html":{"name":"Vector2Signed","abstract":"

    Protocol for 2D vector types where the components are signed numbers.

    "},"Protocols/Vector2Type.html":{"name":"Vector2Type","abstract":"

    Protocol for types that can represent 2D vectors.

    "},"Protocols.html#/s:9Geometria20PlaneProjectiveSpaceP":{"name":"PlaneProjectiveSpace","abstract":"

    A projective space for 2D planes.

    "},"Protocols/SphereProjectiveSpace.html":{"name":"SphereProjectiveSpace","abstract":"

    A projected space laying on the surface of a 3-dimensional sphere, with a"},"Protocols/Convex3Type.html":{"name":"Convex3Type","abstract":"

    Protocol for 3D geometric types defined by floating-point vectors that form"},"Protocols/Line3IntersectableType.html":{"name":"Line3IntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with 3D lines.

    "},"Protocols/Line3FloatingPoint.html":{"name":"Line3FloatingPoint","abstract":"

    Protocol for 3D line types where the vectors are floating-point vectors.

    "},"Protocols/Line3Type.html":{"name":"Line3Type","abstract":"

    A line that is described by two 3-dimensional vectors.

    "},"Protocols.html#/s:9Geometria10Plane3TypeP":{"name":"Plane3Type","abstract":"

    A plane that represents a flat 2D surface in 3D space.

    "},"Protocols/PlaneIntersectablePlane3Type.html":{"name":"PlaneIntersectablePlane3Type","abstract":"

    A 2D plane in 3D space that can be intersected with other intersectable"},"Protocols/Vector3Additive.html":{"name":"Vector3Additive","abstract":"

    Protocol for 3D vector types with additive scalars.

    "},"Protocols/Vector3FloatingPoint.html":{"name":"Vector3FloatingPoint","abstract":"

    Protocol for 3D vector types where the components are floating-point numbers

    "},"Protocols/Vector3Multiplicative.html":{"name":"Vector3Multiplicative","abstract":"

    Protocol for 3D vector types with multiplicable scalars.

    "},"Protocols/Vector3Real.html":{"name":"Vector3Real","abstract":"

    Protocol for 3D vector types where the components are Real numbers

    "},"Protocols/Vector3Type.html":{"name":"Vector3Type","abstract":"

    Protocol for types that can represent 3D vectors.

    "},"Protocols/Vector4Additive.html":{"name":"Vector4Additive","abstract":"

    Protocol for 4D vector types with additive scalars.

    "},"Protocols/Vector4FloatingPoint.html":{"name":"Vector4FloatingPoint","abstract":"

    Protocol for 4D vector types where the components are floating-point numbers

    "},"Protocols/Vector4Type.html":{"name":"Vector4Type","abstract":"

    Protocol for types that can represent 4D vectors.

    "},"Protocols/ProjectiveSpace.html":{"name":"ProjectiveSpace","abstract":"

    A protocol for projective spaces, where lower-dimensional spaces can be"},"Protocols/BoundableType.html":{"name":"BoundableType","abstract":"

    Protocol for general geometric types that can be fitted into a finite,"},"Protocols/ConvexType.html":{"name":"ConvexType","abstract":"

    Protocol for N-dimensional geometric types defined by floating-point vectors"},"Protocols.html#/s:9Geometria13GeometricTypeP":{"name":"GeometricType","abstract":"

    A general geometric type.

    "},"Protocols/LineIntersectableType.html":{"name":"LineIntersectableType","abstract":"

    Protocol for general geometric types that can be intersected with lines.

    "},"Protocols/PointProjectableType.html":{"name":"PointProjectableType","abstract":"

    Protocol for geometric types that support vector projection operations.

    "},"Protocols/SignedDistanceMeasurableType.html":{"name":"SignedDistanceMeasurableType","abstract":"

    Represents an object that exposese a single function that returns the signed"},"Protocols/DivisibleArithmetic.html":{"name":"DivisibleArithmetic","abstract":"

    A type with values that support division.

    "},"Protocols/LineAdditive.html":{"name":"LineAdditive","abstract":"

    Protocol for objects that form geometric lines with two VectorAdditive"},"Protocols/LineDivisible.html":{"name":"LineDivisible","abstract":"

    Protocol for objects that form geometric lines with two VectorDivisible"},"Protocols/LineFloatingPoint.html":{"name":"LineFloatingPoint","abstract":"

    Protocol for objects that form geometric lines with two floating-point"},"Protocols/LineMultiplicative.html":{"name":"LineMultiplicative","abstract":"

    Protocol for objects that form geometric lines with two VectorMultiplicative"},"Protocols.html#/s:9Geometria8LineRealP":{"name":"LineReal","abstract":"

    Protocol for objects that form geometric lines with two VectorReal"},"Protocols/LineType.html":{"name":"LineType","abstract":"

    Protocol for objects that form geometric lines with at least two distinct"},"Protocols/LineIntersectablePlaneType.html":{"name":"LineIntersectablePlaneType","abstract":"

    Represents a plane type that has support for line-intersection.

    "},"Protocols/PlaneType.html":{"name":"PlaneType","abstract":"

    Represents a plane in N-dimensional space with a center point and a normal"},"Protocols/PointProjectablePlaneType.html":{"name":"PointProjectablePlaneType","abstract":"

    Represents a plane type that has support for point-projection.

    "},"Protocols/AdditiveRectangleType.html":{"name":"AdditiveRectangleType","abstract":"

    Protocol refining RectangleType with VectorAdditive extensions.

    "},"Protocols/SelfIntersectableRectangleType.html":{"name":"SelfIntersectableRectangleType","abstract":"

    Protocol for rectangle geometric types that can be combined as intersection"},"Protocols/VectorAdditive.html":{"name":"VectorAdditive","abstract":"

    Represents a VectorType with addition and subtraction arithmetic"},"Protocols/VectorComparable.html":{"name":"VectorComparable","abstract":"

    Represents a VectorType with comparison operators available.

    "},"Protocols/VectorDivisible.html":{"name":"VectorDivisible","abstract":"

    Represents a VectorType with support for division.

    "},"Protocols/VectorFloatingPoint.html":{"name":"VectorFloatingPoint","abstract":"

    Protocol for vector types where the components are floating-point numbers

    "},"Protocols/VectorMultiplicative.html":{"name":"VectorMultiplicative","abstract":"

    Protocol for Vectors that support multiplication

    "},"Protocols/VectorReal.html":{"name":"VectorReal","abstract":"

    Protocol for vector types where the components are real numbers.

    "},"Protocols/VectorSigned.html":{"name":"VectorSigned","abstract":"

    Vector type where the components are signed numbers.

    "},"Protocols/VectorTakeable.html":{"name":"VectorTakeable","abstract":"

    Protocol that vector types conform to to indicate that different combinations"},"Protocols/VectorType.html":{"name":"VectorType","abstract":"

    Protocol for N-dimensional vector types.

    "},"Protocols/MatrixType.html":{"name":"MatrixType","abstract":"

    Protocol for Matrix types.

    "},"Protocols/SquareMatrixType.html":{"name":"SquareMatrixType","abstract":"

    Protocol for square matrices, or matrices with the same number of rows and"},"Protocols/TransposableMatrixType.html":{"name":"TransposableMatrixType","abstract":"

    Protocol for matrices that support transposition.

    "},"Functions.html#/s:9Geometria3minyxx_xtAA16VectorComparableRzlF":{"name":"min(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal"},"Functions.html#/s:9Geometria3maxyxx_xtAA16VectorComparableRzlF":{"name":"max(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal"},"Functions.html#/s:9Geometria5roundyxxAA19VectorFloatingPointRzlF":{"name":"round(_:)","abstract":"

    Rounds the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria4ceilyxxAA19VectorFloatingPointRzlF":{"name":"ceil(_:)","abstract":"

    Rounds up the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria5flooryxxAA19VectorFloatingPointRzlF":{"name":"floor(_:)","abstract":"

    Rounds down the components of a given VectorFloatingPoint using"},"Functions.html#/s:9Geometria3absyxxAA12VectorSignedRzlF":{"name":"abs(_:)","abstract":"

    Returns a VectorSigned with each component as the absolute value of the"},"Functions.html#/s:9Geometria2eeoiySbx_xt_x_xtt_x_xt_x_xtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix2x2 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxt_x_xxtx_xxtt_x_xxt_x_xxtx_xxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix3x3 values.

    "},"Functions.html#/s:9Geometria2eeoiySbx_xxxt_x_xxxtx_xxxtx_xxxtt_x_xxxt_x_xxxtx_xxxtx_xxxtttAA19DivisibleArithmeticRz10RealModule0E0RzlF":{"name":"==(_:_:)","abstract":"

    Performs an equality check over a tuple of Matrix4x4 values.

    "},"Extensions/Collection.html#/s:Sl9GeometriaE13averageVectorqd__yAA0C9DivisibleRd__7ElementQzRsd__SF6ScalarRpd__lF":{"name":"averageVector()","abstract":"

    Averages this collection of vectors into one VectorDivisible point as","parent_name":"Collection"},"Extensions/SIMD4.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD4"},"Extensions/SIMD4.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD4"},"Extensions/SIMD4.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/absolute":{"name":"absolute","parent_name":"SIMD4"},"Extensions/SIMD4.html#/sign":{"name":"sign","parent_name":"SIMD4"},"Extensions/SIMD4.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD4"},"Extensions/SIMD4.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD4"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A21Vector3MultiplicativeRzrlE11crossedAreaxvp":{"name":"crossedArea","abstract":"

    Returns the cross product of the edges BA and CA on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria9PlaneTypeP07pointOnB06VectorQzvp":{"name":"pointOnPlane","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE6normalxvp":{"name":"normal","abstract":"

    Returns normal for this Triangle3. The direction of the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE7asPlaneAA0e6NormalG0VyxGvp":{"name":"asPlane","abstract":"

    Returns the plane this Triangle3 forms on 3D space, with the normal","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE39unclampedNormalMagnitudeForIntersection4with6ScalarQzSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"unclampedNormalMagnitudeForIntersection(with:)","abstract":"

    Returns the normalized magnitude for a line’s intersection point on this","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE12intersection4withxSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Returns the result of a line intersection on this triangle.

    ","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE23mollerTrumboreIntersect4with6ScalarQz13lineMagnitude_AcASQAHRQrlE11CoordinatesVyx_GtSgqd___t6VectorQyd__RszAA04LinedE0Rd__lF":{"name":"mollerTrumboreIntersect(with:)","abstract":"

    Performs Möller-Trumbore intersection algorithm against a line.","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentric1x1y1zAcASQ6ScalarRpzrlE11CoordinatesVyx_GAJ_A2JtF":{"name":"toBarycentric(x:y:z:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria8TriangleVA2A20Vector3FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle3"},"Extensions/Triangle3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Triangle3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Sphere3"},"Extensions/Sphere3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Sphere3"},"Extensions/SIMD3.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD3"},"Extensions/SIMD3.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD3"},"Extensions/SIMD3.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/absolute":{"name":"absolute","parent_name":"SIMD3"},"Extensions/SIMD3.html#/sign":{"name":"sign","parent_name":"SIMD3"},"Extensions/SIMD3.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD3"},"Extensions/SIMD3.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector3Type and another Vector3Type

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalize()":{"name":"normalize()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/normalized()":{"name":"normalized()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/rounded()":{"name":"rounded()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/ceil()":{"name":"ceil()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/floor()":{"name":"floor()","parent_name":"SIMD3"},"Extensions/SIMD3.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD3"},"Extensions/SIMD3.html#/azimuth":{"name":"azimuth","abstract":"

    The XY-plane angle of this vector

    ","parent_name":"SIMD3"},"Extensions/SIMD3.html#/elevation":{"name":"elevation","abstract":"

    The elevation angle of this vector, or the angle between the XY plane","parent_name":"SIMD3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V14make3DRotation___5order11orientationACyxGx_xxAA14RotationOrder3OAA12Orientation3OtFZ":{"name":"make3DRotation(_:_:_:order:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix from a set of rotations around","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationX_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationX(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the X-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationY_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationY(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V15make3DRotationZ_11orientationACyxGx_AA12Orientation3OtFZ":{"name":"make3DRotationZ(_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the Y-axis","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___xAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V27make3DRotationFromAxisAngle4axis_11orientationACyxGqd___AA0G0VyxGAA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationFromAxisAngle(axis:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around the given","parent_name":"RotationMatrix3"},"Extensions/RotationMatrix3.html#/s:9Geometria9Matrix3x3V21make3DRotationBetween__11orientationACyxGqd___qd__AA12Orientation3Ot6ScalarQyd__RszAA20Vector3FloatingPointRd__lFZ":{"name":"make3DRotationBetween(_:_:orientation:)","abstract":"

    Creates a 3-dimensional rotation matrix that rotates around a single","parent_name":"RotationMatrix3"},"Extensions/Ray3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE2x12y12z12x22y22z2ACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Ray with two 3D vectors representing the starting","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE1x1y1z2dx2dy2dzACyxG6ScalarAA0eD0PQz_A5Ptcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"Ray3"},"Extensions/Ray3.html#/s:9Geometria3RayVA2A11Vector3TypeRzAA14VectorAdditiveRzrlE10make2DLineyACy10SubVector2AA0E8TakeablePQzGAJ_AJtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Ray3"},"Extensions/LineSegment3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"LineSegment3"},"Extensions/LineSegment3.html#/s:9Geometria11LineSegmentVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"LineSegment3"},"Extensions/Line3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","parent_name":"Line3"},"Extensions/Line3.html#/s:9Geometria4LineVA2A11Vector3TypeRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"Line3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzrlE7radiusZ6ScalarQzvp":{"name":"radiusZ","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE6center7radiusX0H1Y0H1ZACyxGx_6ScalarAA0eD0PQzA2Ntcfc":{"name":"init(center:radiusX:radiusY:radiusZ:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria9EllipsoidVA2A11Vector3TypeRzAA10VectorRealRzrlE8contains1x1y1zSb6ScalarAA0eD0PQz_A2MtF":{"name":"contains(x:y:z:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP17attemptProjectiony11CoordinatesQzSg6VectorQzF":{"name":"attemptProjection(_:)","parent_name":"Ellipse3"},"Extensions/Ellipse3.html#/s:9Geometria15ProjectiveSpaceP10projectOuty6VectorQz11CoordinatesQzF":{"name":"projectOut(_:)","parent_name":"Ellipse3"},"Extensions/DirectionalRay3.html#/s:9Geometria9Line3TypeP8SubLine2Qa":{"name":"SubLine2","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE2x12y12z12x22y22z2ACyxG6ScalarQz_A5Mtcfc":{"name":"init(x1:y1:z1:x2:y2:z2:)","abstract":"

    Initializes a new Directional Ray with 3D vectors describing the start","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE1x1y1z2dx2dy2dzACyxG6ScalarQz_A5Mtcfc":{"name":"init(x:y:z:dx:dy:dz:)","abstract":"

    Initializes a new Ray with a 3D vector for its position and another","parent_name":"DirectionalRay3"},"Extensions/DirectionalRay3.html#/s:9Geometria14DirectionalRayVA2A20Vector3FloatingPointRzrlE10make2DLineyACy10SubVector2QzGAG_AGtFZ":{"name":"make2DLine(_:_:)","abstract":"

    Creates a 2D line of the same underlying type as this line.

    ","parent_name":"DirectionalRay3"},"Extensions/Cube3.html#/s:9Geometria7NSquareVA2A11Vector3TypeRzrlE1x1y1z10sideLengthACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:z:sideLength:)","parent_name":"Cube3"},"Extensions/Capsule3.html#/s:9Geometria8NCapsuleVA2A11Vector3TypeRzrlE10asCylinderAA9Cylinder3VyxGvp":{"name":"asCylinder","abstract":"

    Returns a Cylinder3 with the same start, end, and radius","parent_name":"Capsule3"},"Extensions/Capsule3.html#/s:9Geometria28SignedDistanceMeasurableTypeP06signedC02to6Vector_6ScalarQZAFQz_tF":{"name":"signedDistance(to:)","parent_name":"Capsule3"},"Extensions/Vector2F.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2F"},"Extensions/Vector2F.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2F"},"Extensions/Vector2D.html#/simdMatrix(scale:rotate:translate:)":{"name":"simdMatrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"Vector2D"},"Extensions/Vector2D.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"Vector2D"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE04unitB0ACyxGvpZ":{"name":"unitTriangle","abstract":"

    Returns a unit triangle where a, b, and c take the following","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzrlE16signedDoubleArea6ScalarQzvp":{"name":"signedDoubleArea","abstract":"

    Returns the signed doubled area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzrlE10signedArea6ScalarAA0E4TypePQzvp":{"name":"signedArea","abstract":"

    Returns the signed area of this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A21Vector2MultiplicativeRzAA15VectorDivisibleRzAA0E6SignedRzrlE7winding6ScalarAA0E4TypePQzvp":{"name":"winding","abstract":"

    Returns the signed value of this triangle’s winding.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Returns whether the given point vector is contained within this triangle.

    ","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentric1x1yAcASQ6ScalarRpzrlE11CoordinatesVyx_GAI_AItF":{"name":"toBarycentric(x:y:)","abstract":"

    Performs a projection of a given set of coordinates onto this triangle","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE13toBarycentricyAcASQ6ScalarRpzrlE11CoordinatesVyx_GxF":{"name":"toBarycentric(_:)","abstract":"

    Performs a projection of a given vector onto this triangle as a set of","parent_name":"Triangle2"},"Extensions/Triangle2.html#/s:9Geometria8TriangleVA2A20Vector2FloatingPointRzrlE12intersection4withAA22ConvexLineIntersectionOyxGqd___t6VectorQyd__RszAA05Line2dE0Rd__lF":{"name":"intersection(with:)","abstract":"

    Performs an intersection test against the given line, returning up to","parent_name":"Triangle2"},"Extensions/Square2.html#/s:9Geometria7NSquareVA2A11Vector2TypeRzrlE1x1y10sideLengthACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:sideLength:)","parent_name":"Square2"},"Extensions/SIMD2.html#/SubVector2":{"name":"SubVector2","parent_name":"SIMD2"},"Extensions/SIMD2.html#/SubVector4":{"name":"SubVector4","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMin(_:_:)":{"name":"pointwiseMin(_:_:)","abstract":"

    Returns the pointwise minimal Vector where each component is the minimal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pointwiseMax(_:_:)":{"name":"pointwiseMax(_:_:)","abstract":"

    Returns the pointwise maximal Vector where each component is the maximal","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>(_:_:)":{"name":">(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/>=(_:_:)":{"name":">=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<(_:_:)":{"name":"<(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/<=(_:_:)":{"name":"<=(_:_:)","abstract":"

    Compares two vectors and returns true if all components of lhs are","parent_name":"SIMD2"},"Extensions/SIMD2.html#/lengthSquared":{"name":"lengthSquared","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distanceSquared(to:)":{"name":"distanceSquared(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/dot(_:)":{"name":"dot(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/cross(_:)":{"name":"cross(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/absolute":{"name":"absolute","parent_name":"SIMD2"},"Extensions/SIMD2.html#/sign":{"name":"sign","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formPerpendicular()":{"name":"formPerpendicular()","abstract":"

    Makes this Vector perpendicular to its current position relative to the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/perpendicular()":{"name":"perpendicular()","abstract":"

    Returns a Vector perpendicular to this Vector relative to the origin

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/leftRotated()":{"name":"leftRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º counter","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formLeftRotated()":{"name":"formLeftRotated()","abstract":"

    Rotates this vector 90º counter clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rightRotated()":{"name":"rightRotated()","abstract":"

    Returns a vector that represents this vector’s point, rotated 90º clockwise","parent_name":"SIMD2"},"Extensions/SIMD2.html#/formRightRotated()":{"name":"formRightRotated()","abstract":"

    Rotates this vector 90º clockwise relative to the origin.","parent_name":"SIMD2"},"Extensions/SIMD2.html#/length":{"name":"length","abstract":"

    Returns the Euclidean norm (square root of the squared length) of this","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalize()":{"name":"normalize()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/normalized()":{"name":"normalized()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/distance(to:)":{"name":"distance(to:)","abstract":"

    Returns the distance between this Vector2Type and another Vector2Type

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rounded()":{"name":"rounded()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/ceil()":{"name":"ceil()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/floor()":{"name":"floor()","parent_name":"SIMD2"},"Extensions/SIMD2.html#/%(_:_:)":{"name":"%(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/signedDistance(to:)":{"name":"signedDistance(to:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/init(_:)":{"name":"init(_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/pow(_:_:)":{"name":"pow(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/angle":{"name":"angle","abstract":"

    Returns the angle in radians of the line formed by tracing from the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:)":{"name":"rotated(by:)","abstract":"

    Returns a rotated version of this vector, rotated around the origin by a","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(by:)":{"name":"rotate(by:)","abstract":"

    Rotates this vector around the origin by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotated(by:around:)":{"name":"rotated(by:around:)","abstract":"

    Rotates this vector around a given pivot by a given angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/rotate(_:by:)":{"name":"rotate(_:by:)","abstract":"

    Rotates a given vector around the origin by an angle in radians

    ","parent_name":"SIMD2"},"Extensions/SIMD2.html#/matrix(scale:rotate:translate:)":{"name":"matrix(scale:rotate:translate:)","abstract":"

    Creates a matrix that when multiplied with a Vector object applies the","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*(_:_:)":{"name":"*(_:_:)","parent_name":"SIMD2"},"Extensions/SIMD2.html#/*=(_:_:)":{"name":"*=(_:_:)","parent_name":"SIMD2"},"Extensions/RoundRectangle2.html#/s:9Geometria15RoundNRectangleVA2A11Vector2TypeRzrlE9rectangle7radiusX0G1YACyxGAA0C0VyxG_6ScalarQzAMtcfc":{"name":"init(rectangle:radiusX:radiusY:)","parent_name":"RoundRectangle2"},"Extensions/Rectangle2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5right6ScalarAA0eD0PQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE6bottom6ScalarAA0eD0PQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this Rectangle‘s corners in","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE4left3top5right6bottomACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a Rectangle with the edges of a box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE11movingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and width as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE12movingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"movingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and height as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE14stretchingLeft2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingLeft(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and right as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE13stretchingTop2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingTop(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and bottom as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE15stretchingRight2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingRight(to:)","abstract":"

    Returns a new Rectangle with the same top, bottom, and left as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE16stretchingBottom2toACyxG6ScalarAA0eD0PQz_tF":{"name":"stretchingBottom(to:)","abstract":"

    Returns a new Rectangle with the same left, right, and top as the current","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE5insetyACyxGAA11EdgeInsets2VyxGF":{"name":"inset(_:)","abstract":"

    Insets this Rectangle with a given set of edge inset values.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA10VectorRealRzrlE17transformedBoundsyACyxGAA9Matrix3x2Vy6ScalarAA0eD0PQzGF":{"name":"transformedBounds(_:)","abstract":"

    Applies the given Matrix on all corners of this Rectangle, returning a new","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA14VectorAdditiveRzAA0E10ComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_AMtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this bounding box.

    ","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzAA20VectorMultiplicativeRzrlE8scaledBy1x1yACyxG6ScalarAA0eD0PQz_AMtF":{"name":"scaledBy(x:y:)","abstract":"

    Returns a Rectangle with the same position as this Rectangle, with its","parent_name":"Rectangle2"},"Extensions/Rectangle2.html#/s:9Geometria10NRectangleVA2A11Vector2TypeRzSF6ScalarRpzrlE1x1y5width6heightACyxGqd___qd__qd__qd__tcSzRd__lufc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a Rectangle with the coordinates of a rectangle.

    ","parent_name":"Rectangle2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE2x12y12x22y2ACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Ray with two 2D vectors representing the starting","parent_name":"Ray2"},"Extensions/Ray2.html#/s:9Geometria3RayVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y2dx2dyACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Ray with a 2D vector for its position and another","parent_name":"Ray2"},"Extensions/LineSegment2.html#/s:9Geometria11LineSegmentVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"LineSegment2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzrlE9addVertex1x1yy6ScalarQz_AItF":{"name":"addVertex(x:y:)","abstract":"

    Adds a new 2D vertex at the end of this polygon’s vertices list

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzrlE7winding6ScalarQzyF":{"name":"winding()","abstract":"

    Returns the winding number for this polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA19DivisibleArithmetic6ScalarRpzrlE4areaAGyF":{"name":"area()","abstract":"

    Returns the signed area of this 2D polygon.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A21Vector2MultiplicativeRzAA16VectorComparableRzrlE8isConvexSbyF":{"name":"isConvex()","abstract":"

    Returns true if this polygon is convex.

    ","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA16VectorComparableRzAA0F9DivisibleRzrlE8containsySbxF":{"name":"contains(_:)","abstract":"

    Assuming this LinePolygon2 represents a clockwise closed polygon,","parent_name":"LinePolygon2"},"Extensions/LinePolygon2.html#/s:9Geometria11LinePolygonVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE02isH6OnEdge_9toleranceSbx_6ScalarAA0fE0PQztF":{"name":"isPointOnEdge(_:tolerance:)","abstract":"

    Returns true if the given point lies within an edge of the polygon","parent_name":"LinePolygon2"},"Extensions/Line2.html#/s:9Geometria4LineVA2A11Vector2TypeRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","parent_name":"Line2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusX6ScalarQzvp":{"name":"radiusX","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzrlE7radiusY6ScalarQzvp":{"name":"radiusY","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE6center7radiusX0H1YACyxGx_6ScalarAA0eD0PQzAMtcfc":{"name":"init(center:radiusX:radiusY:)","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA10VectorRealRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns true if the point described by the given coordinates is","parent_name":"Ellipse2"},"Extensions/Ellipse2.html#/s:9Geometria9EllipsoidVA2A11Vector2TypeRzAA19VectorFloatingPointRzrlE4focix1a_x1btyF":{"name":"foci()","abstract":"

    Computes the focal points of this 2D ellipse, as two vectors in space","parent_name":"Ellipse2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE2x12y12x22y2ACyxG6ScalarQz_A3Ktcfc":{"name":"init(x1:y1:x2:y2:)","abstract":"

    Initializes a new Directional Ray with 2D vectors describing the start","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A20Vector2FloatingPointRzrlE1x1y2dx2dyACyxG6ScalarQz_A3Ktcfc":{"name":"init(x:y:dx:dy:)","abstract":"

    Initializes a new Directional Ray with a 2D vector for its position and","parent_name":"DirectionalRay2"},"Extensions/DirectionalRay2.html#/s:9Geometria14DirectionalRayVA2A11Vector2RealRzrlE5angle6ScalarQzvp":{"name":"angle","abstract":"

    Returns the angle of this directional ray, in radians

    ","parent_name":"DirectionalRay2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzrlE1x1y6radiusACyxG6ScalarQz_A2Jtcfc":{"name":"init(x:y:radius:)","abstract":"

    Initializes a circle centered at a given point with a given radius.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2TypeRzAA20VectorMultiplicativeRzSL6ScalarAA0eD0PRpzrlE8contains1x1ySbAI_AItF":{"name":"contains(x:y:)","abstract":"

    Returns true if this circle’s area contains a given point.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A20Vector2FloatingPointRzrlE12intersection4withAA24ClosedShape2IntersectionOyxGACyxG_tF":{"name":"intersection(with:)","abstract":"

    Returns the result of the intersection between self and another Circle2.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE12pointOnAngleyxAA0G0Vy6ScalarQzGF":{"name":"pointOnAngle(_:)","abstract":"

    Returns a point on this circle represented by a given angle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxGAA0G0Vy6ScalarQzG_AOtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/Circle2.html#/s:9Geometria7NSphereVA2A11Vector2RealRzrlE3arc10startAngle05sweepG0AA10CircleArc2VyxG6ScalarQz_ALtF":{"name":"arc(startAngle:sweepAngle:)","abstract":"

    Generates an arc from this circle.

    ","parent_name":"Circle2"},"Extensions/AABB2.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1x6ScalarQzvp":{"name":"x","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE1y6ScalarQzvp":{"name":"y","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left6ScalarQzvp":{"name":"left","abstract":"

    The x coordinate of the left corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE3top6ScalarQzvp":{"name":"top","abstract":"

    The y coordinate of the top corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE5right6ScalarQzvp":{"name":"right","abstract":"

    The x coordinate of the right corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE6bottom6ScalarQzvp":{"name":"bottom","abstract":"

    The y coordinate of the bottom corner of this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7topLeftxvp":{"name":"topLeft","abstract":"

    The top-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE8topRightxvp":{"name":"topRight","abstract":"

    The top-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE11bottomRightxvp":{"name":"bottomRight","abstract":"

    The bottom-right corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE10bottomLeftxvp":{"name":"bottomLeft","abstract":"

    The bottom-left corner of the 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE7cornersSayxGvp":{"name":"corners","abstract":"

    Returns an array of vectors that represent this AABB‘s 2D corners in","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzrlE4left3top5right6bottomACyxG6ScalarQz_A3Ktcfc":{"name":"init(left:top:right:bottom:)","abstract":"

    Initializes a AABB with the edges of a box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA16VectorComparableRzrlE8contains1x1ySb6ScalarAA0eD0PQz_ALtF":{"name":"contains(x:y:)","abstract":"

    Returns whether a given point is contained within this 2d box.

    ","parent_name":"AABB2"},"Extensions/AABB2.html#/s:9Geometria4AABBVA2A11Vector2TypeRzAA14VectorAdditiveRzrlE1x1y5width6heightACyxG6ScalarAA0eD0PQz_A3Ntcfc":{"name":"init(x:y:width:height:)","abstract":"

    Initializes a AABB with the coordinates of a rectangle.

    ","parent_name":"AABB2"},"Extensions/AABB2.html":{"name":"AABB2"},"Extensions/Circle2.html":{"name":"Circle2"},"Extensions/DirectionalRay2.html":{"name":"DirectionalRay2"},"Extensions/Ellipse2.html":{"name":"Ellipse2"},"Extensions.html#/s:9Geometria11Hyperplane2a":{"name":"Hyperplane2"},"Extensions/Line2.html":{"name":"Line2"},"Extensions/LinePolygon2.html":{"name":"LinePolygon2"},"Extensions/LineSegment2.html":{"name":"LineSegment2"},"Extensions.html#/s:9Geometria17PointNormalPlane2a":{"name":"PointNormalPlane2"},"Extensions/Ray2.html":{"name":"Ray2"},"Extensions/Rectangle2.html":{"name":"Rectangle2"},"Extensions/RoundRectangle2.html":{"name":"RoundRectangle2"},"Extensions/SIMD2.html":{"name":"SIMD2"},"Extensions/Square2.html":{"name":"Square2"},"Extensions/Triangle2.html":{"name":"Triangle2"},"Extensions/Vector2D.html":{"name":"Vector2D"},"Extensions/Vector2F.html":{"name":"Vector2F"},"Extensions.html#/s:9Geometria5AABB3a":{"name":"AABB3"},"Extensions/Capsule3.html":{"name":"Capsule3"},"Extensions/Cube3.html":{"name":"Cube3"},"Extensions/DirectionalRay3.html":{"name":"DirectionalRay3"},"Extensions/Ellipse3.html":{"name":"Ellipse3"},"Extensions.html#/s:9Geometria11Hyperplane3a":{"name":"Hyperplane3"},"Extensions/Line3.html":{"name":"Line3"},"Extensions/LineSegment3.html":{"name":"LineSegment3"},"Extensions.html#/s:9Geometria17PointNormalPlane3a":{"name":"PointNormalPlane3"},"Extensions/Ray3.html":{"name":"Ray3"},"Extensions/RotationMatrix3.html":{"name":"RotationMatrix3"},"Extensions/SIMD3.html":{"name":"SIMD3"},"Extensions/Sphere3.html":{"name":"Sphere3"},"Extensions/Triangle3.html":{"name":"Triangle3"},"Extensions/SIMD4.html":{"name":"SIMD4"},"Extensions.html#/s:Si":{"name":"Int"},"Extensions.html#/s:Su":{"name":"UInt"},"Extensions.html#/s:s4Int8V":{"name":"Int8"},"Extensions.html#/s:s5Int16V":{"name":"Int16"},"Extensions.html#/s:s5Int32V":{"name":"Int32"},"Extensions.html#/s:s5Int64V":{"name":"Int64"},"Extensions.html#/s:s5UInt8V":{"name":"UInt8"},"Extensions.html#/s:s6UInt16V":{"name":"UInt16"},"Extensions.html#/s:s6UInt32V":{"name":"UInt32"},"Extensions.html#/s:s6UInt64V":{"name":"UInt64"},"Extensions.html#/s:Sf":{"name":"Float"},"Extensions.html#/s:Sd":{"name":"Double"},"Extensions.html#/s:s7Float80V":{"name":"Float80"},"Extensions/Collection.html":{"name":"Collection"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO5enteryAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"enter","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection/PointNormalKind.html#/s:9Geometria22ConvexLineIntersectionO15PointNormalKindO4exityAEyx_GAGmAA014VectorFloatingE0RzlF":{"name":"exit","parent_name":"PointNormalKind"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9containedyACyxGAEmAA19VectorFloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the line’s boundaries are completely contained","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the line crosses the bounds of the convex","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO5enteryACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"enter(_:)","abstract":"

    Represents cases where the line starts outside the shape and crosses in","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO4exityACyxGAA11PointNormalVyxGcAEmAA014VectorFloatingF0RzlF":{"name":"exit(_:)","abstract":"

    Represents cases where the line starts within the convex shape and","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO9enterExityACyxGAA11PointNormalVyxG_AHtcAEmAA014VectorFloatingG0RzlF":{"name":"enterExit(_:_:)","abstract":"

    Represents cases where the line crosses the convex shape twice: Once on","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO02noD0yACyxGAEmAA19VectorFloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO12pointNormalsSayAA11PointNormalVyxGGvp":{"name":"pointNormals","abstract":"

    Returns the list of point normals referenced by this intersection instance.

    ","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection.html#/s:9Geometria22ConvexLineIntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA014VectorFloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ConvexLineIntersection where any PointNormal value","parent_name":"ConvexLineIntersection"},"Enums/ConvexLineIntersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ConvexLineIntersection"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector4TakeDimensions"},"Enums/Vector4TakeDimensions.html#/s:9Geometria21Vector4TakeDimensionsO1wyA2CmF":{"name":"w","parent_name":"Vector4TakeDimensions"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyzyA2CmF":{"name":"xyz","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzyyA2CmF":{"name":"xzy","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyxyA2CmF":{"name":"zyx","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxyyA2CmF":{"name":"zxy","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzxyA2CmF":{"name":"yzx","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxzyA2CmF":{"name":"yxz","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zxzyA2CmF":{"name":"zxz","abstract":"

    Rotation is created by rotating around the Z-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xzxyA2CmF":{"name":"xzx","abstract":"

    Rotation is created by rotating around the X-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yxyyA2CmF":{"name":"yxy","abstract":"

    Rotation is created by rotating around the Y-axis, X-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3xyxyA2CmF":{"name":"xyx","abstract":"

    Rotation is created by rotating around the X-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3zyzyA2CmF":{"name":"zyz","abstract":"

    Rotation is created by rotating around the Z-axis, Y-axis, and finally","parent_name":"RotationOrder3"},"Enums/RotationOrder3.html#/s:9Geometria14RotationOrder3O3yzyyA2CmF":{"name":"yzy","abstract":"

    Rotation is created by rotating around the Y-axis, Z-axis, and finally","parent_name":"RotationOrder3"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector3TakeDimensions"},"Enums/Vector3TakeDimensions.html#/s:9Geometria21Vector3TakeDimensionsO1zyA2CmF":{"name":"z","parent_name":"Vector3TakeDimensions"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O11rightHandedyA2CmF":{"name":"rightHanded","abstract":"

    Specifies a right-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Orientation3.html#/s:9Geometria12Orientation3O10leftHandedyA2CmF":{"name":"leftHanded","abstract":"

    Specifies a left-handed orientation system.

    ","parent_name":"Orientation3"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1xyA2CmF":{"name":"x","parent_name":"Vector2TakeDimensions"},"Enums/Vector2TakeDimensions.html#/s:9Geometria21Vector2TakeDimensionsO1yyA2CmF":{"name":"y","parent_name":"Vector2TakeDimensions"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO06singleE0yAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"singlePoint","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO14twoPointsFirstyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsFirst","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO15twoPointsSecondyAEyx_GAGmAA015Vector2FloatingE0RzlF":{"name":"twoPointsSecond","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO6pointsyAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"points(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO9pairEnteryAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairEnter(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/PointNormalKind.html#/s:9Geometria24ClosedShape2IntersectionO15PointNormalKindO8pairExityAEyx_GSi_tcAGmAA015Vector2FloatingE0RzlF":{"name":"pairExit(index:)","parent_name":"PointNormalKind"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enterAA11PointNormalVyxGvp":{"name":"enter","abstract":"

    The entrance point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV4exitAA11PointNormalVyxGvp":{"name":"exit","abstract":"

    The exit point of the intersection.

    ","parent_name":"Pair"},"Enums/ClosedShape2Intersection/Pair.html#/s:9Geometria24ClosedShape2IntersectionO4PairV5enter4exitAEyx_GAA11PointNormalVyxG_AKtcfc":{"name":"init(enter:exit:)","parent_name":"Pair"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9containedyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contained","abstract":"

    Represents the case where the convex’s boundaries are completely contained","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO8containsyACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"contains","abstract":"

    Represents the case where the other convex’s boundaries are completely","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO11singlePointyACyxGAA0F6NormalVyxGcAEmAA015Vector2FloatingF0RzlF":{"name":"singlePoint(_:)","abstract":"

    Represents the case where the convex crosses the bounds of the convex","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO5pairsyACyxGSayAC4PairVyx_GGcAEmAA20Vector2FloatingPointRzlF":{"name":"pairs(_:)","abstract":"

    A sequence of one or more intersection pairs of points that represent","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO02noD0yACyxGAEmAA20Vector2FloatingPointRzlF":{"name":"noIntersection","abstract":"

    Represents the case where no intersection occurs at any point.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO9twoPointsyACyxGAA11PointNormalVyxG_AHtFZ":{"name":"twoPoints(_:_:)","abstract":"

    Convenience for .pairs([.init(enter: p1, exit: p2)]).

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO19mappingPointNormalsyACyxGAA0F6NormalVyxGAH_AC0fH4KindOyx_GtXEF":{"name":"mappingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html#/s:9Geometria24ClosedShape2IntersectionO21replacingPointNormalsyACyqd__GAA0F6NormalVyqd__GAGyxG_AC0fH4KindOyx_GtXEAA015Vector2FloatingF0Rd__lF":{"name":"replacingPointNormals(_:)","abstract":"

    Returns a new ClosedShape2Intersection where any PointNormal value","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/Pair.html":{"name":"Pair","abstract":"

    A pair of entrance/exit intersection points.

    ","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection/PointNormalKind.html":{"name":"PointNormalKind","abstract":"

    Parameter passed along point normals in mappingPointNormals(_:) and","parent_name":"ClosedShape2Intersection"},"Enums/ClosedShape2Intersection.html":{"name":"ClosedShape2Intersection","abstract":"

    The result of a intersection test against two 2-dimensional closed shapes.

    "},"Enums/Vector2TakeDimensions.html":{"name":"Vector2TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 2 type.

    "},"Enums/Orientation3.html":{"name":"Orientation3","abstract":"

    Describes the orientation"},"Enums/Vector3TakeDimensions.html":{"name":"Vector3TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/RotationOrder3.html":{"name":"RotationOrder3","abstract":"

    Specifies configurations for the order of rotations when creating a"},"Enums/Vector4TakeDimensions.html":{"name":"Vector4TakeDimensions","abstract":"

    Defines the dimension of an indexed takeable getter for a Vector 3 type.

    "},"Enums/ConvexLineIntersection.html":{"name":"ConvexLineIntersection","abstract":"

    The result of a convex-line intersection test.

    "},"changelog.html":{"name":"CHANGELOG"},"license.html":{"name":"LICENSE"},"readme.html":{"name":"README"},"Guides.html":{"name":"Guides","abstract":"

    The following guides are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file