VideoView/a> class is a control for video playback and display. It provides minimum functions for playback (play, pause, stop, forward, and backward). Some options, such as volume, can be controlled through the control properties. NUI supports many kinds of video format, such as <code>.avi<\/code>, <code>.3gp<\/code> and <code>mp4<\/code>.<\/p>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>The <code>VideoView<\/code> control does not use any privileges APIs on its own. However, if you use video files in a specific device storage, the application requires privileges to access the storage.<\/p>\n<\/div>\n<h2 id=\"content-create-a-videoview\"><a href=https://samsungtizenos.com/"#content-create-a-videoview\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Create a VideoView<\/h2>\n<p>The following basic example shows how to create a <code>VideoView<\/code> object:<\/p>\n<p><strong>Figure: Basic VideoView<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/".//nui-components//media//VideoView.png/" alt=\"Basic VideoView\" \/><\/p>\n<ol>\n<li>\n<p>To use the <code>VideoView<\/code> class, add the following namespace and assembly:<\/p>\n<code class=\"language-xaml\">xmlns:base="clr-namespace:Tizen.NUI.BaseComponents;assembly=Tizen.NUI"\n<\/code>\n<\/li>\n<li>\n<p>The video file is assumed to be in the resources directory. Create an instance of the <code>VideoView<\/code> class and use the <code>ResourceUrl<\/code> property to pass the path to the video file. Set <code>WidthResizePolicy<\/code> to make <code>VideoView<\/code> instance use full width of the window and set <code>HeightResizePolicy<\/code> to maintain aspect ratio of video. And then you can invoke the <code>Play()<\/code> method to start video:<\/p>\n<code class=\"language-xaml\"><base:VideoView x:Name="player" ResourceUrl="*Resource*\/images\/sample.3gp" \n WidthSpecification="720" HeightSpecification="405"\n Underlay="False" \/>\n<comp:Button x:Name="start_btn" Text="Start Video" Position="0,800" WidthSpecification="-1"\n HeightSpecification="100" Clicked="start_Clicked"\/>\n<\/code>\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:#D73A49;--shiki-dark:#F97583\">private<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">start_Clicked<\/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\">ClickedEventArgs<\/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\"> player.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Play<\/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<\/li>\n<\/ol>\n<p><img src=https://samsungtizenos.com/"media//basicVideoView.png/" alt=\"Basic VideoView\" \/><\/p>\n<div class=\"md-alert md-alert-note\">\n<span><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\/><\/svg>Note<\/span>\n<p>You can set the video file to be played in a new <code>VideoView()<\/code>, or by modifying the <code>Video<\/code> property.<\/p>\n<\/div>\n<h2 id=\"content-videoview-methods\"><a href=https://samsungtizenos.com/"#content-videoview-methods\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>VideoView methods<\/h2>\n<p>The following are the <code>VideoView<\/code> functions for playback:<\/p>\n<ul>\n<li>\n<p>The <code>Play()<\/code> method starts video:<\/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:#24292E;--shiki-dark:#E1E4E8\">player.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Play<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>The <code>Pause()<\/code> method pauses video. To resume the video, use the <code>Play()<\/code> method:<\/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:#24292E;--shiki-dark:#E1E4E8\">player.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Pause<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>The <code>Stop()<\/code> method stops video. After the <code>Stop()<\/code> method is called, the video is started from the beginning if <code>Play()<\/code> method is called:<\/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:#24292E;--shiki-dark:#E1E4E8\">player.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Stop<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>The <code>Forward(x)<\/code> method fast forwards the video for <code>x<\/code> milliseconds:<\/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:#24292E;--shiki-dark:#E1E4E8\">player.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Forward<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1000<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">); <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ +1 second<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>The <code>Backward(x)<\/code> method rewinds the video backward for <code>x<\/code> milliseconds:<\/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:#24292E;--shiki-dark:#E1E4E8\">player.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Backward<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">1000<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">); <\/span><span style=\"color:#6A737D;--shiki-dark:#6A737D\">\/\/ -1 second<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<h2 id=\"content-videoview-event\"><a href=https://samsungtizenos.com/"#content-videoview-event\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>VideoView event<\/h2>\n<p>The following code shows the <code>Finished<\/code> event, which is emitted when the video playback is finished:<\/p>\n<ol>\n<li>\n<p>Create handler for <code>Finished<\/code> event:<\/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:#D73A49;--shiki-dark:#F97583\">private<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">void<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnFinish<\/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\">VideoView<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">FinishedEventArgs<\/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:#6A737D;--shiki-dark:#6A737D\"> \/\/ do something when the video is finished<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Add handler to the <code>player<\/code> created in previous section:<\/p>\n<code class=\"language-xaml\"><base:VideoView x:Name="player" Finished="OnFinish"\/>\n<\/code>\n<\/li>\n<\/ol>\n<h2 id=\"content-videoview-properties\"><a href=https://samsungtizenos.com/"#content-videoview-properties\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>VideoView properties<\/h2>\n<p>You can modify the <code>VideoView<\/code> appearance and behavior through its properties.<\/p>\n<p>The following table lists the available <code>VideoView<\/code> properties.<\/p>\n<p><strong>Table: VideoView properties<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Property<\/th>\n<th>Type<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>Video<\/code><\/td>\n<td>PropertyMap<\/td>\n<td>Video file URL string. This property can also provide additional features, such as a custom shader, by <code>PropertyMap<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>Looping<\/code><\/td>\n<td>Boolean<\/td>\n<td>Enable or disable the looping of the playback.<\/td>\n<\/tr>\n<tr>\n<td><code>Muted<\/code><\/td>\n<td>Boolean<\/td>\n<td>Whether the playback is muted.<\/td>\n<\/tr>\n<tr>\n<td><code>Volume<\/code><\/td>\n<td>PropertyMap<\/td>\n<td>Playback volume. The <code>PropertyMap<\/code> must get left and right volume scalar as a float type.<\/td>\n<\/tr>\n<tr>\n<td><code>Underlay<\/code><\/td>\n<td>Boolean<\/td>\n<td>Set the underlay either as <code>true<\/code> or <code>false<\/code>, to allow NUI to draw videos on either <strong>Underlay<\/strong> or <strong>Overlay<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td><code>ResourceUrl<\/code><\/td>\n<td>String<\/td>\n<td>The video file URL as a string type.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\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 6.5 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-videoview\">VideoView<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-create-a-videoview\">Create a VideoView<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-videoview-methods\">VideoView methods<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-videoview-event\">VideoView event<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-videoview-properties\">VideoView properties<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"VideoView","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"1i4MHjrOEXL16Xw2rYX3","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/user-interface\/nui\/videoview","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"06115026efe995b2db91819cb28a70974554a312f965b748f1e28f991022ff82"}" wire:effects="[]" wire:id="1i4MHjrOEXL16Xw2rYX3" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdmlkZW92aWV3XCI+PGEgaHJlZj1cIiNjb250ZW50LXZpZGVvdmlld1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+VmlkZW9WaWV3PFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPlRoZSA8YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5OVUkuQmFzZUNvbXBvbmVudHMuVmlkZW9WaWV3Lm1kXCI+VmlkZW9WaWV3PFwvYT4gY2xhc3MgaXMgYSBjb250cm9sIGZvciB2aWRlbyBwbGF5YmFjayBhbmQgZGlzcGxheS4gSXQgcHJvdmlkZXMgbWluaW11bSBmdW5jdGlvbnMgZm9yIHBsYXliYWNrIChwbGF5LCBwYXVzZSwgc3RvcCwgZm9yd2FyZCwgYW5kIGJhY2t3YXJkKS4gU29tZSBvcHRpb25zLCBzdWNoIGFzIHZvbHVtZSwgY2FuIGJlIGNvbnRyb2xsZWQgdGhyb3VnaCB0aGUgY29udHJvbCBwcm9wZXJ0aWVzLiBOVUkgc3VwcG9ydHMgbWFueSBraW5kcyBvZiB2aWRlbyBmb3JtYXQsIHN1Y2ggYXMgPGNvZGU+LmF2aTxcL2NvZGU+LCA8Y29kZT4uM2dwPFwvY29kZT4gYW5kIDxjb2RlPm1wNDxcL2NvZGU+LjxcL3A+XG48ZGl2IGNsYXNzPVwibWQtYWxlcnQgbWQtYWxlcnQtbm90ZVwiPlxuPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTAgOGE4IDggMCAxIDEgMTYgMEE4IDggMCAwIDEgMCA4Wm04LTYuNWE2LjUgNi41IDAgMSAwIDAgMTMgNi41IDYuNSAwIDAgMCAwLTEzWk02LjUgNy43NUEuNzUuNzUgMCAwIDEgNy4yNSA3aDFhLjc1Ljc1IDAgMCAxIC43NS43NXYyLjc1aC4yNWEuNzUuNzUgMCAwIDEgMCAxLjVoLTJhLjc1Ljc1IDAgMCAxIDAtMS41aC4yNXYtMmgtLjI1YS43NS43NSAwIDAgMS0uNzUtLjc1Wk04IDZhMSAxIDAgMSAxIDAtMiAxIDEgMCAwIDEgMCAyWlwiXC8+PFwvc3ZnPk5vdGU8XC9zcGFuPlxuPHA+VGhlIDxjb2RlPlZpZGVvVmlldzxcL2NvZGU+IGNvbnRyb2wgZG9lcyBub3QgdXNlIGFueSBwcml2aWxlZ2VzIEFQSXMgb24gaXRzIG93bi4gSG93ZXZlciwgaWYgeW91IHVzZSB2aWRlbyBmaWxlcyBpbiBhIHNwZWNpZmljIGRldmljZSBzdG9yYWdlLCB0aGUgYXBwbGljYXRpb24gcmVxdWlyZXMgcHJpdmlsZWdlcyB0byBhY2Nlc3MgdGhlIHN0b3JhZ2UuPFwvcD5cbjxcL2Rpdj5cbjxoMiBpZD1cImNvbnRlbnQtY3JlYXRlLWEtdmlkZW92aWV3XCI+PGEgaHJlZj1cIiNjb250ZW50LWNyZWF0ZS1hLXZpZGVvdmlld1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q3JlYXRlIGEgVmlkZW9WaWV3PFwvaDI+XG48cD5UaGUgZm9sbG93aW5nIGJhc2ljIGV4YW1wbGUgc2hvd3MgaG93IHRvIGNyZWF0ZSBhIDxjb2RlPlZpZGVvVmlldzxcL2NvZGU+IG9iamVjdDo8XC9wPlxuPHA+PHN0cm9uZz5GaWd1cmU6IEJhc2ljIFZpZGVvVmlldzxcL3N0cm9uZz48XC9wPlxuPHA+PGltZyBzcmM9XCIuXC9udWktY29tcG9uZW50c1wvbWVkaWFcL1ZpZGVvVmlldy5wbmdcIiBhbHQ9XCJCYXNpYyBWaWRlb1ZpZXdcIiBcLz48XC9wPlxuPG9sPlxuPGxpPlxuPHA+VG8gdXNlIHRoZSA8Y29kZT5WaWRlb1ZpZXc8XC9jb2RlPiBjbGFzcywgYWRkIHRoZSBmb2xsb3dpbmcgbmFtZXNwYWNlIGFuZCBhc3NlbWJseTo8XC9wPlxuPGNvZGUgY2xhc3M9XCJsYW5ndWFnZS14YW1sXCI+eG1sbnM6YmFzZT0mcXVvdDtjbHItbmFtZXNwYWNlOlRpemVuLk5VSS5CYXNlQ29tcG9uZW50czthc3NlbWJseT1UaXplbi5OVUkmcXVvdDtcbjxcL2NvZGU+XG48XC9saT5cbjxsaT5cbjxwPlRoZSB2aWRlbyBmaWxlIGlzIGFzc3VtZWQgdG8gYmUgaW4gdGhlIHJlc291cmNlcyBkaXJlY3RvcnkuIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGUgPGNvZGU+VmlkZW9WaWV3PFwvY29kZT4gY2xhc3MgYW5kIHVzZSB0aGUgPGNvZGU+UmVzb3VyY2VVcmw8XC9jb2RlPiBwcm9wZXJ0eSB0byBwYXNzIHRoZSBwYXRoIHRvIHRoZSB2aWRlbyBmaWxlLiBTZXQgPGNvZGU+V2lkdGhSZXNpemVQb2xpY3k8XC9jb2RlPiB0byBtYWtlIDxjb2RlPlZpZGVvVmlldzxcL2NvZGU+IGluc3RhbmNlIHVzZSBmdWxsIHdpZHRoIG9mIHRoZSB3aW5kb3cgYW5kIHNldCA8Y29kZT5IZWlnaHRSZXNpemVQb2xpY3k8XC9jb2RlPiB0byBtYWludGFpbiBhc3BlY3QgcmF0aW8gb2YgdmlkZW8uIEFuZCB0aGVuIHlvdSBjYW4gaW52b2tlIHRoZSA8Y29kZT5QbGF5KCk8XC9jb2RlPiBtZXRob2QgdG8gc3RhcnQgdmlkZW86PFwvcD5cbjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UteGFtbFwiPiZsdDtiYXNlOlZpZGVvVmlldyB4Ok5hbWU9JnF1b3Q7cGxheWVyJnF1b3Q7IFJlc291cmNlVXJsPSZxdW90OypSZXNvdXJjZSpcL2ltYWdlc1wvc2FtcGxlLjNncCZxdW90OyBcbiAgICAgICAgICAgICAgV2lkdGhTcGVjaWZpY2F0aW9uPSZxdW90OzcyMCZxdW90OyBIZWlnaHRTcGVjaWZpY2F0aW9uPSZxdW90OzQwNSZxdW90O1xuICAgICAgICAgICAgICBVbmRlcmxheT0mcXVvdDtGYWxzZSZxdW90OyAgXC8mZ3Q7XG4mbHQ7Y29tcDpCdXR0b24geDpOYW1lPSZxdW90O3N0YXJ0X2J0biZxdW90OyBUZXh0PSZxdW90O1N0YXJ0IFZpZGVvJnF1b3Q7IFBvc2l0aW9uPSZxdW90OzAsODAwJnF1b3Q7IFdpZHRoU3BlY2lmaWNhdGlvbj0mcXVvdDstMSZxdW90O1xuICAgICAgICAgICAgICBIZWlnaHRTcGVjaWZpY2F0aW9uPSZxdW90OzEwMCZxdW90OyBDbGlja2VkPSZxdW90O3N0YXJ0X0NsaWNrZWQmcXVvdDtcLyZndDtcbjxcL2NvZGU+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+cHJpdmF0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c3RhcnRfQ2xpY2tlZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+b2JqZWN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5zZW5kZXI8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiwgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5DbGlja2VkRXZlbnRBcmdzPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICB7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgcGxheWVyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UGxheTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48aW1nIHNyYz1cIm1lZGlhXC9iYXNpY1ZpZGVvVmlldy5wbmdcIiBhbHQ9XCJCYXNpYyBWaWRlb1ZpZXdcIiBcLz48XC9wPlxuPGRpdiBjbGFzcz1cIm1kLWFsZXJ0IG1kLWFsZXJ0LW5vdGVcIj5cbjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOlwvXC93d3cudzMub3JnXC8yMDAwXC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wIDhhOCA4IDAgMSAxIDE2IDBBOCA4IDAgMCAxIDAgOFptOC02LjVhNi41IDYuNSAwIDEgMCAwIDEzIDYuNSA2LjUgMCAwIDAgMC0xM1pNNi41IDcuNzVBLjc1Ljc1IDAgMCAxIDcuMjUgN2gxYS43NS43NSAwIDAgMSAuNzUuNzV2Mi43NWguMjVhLjc1Ljc1IDAgMCAxIDAgMS41aC0yYS43NS43NSAwIDAgMSAwLTEuNWguMjV2LTJoLS4yNWEuNzUuNzUgMCAwIDEtLjc1LS43NVpNOCA2YTEgMSAwIDEgMSAwLTIgMSAxIDAgMCAxIDAgMlpcIlwvPjxcL3N2Zz5Ob3RlPFwvc3Bhbj5cbjxwPllvdSBjYW4gc2V0IHRoZSB2aWRlbyBmaWxlIHRvIGJlIHBsYXllZCBpbiBhIG5ldyA8Y29kZT5WaWRlb1ZpZXcoKTxcL2NvZGU+LCBvciBieSBtb2RpZnlpbmcgdGhlIDxjb2RlPlZpZGVvPFwvY29kZT4gcHJvcGVydHkuPFwvcD5cbjxcL2Rpdj5cbjxoMiBpZD1cImNvbnRlbnQtdmlkZW92aWV3LW1ldGhvZHNcIj48YSBocmVmPVwiI2NvbnRlbnQtdmlkZW92aWV3LW1ldGhvZHNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlZpZGVvVmlldyBtZXRob2RzPFwvaDI+XG48cD5UaGUgZm9sbG93aW5nIGFyZSB0aGUgPGNvZGU+VmlkZW9WaWV3PFwvY29kZT4gZnVuY3Rpb25zIGZvciBwbGF5YmFjazo8XC9wPlxuPHVsPlxuPGxpPlxuPHA+VGhlIDxjb2RlPlBsYXkoKTxcL2NvZGU+IG1ldGhvZCBzdGFydHMgdmlkZW86PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5wbGF5ZXIuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5QbGF5PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UaGUgPGNvZGU+UGF1c2UoKTxcL2NvZGU+IG1ldGhvZCBwYXVzZXMgdmlkZW8uIFRvIHJlc3VtZSB0aGUgdmlkZW8sIHVzZSB0aGUgPGNvZGU+UGxheSgpPFwvY29kZT4gbWV0aG9kOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cGxheWVyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UGF1c2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRoZSA8Y29kZT5TdG9wKCk8XC9jb2RlPiBtZXRob2Qgc3RvcHMgdmlkZW8uIEFmdGVyIHRoZSA8Y29kZT5TdG9wKCk8XC9jb2RlPiBtZXRob2QgaXMgY2FsbGVkLCB0aGUgdmlkZW8gaXMgc3RhcnRlZCBmcm9tIHRoZSBiZWdpbm5pbmcgaWYgPGNvZGU+UGxheSgpPFwvY29kZT4gbWV0aG9kIGlzIGNhbGxlZDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnBsYXllci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlN0b3A8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRoZSA8Y29kZT5Gb3J3YXJkKHgpPFwvY29kZT4gbWV0aG9kIGZhc3QgZm9yd2FyZHMgdGhlIHZpZGVvIGZvciA8Y29kZT54PFwvY29kZT4gbWlsbGlzZWNvbmRzOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+cGxheWVyLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+Rm9yd2FyZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+MTAwMDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTsgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvICsxIHNlY29uZDxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPlRoZSA8Y29kZT5CYWNrd2FyZCh4KTxcL2NvZGU+IG1ldGhvZCByZXdpbmRzIHRoZSB2aWRlbyBiYWNrd2FyZCBmb3IgPGNvZGU+eDxcL2NvZGU+IG1pbGxpc2Vjb25kczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPnBsYXllci48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkJhY2t3YXJkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj4xMDAwPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pOyA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPlwvXC8gLTEgc2Vjb25kPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvdWw+XG48aDIgaWQ9XCJjb250ZW50LXZpZGVvdmlldy1ldmVudFwiPjxhIGhyZWY9XCIjY29udGVudC12aWRlb3ZpZXctZXZlbnRcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlZpZGVvVmlldyBldmVudDxcL2gyPlxuPHA+VGhlIGZvbGxvd2luZyBjb2RlIHNob3dzIHRoZSA8Y29kZT5GaW5pc2hlZDxcL2NvZGU+IGV2ZW50LCB3aGljaCBpcyBlbWl0dGVkIHdoZW4gdGhlIHZpZGVvIHBsYXliYWNrIGlzIGZpbmlzaGVkOjxcL3A+XG48b2w+XG48bGk+XG48cD5DcmVhdGUgaGFuZGxlciBmb3IgPGNvZGU+RmluaXNoZWQ8XC9jb2RlPiBldmVudDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnByaXZhdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZvaWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9uRmluaXNoPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5vYmplY3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnNlbmRlcjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlZpZGVvVmlldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+RmluaXNoZWRFdmVudEFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgIFwvXC8gZG8gc29tZXRoaW5nIHdoZW4gdGhlIHZpZGVvIGlzIGZpbmlzaGVkPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPkFkZCBoYW5kbGVyIHRvIHRoZSA8Y29kZT5wbGF5ZXI8XC9jb2RlPiBjcmVhdGVkIGluIHByZXZpb3VzIHNlY3Rpb246PFwvcD5cbjxjb2RlIGNsYXNzPVwibGFuZ3VhZ2UteGFtbFwiPiZsdDtiYXNlOlZpZGVvVmlldyB4Ok5hbWU9JnF1b3Q7cGxheWVyJnF1b3Q7IEZpbmlzaGVkPSZxdW90O09uRmluaXNoJnF1b3Q7XC8mZ3Q7XG48XC9jb2RlPlxuPFwvbGk+XG48XC9vbD5cbjxoMiBpZD1cImNvbnRlbnQtdmlkZW92aWV3LXByb3BlcnRpZXNcIj48YSBocmVmPVwiI2NvbnRlbnQtdmlkZW92aWV3LXByb3BlcnRpZXNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlZpZGVvVmlldyBwcm9wZXJ0aWVzPFwvaDI+XG48cD5Zb3UgY2FuIG1vZGlmeSB0aGUgPGNvZGU+VmlkZW9WaWV3PFwvY29kZT4gYXBwZWFyYW5jZSBhbmQgYmVoYXZpb3IgdGhyb3VnaCBpdHMgcHJvcGVydGllcy48XC9wPlxuPHA+VGhlIGZvbGxvd2luZyB0YWJsZSBsaXN0cyB0aGUgYXZhaWxhYmxlIDxjb2RlPlZpZGVvVmlldzxcL2NvZGU+IHByb3BlcnRpZXMuPFwvcD5cbjxwPjxzdHJvbmc+VGFibGU6IFZpZGVvVmlldyBwcm9wZXJ0aWVzPFwvc3Ryb25nPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5Qcm9wZXJ0eTxcL3RoPlxuPHRoPlR5cGU8XC90aD5cbjx0aD5EZXNjcmlwdGlvbjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD48Y29kZT5WaWRlbzxcL2NvZGU+PFwvdGQ+XG48dGQ+UHJvcGVydHlNYXA8XC90ZD5cbjx0ZD5WaWRlbyBmaWxlIFVSTCBzdHJpbmcuIFRoaXMgcHJvcGVydHkgY2FuIGFsc28gcHJvdmlkZSBhZGRpdGlvbmFsIGZlYXR1cmVzLCBzdWNoIGFzIGEgY3VzdG9tIHNoYWRlciwgYnkgPGNvZGU+UHJvcGVydHlNYXA8XC9jb2RlPi48XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjxjb2RlPkxvb3Bpbmc8XC9jb2RlPjxcL3RkPlxuPHRkPkJvb2xlYW48XC90ZD5cbjx0ZD5FbmFibGUgb3IgZGlzYWJsZSB0aGUgbG9vcGluZyBvZiB0aGUgcGxheWJhY2suPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5NdXRlZDxcL2NvZGU+PFwvdGQ+XG48dGQ+Qm9vbGVhbjxcL3RkPlxuPHRkPldoZXRoZXIgdGhlIHBsYXliYWNrIGlzIG11dGVkLjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+PGNvZGU+Vm9sdW1lPFwvY29kZT48XC90ZD5cbjx0ZD5Qcm9wZXJ0eU1hcDxcL3RkPlxuPHRkPlBsYXliYWNrIHZvbHVtZS4gVGhlIDxjb2RlPlByb3BlcnR5TWFwPFwvY29kZT4gbXVzdCBnZXQgbGVmdCBhbmQgcmlnaHQgdm9sdW1lIHNjYWxhciBhcyBhIGZsb2F0IHR5cGUuPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5VbmRlcmxheTxcL2NvZGU+PFwvdGQ+XG48dGQ+Qm9vbGVhbjxcL3RkPlxuPHRkPlNldCB0aGUgdW5kZXJsYXkgZWl0aGVyIGFzIDxjb2RlPnRydWU8XC9jb2RlPiBvciA8Y29kZT5mYWxzZTxcL2NvZGU+LCB0byBhbGxvdyBOVUkgdG8gZHJhdyB2aWRlb3Mgb24gZWl0aGVyIDxzdHJvbmc+VW5kZXJsYXk8XC9zdHJvbmc+IG9yIDxzdHJvbmc+T3ZlcmxheTxcL3N0cm9uZz4uPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48Y29kZT5SZXNvdXJjZVVybDxcL2NvZGU+PFwvdGQ+XG48dGQ+U3RyaW5nPFwvdGQ+XG48dGQ+VGhlIHZpZGVvIGZpbGUgVVJMIGFzIGEgc3RyaW5nIHR5cGUuPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPGgyIGlkPVwiY29udGVudC1yZWxhdGVkLWluZm9ybWF0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlbGF0ZWQgaW5mb3JtYXRpb248XC9oMj5cbjx1bD5cbjxsaT5EZXBlbmRlbmNpZXNcbjx1bD5cbjxsaT5UaXplbiA2LjUgYW5kIEhpZ2hlcjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuIiwidGFibGVfb2ZfY29udGVudCI6Ijx1bCBjbGFzcz1cInRhYmxlLW9mLWNvbnRlbnRzXCI+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXZpZGVvdmlld1wiPlZpZGVvVmlldzxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWNyZWF0ZS1hLXZpZGVvdmlld1wiPkNyZWF0ZSBhIFZpZGVvVmlldzxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXZpZGVvdmlldy1tZXRob2RzXCI+VmlkZW9WaWV3IG1ldGhvZHM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC12aWRlb3ZpZXctZXZlbnRcIj5WaWRlb1ZpZXcgZXZlbnQ8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC12aWRlb3ZpZXctcHJvcGVydGllc1wiPlZpZGVvVmlldyBwcm9wZXJ0aWVzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiPlJlbGF0ZWQgaW5mb3JtYXRpb248XC9hPjxcL2xpPlxuPFwvdWw+XG4iLCJ0aXRsZSI6IlZpZGVvVmlldyIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6IkFNTTRrc2d4T3Z5Z2VSRDhYVHgwIiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvYXBwbGljYXRpb25cL2RvdG5ldFwvZ3VpZGVzXC91c2VyLWludGVyZmFjZVwvbnVpXC92aWRlb3ZpZXciLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiJlODAyMmQwMGVjZWEzNWRkN2ZkYTY0NzI2MmNlMmU2NzM0MWMwZWE4NWI2YWIxNDgzY2E3ZGMwZmFkOTM0MzJkIn0=')" >