The following figure shows three cases of parent <code>View<\/code> and its child <code>View<\/code>. The parent <code>View<\/code> is represented by blue color and child <code>View<\/code> is represented by red color.\nIn the following examples, all of the red-colored <code>View<\/code> coordinates are identically located at (3, 5) of its parent coordinate system, which is based on the <code>ParentOrigin<\/code> property of the child <code>View<\/code>. <code>PivotPoint<\/code> is set to default <strong>TopLeft<\/strong>:<\/p>\n<p><strong>Figure: The final position with different ParentOrigin<\/strong><\/p>\n<table style=\"width:100%\">\n<tr>\n<td style=\"width:100%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_Position.png/" width=\"100%\">\n<\/td>\n<\/tr>\n<\/table>\n<p>Alternatively, you can use an arbitrary <code>Position<\/code> type value defined in the unit coordinates to set <code>ParentOrigin<\/code> without predefined values.<\/p>\n<p>The <code>Orientation<\/code> of <code>View<\/code> is the rotation from its default orientation. <code>Scale<\/code> of <code>View<\/code> is the size ratio between the size to be rendered and the default size. For these two transforms, <code>View<\/code> is rotated and scaled around <code>PivotPoint<\/code>.<\/p>\n<p><code>Orientation<\/code> and <code>Scale<\/code> of <code>View<\/code> are also affected by the transforms of its parent. In the final calculation of <code>View<\/code>, <code>Orientation<\/code> and <code>Scale<\/code> of parents are first applied to the child <code>View<\/code> with parent's <code>PivotPoint<\/code>, and then <code>Orientation<\/code> and <code>Scale<\/code> of child are applied.<\/p>\n<p>The following examples demonstrate the rotation and scaling that change <code>Orientation<\/code> and <code>Scale<\/code> respectively. <strong>View A<\/strong> is a child of <strong>View B<\/strong>. Therefore, transforms of <strong>A<\/strong> only affects <strong>A<\/strong>. However, the transforms of parent <strong>B<\/strong> influences its child <strong>A<\/strong>. The black dot in the figure is <code>PivotPoint<\/code> that is used by the transforms.<\/p>\n<p><strong>Figure: Rotation and Scaling.<\/strong><\/p>\n<table style=\"width:100%\">\n<tr>\n<td style=\"width:50%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_Orientation.gif/" width=\"100%\">\n<\/td>\n<td style=\"width:50%\" align=\"center\">\n<img src=https://samsungtizenos.com/"media//view_Figure_Scale.gif/" width=\"100%\">\n<\/td>\n<\/tr>\n<\/table>\n<p><a name=\"2\"><\/a><\/p>\n<h2 id=\"content-directional-navigation\"><a href=https://samsungtizenos.com/"#content-directional-navigation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Directional navigation<\/h2>\n<p>NUI also provides directional navigation between each <code>View<\/code> using arrow keys on the keyboard. You can simply set the following properties to specify the next <code>FocusableView<\/code> for each direction:<\/p>\n<ul>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_UpFocusableView\">View.UpFocusableView<\/a><\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_DownFocusableView\">View.DownFocusableView<\/a><\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_LeftFocusableView\">View.LeftFocusableView<\/a><\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.NUI.BaseComponents.View.md#Tizen_NUI_BaseComponents_View_RightFocusableView\">View.RightFocusableView<\/a><\/p>\n<\/li>\n<\/ul>\n<p>When an arrow key is pressed and the current <code>View<\/code> has next <code>FocusableView<\/code> for that direction, the system passes focus to the next <code>FocusableView<\/code>. However, if the current <code>View<\/code> does not have the next <code>FocusableView<\/code> for the direction or the next <code>ForcusableView<\/code> is not on the window, the property returns <code>NULL<\/code> and no change occurs.<\/p>\n<p><a name=\"3\"><\/a><\/p>\n<h2 id=\"content-view-event\"><a href=https://samsungtizenos.com/"#content-view-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>View event<\/h2>\n<p><code>View<\/code> provides a variety of events that are commonly used by the components. The following table lists the basic events provided by <code>View<\/code>:<\/p>\n<p><strong>Table: View events<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Event<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>KeyEvent<\/code><\/td>\n<td>Triggered when the key input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>TouchEvent<\/code><\/td>\n<td>Triggered when the touch input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>HoverEvent<\/code><\/td>\n<td>Triggered when the hover input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>WheelEvent<\/code><\/td>\n<td>Triggered when the wheel input is received.<\/td>\n<\/tr>\n<tr>\n<td><code>FocusGained<\/code><\/td>\n<td>Triggered when the control gets the key input focus.<\/td>\n<\/tr>\n<tr>\n<td><code>FocusLost<\/code><\/td>\n<td>Triggered when the control loses key input focus.<\/td>\n<\/tr>\n<tr>\n<td><code>Relayout<\/code><\/td>\n<td>Triggered after the size has been set on View during relayout.<\/td>\n<\/tr>\n<tr>\n<td><code>LayoutDirectionChanged<\/code><\/td>\n<td>Triggered when the layout direction property of View or its parent View is changed.<\/td>\n<\/tr>\n<tr>\n<td><code>AddedToWindow<\/code><\/td>\n<td>Triggered after View has been connected to the window.<\/td>\n<\/tr>\n<tr>\n<td><code>RemovedFromWindow<\/code><\/td>\n<td>Triggered after View has been disconnected from the window.<\/td>\n<\/tr>\n<tr>\n<td><code>VisibilityChanged<\/code><\/td>\n<td>Triggered when the visible property of View or parent View is changed.<\/td>\n<\/tr>\n<tr>\n<td><code>ResourcesLoaded<\/code><\/td>\n<td>Triggered after all the resources required by View are loaded and ready.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<p>You can create custom <code>callback<\/code> methods with event handler for each <code>Event<\/code>.<\/p>\n<p>Input <code>Event<\/code> such as <code>KeyEvent<\/code> and <code>TouchEvent<\/code> is first received on the current focused <code>View<\/code> to be handled. However, if the focused <code>View<\/code> is not having a proper event handler, then the <code>Event<\/code> is delivered to its parent <code>View<\/code> iteratively until it can be consumed.<\/p>\n<p>The following code explains how to handle <code>Event<\/code> with a simple example of <code>TouchEvent<\/code>. If you touch the blue <code>View<\/code> then the background color is changed:<\/p>\n<pre class=\"shiki shiki-themes github-light github-dark\" style=\"background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8;\"><code><span class=\"line\"><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">touchedView<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">new<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">touchedView.BackgroundColor <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Color.Blue;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Attach callback method<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">touchedView.TouchEvent <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">+=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> ViewTouchEventCallBack;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">..<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ Custom callback method<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">private<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">bool<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ViewTouchEventCallBack<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">object<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">sender<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">TouchEventArgs<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">e<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">touchedView<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> sender <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">as<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">View<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">if<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> (e.Touch.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">GetState<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">0<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">) <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">==<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> PointStateType.Down)<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> touchedView.BackgroundColor <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> Color.Red;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">return<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">true<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><strong>Figure: TouchEvent example<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/"media//view_Figure_Touch.gif/" alt=\"View with a background image\" \/><\/p>\n<h2 id=\"content-related-information\"><a href=https://samsungtizenos.com/"#content-related-information\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Related information<\/h2>\n<ul>\n<li>Dependencies\n<ul>\n<li>Tizen 4.0 and Higher<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-transforms\">Transforms<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-directional-navigation\">Directional navigation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-view-event\">View event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"View","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"Vtlq1n7o9il3FolABYQT","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/user-interface\/nui\/view","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"9b0e62a4e8f69cd4cc2e08f5b9b6d73baffc1b11ddefd0a36970a704e1037023"}" wire:effects="[]" wire:id="Vtlq1n7o9il3FolABYQT" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdmlld1wiPjxhIGhyZWY9XCIjY29udGVudC12aWV3XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5WaWV3PFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPjxhIGhyZWY9XCIuLlwvLi5cLy4uXC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZFwiPlZpZXc8XC9hPiBpcyB0aGUgZnVuZGFtZW50YWwgY29uY2VwdCBmb3IgYWxsIHRoZSBVSSBjb21wb25lbnRzIHN1Y2ggYXMgPGNvZGU+QnV0dG9uPFwvY29kZT4sIDxjb2RlPkltYWdlPFwvY29kZT4sIDxjb2RlPlRleHQ8XC9jb2RlPiwgYW5kIHNvIG9uLlxuPGNvZGU+VmlldzxcL2NvZGU+IHByb3ZpZGVzIDxhIGhyZWY9XCIuLlwvLi5cLy4uXC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZCNwcm9wZXJ0aWVzXCI+UHJvcGVydGllczxcL2E+LCA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZCNtZXRob2RzXCI+TWV0aG9kczxcL2E+LCBhbmQgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLkJhc2VDb21wb25lbnRzLlZpZXcubWQjZXZlbnRzXCI+RXZlbnRzPFwvYT4gdGhhdCBhcmUgY29tbW9ubHkgdXNlZCBvbiBldmVyeSBjb21wb25lbnRzLiBUbyByZW5kZXIgPGNvZGU+VmlldzxcL2NvZGU+LCB5b3UgbXVzdCBhZGQgaXQgb24gPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLldpbmRvdy5tZFwiPldpbmRvdzxcL2E+IGFzIGEgY2hpbGQuPFwvcD5cbjxwPjxhIG5hbWU9XCIxXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC10cmFuc2Zvcm1zXCI+PGEgaHJlZj1cIiNjb250ZW50LXRyYW5zZm9ybXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlRyYW5zZm9ybXM8XC9oMj5cbjxwPjxjb2RlPlBvc2l0aW9uPFwvY29kZT4sIDxjb2RlPk9yaWVudGF0aW9uPFwvY29kZT4sIGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIDxjb2RlPlZpZXc8XC9jb2RlPiBhcmUga25vd24gYXMgdHJhbnNmb3Jtcy5cbjxjb2RlPlZpZXc8XC9jb2RlPiBzdXBwb3J0cyBoaWVyYXJjaGljYWwgc3RydWN0dXJlLiBUaGVyZWZvcmUsIDxjb2RlPlBvc2l0aW9uPFwvY29kZT4sIDxjb2RlPk9yaWVudGF0aW9uPFwvY29kZT4sIGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIGV2ZXJ5IDxjb2RlPlZpZXc8XC9jb2RlPiBhcmUgYWZmZWN0ZWQgYnkgdGhlaXIgcGFyZW50cy48XC9wPlxuPHA+VGhlIDxjb2RlPlBvc2l0aW9uPFwvY29kZT4gb2YgZWFjaCA8Y29kZT5WaWV3PFwvY29kZT4gaXMgZGVmaW5lZCBhcyB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGUgcG9zaXRpb24gb2YgPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLkJhc2VDb21wb25lbnRzLlZpZXcubWQjVGl6ZW5fTlVJX0Jhc2VDb21wb25lbnRzX1ZpZXdfUGFyZW50T3JpZ2luXCI+UGFyZW50T3JpZ2luPFwvYT4gYW5kIDxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5VSS5CYXNlQ29tcG9uZW50cy5WaWV3Lm1kI1RpemVuX05VSV9CYXNlQ29tcG9uZW50c19WaWV3X1Bpdm90UG9pbnRcIj5QaXZvdFBvaW50PFwvYT4gb2YgdGhlIDxjb2RlPlZpZXc8XC9jb2RlPi4gVGhlIDxjb2RlPlBhcmVudE9yaWdpbjxcL2NvZGU+IGlzIGEgcHJvcGVydHkgdGhhdCBkZWZpbmVzIHRoZSByZWZlcmVuY2UgcG9pbnQgaW4gdGhlIHBhcmVudCA8Y29kZT5WaWV3PFwvY29kZT4sIHdoZXJlYXMgdGhlIDxjb2RlPlBpdm90UG9pbnQ8XC9jb2RlPiBpcyBhIHByb3BlcnR5IHRoYXQgZGVmaW5lcyB0aGUgYW5jaG9yIHBvaW50IG9mIHRoZSBjaGlsZC4gVGhlIGRlZmF1bHQgdmFsdWUgZm9yIGJvdGggPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IGFuZCA8Y29kZT5QYXJlbnRPcmlnaW48XC9jb2RlPiBpcyA8c3Ryb25nPlRvcExlZnQ8XC9zdHJvbmc+LiBGb3IgaW5zdGFuY2UsIGlmIHRoZSA8Y29kZT5Qb3NpdGlvbjxcL2NvZGU+IHByb3BlcnR5IG9mIHRoZSA8Y29kZT5WaWV3PFwvY29kZT4gaXMgc2V0IHRvICg1LCAzKSBjb29yZGluYXRlcywgdGhlIDxjb2RlPlBhcmVudE9yaWdpbjxcL2NvZGU+IHByb3BlcnR5IGlzIHNldCB0byA8c3Ryb25nPkNlbnRlcjxcL3N0cm9uZz4sIGFuZCB0aGUgPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IHByb3BlcnR5IGlzIHNldCB0byA8c3Ryb25nPlRvcExlZnQ8XC9zdHJvbmc+LCB0aGVuIHRoZSA8c3Ryb25nPlRvcExlZnQ8XC9zdHJvbmc+IG9mIHRoZSBvYmplY3QgaXMgbG9jYXRlZCAoNSwgMykgY29vcmRpbmF0ZXMgYXdheSBmcm9tIHRoZSA8c3Ryb25nPkNlbnRlcjxcL3N0cm9uZz4gcG9zaXRpb24gb2YgaXRzIHBhcmVudCdzIDxjb2RlPlZpZXc8XC9jb2RlPiBvYmplY3QuPFwvcD5cbjxwPkluIGFkZGl0aW9uLCBpZiB0aGUgPGNvZGU+UGFyZW50T3JpZ2luPFwvY29kZT4gcHJvcGVydHkgaXMgY2hhbmdlZCB0byA8c3Ryb25nPkJvdHRvbVJpZ2h0PFwvc3Ryb25nPiwgdGhlbiB0aGUgcG9zaXRpb24gb2YgdGhlIDxzdHJvbmc+VG9wTGVmdDxcL3N0cm9uZz4gY29ybmVyIG9mIHRoZSA8Y29kZT5WaWV3PFwvY29kZT4gd2lsbCBiZSBsb2NhdGVkICg1LCAzKSBjb29yZGluYXRlcyBmcm9tIHRoZSA8c3Ryb25nPkJvdHRvbVJpZ2h0PFwvc3Ryb25nPiBjb3JuZXIuPFwvcD5cbjxwPk5VSSBwcm92aWRlcyBwcmVkZWZpbmVkIDxjb2RlPlBhcmVudE9yaWdpbjxcL2NvZGU+IGFzIHdlbGwgYXMgPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IHBvc2l0aW9ucyBhcyBzaG93biBpbiB0aGUgZm9sbG93aW5nIGZpZ3VyZSwgYW5kIHlvdSBjYW4gYWxzbyB1c2UgY3VzdG9tIHZhbHVlcyBmb3Igc2V0dGluZyB0aGUgcG9zaXRpb246PFwvcD5cbjxwPjxzdHJvbmc+RmlndXJlOiBQcmVkZWZpbmVkIHBvc2l0aW9ucyBmb3IgUGFyZW50T3JpZ2luIGFuZCBQaXZvdFBvaW50PFwvc3Ryb25nPjxcL3A+XG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgYWxpZ249XCJjZW50ZXJcIj5cbjxpbWcgc3JjPVwibWVkaWFcL3ZpZXdfRmlndXJlX1BhcmVudE9yaWdpbl9QaXZvdFBvaW50LnBuZ1wiPlxuPFwvdGQ+XG48XC90cj5cbjxcL3RhYmxlPlxuPHA+VGhlIGZvbGxvd2luZyBmaWd1cmUgc2hvd3MgdGhyZWUgY2FzZXMgb2YgcGFyZW50IDxjb2RlPlZpZXc8XC9jb2RlPiBhbmQgaXRzIGNoaWxkIDxjb2RlPlZpZXc8XC9jb2RlPi4gVGhlIHBhcmVudCA8Y29kZT5WaWV3PFwvY29kZT4gaXMgcmVwcmVzZW50ZWQgYnkgYmx1ZSBjb2xvciBhbmQgY2hpbGQgPGNvZGU+VmlldzxcL2NvZGU+IGlzIHJlcHJlc2VudGVkIGJ5IHJlZCBjb2xvci5cbkluIHRoZSBmb2xsb3dpbmcgZXhhbXBsZXMsIGFsbCBvZiB0aGUgcmVkLWNvbG9yZWQgPGNvZGU+VmlldzxcL2NvZGU+IGNvb3JkaW5hdGVzIGFyZSBpZGVudGljYWxseSBsb2NhdGVkIGF0ICgzLCA1KSBvZiBpdHMgcGFyZW50IGNvb3JkaW5hdGUgc3lzdGVtLCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgPGNvZGU+UGFyZW50T3JpZ2luPFwvY29kZT4gcHJvcGVydHkgb2YgdGhlIGNoaWxkIDxjb2RlPlZpZXc8XC9jb2RlPi4gPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+IGlzIHNldCB0byBkZWZhdWx0IDxzdHJvbmc+VG9wTGVmdDxcL3N0cm9uZz46PFwvcD5cbjxwPjxzdHJvbmc+RmlndXJlOiBUaGUgZmluYWwgcG9zaXRpb24gd2l0aCBkaWZmZXJlbnQgUGFyZW50T3JpZ2luPFwvc3Ryb25nPjxcL3A+XG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDoxMDAlXCIgYWxpZ249XCJjZW50ZXJcIj5cbjxpbWcgc3JjPVwibWVkaWFcL3ZpZXdfRmlndXJlX1Bvc2l0aW9uLnBuZ1wiIHdpZHRoPVwiMTAwJVwiPlxuPFwvdGQ+XG48XC90cj5cbjxcL3RhYmxlPlxuPHA+QWx0ZXJuYXRpdmVseSwgeW91IGNhbiB1c2UgYW4gYXJiaXRyYXJ5IDxjb2RlPlBvc2l0aW9uPFwvY29kZT4gdHlwZSB2YWx1ZSBkZWZpbmVkIGluIHRoZSB1bml0IGNvb3JkaW5hdGVzIHRvIHNldCA8Y29kZT5QYXJlbnRPcmlnaW48XC9jb2RlPiB3aXRob3V0IHByZWRlZmluZWQgdmFsdWVzLjxcL3A+XG48cD5UaGUgPGNvZGU+T3JpZW50YXRpb248XC9jb2RlPiBvZiA8Y29kZT5WaWV3PFwvY29kZT4gaXMgdGhlIHJvdGF0aW9uIGZyb20gaXRzIGRlZmF1bHQgb3JpZW50YXRpb24uIDxjb2RlPlNjYWxlPFwvY29kZT4gb2YgPGNvZGU+VmlldzxcL2NvZGU+IGlzIHRoZSBzaXplIHJhdGlvIGJldHdlZW4gdGhlIHNpemUgdG8gYmUgcmVuZGVyZWQgYW5kIHRoZSBkZWZhdWx0IHNpemUuIEZvciB0aGVzZSB0d28gdHJhbnNmb3JtcywgPGNvZGU+VmlldzxcL2NvZGU+IGlzIHJvdGF0ZWQgYW5kIHNjYWxlZCBhcm91bmQgPGNvZGU+UGl2b3RQb2ludDxcL2NvZGU+LjxcL3A+XG48cD48Y29kZT5PcmllbnRhdGlvbjxcL2NvZGU+IGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIDxjb2RlPlZpZXc8XC9jb2RlPiBhcmUgYWxzbyBhZmZlY3RlZCBieSB0aGUgdHJhbnNmb3JtcyBvZiBpdHMgcGFyZW50LiBJbiB0aGUgZmluYWwgY2FsY3VsYXRpb24gb2YgPGNvZGU+VmlldzxcL2NvZGU+LCA8Y29kZT5PcmllbnRhdGlvbjxcL2NvZGU+IGFuZCA8Y29kZT5TY2FsZTxcL2NvZGU+IG9mIHBhcmVudHMgYXJlIGZpcnN0IGFwcGxpZWQgdG8gdGhlIGNoaWxkIDxjb2RlPlZpZXc8XC9jb2RlPiB3aXRoIHBhcmVudCdzIDxjb2RlPlBpdm90UG9pbnQ8XC9jb2RlPiwgYW5kIHRoZW4gPGNvZGU+T3JpZW50YXRpb248XC9jb2RlPiBhbmQgPGNvZGU+U2NhbGU8XC9jb2RlPiBvZiBjaGlsZCBhcmUgYXBwbGllZC48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlcyBkZW1vbnN0cmF0ZSB0aGUgcm90YXRpb24gYW5kIHNjYWxpbmcgdGhhdCBjaGFuZ2UgPGNvZGU+T3JpZW50YXRpb248XC9jb2RlPiBhbmQgPGNvZGU+U2NhbGU8XC9jb2RlPiByZXNwZWN0aXZlbHkuIDxzdHJvbmc+VmlldyBBPFwvc3Ryb25nPiBpcyBhIGNoaWxkIG9mIDxzdHJvbmc+VmlldyBCPFwvc3Ryb25nPi4gVGhlcmVmb3JlLCB0cmFuc2Zvcm1zIG9mIDxzdHJvbmc+QTxcL3N0cm9uZz4gb25seSBhZmZlY3RzIDxzdHJvbmc+QTxcL3N0cm9uZz4uIEhvd2V2ZXIsIHRoZSB0cmFuc2Zvcm1zIG9mIHBhcmVudCA8c3Ryb25nPkI8XC9zdHJvbmc+IGluZmx1ZW5jZXMgaXRzIGNoaWxkIDxzdHJvbmc+QTxcL3N0cm9uZz4uIFRoZSBibGFjayBkb3QgaW4gdGhlIGZpZ3VyZSBpcyA8Y29kZT5QaXZvdFBvaW50PFwvY29kZT4gdGhhdCBpcyB1c2VkIGJ5IHRoZSB0cmFuc2Zvcm1zLjxcL3A+XG48cD48c3Ryb25nPkZpZ3VyZTogUm90YXRpb24gYW5kIFNjYWxpbmcuPFwvc3Ryb25nPjxcL3A+XG48dGFibGUgc3R5bGU9XCJ3aWR0aDoxMDAlXCI+XG48dHI+XG48dGQgc3R5bGU9XCJ3aWR0aDo1MCVcIiBhbGlnbj1cImNlbnRlclwiPlxuPGltZyBzcmM9XCJtZWRpYVwvdmlld19GaWd1cmVfT3JpZW50YXRpb24uZ2lmXCIgd2lkdGg9XCIxMDAlXCI+XG48XC90ZD5cbjx0ZCBzdHlsZT1cIndpZHRoOjUwJVwiIGFsaWduPVwiY2VudGVyXCI+XG48aW1nIHNyYz1cIm1lZGlhXC92aWV3X0ZpZ3VyZV9TY2FsZS5naWZcIiB3aWR0aD1cIjEwMCVcIj5cbjxcL3RkPlxuPFwvdHI+XG48XC90YWJsZT5cbjxwPjxhIG5hbWU9XCIyXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1kaXJlY3Rpb25hbC1uYXZpZ2F0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWRpcmVjdGlvbmFsLW5hdmlnYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRpcmVjdGlvbmFsIG5hdmlnYXRpb248XC9oMj5cbjxwPk5VSSBhbHNvIHByb3ZpZGVzIGRpcmVjdGlvbmFsIG5hdmlnYXRpb24gYmV0d2VlbiBlYWNoIDxjb2RlPlZpZXc8XC9jb2RlPiB1c2luZyBhcnJvdyBrZXlzIG9uIHRoZSBrZXlib2FyZC4gWW91IGNhbiBzaW1wbHkgc2V0IHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyB0byBzcGVjaWZ5IHRoZSBuZXh0IDxjb2RlPkZvY3VzYWJsZVZpZXc8XC9jb2RlPiBmb3IgZWFjaCBkaXJlY3Rpb246PFwvcD5cbjx1bD5cbjxsaT5cbjxwPjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5VSS5CYXNlQ29tcG9uZW50cy5WaWV3Lm1kI1RpemVuX05VSV9CYXNlQ29tcG9uZW50c19WaWV3X1VwRm9jdXNhYmxlVmlld1wiPlZpZXcuVXBGb2N1c2FibGVWaWV3PFwvYT48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlldy5tZCNUaXplbl9OVUlfQmFzZUNvbXBvbmVudHNfVmlld19Eb3duRm9jdXNhYmxlVmlld1wiPlZpZXcuRG93bkZvY3VzYWJsZVZpZXc8XC9hPjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLk5VSS5CYXNlQ29tcG9uZW50cy5WaWV3Lm1kI1RpemVuX05VSV9CYXNlQ29tcG9uZW50c19WaWV3X0xlZnRGb2N1c2FibGVWaWV3XCI+Vmlldy5MZWZ0Rm9jdXNhYmxlVmlldzxcL2E+PFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+PGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uTlVJLkJhc2VDb21wb25lbnRzLlZpZXcubWQjVGl6ZW5fTlVJX0Jhc2VDb21wb25lbnRzX1ZpZXdfUmlnaHRGb2N1c2FibGVWaWV3XCI+Vmlldy5SaWdodEZvY3VzYWJsZVZpZXc8XC9hPjxcL3A+XG48XC9saT5cbjxcL3VsPlxuPHA+V2hlbiBhbiBhcnJvdyBrZXkgaXMgcHJlc3NlZCBhbmQgdGhlIGN1cnJlbnQgPGNvZGU+VmlldzxcL2NvZGU+IGhhcyBuZXh0IDxjb2RlPkZvY3VzYWJsZVZpZXc8XC9jb2RlPiBmb3IgdGhhdCBkaXJlY3Rpb24sIHRoZSBzeXN0ZW0gcGFzc2VzIGZvY3VzIHRvIHRoZSBuZXh0IDxjb2RlPkZvY3VzYWJsZVZpZXc8XC9jb2RlPi4gSG93ZXZlciwgaWYgdGhlIGN1cnJlbnQgPGNvZGU+VmlldzxcL2NvZGU+IGRvZXMgbm90IGhhdmUgdGhlIG5leHQgPGNvZGU+Rm9jdXNhYmxlVmlldzxcL2NvZGU+IGZvciB0aGUgZGlyZWN0aW9uIG9yIHRoZSBuZXh0IDxjb2RlPkZvcmN1c2FibGVWaWV3PFwvY29kZT4gaXMgbm90IG9uIHRoZSB3aW5kb3csIHRoZSBwcm9wZXJ0eSByZXR1cm5zIDxjb2RlPk5VTEw8XC9jb2RlPiBhbmQgbm8gY2hhbmdlIG9jY3Vycy48XC9wPlxuPHA+PGEgbmFtZT1cIjNcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXZpZXctZXZlbnRcIj48YSBocmVmPVwiI2NvbnRlbnQtdmlldy1ldmVudFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VmlldyBldmVudDxcL2gyPlxuPHA+PGNvZGU+VmlldzxcL2NvZGU+IHByb3ZpZGVzIGEgdmFyaWV0eSBvZiBldmVudHMgdGhhdCBhcmUgY29tbW9ubHkgdXNlZCBieSB0aGUgY29tcG9uZW50cy4gVGhlIGZvbGxvd2luZyB0YWJsZSBsaXN0cyB0aGUgYmFzaWMgZXZlbnRzIHByb3ZpZGVkIGJ5IDxjb2RlPlZpZXc8XC9jb2RlPjo8XC9wPlxuPHA+PHN0cm9uZz5UYWJsZTogVmlldyBldmVudHM8XC9zdHJvbmc+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkV2ZW50PFwvdGg+XG48dGg+RGVzY3JpcHRpb248XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+PGNvZGU+S2V5RXZlbnQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRyaWdnZXJlZCB3aGVuIHRoZSBrZXkgaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Ub3VjaEV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgdG91Y2ggaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Ib3ZlckV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgaG92ZXIgaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5XaGVlbEV2ZW50PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgd2hlZWwgaW5wdXQgaXMgcmVjZWl2ZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5Gb2N1c0dhaW5lZDxcL2NvZGU+PFwvdGQ+XG48dGQ+VHJpZ2dlcmVkIHdoZW4gdGhlIGNvbnRyb2wgZ2V0cyB0aGUga2V5IGlucHV0IGZvY3VzLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+Rm9jdXNMb3N0PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgd2hlbiB0aGUgY29udHJvbCBsb3NlcyBrZXkgaW5wdXQgZm9jdXMuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5SZWxheW91dDxcL2NvZGU+PFwvdGQ+XG48dGQ+VHJpZ2dlcmVkIGFmdGVyIHRoZSBzaXplIGhhcyBiZWVuIHNldCBvbiBWaWV3IGR1cmluZyByZWxheW91dC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkxheW91dERpcmVjdGlvbkNoYW5nZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRyaWdnZXJlZCB3aGVuIHRoZSBsYXlvdXQgZGlyZWN0aW9uIHByb3BlcnR5IG9mIFZpZXcgb3IgaXRzIHBhcmVudCBWaWV3IGlzIGNoYW5nZWQuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5BZGRlZFRvV2luZG93PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgYWZ0ZXIgVmlldyBoYXMgYmVlbiBjb25uZWN0ZWQgdG8gdGhlIHdpbmRvdy48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlJlbW92ZWRGcm9tV2luZG93PFwvY29kZT48XC90ZD5cbjx0ZD5UcmlnZ2VyZWQgYWZ0ZXIgVmlldyBoYXMgYmVlbiBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgd2luZG93LjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+VmlzaWJpbGl0eUNoYW5nZWQ8XC9jb2RlPjxcL3RkPlxuPHRkPlRyaWdnZXJlZCB3aGVuIHRoZSB2aXNpYmxlIHByb3BlcnR5IG9mIFZpZXcgb3IgcGFyZW50IFZpZXcgaXMgY2hhbmdlZC48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPlJlc291cmNlc0xvYWRlZDxcL2NvZGU+PFwvdGQ+XG48dGQ+VHJpZ2dlcmVkIGFmdGVyIGFsbCB0aGUgcmVzb3VyY2VzIHJlcXVpcmVkIGJ5IFZpZXcgYXJlIGxvYWRlZCBhbmQgcmVhZHkuPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+WW91IGNhbiBjcmVhdGUgY3VzdG9tIDxjb2RlPmNhbGxiYWNrPFwvY29kZT4gbWV0aG9kcyB3aXRoIGV2ZW50IGhhbmRsZXIgZm9yIGVhY2ggPGNvZGU+RXZlbnQ8XC9jb2RlPi48XC9wPlxuPHA+SW5wdXQgPGNvZGU+RXZlbnQ8XC9jb2RlPiBzdWNoIGFzIDxjb2RlPktleUV2ZW50PFwvY29kZT4gYW5kIDxjb2RlPlRvdWNoRXZlbnQ8XC9jb2RlPiBpcyBmaXJzdCByZWNlaXZlZCBvbiB0aGUgY3VycmVudCBmb2N1c2VkIDxjb2RlPlZpZXc8XC9jb2RlPiB0byBiZSBoYW5kbGVkLiBIb3dldmVyLCBpZiB0aGUgZm9jdXNlZCA8Y29kZT5WaWV3PFwvY29kZT4gaXMgbm90IGhhdmluZyBhIHByb3BlciBldmVudCBoYW5kbGVyLCB0aGVuIHRoZSA8Y29kZT5FdmVudDxcL2NvZGU+IGlzIGRlbGl2ZXJlZCB0byBpdHMgcGFyZW50IDxjb2RlPlZpZXc8XC9jb2RlPiBpdGVyYXRpdmVseSB1bnRpbCBpdCBjYW4gYmUgY29uc3VtZWQuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgY29kZSBleHBsYWlucyBob3cgdG8gaGFuZGxlIDxjb2RlPkV2ZW50PFwvY29kZT4gd2l0aCBhIHNpbXBsZSBleGFtcGxlIG9mIDxjb2RlPlRvdWNoRXZlbnQ8XC9jb2RlPi4gSWYgeW91IHRvdWNoIHRoZSBibHVlIDxjb2RlPlZpZXc8XC9jb2RlPiB0aGVuIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGlzIGNoYW5nZWQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5WaWV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj50b3VjaGVkVmlldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5WaWV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj50b3VjaGVkVmlldy5CYWNrZ3JvdW5kQ29sb3IgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQ29sb3IuQmx1ZTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvIEF0dGFjaCBjYWxsYmFjayBtZXRob2Q8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj50b3VjaGVkVmlldy5Ub3VjaEV2ZW50IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Kz08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBWaWV3VG91Y2hFdmVudENhbGxCYWNrOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4uLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvIEN1c3RvbSBjYWxsYmFjayBtZXRob2Q8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wcml2YXRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5ib29sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5WaWV3VG91Y2hFdmVudENhbGxCYWNrPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5vYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlRvdWNoRXZlbnRBcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnRvdWNoZWRWaWV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gc2VuZGVyIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+YXM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5pZjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IChlLlRvdWNoLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0U3RhdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPjA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPikgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IFBvaW50U3RhdGVUeXBlLkRvd24pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIHs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIHRvdWNoZWRWaWV3LkJhY2tncm91bmRDb2xvciA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBDb2xvci5SZWQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIH08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5yZXR1cm48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPnRydWU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwPjxzdHJvbmc+RmlndXJlOiBUb3VjaEV2ZW50IGV4YW1wbGU8XC9zdHJvbmc+PFwvcD5cbjxwPjxpbWcgc3JjPVwibWVkaWFcL3ZpZXdfRmlndXJlX1RvdWNoLmdpZlwiIGFsdD1cIlZpZXcgd2l0aCBhIGJhY2tncm91bmQgaW1hZ2VcIiBcLz48XC9wPlxuPGgyIGlkPVwiY29udGVudC1yZWxhdGVkLWluZm9ybWF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlbGF0ZWQgaW5mb3JtYXRpb248XC9oMj5cbjx1bD5cbjxsaT5EZXBlbmRlbmNpZXNcbjx1bD5cbjxsaT5UaXplbiA0LjAgYW5kIEhpZ2hlcjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuIiwidGFibGVfb2ZfY29udGVudCI6Ijx1bCBjbGFzcz1cInRhYmxlLW9mLWNvbnRlbnRzXCI+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXRyYW5zZm9ybXNcIj5UcmFuc2Zvcm1zPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGlyZWN0aW9uYWwtbmF2aWdhdGlvblwiPkRpcmVjdGlvbmFsIG5hdmlnYXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC12aWV3LWV2ZW50XCI+VmlldyBldmVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj5SZWxhdGVkIGluZm9ybWF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJWaWV3IiwicmF3IjpudWxsfSx7ImNsYXNzIjoiQXBwXFxTZXJ2aWNlc1xcRG9jdW1lbnRhdGlvblxcRGF0YVxcUmVuZGVyZWRNYXJrZG93biIsInMiOiJ3cmJsIn1dfSx7InMiOiJhcnIifV19LCJtZW1vIjp7ImlkIjoiMGQ2dDVFOXhBOXdJREp0cmFsTWsiLCJuYW1lIjoiX19tb3VudFBhcmFtc0NvbnRhaW5lciIsInBhdGgiOiJkb2NzXC9hcHBsaWNhdGlvblwvZG90bmV0XC9ndWlkZXNcL3VzZXItaW50ZXJmYWNlXC9udWlcL3ZpZXciLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiJhNjg2NDhhZGVlMzMxMDdiNzA5YjVmNGIyNWMzODE2OWVmYjU3ZDM2YjdjNTc2YzExNzM3ZDg5M2NjN2EzNzdjIn0=')" >