Translations

An isometry does not change shape or size.

TEKS

Subchapter B. Middle School

Grade 8

  1. Two-dimensional shapes. The student applies mathematical process standards to develop transformational geometry concepts. The student is expected to:
  1. generalize the properties of orientation and congruence of rotations, reflections, translations, and dilations of two-dimensional shapes on a coordinate plane;

  2. differentiate between transformations that preserve congruence and those that do not;

  3. explain the effect of translations, reflections over the x- or y-axis, and rotations limited to 90°, 180°, 270°, and 360° as applied to two-dimensional shapes on a coordinate plane using an algebraic representation; and

  4. model the effect on linear and area measurements of dilated two-dimensional shapes.

Definition of Translation:

A geometry translation is an isometric transformation, meaning that the original figure and the image are congruent.

That is: “Sliding” or moving a shape without rotating or flipping it.

The shape still looks exactly the same, just in a different place.

Translation

Example 1:

Click on the link above and unselect:

“Show translated triangle” and

“Show arrows to translation”

Move the vector to \((0,0)\)

Create \(\triangle{ABC}\) with the following coordinates:

\({A(0,0), B(0,1), C(1,0)}\)

Perform the following translation:

\((x,y) \rightarrow (x+2, y-3)\)

This means that we will move the figure 2 units to the right and 3 units down.

Move the translation vector (purple arrow) two units to the right and 3 units down.

Now select:

“Show arrows to translation”

Then select:

“Show translated triangle”

It is clear that we translated

\(\triangle{ABC}\)

to \(\triangle{A'B'C'}\) with

\(A'(2,-3), B'(2,-2), C'(3,-2)\)

We also notice that

Every point of the shape must move:

  1. The same distance

  2. In the same direction.

Example 2:

Perform the following translation:

\((x,y) \rightarrow (x-4, y+\frac{1}{2})\)

We also have that \(\triangle{ABC}\) is congruent to \(\triangle{A'B'C'}\).

Example 3:
  1. Make a vector \(u\) between two points \(A\) and \(B\) (use the tool “Vector between Two Points”“).

  2. Make a polygon.

  3. Use the tool “Translate Object by Vector image”.

  4. Click on the polygon and then on the vector \(u\). A new polygon is created.

  5. Drag the points \(A\) and \(B\) to change the direction and the length of the vector, the position of the new polygon changes.

  6. Drag the vertices of the first polygon, the new polygon changes. Note that you can’t drag the vertices of the new polygon, these points are dependent objects.

Rotation

TEKS

  1. Two-dimensional shapes. The student applies mathematical process standards to develop transformational geometry concepts. The student is expected to:
  1. generalize the properties of orientation and congruence of rotations, reflections, translations, and dilations of two-dimensional shapes on a coordinate plane;

  2. differentiate between transformations that preserve congruence and those that do not;

  3. explain the effect of translations, reflections over the x- or y-axis, and rotations limited to 90°, 180°, 270°, and 360° as applied to two-dimensional shapes on a coordinate plane using an algebraic representation; and

  4. model the effect on linear and area measurements of dilated two-dimensional shapes.

Definition:

A transformation in which a plane figure turns around a fixed center point. In other words, one point on the plane, the center of rotation, is fixed and everything else on the plane rotates about that point by a given angle.

Example 1:

Click on the following link:

Rotation

  1. Rotate the image \(90^0\) clockwise.

  2. Rotate the image \(180^0\) counter clockwise.

Example 2:

Click on the following link:

GeoGebra

Steps to rotate an object around a point:

  1. Make a polygon and a point.

  2. Use the tool Rotate Object around Point by Angle image.

  3. Click on the polygon, then on the point, choose an angle in the pop-up window.

Reflection

TEKS

Grade 8:

  1. Two-dimensional shapes. The student applies mathematical process standards to develop transformational geometry concepts. The student is expected to:
  1. generalize the properties of orientation and congruence of rotations, reflections, translations, and dilations of two-dimensional shapes on a coordinate plane;

  2. differentiate between transformations that preserve congruence and those that do not;

  3. explain the effect of translations, reflections over the x- or y-axis, and rotations limited to 90°, 180°, 270°, and 360° as applied to two-dimensional shapes on a coordinate plane using an algebraic representation; and

  4. model the effect on linear and area measurements of dilated two-dimensional shapes.

Definition:

A transformation in which a geometric figure is reflected across a line, creating a mirror image. That line is called the axis of reflection.

So, it is an image or shape as it would be seen in a mirror.

Example 1

Download the following image:

cutie

cutie

  1. Navigate to:

(GeoGebraclassic)[https://www.geogebra.org/classic]

  1. Choose image.

  2. Import image.

  3. Construct the line \(y=-x\).

  4. Click on “Reflect about a line”.

  5. Select the image and the line.

The image should be reflected about the line.
####Similarity

Grade 7:

  1. Proportionality. The student applies mathematical process standards to use geometry to describe or solve problems involving proportional relationships. The student is expected to:
  1. generalize the critical attributes of similarity, including ratios within and between similar shapes;

  2. describe \(\pi\) as the ratio of the circumference of a circle to its diameter; and

  3. solve mathematical and real-world problems involving similar shape and scale drawings.

  1. Proportionality. The student applies mathematical process standards to use probability and statistics to describe or solve problems involving proportional relationships. The student is expected to:
  1. represent sample spaces for simple and compound events using lists and tree diagrams;

  2. select and use different simulations to represent simple and compound events with and without technology;

  3. make predictions and determine solutions using experimental data for simple and compound events;

  4. make predictions and determine solutions using theoretical probability for simple and compound events;

  5. find the probabilities of a simple event and its complement and describe the relationship between the two;

  6. use data from a random sample to make inferences about a population;

  7. solve problems using data represented in bar graphs, dot plots, and circle graphs, including part-to-whole and part-to-part comparisons and equivalents;

  8. solve problems using qualitative and quantitative predictions and comparisons from simple experiments; and

  9. determine experimental and theoretical probabilities related to simple and compound events using data and sample spaces.

Definition

Two triangles are said to be similar if their corresponding angles are equal and the corresponding sides (angles opposite to equal angles) are proportional.

Example 1:

Navigate to the following website:

Similar triangles

  1. Use the slider to change the scale of the one triangle.

  2. What do you notice?

Example 2:

Similar triangle shortcuts:

Shortcuts

LS0tDQp0aXRsZTogIlRBTVVDVC1LSVNEIFByb2Zlc3Npb25hbCBkZXZlbG9wbWVudCBzZXNzaW9uIEZlYnJ1YXJ5IDIwMTguIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KIyMjI1RyYW5zbGF0aW9ucw0KDQpBbiBpc29tZXRyeSBkb2VzIG5vdCBjaGFuZ2Ugc2hhcGUgb3Igc2l6ZS4gDQoNCiMjIyNURUtTDQoNClN1YmNoYXB0ZXIgQi4gTWlkZGxlIFNjaG9vbA0KIA0KR3JhZGUgOA0KDQoNCigxMCkgIFR3by1kaW1lbnNpb25hbCBzaGFwZXMuIFRoZSBzdHVkZW50IGFwcGxpZXMgbWF0aGVtYXRpY2FsIHByb2Nlc3Mgc3RhbmRhcmRzIHRvIGRldmVsb3AgdHJhbnNmb3JtYXRpb25hbCBnZW9tZXRyeSBjb25jZXB0cy4gVGhlIHN0dWRlbnQgaXMgZXhwZWN0ZWQgdG86DQoNCihBKSAgZ2VuZXJhbGl6ZSB0aGUgcHJvcGVydGllcyBvZiBvcmllbnRhdGlvbiBhbmQgY29uZ3J1ZW5jZSBvZiByb3RhdGlvbnMsIHJlZmxlY3Rpb25zLCB0cmFuc2xhdGlvbnMsIGFuZCBkaWxhdGlvbnMgb2YgdHdvLWRpbWVuc2lvbmFsIHNoYXBlcyBvbiBhIGNvb3JkaW5hdGUgcGxhbmU7DQoNCihCKSAgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRyYW5zZm9ybWF0aW9ucyB0aGF0IHByZXNlcnZlIGNvbmdydWVuY2UgYW5kIHRob3NlIHRoYXQgZG8gbm90Ow0KDQooQykgIGV4cGxhaW4gdGhlIGVmZmVjdCBvZiB0cmFuc2xhdGlvbnMsIHJlZmxlY3Rpb25zIG92ZXIgdGhlIHgtIG9yIHktYXhpcywgYW5kIHJvdGF0aW9ucyBsaW1pdGVkIHRvIDkwsCwgMTgwsCwgMjcwsCwgYW5kIDM2MLAgYXMgYXBwbGllZCB0byB0d28tZGltZW5zaW9uYWwgc2hhcGVzIG9uIGEgY29vcmRpbmF0ZSBwbGFuZSB1c2luZyBhbiBhbGdlYnJhaWMgcmVwcmVzZW50YXRpb247IGFuZA0KDQooRCkgIG1vZGVsIHRoZSBlZmZlY3Qgb24gbGluZWFyIGFuZCBhcmVhIG1lYXN1cmVtZW50cyBvZiBkaWxhdGVkIHR3by1kaW1lbnNpb25hbCBzaGFwZXMuDQoNCiMjIyNEZWZpbml0aW9uIG9mIFRyYW5zbGF0aW9uOiANCg0KQSBnZW9tZXRyeSB0cmFuc2xhdGlvbiBpcyBhbiBpc29tZXRyaWMgdHJhbnNmb3JtYXRpb24sIG1lYW5pbmcgdGhhdCB0aGUgb3JpZ2luYWwgZmlndXJlIGFuZCB0aGUgaW1hZ2UgYXJlIGNvbmdydWVudC4NCg0KVGhhdCBpczogDQoiU2xpZGluZyIgb3IgbW92aW5nIGEgc2hhcGUgd2l0aG91dCByb3RhdGluZyBvciBmbGlwcGluZyBpdC4NCg0KVGhlIHNoYXBlIHN0aWxsIGxvb2tzIGV4YWN0bHkgdGhlIHNhbWUsIGp1c3QgaW4gYSBkaWZmZXJlbnQgcGxhY2UuDQoNCltUcmFuc2xhdGlvbl0oaHR0cHM6Ly93d3cuZ2VvZ2VicmEub3JnL20vR1B5QW1xV3QjbWF0ZXJpYWwveDNoRlpRWmIpDQoNCiMjIyNFeGFtcGxlIDE6DQoNCkNsaWNrIG9uIHRoZSBsaW5rIGFib3ZlIGFuZCB1bnNlbGVjdDoNCg0KIlNob3cgdHJhbnNsYXRlZCB0cmlhbmdsZSIgYW5kIA0KDQoiU2hvdyBhcnJvd3MgdG8gdHJhbnNsYXRpb24iDQoNCk1vdmUgdGhlIHZlY3RvciB0byAkKDAsMCkkDQoNCkNyZWF0ZSAkXHRyaWFuZ2xle0FCQ30kIHdpdGggdGhlIGZvbGxvd2luZyBjb29yZGluYXRlczogDQoNCg0KDQoke0EoMCwwKSwgQigwLDEpLCBDKDEsMCl9JA0KDQoNCg0KUGVyZm9ybSB0aGUgZm9sbG93aW5nIHRyYW5zbGF0aW9uOiANCg0KJCh4LHkpIFxyaWdodGFycm93ICh4KzIsIHktMykkDQoNClRoaXMgbWVhbnMgdGhhdCB3ZSB3aWxsIG1vdmUgdGhlIGZpZ3VyZSAyIHVuaXRzIHRvIHRoZSByaWdodCBhbmQgMyB1bml0cyBkb3duLiAgDQoNCk1vdmUgdGhlIHRyYW5zbGF0aW9uIHZlY3RvciAocHVycGxlIGFycm93KSB0d28gdW5pdHMgdG8gdGhlIHJpZ2h0IGFuZCAzIHVuaXRzIGRvd24uIA0KDQpOb3cgc2VsZWN0OiANCg0KIlNob3cgYXJyb3dzIHRvIHRyYW5zbGF0aW9uIg0KDQpUaGVuIHNlbGVjdDogDQoNCiJTaG93IHRyYW5zbGF0ZWQgdHJpYW5nbGUiDQoNCkl0IGlzIGNsZWFyIHRoYXQgd2UgdHJhbnNsYXRlZA0KDQokXHRyaWFuZ2xle0FCQ30kDQoNCnRvICRcdHJpYW5nbGV7QSdCJ0MnfSQgd2l0aA0KDQokQScoMiwtMyksIEInKDIsLTIpLCBDJygzLC0yKSQNCg0KV2UgYWxzbyBub3RpY2UgdGhhdA0KDQpFdmVyeSBwb2ludCBvZiB0aGUgc2hhcGUgbXVzdCBtb3ZlOg0KDQoxLiBUaGUgc2FtZSBkaXN0YW5jZQ0KDQoyLiBJbiB0aGUgc2FtZSBkaXJlY3Rpb24uDQoNCg0KIyMjIyNFeGFtcGxlIDI6IA0KDQpQZXJmb3JtIHRoZSBmb2xsb3dpbmcgdHJhbnNsYXRpb246IA0KDQokKHgseSkgXHJpZ2h0YXJyb3cgKHgtNCwgeStcZnJhY3sxfXsyfSkkDQoNCldlIGFsc28gaGF2ZSB0aGF0ICRcdHJpYW5nbGV7QUJDfSQgaXMgY29uZ3J1ZW50IHRvICRcdHJpYW5nbGV7QSdCJ0MnfSQuDQoNCiMjIyMjRXhhbXBsZSAzOiANCg0KMS4gTWFrZSBhIHZlY3RvciAkdSQgYmV0d2VlbiB0d28gcG9pbnRzICRBJCBhbmQgJEIkICh1c2UgdGhlIHRvb2wgIlZlY3RvciBiZXR3ZWVuIFR3byBQb2ludHMiIikuDQoNCjIuIE1ha2UgYSBwb2x5Z29uLg0KDQozLiBVc2UgdGhlIHRvb2wgIlRyYW5zbGF0ZSBPYmplY3QgYnkgVmVjdG9yIGltYWdlIi4gDQoNCjQuIENsaWNrIG9uIHRoZSBwb2x5Z29uIGFuZCB0aGVuIG9uIHRoZSB2ZWN0b3IgJHUkLiBBIG5ldyBwb2x5Z29uIGlzIGNyZWF0ZWQuDQoNCjUuIERyYWcgdGhlIHBvaW50cyAkQSQgYW5kICRCJCB0byBjaGFuZ2UgdGhlIGRpcmVjdGlvbiBhbmQgdGhlIGxlbmd0aCBvZiB0aGUgdmVjdG9yLCB0aGUgcG9zaXRpb24gb2YgdGhlIG5ldyBwb2x5Z29uIGNoYW5nZXMuDQoNCjYuIERyYWcgdGhlIHZlcnRpY2VzIG9mIHRoZSBmaXJzdCBwb2x5Z29uLCB0aGUgbmV3IHBvbHlnb24gY2hhbmdlcy4gTm90ZSB0aGF0IHlvdSBjYW4ndCBkcmFnIHRoZSB2ZXJ0aWNlcyBvZiB0aGUgbmV3IHBvbHlnb24sIHRoZXNlIHBvaW50cyBhcmUgZGVwZW5kZW50IG9iamVjdHMuDQoNCg0KIyMjI1JvdGF0aW9uDQoNCiMjIyNURUtTDQoNCigxMCkgIFR3by1kaW1lbnNpb25hbCBzaGFwZXMuIFRoZSBzdHVkZW50IGFwcGxpZXMgbWF0aGVtYXRpY2FsIHByb2Nlc3Mgc3RhbmRhcmRzIHRvIGRldmVsb3AgdHJhbnNmb3JtYXRpb25hbCBnZW9tZXRyeSBjb25jZXB0cy4gVGhlIHN0dWRlbnQgaXMgZXhwZWN0ZWQgdG86DQoNCihBKSAgZ2VuZXJhbGl6ZSB0aGUgcHJvcGVydGllcyBvZiBvcmllbnRhdGlvbiBhbmQgY29uZ3J1ZW5jZSBvZiByb3RhdGlvbnMsIHJlZmxlY3Rpb25zLCB0cmFuc2xhdGlvbnMsIGFuZCBkaWxhdGlvbnMgb2YgdHdvLWRpbWVuc2lvbmFsIHNoYXBlcyBvbiBhIGNvb3JkaW5hdGUgcGxhbmU7DQoNCihCKSAgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRyYW5zZm9ybWF0aW9ucyB0aGF0IHByZXNlcnZlIGNvbmdydWVuY2UgYW5kIHRob3NlIHRoYXQgZG8gbm90Ow0KDQooQykgIGV4cGxhaW4gdGhlIGVmZmVjdCBvZiB0cmFuc2xhdGlvbnMsIHJlZmxlY3Rpb25zIG92ZXIgdGhlIHgtIG9yIHktYXhpcywgYW5kIHJvdGF0aW9ucyBsaW1pdGVkIHRvIDkwsCwgMTgwsCwgMjcwsCwgYW5kIDM2MLAgYXMgYXBwbGllZCB0byB0d28tZGltZW5zaW9uYWwgc2hhcGVzIG9uIGEgY29vcmRpbmF0ZSBwbGFuZSB1c2luZyBhbiBhbGdlYnJhaWMgcmVwcmVzZW50YXRpb247IGFuZA0KDQooRCkgIG1vZGVsIHRoZSBlZmZlY3Qgb24gbGluZWFyIGFuZCBhcmVhIG1lYXN1cmVtZW50cyBvZiBkaWxhdGVkIHR3by1kaW1lbnNpb25hbCBzaGFwZXMuDQoNCiMjIyNEZWZpbml0aW9uOiANCg0KQSB0cmFuc2Zvcm1hdGlvbiBpbiB3aGljaCBhIHBsYW5lIGZpZ3VyZSB0dXJucyBhcm91bmQgYSBmaXhlZCBjZW50ZXIgcG9pbnQuIEluIG90aGVyIHdvcmRzLCBvbmUgcG9pbnQgb24gdGhlIHBsYW5lLCB0aGUgY2VudGVyIG9mIHJvdGF0aW9uLCBpcyBmaXhlZCBhbmQgZXZlcnl0aGluZyBlbHNlIG9uIHRoZSBwbGFuZSByb3RhdGVzIGFib3V0IHRoYXQgcG9pbnQgYnkgYSBnaXZlbiBhbmdsZS4NCg0KIyMjIyNFeGFtcGxlIDE6IA0KDQpDbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbms6IA0KDQpbUm90YXRpb25dKGh0dHBzOi8vd3d3Lmdlb2dlYnJhLm9yZy9tL0dQeUFtcVd0I21hdGVyaWFsL3FmWE5uaHM2KQ0KDQoNCg0KMS4gUm90YXRlIHRoZSBpbWFnZSAkOTBeMCQgY2xvY2t3aXNlLg0KDQoyLiBSb3RhdGUgdGhlIGltYWdlICQxODBeMCQgY291bnRlciBjbG9ja3dpc2UuDQoNCg0KDQojIyMjI0V4YW1wbGUgMjogDQoNCkNsaWNrIG9uIHRoZSBmb2xsb3dpbmcgbGluazogDQoNCltHZW9HZWJyYV0oaHR0cHM6Ly93d3cuZ2VvZ2VicmEub3JnL2NsYXNzaWMpDQoNClN0ZXBzIHRvIHJvdGF0ZSBhbiBvYmplY3QgYXJvdW5kIGEgcG9pbnQ6IA0KDQoxLiBNYWtlIGEgcG9seWdvbiBhbmQgYSBwb2ludC4NCg0KMi4gVXNlIHRoZSB0b29sIFJvdGF0ZSBPYmplY3QgYXJvdW5kIFBvaW50IGJ5IEFuZ2xlICBpbWFnZS4gDQoNCjMuIENsaWNrIG9uIHRoZSBwb2x5Z29uLCB0aGVuIG9uIHRoZSBwb2ludCwgY2hvb3NlIGFuIGFuZ2xlIGluIHRoZSBwb3AtdXAgd2luZG93Lg0KDQojIyMjUmVmbGVjdGlvbg0KDQojIyMjIyBURUtTDQoNCkdyYWRlIDg6IA0KDQooMTApICBUd28tZGltZW5zaW9uYWwgc2hhcGVzLiBUaGUgc3R1ZGVudCBhcHBsaWVzIG1hdGhlbWF0aWNhbCBwcm9jZXNzIHN0YW5kYXJkcyB0byBkZXZlbG9wIHRyYW5zZm9ybWF0aW9uYWwgZ2VvbWV0cnkgY29uY2VwdHMuIFRoZSBzdHVkZW50IGlzIGV4cGVjdGVkIHRvOg0KDQooQSkgIGdlbmVyYWxpemUgdGhlIHByb3BlcnRpZXMgb2Ygb3JpZW50YXRpb24gYW5kIGNvbmdydWVuY2Ugb2Ygcm90YXRpb25zLCByZWZsZWN0aW9ucywgdHJhbnNsYXRpb25zLCBhbmQgZGlsYXRpb25zIG9mIHR3by1kaW1lbnNpb25hbCBzaGFwZXMgb24gYSBjb29yZGluYXRlIHBsYW5lOw0KDQooQikgIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0cmFuc2Zvcm1hdGlvbnMgdGhhdCBwcmVzZXJ2ZSBjb25ncnVlbmNlIGFuZCB0aG9zZSB0aGF0IGRvIG5vdDsNCg0KKEMpICBleHBsYWluIHRoZSBlZmZlY3Qgb2YgdHJhbnNsYXRpb25zLCByZWZsZWN0aW9ucyBvdmVyIHRoZSB4LSBvciB5LWF4aXMsIGFuZCByb3RhdGlvbnMgbGltaXRlZCB0byA5MLAsIDE4MLAsIDI3MLAsIGFuZCAzNjCwIGFzIGFwcGxpZWQgdG8gdHdvLWRpbWVuc2lvbmFsIHNoYXBlcyBvbiBhIGNvb3JkaW5hdGUgcGxhbmUgdXNpbmcgYW4gYWxnZWJyYWljIHJlcHJlc2VudGF0aW9uOyBhbmQNCg0KKEQpICBtb2RlbCB0aGUgZWZmZWN0IG9uIGxpbmVhciBhbmQgYXJlYSBtZWFzdXJlbWVudHMgb2YgZGlsYXRlZCB0d28tZGltZW5zaW9uYWwgc2hhcGVzLg0KDQojIyMjI0RlZmluaXRpb246DQoNCkEgdHJhbnNmb3JtYXRpb24gaW4gd2hpY2ggYSBnZW9tZXRyaWMgZmlndXJlIGlzIHJlZmxlY3RlZCBhY3Jvc3MgYSBsaW5lLCBjcmVhdGluZyBhIG1pcnJvciBpbWFnZS4gVGhhdCBsaW5lIGlzIGNhbGxlZCB0aGUgYXhpcyBvZiByZWZsZWN0aW9uLg0KDQogDQpTbywgaXQgaXMgYW4gaW1hZ2Ugb3Igc2hhcGUgYXMgaXQgd291bGQgYmUgc2VlbiBpbiBhIG1pcnJvci4NCg0KIyMjI0V4YW1wbGUgMQ0KDQpEb3dubG9hZCB0aGUgZm9sbG93aW5nIGltYWdlOg0KDQohW2N1dGllXShjYXQuanBnKQ0KDQoxLiBOYXZpZ2F0ZSB0bzogDQogDQooR2VvR2VicmFjbGFzc2ljKVtodHRwczovL3d3dy5nZW9nZWJyYS5vcmcvY2xhc3NpY10NCg0KMi4gQ2hvb3NlIGltYWdlLiANCg0KMy4gSW1wb3J0IGltYWdlLiANCg0KNC4gQ29uc3RydWN0IHRoZSBsaW5lICR5PS14JC4gDQoNCjUuIENsaWNrIG9uICJSZWZsZWN0IGFib3V0IGEgbGluZSIuDQoNCjYuIFNlbGVjdCB0aGUgaW1hZ2UgYW5kIHRoZSBsaW5lLiANCg0KVGhlIGltYWdlIHNob3VsZCBiZSByZWZsZWN0ZWQgYWJvdXQgdGhlIGxpbmUuICANCiMjIyNTaW1pbGFyaXR5DQoNCkdyYWRlIDc6IA0KDQooNSkgIFByb3BvcnRpb25hbGl0eS4gVGhlIHN0dWRlbnQgYXBwbGllcyBtYXRoZW1hdGljYWwgcHJvY2VzcyBzdGFuZGFyZHMgdG8gdXNlIGdlb21ldHJ5IHRvIGRlc2NyaWJlIG9yIHNvbHZlIHByb2JsZW1zIGludm9sdmluZyBwcm9wb3J0aW9uYWwgcmVsYXRpb25zaGlwcy4gVGhlIHN0dWRlbnQgaXMgZXhwZWN0ZWQgdG86DQoNCihBKSAgZ2VuZXJhbGl6ZSB0aGUgY3JpdGljYWwgYXR0cmlidXRlcyBvZiBzaW1pbGFyaXR5LCBpbmNsdWRpbmcgcmF0aW9zIHdpdGhpbiBhbmQgYmV0d2VlbiBzaW1pbGFyIHNoYXBlczsNCg0KKEIpICBkZXNjcmliZSAkXHBpJCBhcyB0aGUgcmF0aW8gb2YgdGhlIGNpcmN1bWZlcmVuY2Ugb2YgYSBjaXJjbGUgdG8gaXRzIGRpYW1ldGVyOyBhbmQNCg0KKEMpICBzb2x2ZSBtYXRoZW1hdGljYWwgYW5kIHJlYWwtd29ybGQgcHJvYmxlbXMgaW52b2x2aW5nIHNpbWlsYXIgc2hhcGUgYW5kIHNjYWxlIGRyYXdpbmdzLg0KDQooNikgIFByb3BvcnRpb25hbGl0eS4gVGhlIHN0dWRlbnQgYXBwbGllcyBtYXRoZW1hdGljYWwgcHJvY2VzcyBzdGFuZGFyZHMgdG8gdXNlIHByb2JhYmlsaXR5IGFuZCBzdGF0aXN0aWNzIHRvIGRlc2NyaWJlIG9yIHNvbHZlIHByb2JsZW1zIGludm9sdmluZyBwcm9wb3J0aW9uYWwgcmVsYXRpb25zaGlwcy4gVGhlIHN0dWRlbnQgaXMgZXhwZWN0ZWQgdG86DQoNCihBKSAgcmVwcmVzZW50IHNhbXBsZSBzcGFjZXMgZm9yIHNpbXBsZSBhbmQgY29tcG91bmQgZXZlbnRzIHVzaW5nIGxpc3RzIGFuZCB0cmVlIGRpYWdyYW1zOw0KDQooQikgIHNlbGVjdCBhbmQgdXNlIGRpZmZlcmVudCBzaW11bGF0aW9ucyB0byByZXByZXNlbnQgc2ltcGxlIGFuZCBjb21wb3VuZCBldmVudHMgd2l0aCBhbmQgd2l0aG91dCB0ZWNobm9sb2d5Ow0KDQooQykgIG1ha2UgcHJlZGljdGlvbnMgYW5kIGRldGVybWluZSBzb2x1dGlvbnMgdXNpbmcgZXhwZXJpbWVudGFsIGRhdGEgZm9yIHNpbXBsZSBhbmQgY29tcG91bmQgZXZlbnRzOw0KDQooRCkgIG1ha2UgcHJlZGljdGlvbnMgYW5kIGRldGVybWluZSBzb2x1dGlvbnMgdXNpbmcgdGhlb3JldGljYWwgcHJvYmFiaWxpdHkgZm9yIHNpbXBsZSBhbmQgY29tcG91bmQgZXZlbnRzOw0KDQooRSkgIGZpbmQgdGhlIHByb2JhYmlsaXRpZXMgb2YgYSBzaW1wbGUgZXZlbnQgYW5kIGl0cyBjb21wbGVtZW50IGFuZCBkZXNjcmliZSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHR3bzsNCg0KKEYpICB1c2UgZGF0YSBmcm9tIGEgcmFuZG9tIHNhbXBsZSB0byBtYWtlIGluZmVyZW5jZXMgYWJvdXQgYSBwb3B1bGF0aW9uOw0KDQooRykgIHNvbHZlIHByb2JsZW1zIHVzaW5nIGRhdGEgcmVwcmVzZW50ZWQgaW4gYmFyIGdyYXBocywgZG90IHBsb3RzLCBhbmQgY2lyY2xlIGdyYXBocywgaW5jbHVkaW5nIHBhcnQtdG8td2hvbGUgYW5kIHBhcnQtdG8tcGFydCBjb21wYXJpc29ucyBhbmQgZXF1aXZhbGVudHM7DQoNCihIKSAgc29sdmUgcHJvYmxlbXMgdXNpbmcgcXVhbGl0YXRpdmUgYW5kIHF1YW50aXRhdGl2ZSBwcmVkaWN0aW9ucyBhbmQgY29tcGFyaXNvbnMgZnJvbSBzaW1wbGUgZXhwZXJpbWVudHM7IGFuZA0KDQooSSkgIGRldGVybWluZSBleHBlcmltZW50YWwgYW5kIHRoZW9yZXRpY2FsIHByb2JhYmlsaXRpZXMgcmVsYXRlZCB0byBzaW1wbGUgYW5kIGNvbXBvdW5kIGV2ZW50cyB1c2luZyBkYXRhIGFuZCBzYW1wbGUgc3BhY2VzLg0KDQojIyMjI0RlZmluaXRpb24NCg0KVHdvIHRyaWFuZ2xlcyBhcmUgc2FpZCB0byBiZSBzaW1pbGFyIGlmIHRoZWlyIGNvcnJlc3BvbmRpbmcgYW5nbGVzIGFyZSBlcXVhbCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgc2lkZXMgKGFuZ2xlcyBvcHBvc2l0ZSB0byBlcXVhbCBhbmdsZXMpIGFyZSBwcm9wb3J0aW9uYWwuDQoNCg0KIyMjIyNFeGFtcGxlIDE6DQoNCk5hdmlnYXRlIHRvIHRoZSBmb2xsb3dpbmcgd2Vic2l0ZTogDQoNCltTaW1pbGFyIHRyaWFuZ2xlc10oaHR0cHM6Ly93d3cuZ2VvZ2VicmEub3JnL20vbmV4R2JRMksjbWF0ZXJpYWwveE02c2o2TnApDQoNCjEuIFVzZSB0aGUgc2xpZGVyIHRvIGNoYW5nZSB0aGUgc2NhbGUgb2YgdGhlIG9uZSB0cmlhbmdsZS4gIA0KDQoyLiBXaGF0IGRvIHlvdSBub3RpY2U/IA0KDQojIyMjRXhhbXBsZSAyOiANCg0KU2ltaWxhciB0cmlhbmdsZSBzaG9ydGN1dHM6IA0KDQpbU2hvcnRjdXRzXShodHRwczovL3d3dy5nZW9nZWJyYS5vcmcvbS9uZXhHYlEySyNtYXRlcmlhbC95clVicXpRRSkNCg0KDQo=