Tizen.Applications.AppControl/a>/ninstance is set to <code>AppControlOperations.Default<\/code>, the\napplication ID must be set. Otherwise the\n<code>ArgumentException<\/code> occurs.<\/li>\n<\/ul>\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>Be careful when using the explicit launch, because if the\ntarget application does not exist on the device, you need to handle\nthe <code>AppNotFoundException<\/code>. If you want to launch any application\nthat supports a certain operation, use the implicit launch.<\/p>\n<\/div>\n<\/li>\n<li>\n<p>Implicit launch<\/p>\n<p>Implicit launch means that you launch any application which matches\nthe operation, URI (or scheme), or MIME type you need. When you\n<a href=https://samsungtizenos.com/"#implicit\">request an implicit launch<\/a>:<\/p>\n<ul>\n<li>To determine which application can be launched, the application\nlauncher framework compares the operation, URI, and MIME\ntype conditions.<\/li>\n<li>The application launcher framework iterates the application\ncontrols of all applications on the device to <a href=https://samsungtizenos.com/"#resolution\">find the\napplications that match<\/a> the given conditions.<\/li>\n<li>If only 1 application is matched for the given conditions, that\napplication is launched. If multiple matching applications are\nfound, the application selector is shown and the user can select\nthe proper application.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><a name=\"request\"><\/a><\/p>\n<h2 id=\"content-launch-requests\"><a href=https://samsungtizenos.com/"#content-launch-requests\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Launch requests<\/h2>\n<p>To launch an application with the application control, you must create a\nlaunch request. You must create an instance of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl.md/">Tizen.Applications.AppControl/a>/nclass, and add the conditions for selecting the application to be\nlaunched. You can add the following information to the instance:<\/p>\n<ul>\n<li>\n<p><code>Operation<\/code>: Action to be performed by the launched application.<\/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 operation name format is\n<code>http:\/\/tizen.org\/appcontrol\/operation\/<verb><\/code>. You can also use an\ninstance of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControlOperations.md/">Tizen.Applications.AppControlOperations/a> class.<\/p>\n<\/div>\n<p>The operation is mandatory information for sending the\nlaunch request.<\/p>\n<\/li>\n<li>\n<p><code>Uri<\/code>: Data itself to be performed.<\/p>\n<\/li>\n<li>\n<p><code>Mime<\/code>: Specific type of the URI.<\/p>\n<\/li>\n<li>\n<p><code>ApplicationId<\/code>: ID of the application to be launched.<\/p>\n<\/li>\n<li>\n<p><code>ExtraData<\/code>: Key-value pairs to <a href=https://samsungtizenos.com/"#use\">provide additional information for\nthe launch request and launch result<\/a>.<\/p>\n<\/li>\n<\/ul>\n<p><a name=\"explicit\"><\/a><\/p>\n<h3 id=\"content-explicit-launch-request\"><a href=https://samsungtizenos.com/"#content-explicit-launch-request\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Explicit launch request<\/h3>\n<p>The following example shows how to create an explicit launch request\nwhich launches an application explicitly by setting the <code>ApplicationId<\/code>\nproperty of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl.md/">Tizen.Applications.AppControl/a>/nclass instance:<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">appcontrol<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.Operation <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlOperations.Default;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.ApplicationId <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"org.tizen.TestApp"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SendLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(appcontrol);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>If you want to launch an AppControl asynchronously, use SendLaunchRequestAsync().<\/p>\n<p><a name=\"implicit\"><\/a><\/p>\n<h3 id=\"content-implicit-launch-request\"><a href=https://samsungtizenos.com/"#content-implicit-launch-request\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Implicit launch request<\/h3>\n<p>The following examples show how to create an implicit launch request:<\/p>\n<ul>\n<li>\n<p>To launch a camera application with a specific operation and MIME\ntype, use the following code:<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">appcontrol<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.Operation <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlOperations.CreateContent;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.Mime <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"image\/jpg"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SendLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(appcontrol);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>To launch a viewer application with a specific operation, URI, and\nMIME type, use the following code:<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">appcontrol<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.Operation <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlOperations.View;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.Mime <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"image\/*"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appcontrol.Uri <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"file:\/\/\/home\/myhome\/Photos\/1_photo.jpg"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SendLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(appcontrol);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ul>\n<p><a name=\"resolution\"><\/a><\/p>\n<h3 id=\"content-determine-the-application-for-an-implicit-launch-request\"><a href=https://samsungtizenos.com/"#content-determine-the-application-for-an-implicit-launch-request\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Determine the application for an implicit launch request<\/h3>\n<p>In the case of an implicit launch, the platform determines which\napplication to launch by "resolving the application control". This means\nthat the platform considers the given conditions (operation, URI, and\nMIME type) in the launch request, searches the filters (installed\napplications with available application controls) on the device, and\nattempts to find a match.<\/p>\n<p>The launch request conditions are matched to the available filters using\nthe following logic:<\/p>\n<ol>\n<li>\n<p>The operation value is matched first. An exact match is required for\nthe value in both the launch request and the filters.<\/p>\n<p>If multiple matching filters with identical operations are\navailable, the URI and MIME types in the matching filters\nare compared.<\/p>\n<\/li>\n<li>\n<p>If the launch request has URI or MIME types as a condition, the\ncomparison is done only among the filters that have URI or\nMIME types. For example, if the launch request has a URI, but a\nfilter does not, that filter is not added to the result even if the\noperations are the same. Similarly, if the launch request has MIME\ntypes, it is not compared to the filters that have no MIME types.<\/p>\n<p>An exception is applied to the URIs with a "file" scheme for\nthe value. If the launch request URI contains an existing file path\nand no MIME types are supplied, the filters that have the MIME type\nof the given file path are also added to the results.<\/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>A filter (application) that expects to match with any form\nof URI and any type of MIME must use <code>'*'<\/code> and <code>*\/*<\/code> in their\napplication control information in the <code>tizen-manifest.xml<\/code> file,\ninstead of leaving the value to <code>NULL<\/code>. Otherwise, the application\nis discarded by the platform when the application control\nis resolved.<\/p>\n<\/div>\n<\/li>\n<li>\n<p>Unlike the operation, the URI and MIME types support wildcards on\nthe filters. Detailed conditions for matches are described below:<\/p>\n<ul>\n<li>The URI match can be an exact, partial (scheme), or pattern\nmatch according to the value in the filters. URI filters are\nmatched with the launch request if:\n<ul>\n<li>Both URIs are exactly the same.<\/li>\n<li>Launch request URI passes the test with a <code>glob()<\/code>-like\nfunction with the filter URI.<\/li>\n<li>Scheme and host part of the URI in the launch request and\nfilters are the same.<\/li>\n<li>Scheme part of the URI in the launch request and filters is\nthe same.<\/li>\n<\/ul>\n<\/li>\n<li>The MIME type match can be an exact or pattern match according\nto the value in the filters. MIME type filters are matched with\nthe launch request if:\n<ul>\n<li>Both MIME types are exactly the same.<\/li>\n<li>MIME type in the launch request and filters has the same\ntype and '*' for the subtype.<\/li>\n<li>The filters have <code>*\/*<\/code> for the MIME type.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>The following examples show different scenarios for the results of resolving the application control:<\/p>\n<ul>\n<li>\n<p>Operation provided:<\/p>\n<ul>\n<li>Request:\n<ul>\n<li>Operation: <code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/li>\n<li>URI: <code>NULL<\/code><\/li>\n<li>MIME: <code>NULL<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Result (the reason for the failure is marked in <strong>bold<\/strong>):<\/li>\n<\/ul>\n<p><strong>Table: Scenario when only the operation is provided<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Filter ID<\/th>\n<th>Operation<\/th>\n<th>URI<\/th>\n<th>MIME<\/th>\n<th>Result<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><strong><code>http:\/\/tizen.org\/appcontrol\/operation\/default<\/code><\/strong><\/td>\n<td><code>NULL<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><strong><code>file<\/code><\/strong><\/td>\n<td><code>NULL<\/code><\/td>\n<td>Fail<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/li>\n<li>\n<p>Operation and URI provided:<\/p>\n<ul>\n<li>Request:\n<ul>\n<li>Operation: <code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/li>\n<li>URI: <code>file:\/\/\/usr\/share\/icons\/calendar.png<\/code><\/li>\n<li>MIME: <code>NULL<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Result (the reason for the failure is marked in <strong>bold<\/strong>):<\/li>\n<\/ul>\n<p><strong>Table: Scenario when the operation and URI are provided<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Filter ID<\/th>\n<th>Operation<\/th>\n<th>URI<\/th>\n<th>MIME<\/th>\n<th>Result<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><strong><code>NULL<\/code><\/strong><\/td>\n<td><code>NULL<\/code><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>file:\/\/\/usr\/share\/icons\/calendar.png<\/code><\/td>\n<td><code>*\/*<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>file:\/\/\/*<\/code><\/td>\n<td><code>*\/*<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>file<\/code><\/td>\n<td><code>*\/*<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><strong><code>http<\/code><\/strong><\/td>\n<td><code>*\/*<\/code><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><strong><code>image\/jpg<\/code><\/strong><\/td>\n<td>Fail<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/li>\n<li>\n<p>Operation and MIME type provided:<\/p>\n<ul>\n<li>Request:\n<ul>\n<li>Operation: <code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/li>\n<li>URI: <code>NULL<\/code><\/li>\n<li>MIME: <code>image\/png<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Result (the reason for the failure is marked in <strong>bold<\/strong>):<\/li>\n<\/ul>\n<p><strong>Table: Scenario when the operation and MIME type are provided<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Filter ID<\/th>\n<th>Operation<\/th>\n<th>URI<\/th>\n<th>MIME<\/th>\n<th>Result<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><code>image\/*<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><code>*\/*<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>file:\/\/\/usr\/share\/icons\/calendar.png<\/code><\/td>\n<td><strong><code>NULL<\/code><\/strong><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><strong><code>image\/jpg<\/code><\/strong><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>NULL<\/code><\/td>\n<td><strong><code>video\/*<\/code><\/strong><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>7<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><strong><code>http:\/\/tizen.org\/favorites.png<\/code><\/strong><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Fail<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/li>\n<li>\n<p>Operation, URI, and MIME type provided:<\/p>\n<ul>\n<li>Request:\n<ul>\n<li>Operation: <code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/li>\n<li>URI: <code>http:\/\/www.tizen.org\/favorites.png<\/code><\/li>\n<li>MIME: <code>image\/png<\/code><\/li>\n<\/ul>\n<\/li>\n<li>Result (the reason for the failure is marked in <strong>bold<\/strong>):<\/li>\n<\/ul>\n<p><strong>Table: Scenario when the operation, URI, and MIME type are provided<\/strong><\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Filter ID<\/th>\n<th>Operation<\/th>\n<th>URI<\/th>\n<th>MIME<\/th>\n<th>Result<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>1<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>http:\/\/www.tizen.org\/favorites.png<\/code><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>http:\/\/www.tizen.org\/favorites.png<\/code><\/td>\n<td><strong><code>NULL<\/code><\/strong><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>http:\/\/www.tizen.org\/*<\/code><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>http<\/code><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><strong><code>NULL<\/code><\/strong><\/td>\n<td><code>image\/png<\/code><\/td>\n<td>Fail<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td><code>http:\/\/tizen.org\/appcontrol\/operation\/view<\/code><\/td>\n<td><code>*<\/code><\/td>\n<td><code>*\/*<\/code><\/td>\n<td>Pass<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<\/li>\n<\/ul>\n<p><a name=\"process\"><\/a><\/p>\n<h2 id=\"content-launch-process\"><a href=https://samsungtizenos.com/"#content-launch-process\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Launch process<\/h2>\n<p>Regardless of the launch request type, when the application launcher\nframework has received and resolved a launch request, it starts the\napplication by creating a new process and calling the entry point of the\napplication:<\/p>\n<ol>\n<li>\n<p>Like a conventional C# application, the main method of the\napplication is its entry point. In a Tizen .NET application, the\nmain task is to hand over control to the application framework by\ncalling the <code>Run()<\/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:#D73A49;--shiki-dark:#F97583\">class<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">App<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> : <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">NUIApplication<\/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\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnCreate<\/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\"> \/\/\/ Hook to take necessary actions before main event loop starts; this<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ usually means initializing the UI<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnCreate<\/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>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnAppControlReceived<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControlReceivedEventArgs<\/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\"> \/\/\/ Handle the launch request, show the user the task requested through the<\/span><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ "AppControlReceivedEventArgs" parameter<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnAppControlReceived<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(e);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnPause<\/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\"> \/\/\/ Take necessary actions when application becomes invisible<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnPause<\/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>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnResume<\/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\"> \/\/\/ Take necessary actions when application becomes visible<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnResume<\/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>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnTerminate<\/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\"> \/\/\/ Release all resources<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnTerminate<\/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>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">static<\/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\">Main<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">[] <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">args<\/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\">App<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">app<\/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\">App<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> app.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Run<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(args);<\/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>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>The <code>Run()<\/code> method initializes the application and starts the\nmain loop.<\/p>\n<p>It takes a parameter and uses it to initialize the application. The\n<code>args<\/code> parameter contains the values from the application framework,\nand you must never change their values.<\/p>\n<\/li>\n<li>\n<p>When the <code>Run()<\/code> method is first invoked, the application moves from\nthe ready state to the created state, and must initialize itself.\nDuring this transition, the application framework calls the\napplication's <code>OnCreate()<\/code> state transition method just before the\napplication enters the main loop. Within the method, you must\ninitialize the application resources and create the main window.<\/p>\n<\/li>\n<li>\n<p>Just after the application enters the main loop, the application\nframework calls the application's <code>OnAppControlReceived()<\/code> method.<\/p>\n<p>The reason the application was launched is contained in an instance\nof the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.ReceivedAppControl.md/">Tizen.Applications.ReceivedAppControl/a>/nclass, which is derived from the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl.md/">Tizen.Applications.AppControl/a> class.\nThe application is always responsible for checking the content of\nthe <code>Tizen.Applications.ReceivedAppControl<\/code> instance and\nresponding appropriately. The content of the\n<code>Tizen.Applications.ReceivedAppControl<\/code> instance can be empty if\nthe application is launched by the user from the launcher.<\/p>\n<p>If the application wants to return the result of the application\ncontrol operation to the application that originally sent the launch\nrequest, the result can be sent with the <code>ReplyToLaunchRequest()<\/code>\nmethod of the <code>Tizen.Applications.ReceivedAppControl<\/code> class:<\/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\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnAppControlReceived<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControlReceivedEventArgs<\/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\">ReceivedAppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">receivedAppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> e.ReceivedAppControl;<\/span><\/span>\n<span class=\"line\"><\/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\"> (receivedAppControl.IsReplyRequest)<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">replyRequest<\/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\">AppControl<\/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\"> \/\/\/ Send reply to the caller app<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> receivedAppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ReplyToLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(replyRequest, AppControlReplyResult.Succeeded);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnAppControlReceived<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(e);<\/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><a name=\"results\"><\/a><\/p>\n<h2 id=\"content-launch-results\"><a href=https://samsungtizenos.com/"#content-launch-results\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Launch results<\/h2>\n<p>After the requested application (callee) has been launched and the\nlaunched application has performed the requested operation, the results\nof the operation are delivered back to the application that sent the\noriginal launch request (caller).<\/p>\n<p>The following code example requests the launch of another application\nand sets the <code>AppControlReplyCallback()<\/code> method to get the launch\nresult:<\/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\">public<\/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\">LaunchRequestResultTest<\/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:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">MyAppId<\/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:#032F62;--shiki-dark:#9ECBFF\">"org.tizen.MyApp"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">appCtrl<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> appCtrl.Operation <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlOperations.Default;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> appCtrl.ApplicationId <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> MyAppId;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Set method to get the launch result<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SendLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(appCtrl, AppControlReplyCallback);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p>The results are delivered in an instance of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl.md/">Tizen.Applications.AppControl/a>/ninstance with extra data. For some cases, the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControlData.md/">Tizen.Applications.AppControlData/a>/nprovides predefined extra data keys. If the key you need is not\npredefined, you can create your own key. However, the customized key\nmust be shared between the caller and callee applications.<\/p>\n<p>The following example shows how you can retrieve the results of the\nlaunch request and requested operation by implementing the\n<code>AppControlReplyCallback()<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Method for getting the result<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">static<\/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\">AppControlReplyCallback<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Applications<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">launchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Applications<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">replyRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControlReplyResult<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">result<\/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:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">callerAppId<\/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\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">selected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/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\"> (result <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">>=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlReplyResult.Succeeded)<\/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\"> \/\/\/ Get the value of ExtraData sent by callee<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> callerAppId <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> replyRequest.ExtraData.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">>(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"CallerApplicationId"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> selected <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> replyRequest.ExtraData.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">>(AppControlData.Selected);<\/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>\n<span class=\"line\"><\/span><\/code><\/pre>\n<p><a name=\"export_appcontrol\"><\/a><\/p>\n<h2 id=\"content-application-control-export\"><a href=https://samsungtizenos.com/"#content-application-control-export\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Application control export<\/h2>\n<p>You can allow other applications to launch your application and use your\napplication features through application controls by exporting your\napplication control functionalities. To allow other applications to\nlaunch your application implicitly without the application ID, specify\nyour application control information in Visual Studio.<\/p>\n<p><strong>Figure: Exporting app control<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/"media//app_control_exporting_appcontrol.png/" alt=\"Exporting app control\" \/><\/p>\n<p>The operation, URI, and MIME type information are used when <a href=https://samsungtizenos.com/"#resolution\">resolving\nthe application control<\/a>. The operation information is\nmandatory, while the URI or MIME type information is optional. Any\napplication requesting a launch of your application must either specify\nyour application ID (for an explicit launch) or have the same operation\nvalue and applicable URI and MIME type information (for an implicit\nlaunch).\nYou can define privileges to restrict your application from launching. To launch\nyour application, the caller application must request for launch permission\nby defining privileges in the <code>tizen-manifest.xml<\/code> file.<\/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 URI or MIME type can contain wildcards, such as '*', to\nmatch against given conditions in the application control:<\/p>\n<ul>\n<li>In the MIME type, you can use two types of wildcards: <code>image\/*<\/code> and\n<code>*\/*<\/code>.<\/li>\n<li>In the URI, a more complex pattern of wildcards with similar\nsemantics as the standard <code>glob()<\/code> function is available: '*'\nmatches an arbitrary, possibly empty, string, and '?' matches an\narbitrary character. Unlike in the <code>glob()<\/code> function, the '\/'\ncharacter can be matched by the wildcards. There are no [...]\ncharacter ranges, and the wildcards '*' and '?' cannot be escaped\nto include them literally in a pattern.<\/li>\n<\/ul>\n<\/div>\n<p><a name=\"group\"><\/a><\/p>\n<h2 id=\"content-application-group-management\"><a href=https://samsungtizenos.com/"#content-application-group-management\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Application group management<\/h2>\n<p>You can <a href=https://samsungtizenos.com/"#mode\">define the application launch mode<\/a> and group your applications into entities that can be managed together.<\/p>\n<p>The main application group features include the following:<\/p>\n<ul>\n<li>\n<p>Defining the application launch mode<\/p>\n<p>When an application is launched through an application control, its\nlaunch mode defines its behavior:<\/p>\n<ul>\n<li>The single launch mode means that the application is launched as\na main application (in a new group).<\/li>\n<li>The caller launch mode means that the application is launched as\na sub application belonging to the same group as the caller\napplication that is causing the application to be launched.<\/li>\n<\/ul>\n<p>You can set the application launch mode <a href=https://samsungtizenos.com/"..//vstools//tools//manifest-editor.md#launch_mode\">in the manifest\nfile<\/a>\nusing the <code>launch_mode<\/code> attribute of the <code><ui-application><\/code> element.\nIf the launch mode is set to <code>caller<\/code>, the application that calls\nthe application control can define the launch mode for the called\napplication using the <code>LaunchMode<\/code> property. However, if the called\napplication has set its launch mode in its manifest file to\n<code>single<\/code>, that setting overrides the caller application's launch\nmode request.<\/p>\n<\/li>\n<li>\n<p>Managing the application group<\/p>\n<p>Applications in the same group act as if they are in 1 stack. For\nexample, if application A wants to send an email using email\napplication B, application A can launch email application B,\nmaking email application B a sub application in the same group\nas application A. When both applications are running, and the\nuser presses the home button, both applications are hidden. When the\nuser later resumes the caller application (application A), the email\napplication B is shown on top of the caller application.<\/p>\n<p>If an application is launched in a group, it can be terminated by\nthe main (first) application in the group. If the main application\nis terminated or killed, the sub applications in the group are\nterminated automatically (they can be terminated by the framework\neven if they are hidden).<\/p>\n<p><strong>Figure: Group behavior<\/strong><\/p>\n<p><img src=https://samsungtizenos.com/"media//app_control_app_group_behavior.png/" alt=\"Group behavior\" \/><\/p>\n<\/li>\n<\/ul>\n<h2 id=\"content-prerequisites\"><a href=https://samsungtizenos.com/"#content-prerequisites\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Prerequisites<\/h2>\n<p>To enable your application to use the application control functionality, follow these steps:<\/p>\n<ol>\n<li>\n<p>To use application controls, the application has to request\npermission by adding the following privilege to the\n<code>tizen-manifest.xml<\/code> file:<\/p>\n<code class=\"language-XML\"><privileges>\n <privilege>http:\/\/tizen.org\/privilege\/appmanager.launch<\/privilege>\n<\/privileges>\n<\/code>\n<\/li>\n<li>\n<p>To use the methods and data types of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.md/">Tizen.Applications/a>/nnamespace, include it in your application:<\/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\">using<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Applications<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"use\"><\/a><\/p>\n<h2 id=\"content-launch-applications-using-extra-data\"><a href=https://samsungtizenos.com/"#content-launch-applications-using-extra-data\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Launch applications using extra data<\/h2>\n<p>To run a specific application control with some preconfigured parameters, follow these steps:<\/p>\n<ol>\n<li>\n<p>Prepare the application control:<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">appControl<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>When the instance of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl.md/">Tizen.Applications.AppControl/a>/nclass is created, set the operation and MIME type. In this example,\nthe application control launches an application that has the\n<code>AppControlOperations.View<\/code> operation and the <code>image\/jpeg<\/code>\nMIME type.<\/p>\n<p>The <code>Operation<\/code> property is mandatory information for the\nlaunch request. If the operation is not specified,\n<code>AppControlOperations.Default<\/code> is used for the launch request:<\/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\">appControl.Operation <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlOperations.View;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appControl.Mime <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"image\/jpeg"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Add extra data to the <code>Tizen.Applications.AppControl<\/code> instance by\nusing the <code>ExtraData<\/code> property and the <code>Add()<\/code> method of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl.ExtraDataCollection.md/">Tizen.Applications.AppControl.ExtraDataCollection/a> class.\nIn the following example, a message is added as extra data:<\/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\">appControl.ExtraData.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Add<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"MyKey"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"My Message"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>Launch the <code>Tizen.Applications.AppControl<\/code> instance with the\n<code>SendLaunchRequest()<\/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\">AppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SendLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(appControl, AppControlReplyCallback);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<li>\n<p>In the launched application, read the extra data added to the\napplication control by using the <code>ExtraData<\/code> property of the\n<a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.ReceivedAppControl.md/">Tizen.Applications.ReceivedAppControl/a>/nclass instance and the <code>Get()<\/code> method of the\n<code>Tizen.Applications.ExtraDataCollection<\/code> class. The same property\nand method can be used in the original application to read the reply\nmessage, when the application control reply is returned:<\/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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Callee application<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">protected<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">override<\/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\">OnAppControlReceived<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControlReceivedEventArgs<\/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:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">message<\/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:#6F42C1;--shiki-dark:#B392F0\">ReceivedAppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">receivedAppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> e.ReceivedAppControl;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#6A737D;--shiki-dark:#6A737D\"> \/\/\/ Get ExtraData coming from caller application<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> message <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> receivedAppControl.ExtraData.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">>(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"MyKey"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">);<\/span><\/span>\n<span class=\"line\"><\/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\"> (receivedAppControl.IsReplyRequest)<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">replyRequest<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> replyRequest.ExtraData.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Add<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"ReplyKey"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"Reply message"<\/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\"> \/\/\/ Send reply to the caller application<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> receivedAppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">ReplyToLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(replyRequest, AppControlReplyResult.Succeeded);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#005CC5;--shiki-dark:#79B8FF\">base<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">OnAppControlReceived<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(e);<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\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:#6A737D;--shiki-dark:#6A737D\">\/\/\/ Caller application<\/span><\/span>\n<span class=\"line\"><span style=\"color:#D73A49;--shiki-dark:#F97583\">static<\/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\">AppControlReplyCallback<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Applications<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">launchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Tizen<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Applications<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">replyRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">, <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">AppControlReplyResult<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">result<\/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:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">receivedMessage<\/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\">(result <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">>=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlReplyResult.Succeeded)<\/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\"> receivedMessage <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> replyRequest.ExtraData.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">Get<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"><<\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">string<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">>(<\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"ReplyKey"<\/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>\n<span class=\"line\"><\/span><\/code><\/pre>\n<\/li>\n<\/ol>\n<p><a name=\"mode\"><\/a><\/p>\n<h2 id=\"content-control-the-launch-mode\"><a href=https://samsungtizenos.com/"#content-control-the-launch-mode\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Control the launch mode<\/h2>\n<p>The following code sets the application control in the caller application to launch a sub application within the same group:<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">appControl<\/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\">AppControl<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">();<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appControl.ApplicationId <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> <\/span><span style=\"color:#032F62;--shiki-dark:#9ECBFF\">"org.tizen.TestApp"<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">appControl.LaunchMode <\/span><span style=\"color:#D73A49;--shiki-dark:#F97583\">=<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\"> AppControlLaunchMode.Group;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">AppControl.<\/span><span style=\"color:#6F42C1;--shiki-dark:#B392F0\">SendLaunchRequest<\/span><span style=\"color:#24292E;--shiki-dark:#E1E4E8\">(appControl);<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre>\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<li>API References\n<ul>\n<li><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControl/">Tizen.Applications.AppControl/a> class<\/li>\n<li><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControlOperations/">Tizen.Applications.AppControlOperations/a> class<\/li>\n<li><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.ReceivedAppControl/">Tizen.Applications.ReceivedAppControl/a> class<\/li>\n<li><a href=https://samsungtizenos.com/"//application//dotnet//api//TizenFX//latest//api//Tizen.Applications.AppControlData/">Tizen.Applications.AppControlData/a> class<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-launch-types\">Launch types<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-launch-requests\">Launch requests<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-explicit-launch-request\">Explicit launch request<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-implicit-launch-request\">Implicit launch request<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-determine-the-application-for-an-implicit-launch-request\">Determine the application for an implicit launch request<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-launch-process\">Launch process<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-launch-results\">Launch results<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-application-control-export\">Application control export<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-application-group-management\">Application group management<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-prerequisites\">Prerequisites<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-launch-applications-using-extra-data\">Launch applications using extra data<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-control-the-launch-mode\">Control the launch mode<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-related-information\">Related information<\/a><\/li>\n<\/ul>\n","title":"Application Controls","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"sDt5WYjkMNhDYnxwCqUJ","name":"documentation::article","path":"docs\/application\/dotnet\/guides\/exchange-data-between-apps\/app-controls","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"643d6faf673d00a6b56e17986d7291b78335f02a8e2da69a9689e5501cce73a3"}" wire:effects="[]" wire:id="sDt5WYjkMNhDYnxwCqUJ" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtYXBwbGljYXRpb24tY29udHJvbHNcIj48YSBocmVmPVwiI2NvbnRlbnQtYXBwbGljYXRpb24tY29udHJvbHNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkFwcGxpY2F0aW9uIENvbnRyb2xzPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbjxwPkFuIGFwcGxpY2F0aW9uIGNvbnRyb2wgKGFwcCBjb250cm9sKSBpcyBhIHdheSBvZiBzaGFyaW5nIGFuXG5hcHBsaWNhdGlvbidzIGZ1bmN0aW9uYWxpdHkgd2l0aCBvdGhlciBhcHBsaWNhdGlvbnMuIFVzaW5nIGFub3RoZXJcbmFwcGxpY2F0aW9uJ3MgZmVhdHVyZXMgdGhyb3VnaCBhcHBsaWNhdGlvbiBjb250cm9scyByZWR1Y2VzIHRoZSB0aW1lIGFuZFxuZWZmb3J0IG5lZWRlZCB0byBkZXZlbG9wIHlvdXIgYXBwbGljYXRpb24uPFwvcD5cbjxwPkFuIGFwcGxpY2F0aW9uIGNhbiBiZSBsYXVuY2hlZCBieSB0aGUgdXNlciBmcm9tIHRoZSBsYXVuY2hlciBvciBieVxuYW5vdGhlciBhcHBsaWNhdGlvbiB0aHJvdWdoIHRoZSBhcHBsaWNhdGlvbiBjb250cm9sLiBUaGUgYXBwbGljYXRpb25cbmNvbnRyb2wgbGF1bmNoIHJlcXVlc3QgZGVzY3JpYmVzIGVpdGhlciBhbiBhY3Rpb24gdG8gYmUgcGVyZm9ybWVkIGJ5XG5vdGhlciBhcHBsaWNhdGlvbnMsIG9yIHRoZSByZXN1bHRzIG9mIHRoYXQgYWN0aW9uLiBUaGUgYXBwbGljYXRpb24gY2FuXG5hbHNvIHJlY2VpdmUgcmVzdWx0cyBmcm9tIHRoZSBsYXVuY2hlZCBhcHBsaWNhdGlvbiB0aHJvdWdoIGFuXG5hcHBsaWNhdGlvbiBjb250cm9sIHJlcGx5LjxcL3A+XG48cD5UaGUgbWFpbiBhcHBsaWNhdGlvbiBjb250cm9sIGZlYXR1cmVzIGFyZSBkZXNjcmliZWQgYmVsb3c6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPlJlcXVlc3RpbmcgYXBwbGljYXRpb24gbGF1bmNoZXM8XC9wPlxuPHA+WW91IGNhbiA8YSBocmVmPVwiI3JlcXVlc3RcIj5jcmVhdGUgYXBwbGljYXRpb24gY29udHJvbCBsYXVuY2ggcmVxdWVzdHM8XC9hPiB0b1xuYXNrIHRoZSBwbGF0Zm9ybSB0byBsYXVuY2ggYW4gYXBwbGljYXRpb24gdG8gcGVyZm9ybSBhIHNwZWNpZmljIHRhc2tcbmZvciB5b3UuPFwvcD5cbjxwPllvdSBjYW4gdXNlIGRpZmZlcmVudCA8YSBocmVmPVwiI2xhdW5jaFwiPmxhdW5jaCB0eXBlczxcL2E+IChpbXBsaWNpdCBvclxuZXhwbGljaXQpLCBkZXBlbmRpbmcgb24gd2hldGhlciB5b3Uga25vdyB0aGUgZXhhY3QgYXBwbGljYXRpb24geW91XG53YW50IHRvIGxhdW5jaC4gV2hlbiB5b3UgbWFrZSBhbiBpbXBsaWNpdCBsYXVuY2ggcmVxdWVzdCwgdGhlXG5wbGF0Zm9ybSB1c2VzIHRoZSBjb25kaXRpb25zIGluIHRoZSBsYXVuY2ggcmVxdWVzdCB0byBkZXRlcm1pbmVcbndoaWNoIGFwcGxpY2F0aW9uIGNhbiBiZSBsYXVuY2hlZCB0byBoYW5kbGUgdGhlIHJlcXVlc3RlZCB0YXNrLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPkxhdW5jaGluZyBhbiBhcHBsaWNhdGlvbiBkdWUgdG8gYSBsYXVuY2ggcmVxdWVzdDxcL3A+XG48cD5BZnRlciB0aGUgcGxhdGZvcm0gaGFzIGZvdW5kIHRoZSBjb3JyZWN0IGFwcGxpY2F0aW9uIHRvIGxhdW5jaCwgdGhlXG5hcHBsaWNhdGlvbiBpcyBhY3RpdmF0ZWQgdGhyb3VnaCB0aGUgPGEgaHJlZj1cIiNwcm9jZXNzXCI+bGF1bmNoIHByb2Nlc3M8XC9hPiwgYW5kXG5jYW4gcGVyZm9ybSB0aGUgdGFzayB0aGUgb3JpZ2luYWwgYXBwbGljYXRpb24gaGFzIHJlcXVlc3RlZC4gQWZ0ZXJcbnRoZSB0YXNrIGlzIGNvbXBsZXRlZCwgdGhlIGxhdW5jaGVkIGFwcGxpY2F0aW9uIGNhbiBzZW5kIHRoZSByZXN1bHRzXG5iYWNrIHRvIHRoZSBvcmlnaW5hbCBhcHBsaWNhdGlvbi48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5IYW5kbGluZyBhcHBsaWNhdGlvbiBjb250cm9sIGxhdW5jaCByZXN1bHRzPFwvcD5cbjxwPldoZW4gdGhlIGxhdW5jaGVkIGFwcGxpY2F0aW9uIGlzIGZpbmlzaGVkIHdpdGggaXRzIHRhc2sgYW5kIGhhcyBzZW50XG5iYWNrIHRoZSByZXN1bHRzLCB5b3UgY2FuIDxhIGhyZWY9XCIjcmVzdWx0c1wiPnJlY2VpdmUgdGhvc2UgcmVzdWx0czxcL2E+IGluIHlvdXJcbmFwcGxpY2F0aW9uIGFuZCBoYW5kbGUgdGhlbSBhY2NvcmRpbmdseS48XC9wPlxuPFwvbGk+XG48bGk+XG48cD5FeHBvcnRpbmcgYXBwbGljYXRpb24gY29udHJvbHM8XC9wPlxuPHA+WW91IGNhbiA8YSBocmVmPVwiI2V4cG9ydF9hcHBjb250cm9sXCI+YWxsb3cgb3RoZXIgYXBwbGljYXRpb25zIHRvIGxhdW5jaCB5b3VyIGFwcGxpY2F0aW9uIGFuZCB1c2VcbnlvdXIgZnVuY3Rpb25hbGl0aWVzPFwvYT4gYnkgZXhwb3J0aW5nIHlvdXJcbmFwcGxpY2F0aW9uIGZlYXR1cmVzIGFzIGFwcGxpY2F0aW9uIGNvbnRyb2xzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPkNvbnRyb2xsaW5nIGFwcGxpY2F0aW9uIGdyb3VwcyB0aHJvdWdoIHRoZSBsYXVuY2ggbW9kZTxcL3A+XG48cD5Zb3UgY2FuIDxhIGhyZWY9XCIjZ3JvdXBcIj5zZXQgdGhlIGxhdW5jaCBtb2RlPFwvYT4gd2hlbiBsYXVuY2hpbmcgYW4gYXBwbGljYXRpb25cbnRocm91Z2ggYW4gYXBwbGljYXRpb24gY29udHJvbC4gVGhlIGxhdW5jaCBtb2RlIGRldGVybWluZXMgd2hldGhlclxudGhlIGFwcGxpY2F0aW9uIGlzIGxhdW5jaGVkIGluIGl0cyBvd24gZ3JvdXAsIG9yIGFzIGEgc3ViXG5hcHBsaWNhdGlvbiB3aXRoaW4gYW4gZXhpc3RpbmcgZ3JvdXAuPFwvcD5cbjxcL2xpPlxuPFwvdWw+XG48cD48YSBuYW1lPVwibGF1bmNoXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1sYXVuY2gtdHlwZXNcIj48YSBocmVmPVwiI2NvbnRlbnQtbGF1bmNoLXR5cGVzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5MYXVuY2ggdHlwZXM8XC9oMj5cbjxwPlRvIGxhdW5jaCBhbiBhcHBsaWNhdGlvbiB1c2luZyBhcHBsaWNhdGlvbiBjb250cm9sLCB1c2UgdGhlIDIgZGlmZmVyZW50IGxhdW5jaCB0eXBlcyBkZXNjcmliZWQgYmVsb3c6PFwvcD5cbjx1bD5cbjxsaT5cbjxwPkV4cGxpY2l0IGxhdW5jaDxcL3A+XG48cD5FeHBsaWNpdCBsYXVuY2ggbWVhbnMgdGhhdCB5b3UgbGF1bmNoIGEgc3BlY2lmaWMgYXBwbGljYXRpb24gd2l0aFxudGhlIGFwcGxpY2F0aW9uIElELiBXaGVuIHlvdSA8YSBocmVmPVwiI2V4cGxpY2l0XCI+cmVxdWVzdCBhbiBleHBsaWNpdFxubGF1bmNoPFwvYT46PFwvcD5cbjx1bD5cbjxsaT5JZiB0aGUgdW5kZXJseWluZyBhcHBsaWNhdGlvbiBsYXVuY2hlciBmcmFtZXdvcmsgZmluZHMgYW5cbmFwcGxpY2F0aW9uIG1hdGNoZWQgd2l0aCB0aGUgZ2l2ZW4gYXBwbGljYXRpb24gSUQgaW4gdGhlXG5pbnN0YWxsZWQgYXBwbGljYXRpb24gbGlzdCwgaXQgbGF1bmNoZXMgdGhlIGFwcGxpY2F0aW9uIGluIGFcbm5ldyBwcm9jZXNzLiBJZiB0aGUgbWF0Y2hlZCBhcHBsaWNhdGlvbiBpcyBub3QgZm91bmQsIHRoZVxuPGNvZGU+QXBwTm90Rm91bmRFeGNlcHRpb248XC9jb2RlPiBvY2N1cnMuIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gKHN1Y2ggYXNcbm9wZXJhdGlvbiwgVVJJLCBvciBNSU1FIHR5cGUpIGlzIG5vdCB1c2VkIHRvIHNlbGVjdCBhblxuYXBwbGljYXRpb24gZm9yIGFuIGV4cGxpY2l0IGxhdW5jaC48XC9saT5cbjxsaT5JZiB0aGUgPGNvZGU+T3BlcmF0aW9uPFwvY29kZT4gcHJvcGVydHkgb2YgYVxuPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2wubWRcIj5UaXplbi5BcHBsaWNhdGlvbnMuQXBwQ29udHJvbDxcL2E+XG5pbnN0YW5jZSBpcyBzZXQgdG8gPGNvZGU+QXBwQ29udHJvbE9wZXJhdGlvbnMuRGVmYXVsdDxcL2NvZGU+LCB0aGVcbmFwcGxpY2F0aW9uIElEIG11c3QgYmUgc2V0LiBPdGhlcndpc2UgdGhlXG48Y29kZT5Bcmd1bWVudEV4Y2VwdGlvbjxcL2NvZGU+IG9jY3Vycy48XC9saT5cbjxcL3VsPlxuPGRpdiBjbGFzcz1cIm1kLWFsZXJ0IG1kLWFsZXJ0LW5vdGVcIj5cbjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOlwvXC93d3cudzMub3JnXC8yMDAwXC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wIDhhOCA4IDAgMSAxIDE2IDBBOCA4IDAgMCAxIDAgOFptOC02LjVhNi41IDYuNSAwIDEgMCAwIDEzIDYuNSA2LjUgMCAwIDAgMC0xM1pNNi41IDcuNzVBLjc1Ljc1IDAgMCAxIDcuMjUgN2gxYS43NS43NSAwIDAgMSAuNzUuNzV2Mi43NWguMjVhLjc1Ljc1IDAgMCAxIDAgMS41aC0yYS43NS43NSAwIDAgMSAwLTEuNWguMjV2LTJoLS4yNWEuNzUuNzUgMCAwIDEtLjc1LS43NVpNOCA2YTEgMSAwIDEgMSAwLTIgMSAxIDAgMCAxIDAgMlpcIlwvPjxcL3N2Zz5Ob3RlPFwvc3Bhbj5cbjxwPkJlIGNhcmVmdWwgd2hlbiB1c2luZyB0aGUgZXhwbGljaXQgbGF1bmNoLCBiZWNhdXNlIGlmIHRoZVxudGFyZ2V0IGFwcGxpY2F0aW9uIGRvZXMgbm90IGV4aXN0IG9uIHRoZSBkZXZpY2UsIHlvdSBuZWVkIHRvIGhhbmRsZVxudGhlIDxjb2RlPkFwcE5vdEZvdW5kRXhjZXB0aW9uPFwvY29kZT4uIElmIHlvdSB3YW50IHRvIGxhdW5jaCBhbnkgYXBwbGljYXRpb25cbnRoYXQgc3VwcG9ydHMgYSBjZXJ0YWluIG9wZXJhdGlvbiwgdXNlIHRoZSBpbXBsaWNpdCBsYXVuY2guPFwvcD5cbjxcL2Rpdj5cbjxcL2xpPlxuPGxpPlxuPHA+SW1wbGljaXQgbGF1bmNoPFwvcD5cbjxwPkltcGxpY2l0IGxhdW5jaCBtZWFucyB0aGF0IHlvdSBsYXVuY2ggYW55IGFwcGxpY2F0aW9uIHdoaWNoIG1hdGNoZXNcbnRoZSBvcGVyYXRpb24sIFVSSSAob3Igc2NoZW1lKSwgb3IgTUlNRSB0eXBlIHlvdSBuZWVkLiBXaGVuIHlvdVxuPGEgaHJlZj1cIiNpbXBsaWNpdFwiPnJlcXVlc3QgYW4gaW1wbGljaXQgbGF1bmNoPFwvYT46PFwvcD5cbjx1bD5cbjxsaT5UbyBkZXRlcm1pbmUgd2hpY2ggYXBwbGljYXRpb24gY2FuIGJlIGxhdW5jaGVkLCB0aGUgYXBwbGljYXRpb25cbmxhdW5jaGVyIGZyYW1ld29yayBjb21wYXJlcyB0aGUgb3BlcmF0aW9uLCBVUkksIGFuZCBNSU1FXG50eXBlIGNvbmRpdGlvbnMuPFwvbGk+XG48bGk+VGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVyIGZyYW1ld29yayBpdGVyYXRlcyB0aGUgYXBwbGljYXRpb25cbmNvbnRyb2xzIG9mIGFsbCBhcHBsaWNhdGlvbnMgb24gdGhlIGRldmljZSB0byA8YSBocmVmPVwiI3Jlc29sdXRpb25cIj5maW5kIHRoZVxuYXBwbGljYXRpb25zIHRoYXQgbWF0Y2g8XC9hPiB0aGUgZ2l2ZW4gY29uZGl0aW9ucy48XC9saT5cbjxsaT5JZiBvbmx5IDEgYXBwbGljYXRpb24gaXMgbWF0Y2hlZCBmb3IgdGhlIGdpdmVuIGNvbmRpdGlvbnMsIHRoYXRcbmFwcGxpY2F0aW9uIGlzIGxhdW5jaGVkLiBJZiBtdWx0aXBsZSBtYXRjaGluZyBhcHBsaWNhdGlvbnMgYXJlXG5mb3VuZCwgdGhlIGFwcGxpY2F0aW9uIHNlbGVjdG9yIGlzIHNob3duIGFuZCB0aGUgdXNlciBjYW4gc2VsZWN0XG50aGUgcHJvcGVyIGFwcGxpY2F0aW9uLjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxcL3VsPlxuPHA+PGEgbmFtZT1cInJlcXVlc3RcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWxhdW5jaC1yZXF1ZXN0c1wiPjxhIGhyZWY9XCIjY29udGVudC1sYXVuY2gtcmVxdWVzdHNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkxhdW5jaCByZXF1ZXN0czxcL2gyPlxuPHA+VG8gbGF1bmNoIGFuIGFwcGxpY2F0aW9uIHdpdGggdGhlIGFwcGxpY2F0aW9uIGNvbnRyb2wsIHlvdSBtdXN0IGNyZWF0ZSBhXG5sYXVuY2ggcmVxdWVzdC4gWW91IG11c3QgY3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoZVxuPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2wubWRcIj5UaXplbi5BcHBsaWNhdGlvbnMuQXBwQ29udHJvbDxcL2E+XG5jbGFzcywgYW5kIGFkZCB0aGUgY29uZGl0aW9ucyBmb3Igc2VsZWN0aW5nIHRoZSBhcHBsaWNhdGlvbiB0byBiZVxubGF1bmNoZWQuIFlvdSBjYW4gYWRkIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gdG8gdGhlIGluc3RhbmNlOjxcL3A+XG48dWw+XG48bGk+XG48cD48Y29kZT5PcGVyYXRpb248XC9jb2RlPjogQWN0aW9uIHRvIGJlIHBlcmZvcm1lZCBieSB0aGUgbGF1bmNoZWQgYXBwbGljYXRpb24uPFwvcD5cbjxkaXYgY2xhc3M9XCJtZC1hbGVydCBtZC1hbGVydC1ub3RlXCI+XG48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDpcL1wvd3d3LnczLm9yZ1wvMjAwMFwvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCA4YTggOCAwIDEgMSAxNiAwQTggOCAwIDAgMSAwIDhabTgtNi41YTYuNSA2LjUgMCAxIDAgMCAxMyA2LjUgNi41IDAgMCAwIDAtMTNaTTYuNSA3Ljc1QS43NS43NSAwIDAgMSA3LjI1IDdoMWEuNzUuNzUgMCAwIDEgLjc1Ljc1djIuNzVoLjI1YS43NS43NSAwIDAgMSAwIDEuNWgtMmEuNzUuNzUgMCAwIDEgMC0xLjVoLjI1di0yaC0uMjVhLjc1Ljc1IDAgMCAxLS43NS0uNzVaTTggNmExIDEgMCAxIDEgMC0yIDEgMSAwIDAgMSAwIDJaXCJcLz48XC9zdmc+Tm90ZTxcL3NwYW4+XG48cD5UaGUgb3BlcmF0aW9uIG5hbWUgZm9ybWF0IGlzXG48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvJmx0O3ZlcmImZ3Q7PFwvY29kZT4uIFlvdSBjYW4gYWxzbyB1c2UgYW5cbmluc3RhbmNlIG9mIHRoZVxuPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xPcGVyYXRpb25zLm1kXCI+VGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xPcGVyYXRpb25zPFwvYT4gY2xhc3MuPFwvcD5cbjxcL2Rpdj5cbjxwPlRoZSBvcGVyYXRpb24gaXMgbWFuZGF0b3J5IGluZm9ybWF0aW9uIGZvciBzZW5kaW5nIHRoZVxubGF1bmNoIHJlcXVlc3QuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+PGNvZGU+VXJpPFwvY29kZT46IERhdGEgaXRzZWxmIHRvIGJlIHBlcmZvcm1lZC48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48Y29kZT5NaW1lPFwvY29kZT46IFNwZWNpZmljIHR5cGUgb2YgdGhlIFVSSS48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48Y29kZT5BcHBsaWNhdGlvbklkPFwvY29kZT46IElEIG9mIHRoZSBhcHBsaWNhdGlvbiB0byBiZSBsYXVuY2hlZC48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48Y29kZT5FeHRyYURhdGE8XC9jb2RlPjogS2V5LXZhbHVlIHBhaXJzIHRvIDxhIGhyZWY9XCIjdXNlXCI+cHJvdmlkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvclxudGhlIGxhdW5jaCByZXF1ZXN0IGFuZCBsYXVuY2ggcmVzdWx0PFwvYT4uPFwvcD5cbjxcL2xpPlxuPFwvdWw+XG48cD48YSBuYW1lPVwiZXhwbGljaXRcIj48XC9hPjxcL3A+XG48aDMgaWQ9XCJjb250ZW50LWV4cGxpY2l0LWxhdW5jaC1yZXF1ZXN0XCI+PGEgaHJlZj1cIiNjb250ZW50LWV4cGxpY2l0LWxhdW5jaC1yZXF1ZXN0XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5FeHBsaWNpdCBsYXVuY2ggcmVxdWVzdDxcL2gzPlxuPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIGhvdyB0byBjcmVhdGUgYW4gZXhwbGljaXQgbGF1bmNoIHJlcXVlc3RcbndoaWNoIGxhdW5jaGVzIGFuIGFwcGxpY2F0aW9uIGV4cGxpY2l0bHkgYnkgc2V0dGluZyB0aGUgPGNvZGU+QXBwbGljYXRpb25JZDxcL2NvZGU+XG5wcm9wZXJ0eSBvZiB0aGVcbjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sLm1kXCI+VGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2w8XC9hPlxuY2xhc3MgaW5zdGFuY2U6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5hcHBjb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5hcHBjb250cm9sLk9wZXJhdGlvbiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBBcHBDb250cm9sT3BlcmF0aW9ucy5EZWZhdWx0OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmFwcGNvbnRyb2wuQXBwbGljYXRpb25JZCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O29yZy50aXplbi5UZXN0QXBwJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkFwcENvbnRyb2wuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZW5kTGF1bmNoUmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGFwcGNvbnRyb2wpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5JZiB5b3Ugd2FudCB0byBsYXVuY2ggYW4gQXBwQ29udHJvbCBhc3luY2hyb25vdXNseSwgdXNlIFNlbmRMYXVuY2hSZXF1ZXN0QXN5bmMoKS48XC9wPlxuPHA+PGEgbmFtZT1cImltcGxpY2l0XCI+PFwvYT48XC9wPlxuPGgzIGlkPVwiY29udGVudC1pbXBsaWNpdC1sYXVuY2gtcmVxdWVzdFwiPjxhIGhyZWY9XCIjY29udGVudC1pbXBsaWNpdC1sYXVuY2gtcmVxdWVzdFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+SW1wbGljaXQgbGF1bmNoIHJlcXVlc3Q8XC9oMz5cbjxwPlRoZSBmb2xsb3dpbmcgZXhhbXBsZXMgc2hvdyBob3cgdG8gY3JlYXRlIGFuIGltcGxpY2l0IGxhdW5jaCByZXF1ZXN0OjxcL3A+XG48dWw+XG48bGk+XG48cD5UbyBsYXVuY2ggYSBjYW1lcmEgYXBwbGljYXRpb24gd2l0aCBhIHNwZWNpZmljIG9wZXJhdGlvbiBhbmQgTUlNRVxudHlwZSwgdXNlIHRoZSBmb2xsb3dpbmcgY29kZTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFwcGNvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmFwcGNvbnRyb2wuT3BlcmF0aW9uIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEFwcENvbnRyb2xPcGVyYXRpb25zLkNyZWF0ZUNvbnRlbnQ7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXBwY29udHJvbC5NaW1lIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7aW1hZ2VcL2pwZyZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5BcHBDb250cm9sLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2VuZExhdW5jaFJlcXVlc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihhcHBjb250cm9sKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5UbyBsYXVuY2ggYSB2aWV3ZXIgYXBwbGljYXRpb24gd2l0aCBhIHNwZWNpZmljIG9wZXJhdGlvbiwgVVJJLCBhbmRcbk1JTUUgdHlwZSwgdXNlIHRoZSBmb2xsb3dpbmcgY29kZTo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFwcGNvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPmFwcGNvbnRyb2wuT3BlcmF0aW9uIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEFwcENvbnRyb2xPcGVyYXRpb25zLlZpZXc7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXBwY29udHJvbC5NaW1lIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7aW1hZ2VcLyomcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5hcHBjb250cm9sLlVyaSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O2ZpbGU6XC9cL1wvaG9tZVwvbXlob21lXC9QaG90b3NcLzFfcGhvdG8uanBnJnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkFwcENvbnRyb2wuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZW5kTGF1bmNoUmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGFwcGNvbnRyb2wpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL3VsPlxuPHA+PGEgbmFtZT1cInJlc29sdXRpb25cIj48XC9hPjxcL3A+XG48aDMgaWQ9XCJjb250ZW50LWRldGVybWluZS10aGUtYXBwbGljYXRpb24tZm9yLWFuLWltcGxpY2l0LWxhdW5jaC1yZXF1ZXN0XCI+PGEgaHJlZj1cIiNjb250ZW50LWRldGVybWluZS10aGUtYXBwbGljYXRpb24tZm9yLWFuLWltcGxpY2l0LWxhdW5jaC1yZXF1ZXN0XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EZXRlcm1pbmUgdGhlIGFwcGxpY2F0aW9uIGZvciBhbiBpbXBsaWNpdCBsYXVuY2ggcmVxdWVzdDxcL2gzPlxuPHA+SW4gdGhlIGNhc2Ugb2YgYW4gaW1wbGljaXQgbGF1bmNoLCB0aGUgcGxhdGZvcm0gZGV0ZXJtaW5lcyB3aGljaFxuYXBwbGljYXRpb24gdG8gbGF1bmNoIGJ5ICZxdW90O3Jlc29sdmluZyB0aGUgYXBwbGljYXRpb24gY29udHJvbCZxdW90Oy4gVGhpcyBtZWFuc1xudGhhdCB0aGUgcGxhdGZvcm0gY29uc2lkZXJzIHRoZSBnaXZlbiBjb25kaXRpb25zIChvcGVyYXRpb24sIFVSSSwgYW5kXG5NSU1FIHR5cGUpIGluIHRoZSBsYXVuY2ggcmVxdWVzdCwgc2VhcmNoZXMgdGhlIGZpbHRlcnMgKGluc3RhbGxlZFxuYXBwbGljYXRpb25zIHdpdGggYXZhaWxhYmxlIGFwcGxpY2F0aW9uIGNvbnRyb2xzKSBvbiB0aGUgZGV2aWNlLCBhbmRcbmF0dGVtcHRzIHRvIGZpbmQgYSBtYXRjaC48XC9wPlxuPHA+VGhlIGxhdW5jaCByZXF1ZXN0IGNvbmRpdGlvbnMgYXJlIG1hdGNoZWQgdG8gdGhlIGF2YWlsYWJsZSBmaWx0ZXJzIHVzaW5nXG50aGUgZm9sbG93aW5nIGxvZ2ljOjxcL3A+XG48b2w+XG48bGk+XG48cD5UaGUgb3BlcmF0aW9uIHZhbHVlIGlzIG1hdGNoZWQgZmlyc3QuIEFuIGV4YWN0IG1hdGNoIGlzIHJlcXVpcmVkIGZvclxudGhlIHZhbHVlIGluIGJvdGggdGhlIGxhdW5jaCByZXF1ZXN0IGFuZCB0aGUgZmlsdGVycy48XC9wPlxuPHA+SWYgbXVsdGlwbGUgbWF0Y2hpbmcgZmlsdGVycyB3aXRoIGlkZW50aWNhbCBvcGVyYXRpb25zIGFyZVxuYXZhaWxhYmxlLCB0aGUgVVJJIGFuZCBNSU1FIHR5cGVzIGluIHRoZSBtYXRjaGluZyBmaWx0ZXJzXG5hcmUgY29tcGFyZWQuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+SWYgdGhlIGxhdW5jaCByZXF1ZXN0IGhhcyBVUkkgb3IgTUlNRSB0eXBlcyBhcyBhIGNvbmRpdGlvbiwgdGhlXG5jb21wYXJpc29uIGlzIGRvbmUgb25seSBhbW9uZyB0aGUgZmlsdGVycyB0aGF0IGhhdmUgVVJJIG9yXG5NSU1FIHR5cGVzLiBGb3IgZXhhbXBsZSwgaWYgdGhlIGxhdW5jaCByZXF1ZXN0IGhhcyBhIFVSSSwgYnV0IGFcbmZpbHRlciBkb2VzIG5vdCwgdGhhdCBmaWx0ZXIgaXMgbm90IGFkZGVkIHRvIHRoZSByZXN1bHQgZXZlbiBpZiB0aGVcbm9wZXJhdGlvbnMgYXJlIHRoZSBzYW1lLiBTaW1pbGFybHksIGlmIHRoZSBsYXVuY2ggcmVxdWVzdCBoYXMgTUlNRVxudHlwZXMsIGl0IGlzIG5vdCBjb21wYXJlZCB0byB0aGUgZmlsdGVycyB0aGF0IGhhdmUgbm8gTUlNRSB0eXBlcy48XC9wPlxuPHA+QW4gZXhjZXB0aW9uIGlzIGFwcGxpZWQgdG8gdGhlIFVSSXMgd2l0aCBhICZxdW90O2ZpbGUmcXVvdDsgc2NoZW1lIGZvclxudGhlIHZhbHVlLiBJZiB0aGUgbGF1bmNoIHJlcXVlc3QgVVJJIGNvbnRhaW5zIGFuIGV4aXN0aW5nIGZpbGUgcGF0aFxuYW5kIG5vIE1JTUUgdHlwZXMgYXJlIHN1cHBsaWVkLCB0aGUgZmlsdGVycyB0aGF0IGhhdmUgdGhlIE1JTUUgdHlwZVxub2YgdGhlIGdpdmVuIGZpbGUgcGF0aCBhcmUgYWxzbyBhZGRlZCB0byB0aGUgcmVzdWx0cy48XC9wPlxuPGRpdiBjbGFzcz1cIm1kLWFsZXJ0IG1kLWFsZXJ0LW5vdGVcIj5cbjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOlwvXC93d3cudzMub3JnXC8yMDAwXC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wIDhhOCA4IDAgMSAxIDE2IDBBOCA4IDAgMCAxIDAgOFptOC02LjVhNi41IDYuNSAwIDEgMCAwIDEzIDYuNSA2LjUgMCAwIDAgMC0xM1pNNi41IDcuNzVBLjc1Ljc1IDAgMCAxIDcuMjUgN2gxYS43NS43NSAwIDAgMSAuNzUuNzV2Mi43NWguMjVhLjc1Ljc1IDAgMCAxIDAgMS41aC0yYS43NS43NSAwIDAgMSAwLTEuNWguMjV2LTJoLS4yNWEuNzUuNzUgMCAwIDEtLjc1LS43NVpNOCA2YTEgMSAwIDEgMSAwLTIgMSAxIDAgMCAxIDAgMlpcIlwvPjxcL3N2Zz5Ob3RlPFwvc3Bhbj5cbjxwPkEgZmlsdGVyIChhcHBsaWNhdGlvbikgdGhhdCBleHBlY3RzIHRvIG1hdGNoIHdpdGggYW55IGZvcm1cbm9mIFVSSSBhbmQgYW55IHR5cGUgb2YgTUlNRSBtdXN0IHVzZSA8Y29kZT4nKic8XC9jb2RlPiBhbmQgPGNvZGU+KlwvKjxcL2NvZGU+IGluIHRoZWlyXG5hcHBsaWNhdGlvbiBjb250cm9sIGluZm9ybWF0aW9uIGluIHRoZSA8Y29kZT50aXplbi1tYW5pZmVzdC54bWw8XC9jb2RlPiBmaWxlLFxuaW5zdGVhZCBvZiBsZWF2aW5nIHRoZSB2YWx1ZSB0byA8Y29kZT5OVUxMPFwvY29kZT4uIE90aGVyd2lzZSwgdGhlIGFwcGxpY2F0aW9uXG5pcyBkaXNjYXJkZWQgYnkgdGhlIHBsYXRmb3JtIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGNvbnRyb2xcbmlzIHJlc29sdmVkLjxcL3A+XG48XC9kaXY+XG48XC9saT5cbjxsaT5cbjxwPlVubGlrZSB0aGUgb3BlcmF0aW9uLCB0aGUgVVJJIGFuZCBNSU1FIHR5cGVzIHN1cHBvcnQgd2lsZGNhcmRzIG9uXG50aGUgZmlsdGVycy4gRGV0YWlsZWQgY29uZGl0aW9ucyBmb3IgbWF0Y2hlcyBhcmUgZGVzY3JpYmVkIGJlbG93OjxcL3A+XG48dWw+XG48bGk+VGhlIFVSSSBtYXRjaCBjYW4gYmUgYW4gZXhhY3QsIHBhcnRpYWwgKHNjaGVtZSksIG9yIHBhdHRlcm5cbm1hdGNoIGFjY29yZGluZyB0byB0aGUgdmFsdWUgaW4gdGhlIGZpbHRlcnMuIFVSSSBmaWx0ZXJzIGFyZVxubWF0Y2hlZCB3aXRoIHRoZSBsYXVuY2ggcmVxdWVzdCBpZjpcbjx1bD5cbjxsaT5Cb3RoIFVSSXMgYXJlIGV4YWN0bHkgdGhlIHNhbWUuPFwvbGk+XG48bGk+TGF1bmNoIHJlcXVlc3QgVVJJIHBhc3NlcyB0aGUgdGVzdCB3aXRoIGEgPGNvZGU+Z2xvYigpPFwvY29kZT4tbGlrZVxuZnVuY3Rpb24gd2l0aCB0aGUgZmlsdGVyIFVSSS48XC9saT5cbjxsaT5TY2hlbWUgYW5kIGhvc3QgcGFydCBvZiB0aGUgVVJJIGluIHRoZSBsYXVuY2ggcmVxdWVzdCBhbmRcbmZpbHRlcnMgYXJlIHRoZSBzYW1lLjxcL2xpPlxuPGxpPlNjaGVtZSBwYXJ0IG9mIHRoZSBVUkkgaW4gdGhlIGxhdW5jaCByZXF1ZXN0IGFuZCBmaWx0ZXJzIGlzXG50aGUgc2FtZS48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48bGk+VGhlIE1JTUUgdHlwZSBtYXRjaCBjYW4gYmUgYW4gZXhhY3Qgb3IgcGF0dGVybiBtYXRjaCBhY2NvcmRpbmdcbnRvIHRoZSB2YWx1ZSBpbiB0aGUgZmlsdGVycy4gTUlNRSB0eXBlIGZpbHRlcnMgYXJlIG1hdGNoZWQgd2l0aFxudGhlIGxhdW5jaCByZXF1ZXN0IGlmOlxuPHVsPlxuPGxpPkJvdGggTUlNRSB0eXBlcyBhcmUgZXhhY3RseSB0aGUgc2FtZS48XC9saT5cbjxsaT5NSU1FIHR5cGUgaW4gdGhlIGxhdW5jaCByZXF1ZXN0IGFuZCBmaWx0ZXJzIGhhcyB0aGUgc2FtZVxudHlwZSBhbmQgJyonIGZvciB0aGUgc3VidHlwZS48XC9saT5cbjxsaT5UaGUgZmlsdGVycyBoYXZlIDxjb2RlPipcLyo8XC9jb2RlPiBmb3IgdGhlIE1JTUUgdHlwZS48XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPFwvb2w+XG48cD5UaGUgZm9sbG93aW5nIGV4YW1wbGVzIHNob3cgZGlmZmVyZW50IHNjZW5hcmlvcyBmb3IgdGhlIHJlc3VsdHMgb2YgcmVzb2x2aW5nIHRoZSBhcHBsaWNhdGlvbiBjb250cm9sOjxcL3A+XG48dWw+XG48bGk+XG48cD5PcGVyYXRpb24gcHJvdmlkZWQ6PFwvcD5cbjx1bD5cbjxsaT5SZXF1ZXN0OlxuPHVsPlxuPGxpPk9wZXJhdGlvbjogPGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL2xpPlxuPGxpPlVSSTogPGNvZGU+TlVMTDxcL2NvZGU+PFwvbGk+XG48bGk+TUlNRTogPGNvZGU+TlVMTDxcL2NvZGU+PFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlJlc3VsdCAodGhlIHJlYXNvbiBmb3IgdGhlIGZhaWx1cmUgaXMgbWFya2VkIGluIDxzdHJvbmc+Ym9sZDxcL3N0cm9uZz4pOjxcL2xpPlxuPFwvdWw+XG48cD48c3Ryb25nPlRhYmxlOiBTY2VuYXJpbyB3aGVuIG9ubHkgdGhlIG9wZXJhdGlvbiBpcyBwcm92aWRlZDxcL3N0cm9uZz48XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+RmlsdGVyIElEPFwvdGg+XG48dGg+T3BlcmF0aW9uPFwvdGg+XG48dGg+VVJJPFwvdGg+XG48dGg+TUlNRTxcL3RoPlxuPHRoPlJlc3VsdDxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD4xPFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPk5VTEw8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPk5VTEw8XC9jb2RlPjxcL3RkPlxuPHRkPlBhc3M8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjI8XC90ZD5cbjx0ZD48c3Ryb25nPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC9kZWZhdWx0PFwvY29kZT48XC9zdHJvbmc+PFwvdGQ+XG48dGQ+PGNvZGU+TlVMTDxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+TlVMTDxcL2NvZGU+PFwvdGQ+XG48dGQ+RmFpbDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+MzxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48c3Ryb25nPjxjb2RlPmZpbGU8XC9jb2RlPjxcL3N0cm9uZz48XC90ZD5cbjx0ZD48Y29kZT5OVUxMPFwvY29kZT48XC90ZD5cbjx0ZD5GYWlsPFwvdGQ+XG48XC90cj5cbjxcL3Rib2R5PlxuPFwvdGFibGU+PFwvZGl2PlxuPFwvbGk+XG48bGk+XG48cD5PcGVyYXRpb24gYW5kIFVSSSBwcm92aWRlZDo8XC9wPlxuPHVsPlxuPGxpPlJlcXVlc3Q6XG48dWw+XG48bGk+T3BlcmF0aW9uOiA8Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvbGk+XG48bGk+VVJJOiA8Y29kZT5maWxlOlwvXC9cL3Vzclwvc2hhcmVcL2ljb25zXC9jYWxlbmRhci5wbmc8XC9jb2RlPjxcL2xpPlxuPGxpPk1JTUU6IDxjb2RlPk5VTEw8XC9jb2RlPjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5SZXN1bHQgKHRoZSByZWFzb24gZm9yIHRoZSBmYWlsdXJlIGlzIG1hcmtlZCBpbiA8c3Ryb25nPmJvbGQ8XC9zdHJvbmc+KTo8XC9saT5cbjxcL3VsPlxuPHA+PHN0cm9uZz5UYWJsZTogU2NlbmFyaW8gd2hlbiB0aGUgb3BlcmF0aW9uIGFuZCBVUkkgYXJlIHByb3ZpZGVkPFwvc3Ryb25nPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5GaWx0ZXIgSUQ8XC90aD5cbjx0aD5PcGVyYXRpb248XC90aD5cbjx0aD5VUkk8XC90aD5cbjx0aD5NSU1FPFwvdGg+XG48dGg+UmVzdWx0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPjE8XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvdGQ+XG48dGQ+PHN0cm9uZz48Y29kZT5OVUxMPFwvY29kZT48XC9zdHJvbmc+PFwvdGQ+XG48dGQ+PGNvZGU+TlVMTDxcL2NvZGU+PFwvdGQ+XG48dGQ+RmFpbDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+MjxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5maWxlOlwvXC9cL3Vzclwvc2hhcmVcL2ljb25zXC9jYWxlbmRhci5wbmc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPipcLyo8XC9jb2RlPjxcL3RkPlxuPHRkPlBhc3M8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjM8XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+ZmlsZTpcL1wvXC8qPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT4qXC8qPFwvY29kZT48XC90ZD5cbjx0ZD5QYXNzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD40PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPmZpbGU8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPipcLyo8XC9jb2RlPjxcL3RkPlxuPHRkPlBhc3M8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjU8XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvdGQ+XG48dGQ+PHN0cm9uZz48Y29kZT5odHRwPFwvY29kZT48XC9zdHJvbmc+PFwvdGQ+XG48dGQ+PGNvZGU+KlwvKjxcL2NvZGU+PFwvdGQ+XG48dGQ+RmFpbDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+NjxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5OVUxMPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5pbWFnZVwvcG5nPFwvY29kZT48XC90ZD5cbjx0ZD5QYXNzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD43PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPk5VTEw8XC9jb2RlPjxcL3RkPlxuPHRkPjxzdHJvbmc+PGNvZGU+aW1hZ2VcL2pwZzxcL2NvZGU+PFwvc3Ryb25nPjxcL3RkPlxuPHRkPkZhaWw8XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48XC9saT5cbjxsaT5cbjxwPk9wZXJhdGlvbiBhbmQgTUlNRSB0eXBlIHByb3ZpZGVkOjxcL3A+XG48dWw+XG48bGk+UmVxdWVzdDpcbjx1bD5cbjxsaT5PcGVyYXRpb246IDxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC9saT5cbjxsaT5VUkk6IDxjb2RlPk5VTEw8XC9jb2RlPjxcL2xpPlxuPGxpPk1JTUU6IDxjb2RlPmltYWdlXC9wbmc8XC9jb2RlPjxcL2xpPlxuPFwvdWw+XG48XC9saT5cbjxsaT5SZXN1bHQgKHRoZSByZWFzb24gZm9yIHRoZSBmYWlsdXJlIGlzIG1hcmtlZCBpbiA8c3Ryb25nPmJvbGQ8XC9zdHJvbmc+KTo8XC9saT5cbjxcL3VsPlxuPHA+PHN0cm9uZz5UYWJsZTogU2NlbmFyaW8gd2hlbiB0aGUgb3BlcmF0aW9uIGFuZCBNSU1FIHR5cGUgYXJlIHByb3ZpZGVkPFwvc3Ryb25nPjxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5GaWx0ZXIgSUQ8XC90aD5cbjx0aD5PcGVyYXRpb248XC90aD5cbjx0aD5VUkk8XC90aD5cbjx0aD5NSU1FPFwvdGg+XG48dGg+UmVzdWx0PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPjE8XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+TlVMTDxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+aW1hZ2VcL3BuZzxcL2NvZGU+PFwvdGQ+XG48dGQ+UGFzczxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+MjxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5OVUxMPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5pbWFnZVwvKjxcL2NvZGU+PFwvdGQ+XG48dGQ+UGFzczxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+MzxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5OVUxMPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT4qXC8qPFwvY29kZT48XC90ZD5cbjx0ZD5QYXNzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD40PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPmZpbGU6XC9cL1wvdXNyXC9zaGFyZVwvaWNvbnNcL2NhbGVuZGFyLnBuZzxcL2NvZGU+PFwvdGQ+XG48dGQ+PHN0cm9uZz48Y29kZT5OVUxMPFwvY29kZT48XC9zdHJvbmc+PFwvdGQ+XG48dGQ+RmFpbDxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+NTxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5OVUxMPFwvY29kZT48XC90ZD5cbjx0ZD48c3Ryb25nPjxjb2RlPmltYWdlXC9qcGc8XC9jb2RlPjxcL3N0cm9uZz48XC90ZD5cbjx0ZD5GYWlsPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD42PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPk5VTEw8XC9jb2RlPjxcL3RkPlxuPHRkPjxzdHJvbmc+PGNvZGU+dmlkZW9cLyo8XC9jb2RlPjxcL3N0cm9uZz48XC90ZD5cbjx0ZD5GYWlsPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD43PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxzdHJvbmc+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9mYXZvcml0ZXMucG5nPFwvY29kZT48XC9zdHJvbmc+PFwvdGQ+XG48dGQ+PGNvZGU+aW1hZ2VcL3BuZzxcL2NvZGU+PFwvdGQ+XG48dGQ+RmFpbDxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxcL2xpPlxuPGxpPlxuPHA+T3BlcmF0aW9uLCBVUkksIGFuZCBNSU1FIHR5cGUgcHJvdmlkZWQ6PFwvcD5cbjx1bD5cbjxsaT5SZXF1ZXN0OlxuPHVsPlxuPGxpPk9wZXJhdGlvbjogPGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL2xpPlxuPGxpPlVSSTogPGNvZGU+aHR0cDpcL1wvd3d3LnRpemVuLm9yZ1wvZmF2b3JpdGVzLnBuZzxcL2NvZGU+PFwvbGk+XG48bGk+TUlNRTogPGNvZGU+aW1hZ2VcL3BuZzxcL2NvZGU+PFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPlJlc3VsdCAodGhlIHJlYXNvbiBmb3IgdGhlIGZhaWx1cmUgaXMgbWFya2VkIGluIDxzdHJvbmc+Ym9sZDxcL3N0cm9uZz4pOjxcL2xpPlxuPFwvdWw+XG48cD48c3Ryb25nPlRhYmxlOiBTY2VuYXJpbyB3aGVuIHRoZSBvcGVyYXRpb24sIFVSSSwgYW5kIE1JTUUgdHlwZSBhcmUgcHJvdmlkZWQ8XC9zdHJvbmc+PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPkZpbHRlciBJRDxcL3RoPlxuPHRoPk9wZXJhdGlvbjxcL3RoPlxuPHRoPlVSSTxcL3RoPlxuPHRoPk1JTUU8XC90aD5cbjx0aD5SZXN1bHQ8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48dGJvZHk+XG48dHI+XG48dGQ+MTxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC93d3cudGl6ZW4ub3JnXC9mYXZvcml0ZXMucG5nPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5pbWFnZVwvcG5nPFwvY29kZT48XC90ZD5cbjx0ZD5QYXNzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD4yPFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3d3dy50aXplbi5vcmdcL2Zhdm9yaXRlcy5wbmc8XC9jb2RlPjxcL3RkPlxuPHRkPjxzdHJvbmc+PGNvZGU+TlVMTDxcL2NvZGU+PFwvc3Ryb25nPjxcL3RkPlxuPHRkPkZhaWw8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjM8XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvd3d3LnRpemVuLm9yZ1wvKjxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+aW1hZ2VcL3BuZzxcL2NvZGU+PFwvdGQ+XG48dGQ+UGFzczxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+NDxcL3RkPlxuPHRkPjxjb2RlPmh0dHA6XC9cL3RpemVuLm9yZ1wvYXBwY29udHJvbFwvb3BlcmF0aW9uXC92aWV3PFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5odHRwPFwvY29kZT48XC90ZD5cbjx0ZD48Y29kZT5pbWFnZVwvcG5nPFwvY29kZT48XC90ZD5cbjx0ZD5QYXNzPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD41PFwvdGQ+XG48dGQ+PGNvZGU+aHR0cDpcL1wvdGl6ZW4ub3JnXC9hcHBjb250cm9sXC9vcGVyYXRpb25cL3ZpZXc8XC9jb2RlPjxcL3RkPlxuPHRkPjxzdHJvbmc+PGNvZGU+TlVMTDxcL2NvZGU+PFwvc3Ryb25nPjxcL3RkPlxuPHRkPjxjb2RlPmltYWdlXC9wbmc8XC9jb2RlPjxcL3RkPlxuPHRkPkZhaWw8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPjY8XC90ZD5cbjx0ZD48Y29kZT5odHRwOlwvXC90aXplbi5vcmdcL2FwcGNvbnRyb2xcL29wZXJhdGlvblwvdmlldzxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+KjxcL2NvZGU+PFwvdGQ+XG48dGQ+PGNvZGU+KlwvKjxcL2NvZGU+PFwvdGQ+XG48dGQ+UGFzczxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxcL2xpPlxuPFwvdWw+XG48cD48YSBuYW1lPVwicHJvY2Vzc1wiPjxcL2E+PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtbGF1bmNoLXByb2Nlc3NcIj48YSBocmVmPVwiI2NvbnRlbnQtbGF1bmNoLXByb2Nlc3NcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkxhdW5jaCBwcm9jZXNzPFwvaDI+XG48cD5SZWdhcmRsZXNzIG9mIHRoZSBsYXVuY2ggcmVxdWVzdCB0eXBlLCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBsYXVuY2hlclxuZnJhbWV3b3JrIGhhcyByZWNlaXZlZCBhbmQgcmVzb2x2ZWQgYSBsYXVuY2ggcmVxdWVzdCwgaXQgc3RhcnRzIHRoZVxuYXBwbGljYXRpb24gYnkgY3JlYXRpbmcgYSBuZXcgcHJvY2VzcyBhbmQgY2FsbGluZyB0aGUgZW50cnkgcG9pbnQgb2YgdGhlXG5hcHBsaWNhdGlvbjo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+TGlrZSBhIGNvbnZlbnRpb25hbCBDIyBhcHBsaWNhdGlvbiwgdGhlIG1haW4gbWV0aG9kIG9mIHRoZVxuYXBwbGljYXRpb24gaXMgaXRzIGVudHJ5IHBvaW50LiBJbiBhIFRpemVuIC5ORVQgYXBwbGljYXRpb24sIHRoZVxubWFpbiB0YXNrIGlzIHRvIGhhbmQgb3ZlciBjb250cm9sIHRvIHRoZSBhcHBsaWNhdGlvbiBmcmFtZXdvcmsgYnlcbmNhbGxpbmcgdGhlIDxjb2RlPlJ1bigpPFwvY29kZT4gbWV0aG9kOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Y2xhc3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDogPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5OVUlBcHBsaWNhdGlvbjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wcm90ZWN0ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm92ZXJyaWRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PbkNyZWF0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIEhvb2sgdG8gdGFrZSBuZWNlc3NhcnkgYWN0aW9ucyBiZWZvcmUgbWFpbiBldmVudCBsb29wIHN0YXJ0czsgdGhpczxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIHVzdWFsbHkgbWVhbnMgaW5pdGlhbGl6aW5nIHRoZSBVSTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+YmFzZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+T25DcmVhdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnByb3RlY3RlZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+b3ZlcnJpZGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZvaWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9uQXBwQ29udHJvbFJlY2VpdmVkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sUmVjZWl2ZWRFdmVudEFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIEhhbmRsZSB0aGUgbGF1bmNoIHJlcXVlc3QsIHNob3cgdGhlIHVzZXIgdGhlIHRhc2sgcmVxdWVzdGVkIHRocm91Z2ggdGhlPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICBcL1wvXC8gJnF1b3Q7QXBwQ29udHJvbFJlY2VpdmVkRXZlbnRBcmdzJnF1b3Q7IHBhcmFtZXRlcjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+YmFzZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+T25BcHBDb250cm9sUmVjZWl2ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihlKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wcm90ZWN0ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm92ZXJyaWRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PblBhdXNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICBcL1wvXC8gVGFrZSBuZWNlc3NhcnkgYWN0aW9ucyB3aGVuIGFwcGxpY2F0aW9uIGJlY29tZXMgaW52aXNpYmxlPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMDVDQzU7LS1zaGlraS1kYXJrOiM3OUI4RkZcIj5iYXNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PblBhdXNlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wcm90ZWN0ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm92ZXJyaWRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PblJlc3VtZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIFRha2UgbmVjZXNzYXJ5IGFjdGlvbnMgd2hlbiBhcHBsaWNhdGlvbiBiZWNvbWVzIHZpc2libGU8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPmJhc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9uUmVzdW1lPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wcm90ZWN0ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm92ZXJyaWRlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5PblRlcm1pbmF0ZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZBNzM3RDstLXNoaWtpLWRhcms6IzZBNzM3RFwiPiAgICAgICAgXC9cL1wvIFJlbGVhc2UgYWxsIHJlc291cmNlczxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+YmFzZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+T25UZXJtaW5hdGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0YXRpYzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+dm9pZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+TWFpbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5bXSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFwcDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgYXBwLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UnVuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oYXJncyk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIH08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+VGhlIDxjb2RlPlJ1bigpPFwvY29kZT4gbWV0aG9kIGluaXRpYWxpemVzIHRoZSBhcHBsaWNhdGlvbiBhbmQgc3RhcnRzIHRoZVxubWFpbiBsb29wLjxcL3A+XG48cD5JdCB0YWtlcyBhIHBhcmFtZXRlciBhbmQgdXNlcyBpdCB0byBpbml0aWFsaXplIHRoZSBhcHBsaWNhdGlvbi4gVGhlXG48Y29kZT5hcmdzPFwvY29kZT4gcGFyYW1ldGVyIGNvbnRhaW5zIHRoZSB2YWx1ZXMgZnJvbSB0aGUgYXBwbGljYXRpb24gZnJhbWV3b3JrLFxuYW5kIHlvdSBtdXN0IG5ldmVyIGNoYW5nZSB0aGVpciB2YWx1ZXMuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+V2hlbiB0aGUgPGNvZGU+UnVuKCk8XC9jb2RlPiBtZXRob2QgaXMgZmlyc3QgaW52b2tlZCwgdGhlIGFwcGxpY2F0aW9uIG1vdmVzIGZyb21cbnRoZSByZWFkeSBzdGF0ZSB0byB0aGUgY3JlYXRlZCBzdGF0ZSwgYW5kIG11c3QgaW5pdGlhbGl6ZSBpdHNlbGYuXG5EdXJpbmcgdGhpcyB0cmFuc2l0aW9uLCB0aGUgYXBwbGljYXRpb24gZnJhbWV3b3JrIGNhbGxzIHRoZVxuYXBwbGljYXRpb24ncyA8Y29kZT5PbkNyZWF0ZSgpPFwvY29kZT4gc3RhdGUgdHJhbnNpdGlvbiBtZXRob2QganVzdCBiZWZvcmUgdGhlXG5hcHBsaWNhdGlvbiBlbnRlcnMgdGhlIG1haW4gbG9vcC4gV2l0aGluIHRoZSBtZXRob2QsIHlvdSBtdXN0XG5pbml0aWFsaXplIHRoZSBhcHBsaWNhdGlvbiByZXNvdXJjZXMgYW5kIGNyZWF0ZSB0aGUgbWFpbiB3aW5kb3cuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+SnVzdCBhZnRlciB0aGUgYXBwbGljYXRpb24gZW50ZXJzIHRoZSBtYWluIGxvb3AsIHRoZSBhcHBsaWNhdGlvblxuZnJhbWV3b3JrIGNhbGxzIHRoZSBhcHBsaWNhdGlvbidzIDxjb2RlPk9uQXBwQ29udHJvbFJlY2VpdmVkKCk8XC9jb2RlPiBtZXRob2QuPFwvcD5cbjxwPlRoZSByZWFzb24gdGhlIGFwcGxpY2F0aW9uIHdhcyBsYXVuY2hlZCBpcyBjb250YWluZWQgaW4gYW4gaW5zdGFuY2Vcbm9mIHRoZVxuPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLlJlY2VpdmVkQXBwQ29udHJvbC5tZFwiPlRpemVuLkFwcGxpY2F0aW9ucy5SZWNlaXZlZEFwcENvbnRyb2w8XC9hPlxuY2xhc3MsIHdoaWNoIGlzIGRlcml2ZWQgZnJvbSB0aGVcbjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sLm1kXCI+VGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2w8XC9hPiBjbGFzcy5cblRoZSBhcHBsaWNhdGlvbiBpcyBhbHdheXMgcmVzcG9uc2libGUgZm9yIGNoZWNraW5nIHRoZSBjb250ZW50IG9mXG50aGUgPGNvZGU+VGl6ZW4uQXBwbGljYXRpb25zLlJlY2VpdmVkQXBwQ29udHJvbDxcL2NvZGU+IGluc3RhbmNlIGFuZFxucmVzcG9uZGluZyBhcHByb3ByaWF0ZWx5LiBUaGUgY29udGVudCBvZiB0aGVcbjxjb2RlPlRpemVuLkFwcGxpY2F0aW9ucy5SZWNlaXZlZEFwcENvbnRyb2w8XC9jb2RlPiBpbnN0YW5jZSBjYW4gYmUgZW1wdHkgaWZcbnRoZSBhcHBsaWNhdGlvbiBpcyBsYXVuY2hlZCBieSB0aGUgdXNlciBmcm9tIHRoZSBsYXVuY2hlci48XC9wPlxuPHA+SWYgdGhlIGFwcGxpY2F0aW9uIHdhbnRzIHRvIHJldHVybiB0aGUgcmVzdWx0IG9mIHRoZSBhcHBsaWNhdGlvblxuY29udHJvbCBvcGVyYXRpb24gdG8gdGhlIGFwcGxpY2F0aW9uIHRoYXQgb3JpZ2luYWxseSBzZW50IHRoZSBsYXVuY2hcbnJlcXVlc3QsIHRoZSByZXN1bHQgY2FuIGJlIHNlbnQgd2l0aCB0aGUgPGNvZGU+UmVwbHlUb0xhdW5jaFJlcXVlc3QoKTxcL2NvZGU+XG5tZXRob2Qgb2YgdGhlIDxjb2RlPlRpemVuLkFwcGxpY2F0aW9ucy5SZWNlaXZlZEFwcENvbnRyb2w8XC9jb2RlPiBjbGFzczo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnByb3RlY3RlZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+b3ZlcnJpZGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZvaWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9uQXBwQ29udHJvbFJlY2VpdmVkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sUmVjZWl2ZWRFdmVudEFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UmVjZWl2ZWRBcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZWNlaXZlZEFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBlLlJlY2VpdmVkQXBwQ29udHJvbDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aWY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAocmVjZWl2ZWRBcHBDb250cm9sLklzUmVwbHlSZXF1ZXN0KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlcGx5UmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICBcL1wvXC8gU2VuZCByZXBseSB0byB0aGUgY2FsbGVyIGFwcDxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICAgICAgcmVjZWl2ZWRBcHBDb250cm9sLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UmVwbHlUb0xhdW5jaFJlcXVlc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihyZXBseVJlcXVlc3QsIEFwcENvbnRyb2xSZXBseVJlc3VsdC5TdWNjZWVkZWQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAwNUNDNTstLXNoaWtpLWRhcms6Izc5QjhGRlwiPmJhc2U8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9uQXBwQ29udHJvbFJlY2VpdmVkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oZSk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxcL29sPlxuPHA+PGEgbmFtZT1cInJlc3VsdHNcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWxhdW5jaC1yZXN1bHRzXCI+PGEgaHJlZj1cIiNjb250ZW50LWxhdW5jaC1yZXN1bHRzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5MYXVuY2ggcmVzdWx0czxcL2gyPlxuPHA+QWZ0ZXIgdGhlIHJlcXVlc3RlZCBhcHBsaWNhdGlvbiAoY2FsbGVlKSBoYXMgYmVlbiBsYXVuY2hlZCBhbmQgdGhlXG5sYXVuY2hlZCBhcHBsaWNhdGlvbiBoYXMgcGVyZm9ybWVkIHRoZSByZXF1ZXN0ZWQgb3BlcmF0aW9uLCB0aGUgcmVzdWx0c1xub2YgdGhlIG9wZXJhdGlvbiBhcmUgZGVsaXZlcmVkIGJhY2sgdG8gdGhlIGFwcGxpY2F0aW9uIHRoYXQgc2VudCB0aGVcbm9yaWdpbmFsIGxhdW5jaCByZXF1ZXN0IChjYWxsZXIpLjxcL3A+XG48cD5UaGUgZm9sbG93aW5nIGNvZGUgZXhhbXBsZSByZXF1ZXN0cyB0aGUgbGF1bmNoIG9mIGFub3RoZXIgYXBwbGljYXRpb25cbmFuZCBzZXRzIHRoZSA8Y29kZT5BcHBDb250cm9sUmVwbHlDYWxsYmFjaygpPFwvY29kZT4gbWV0aG9kIHRvIGdldCB0aGUgbGF1bmNoXG5yZXN1bHQ6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5wdWJsaWM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZvaWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkxhdW5jaFJlcXVlc3RSZXN1bHRUZXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPns8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk15QXBwSWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O29yZy50aXplbi5NeUFwcCZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5hcHBDdHJsPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5uZXc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPigpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICBhcHBDdHJsLk9wZXJhdGlvbiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBBcHBDb250cm9sT3BlcmF0aW9ucy5EZWZhdWx0OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICBhcHBDdHJsLkFwcGxpY2F0aW9uSWQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gTXlBcHBJZDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgIFwvXC9cLyBTZXQgbWV0aG9kIHRvIGdldCB0aGUgbGF1bmNoIHJlc3VsdDxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICBBcHBDb250cm9sLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2VuZExhdW5jaFJlcXVlc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihhcHBDdHJsLCBBcHBDb250cm9sUmVwbHlDYWxsYmFjayk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD5UaGUgcmVzdWx0cyBhcmUgZGVsaXZlcmVkIGluIGFuIGluc3RhbmNlIG9mIHRoZVxuPGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2wubWRcIj5UaXplbi5BcHBsaWNhdGlvbnMuQXBwQ29udHJvbDxcL2E+XG5pbnN0YW5jZSB3aXRoIGV4dHJhIGRhdGEuIEZvciBzb21lIGNhc2VzLCB0aGVcbjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sRGF0YS5tZFwiPlRpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sRGF0YTxcL2E+XG5wcm92aWRlcyBwcmVkZWZpbmVkIGV4dHJhIGRhdGEga2V5cy4gSWYgdGhlIGtleSB5b3UgbmVlZCBpcyBub3RcbnByZWRlZmluZWQsIHlvdSBjYW4gY3JlYXRlIHlvdXIgb3duIGtleS4gSG93ZXZlciwgdGhlIGN1c3RvbWl6ZWQga2V5XG5tdXN0IGJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBjYWxsZXIgYW5kIGNhbGxlZSBhcHBsaWNhdGlvbnMuPFwvcD5cbjxwPlRoZSBmb2xsb3dpbmcgZXhhbXBsZSBzaG93cyBob3cgeW91IGNhbiByZXRyaWV2ZSB0aGUgcmVzdWx0cyBvZiB0aGVcbmxhdW5jaCByZXF1ZXN0IGFuZCByZXF1ZXN0ZWQgb3BlcmF0aW9uIGJ5IGltcGxlbWVudGluZyB0aGVcbjxjb2RlPkFwcENvbnRyb2xSZXBseUNhbGxiYWNrKCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gTWV0aG9kIGZvciBnZXR0aW5nIHRoZSByZXN1bHQ8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdGF0aWM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZvaWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2xSZXBseUNhbGxiYWNrPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5UaXplbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwbGljYXRpb25zPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5sYXVuY2hSZXF1ZXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+VGl6ZW48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcGxpY2F0aW9uczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVwbHlSZXF1ZXN0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbFJlcGx5UmVzdWx0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZXN1bHQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5jYWxsZXJBcHBJZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+c2VsZWN0ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aWY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAocmVzdWx0IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+Jmd0Oz08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBBcHBDb250cm9sUmVwbHlSZXN1bHQuU3VjY2VlZGVkKTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICBcL1wvXC8gR2V0IHRoZSB2YWx1ZSBvZiBFeHRyYURhdGEgc2VudCBieSBjYWxsZWU8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIGNhbGxlckFwcElkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IHJlcGx5UmVxdWVzdC5FeHRyYURhdGEuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5HZXQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZsdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+Jmd0Oyg8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O0NhbGxlckFwcGxpY2F0aW9uSWQmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICBzZWxlY3RlZCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiByZXBseVJlcXVlc3QuRXh0cmFEYXRhLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoQXBwQ29udHJvbERhdGEuU2VsZWN0ZWQpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB9PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+fTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48cD48YSBuYW1lPVwiZXhwb3J0X2FwcGNvbnRyb2xcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWFwcGxpY2F0aW9uLWNvbnRyb2wtZXhwb3J0XCI+PGEgaHJlZj1cIiNjb250ZW50LWFwcGxpY2F0aW9uLWNvbnRyb2wtZXhwb3J0XCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5BcHBsaWNhdGlvbiBjb250cm9sIGV4cG9ydDxcL2gyPlxuPHA+WW91IGNhbiBhbGxvdyBvdGhlciBhcHBsaWNhdGlvbnMgdG8gbGF1bmNoIHlvdXIgYXBwbGljYXRpb24gYW5kIHVzZSB5b3VyXG5hcHBsaWNhdGlvbiBmZWF0dXJlcyB0aHJvdWdoIGFwcGxpY2F0aW9uIGNvbnRyb2xzIGJ5IGV4cG9ydGluZyB5b3VyXG5hcHBsaWNhdGlvbiBjb250cm9sIGZ1bmN0aW9uYWxpdGllcy4gVG8gYWxsb3cgb3RoZXIgYXBwbGljYXRpb25zIHRvXG5sYXVuY2ggeW91ciBhcHBsaWNhdGlvbiBpbXBsaWNpdGx5IHdpdGhvdXQgdGhlIGFwcGxpY2F0aW9uIElELCBzcGVjaWZ5XG55b3VyIGFwcGxpY2F0aW9uIGNvbnRyb2wgaW5mb3JtYXRpb24gaW4gVmlzdWFsIFN0dWRpby48XC9wPlxuPHA+PHN0cm9uZz5GaWd1cmU6IEV4cG9ydGluZyBhcHAgY29udHJvbDxcL3N0cm9uZz48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvYXBwX2NvbnRyb2xfZXhwb3J0aW5nX2FwcGNvbnRyb2wucG5nXCIgYWx0PVwiRXhwb3J0aW5nIGFwcCBjb250cm9sXCIgXC8+PFwvcD5cbjxwPlRoZSBvcGVyYXRpb24sIFVSSSwgYW5kIE1JTUUgdHlwZSBpbmZvcm1hdGlvbiBhcmUgdXNlZCB3aGVuIDxhIGhyZWY9XCIjcmVzb2x1dGlvblwiPnJlc29sdmluZ1xudGhlIGFwcGxpY2F0aW9uIGNvbnRyb2w8XC9hPi4gVGhlIG9wZXJhdGlvbiBpbmZvcm1hdGlvbiBpc1xubWFuZGF0b3J5LCB3aGlsZSB0aGUgVVJJIG9yIE1JTUUgdHlwZSBpbmZvcm1hdGlvbiBpcyBvcHRpb25hbC4gQW55XG5hcHBsaWNhdGlvbiByZXF1ZXN0aW5nIGEgbGF1bmNoIG9mIHlvdXIgYXBwbGljYXRpb24gbXVzdCBlaXRoZXIgc3BlY2lmeVxueW91ciBhcHBsaWNhdGlvbiBJRCAoZm9yIGFuIGV4cGxpY2l0IGxhdW5jaCkgb3IgaGF2ZSB0aGUgc2FtZSBvcGVyYXRpb25cbnZhbHVlIGFuZCBhcHBsaWNhYmxlIFVSSSBhbmQgTUlNRSB0eXBlIGluZm9ybWF0aW9uIChmb3IgYW4gaW1wbGljaXRcbmxhdW5jaCkuXG5Zb3UgY2FuIGRlZmluZSBwcml2aWxlZ2VzIHRvIHJlc3RyaWN0IHlvdXIgYXBwbGljYXRpb24gZnJvbSBsYXVuY2hpbmcuIFRvIGxhdW5jaFxueW91ciBhcHBsaWNhdGlvbiwgdGhlIGNhbGxlciBhcHBsaWNhdGlvbiBtdXN0IHJlcXVlc3QgZm9yIGxhdW5jaCBwZXJtaXNzaW9uXG5ieSBkZWZpbmluZyBwcml2aWxlZ2VzIGluIHRoZSA8Y29kZT50aXplbi1tYW5pZmVzdC54bWw8XC9jb2RlPiBmaWxlLjxcL3A+XG48ZGl2IGNsYXNzPVwibWQtYWxlcnQgbWQtYWxlcnQtbm90ZVwiPlxuPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6XC9cL3d3dy53My5vcmdcLzIwMDBcL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTAgOGE4IDggMCAxIDEgMTYgMEE4IDggMCAwIDEgMCA4Wm04LTYuNWE2LjUgNi41IDAgMSAwIDAgMTMgNi41IDYuNSAwIDAgMCAwLTEzWk02LjUgNy43NUEuNzUuNzUgMCAwIDEgNy4yNSA3aDFhLjc1Ljc1IDAgMCAxIC43NS43NXYyLjc1aC4yNWEuNzUuNzUgMCAwIDEgMCAxLjVoLTJhLjc1Ljc1IDAgMCAxIDAtMS41aC4yNXYtMmgtLjI1YS43NS43NSAwIDAgMS0uNzUtLjc1Wk04IDZhMSAxIDAgMSAxIDAtMiAxIDEgMCAwIDEgMCAyWlwiXC8+PFwvc3ZnPk5vdGU8XC9zcGFuPlxuPHA+VGhlIFVSSSBvciBNSU1FIHR5cGUgY2FuIGNvbnRhaW4gd2lsZGNhcmRzLCBzdWNoIGFzICcqJywgdG9cbm1hdGNoIGFnYWluc3QgZ2l2ZW4gY29uZGl0aW9ucyBpbiB0aGUgYXBwbGljYXRpb24gY29udHJvbDo8XC9wPlxuPHVsPlxuPGxpPkluIHRoZSBNSU1FIHR5cGUsIHlvdSBjYW4gdXNlIHR3byB0eXBlcyBvZiB3aWxkY2FyZHM6IDxjb2RlPmltYWdlXC8qPFwvY29kZT4gYW5kXG48Y29kZT4qXC8qPFwvY29kZT4uPFwvbGk+XG48bGk+SW4gdGhlIFVSSSwgYSBtb3JlIGNvbXBsZXggcGF0dGVybiBvZiB3aWxkY2FyZHMgd2l0aCBzaW1pbGFyXG5zZW1hbnRpY3MgYXMgdGhlIHN0YW5kYXJkIDxjb2RlPmdsb2IoKTxcL2NvZGU+IGZ1bmN0aW9uIGlzIGF2YWlsYWJsZTogJyonXG5tYXRjaGVzIGFuIGFyYml0cmFyeSwgcG9zc2libHkgZW1wdHksIHN0cmluZywgYW5kICc/JyBtYXRjaGVzIGFuXG5hcmJpdHJhcnkgY2hhcmFjdGVyLiBVbmxpa2UgaW4gdGhlIDxjb2RlPmdsb2IoKTxcL2NvZGU+IGZ1bmN0aW9uLCB0aGUgJ1wvJ1xuY2hhcmFjdGVyIGNhbiBiZSBtYXRjaGVkIGJ5IHRoZSB3aWxkY2FyZHMuIFRoZXJlIGFyZSBubyBbLi4uXVxuY2hhcmFjdGVyIHJhbmdlcywgYW5kIHRoZSB3aWxkY2FyZHMgJyonIGFuZCAnPycgY2Fubm90IGJlIGVzY2FwZWRcbnRvIGluY2x1ZGUgdGhlbSBsaXRlcmFsbHkgaW4gYSBwYXR0ZXJuLjxcL2xpPlxuPFwvdWw+XG48XC9kaXY+XG48cD48YSBuYW1lPVwiZ3JvdXBcIj48XC9hPjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LWFwcGxpY2F0aW9uLWdyb3VwLW1hbmFnZW1lbnRcIj48YSBocmVmPVwiI2NvbnRlbnQtYXBwbGljYXRpb24tZ3JvdXAtbWFuYWdlbWVudFwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+QXBwbGljYXRpb24gZ3JvdXAgbWFuYWdlbWVudDxcL2gyPlxuPHA+WW91IGNhbiA8YSBocmVmPVwiI21vZGVcIj5kZWZpbmUgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaCBtb2RlPFwvYT4gYW5kIGdyb3VwIHlvdXIgYXBwbGljYXRpb25zIGludG8gZW50aXRpZXMgdGhhdCBjYW4gYmUgbWFuYWdlZCB0b2dldGhlci48XC9wPlxuPHA+VGhlIG1haW4gYXBwbGljYXRpb24gZ3JvdXAgZmVhdHVyZXMgaW5jbHVkZSB0aGUgZm9sbG93aW5nOjxcL3A+XG48dWw+XG48bGk+XG48cD5EZWZpbmluZyB0aGUgYXBwbGljYXRpb24gbGF1bmNoIG1vZGU8XC9wPlxuPHA+V2hlbiBhbiBhcHBsaWNhdGlvbiBpcyBsYXVuY2hlZCB0aHJvdWdoIGFuIGFwcGxpY2F0aW9uIGNvbnRyb2wsIGl0c1xubGF1bmNoIG1vZGUgZGVmaW5lcyBpdHMgYmVoYXZpb3I6PFwvcD5cbjx1bD5cbjxsaT5UaGUgc2luZ2xlIGxhdW5jaCBtb2RlIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGlzIGxhdW5jaGVkIGFzXG5hIG1haW4gYXBwbGljYXRpb24gKGluIGEgbmV3IGdyb3VwKS48XC9saT5cbjxsaT5UaGUgY2FsbGVyIGxhdW5jaCBtb2RlIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGlzIGxhdW5jaGVkIGFzXG5hIHN1YiBhcHBsaWNhdGlvbiBiZWxvbmdpbmcgdG8gdGhlIHNhbWUgZ3JvdXAgYXMgdGhlIGNhbGxlclxuYXBwbGljYXRpb24gdGhhdCBpcyBjYXVzaW5nIHRoZSBhcHBsaWNhdGlvbiB0byBiZSBsYXVuY2hlZC48XC9saT5cbjxcL3VsPlxuPHA+WW91IGNhbiBzZXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaCBtb2RlIDxhIGhyZWY9XCIuLlwvLi5cLy4uXC92c3Rvb2xzXC90b29sc1wvbWFuaWZlc3QtZWRpdG9yLm1kI2xhdW5jaF9tb2RlXCI+aW4gdGhlIG1hbmlmZXN0XG5maWxlPFwvYT5cbnVzaW5nIHRoZSA8Y29kZT5sYXVuY2hfbW9kZTxcL2NvZGU+IGF0dHJpYnV0ZSBvZiB0aGUgPGNvZGU+Jmx0O3VpLWFwcGxpY2F0aW9uJmd0OzxcL2NvZGU+IGVsZW1lbnQuXG5JZiB0aGUgbGF1bmNoIG1vZGUgaXMgc2V0IHRvIDxjb2RlPmNhbGxlcjxcL2NvZGU+LCB0aGUgYXBwbGljYXRpb24gdGhhdCBjYWxsc1xudGhlIGFwcGxpY2F0aW9uIGNvbnRyb2wgY2FuIGRlZmluZSB0aGUgbGF1bmNoIG1vZGUgZm9yIHRoZSBjYWxsZWRcbmFwcGxpY2F0aW9uIHVzaW5nIHRoZSA8Y29kZT5MYXVuY2hNb2RlPFwvY29kZT4gcHJvcGVydHkuIEhvd2V2ZXIsIGlmIHRoZSBjYWxsZWRcbmFwcGxpY2F0aW9uIGhhcyBzZXQgaXRzIGxhdW5jaCBtb2RlIGluIGl0cyBtYW5pZmVzdCBmaWxlIHRvXG48Y29kZT5zaW5nbGU8XC9jb2RlPiwgdGhhdCBzZXR0aW5nIG92ZXJyaWRlcyB0aGUgY2FsbGVyIGFwcGxpY2F0aW9uJ3MgbGF1bmNoXG5tb2RlIHJlcXVlc3QuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+TWFuYWdpbmcgdGhlIGFwcGxpY2F0aW9uIGdyb3VwPFwvcD5cbjxwPkFwcGxpY2F0aW9ucyBpbiB0aGUgc2FtZSBncm91cCBhY3QgYXMgaWYgdGhleSBhcmUgaW4gMSBzdGFjay4gRm9yXG5leGFtcGxlLCBpZiBhcHBsaWNhdGlvbiBBIHdhbnRzIHRvIHNlbmQgYW4gZW1haWwgdXNpbmcgZW1haWxcbmFwcGxpY2F0aW9uIEIsIGFwcGxpY2F0aW9uIEEgY2FuIGxhdW5jaCBlbWFpbCBhcHBsaWNhdGlvbiBCLFxubWFraW5nIGVtYWlsIGFwcGxpY2F0aW9uIEIgYSBzdWIgYXBwbGljYXRpb24gaW4gdGhlIHNhbWUgZ3JvdXBcbmFzIGFwcGxpY2F0aW9uIEEuIFdoZW4gYm90aCBhcHBsaWNhdGlvbnMgYXJlIHJ1bm5pbmcsIGFuZCB0aGVcbnVzZXIgcHJlc3NlcyB0aGUgaG9tZSBidXR0b24sIGJvdGggYXBwbGljYXRpb25zIGFyZSBoaWRkZW4uIFdoZW4gdGhlXG51c2VyIGxhdGVyIHJlc3VtZXMgdGhlIGNhbGxlciBhcHBsaWNhdGlvbiAoYXBwbGljYXRpb24gQSksIHRoZSBlbWFpbFxuYXBwbGljYXRpb24gQiBpcyBzaG93biBvbiB0b3Agb2YgdGhlIGNhbGxlciBhcHBsaWNhdGlvbi48XC9wPlxuPHA+SWYgYW4gYXBwbGljYXRpb24gaXMgbGF1bmNoZWQgaW4gYSBncm91cCwgaXQgY2FuIGJlIHRlcm1pbmF0ZWQgYnlcbnRoZSBtYWluIChmaXJzdCkgYXBwbGljYXRpb24gaW4gdGhlIGdyb3VwLiBJZiB0aGUgbWFpbiBhcHBsaWNhdGlvblxuaXMgdGVybWluYXRlZCBvciBraWxsZWQsIHRoZSBzdWIgYXBwbGljYXRpb25zIGluIHRoZSBncm91cCBhcmVcbnRlcm1pbmF0ZWQgYXV0b21hdGljYWxseSAodGhleSBjYW4gYmUgdGVybWluYXRlZCBieSB0aGUgZnJhbWV3b3JrXG5ldmVuIGlmIHRoZXkgYXJlIGhpZGRlbikuPFwvcD5cbjxwPjxzdHJvbmc+RmlndXJlOiBHcm91cCBiZWhhdmlvcjxcL3N0cm9uZz48XC9wPlxuPHA+PGltZyBzcmM9XCJtZWRpYVwvYXBwX2NvbnRyb2xfYXBwX2dyb3VwX2JlaGF2aW9yLnBuZ1wiIGFsdD1cIkdyb3VwIGJlaGF2aW9yXCIgXC8+PFwvcD5cbjxcL2xpPlxuPFwvdWw+XG48aDIgaWQ9XCJjb250ZW50LXByZXJlcXVpc2l0ZXNcIj48YSBocmVmPVwiI2NvbnRlbnQtcHJlcmVxdWlzaXRlc1wiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UHJlcmVxdWlzaXRlczxcL2gyPlxuPHA+VG8gZW5hYmxlIHlvdXIgYXBwbGljYXRpb24gdG8gdXNlIHRoZSBhcHBsaWNhdGlvbiBjb250cm9sIGZ1bmN0aW9uYWxpdHksIGZvbGxvdyB0aGVzZSBzdGVwczo8XC9wPlxuPG9sPlxuPGxpPlxuPHA+VG8gdXNlIGFwcGxpY2F0aW9uIGNvbnRyb2xzLCB0aGUgYXBwbGljYXRpb24gaGFzIHRvIHJlcXVlc3RcbnBlcm1pc3Npb24gYnkgYWRkaW5nIHRoZSBmb2xsb3dpbmcgcHJpdmlsZWdlIHRvIHRoZVxuPGNvZGU+dGl6ZW4tbWFuaWZlc3QueG1sPFwvY29kZT4gZmlsZTo8XC9wPlxuPGNvZGUgY2xhc3M9XCJsYW5ndWFnZS1YTUxcIj4mbHQ7cHJpdmlsZWdlcyZndDtcbiAgICZsdDtwcml2aWxlZ2UmZ3Q7aHR0cDpcL1wvdGl6ZW4ub3JnXC9wcml2aWxlZ2VcL2FwcG1hbmFnZXIubGF1bmNoJmx0O1wvcHJpdmlsZWdlJmd0O1xuJmx0O1wvcHJpdmlsZWdlcyZndDtcbjxcL2NvZGU+XG48XC9saT5cbjxsaT5cbjxwPlRvIHVzZSB0aGUgbWV0aG9kcyBhbmQgZGF0YSB0eXBlcyBvZiB0aGVcbjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkFwcGxpY2F0aW9ucy5tZFwiPlRpemVuLkFwcGxpY2F0aW9uczxcL2E+XG5uYW1lc3BhY2UsIGluY2x1ZGUgaXQgaW4geW91ciBhcHBsaWNhdGlvbjo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnVzaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5UaXplbjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwbGljYXRpb25zPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPFwvb2w+XG48cD48YSBuYW1lPVwidXNlXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1sYXVuY2gtYXBwbGljYXRpb25zLXVzaW5nLWV4dHJhLWRhdGFcIj48YSBocmVmPVwiI2NvbnRlbnQtbGF1bmNoLWFwcGxpY2F0aW9ucy11c2luZy1leHRyYS1kYXRhXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5MYXVuY2ggYXBwbGljYXRpb25zIHVzaW5nIGV4dHJhIGRhdGE8XC9oMj5cbjxwPlRvIHJ1biBhIHNwZWNpZmljIGFwcGxpY2F0aW9uIGNvbnRyb2wgd2l0aCBzb21lIHByZWNvbmZpZ3VyZWQgcGFyYW1ldGVycywgZm9sbG93IHRoZXNlIHN0ZXBzOjxcL3A+XG48b2w+XG48bGk+XG48cD5QcmVwYXJlIHRoZSBhcHBsaWNhdGlvbiBjb250cm9sOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+YXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5XaGVuIHRoZSBpbnN0YW5jZSBvZiB0aGVcbjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sLm1kXCI+VGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2w8XC9hPlxuY2xhc3MgaXMgY3JlYXRlZCwgc2V0IHRoZSBvcGVyYXRpb24gYW5kIE1JTUUgdHlwZS4gSW4gdGhpcyBleGFtcGxlLFxudGhlIGFwcGxpY2F0aW9uIGNvbnRyb2wgbGF1bmNoZXMgYW4gYXBwbGljYXRpb24gdGhhdCBoYXMgdGhlXG48Y29kZT5BcHBDb250cm9sT3BlcmF0aW9ucy5WaWV3PFwvY29kZT4gb3BlcmF0aW9uIGFuZCB0aGUgPGNvZGU+aW1hZ2VcL2pwZWc8XC9jb2RlPlxuTUlNRSB0eXBlLjxcL3A+XG48cD5UaGUgPGNvZGU+T3BlcmF0aW9uPFwvY29kZT4gcHJvcGVydHkgaXMgbWFuZGF0b3J5IGluZm9ybWF0aW9uIGZvciB0aGVcbmxhdW5jaCByZXF1ZXN0LiBJZiB0aGUgb3BlcmF0aW9uIGlzIG5vdCBzcGVjaWZpZWQsXG48Y29kZT5BcHBDb250cm9sT3BlcmF0aW9ucy5EZWZhdWx0PFwvY29kZT4gaXMgdXNlZCBmb3IgdGhlIGxhdW5jaCByZXF1ZXN0OjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXBwQ29udHJvbC5PcGVyYXRpb24gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQXBwQ29udHJvbE9wZXJhdGlvbnMuVmlldzs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5hcHBDb250cm9sLk1pbWUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtpbWFnZVwvanBlZyZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+OzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48XC9saT5cbjxsaT5cbjxwPkFkZCBleHRyYSBkYXRhIHRvIHRoZSA8Y29kZT5UaXplbi5BcHBsaWNhdGlvbnMuQXBwQ29udHJvbDxcL2NvZGU+IGluc3RhbmNlIGJ5XG51c2luZyB0aGUgPGNvZGU+RXh0cmFEYXRhPFwvY29kZT4gcHJvcGVydHkgYW5kIHRoZSA8Y29kZT5BZGQoKTxcL2NvZGU+IG1ldGhvZCBvZiB0aGVcbjxhIGhyZWY9XCJcL2FwcGxpY2F0aW9uXC9kb3RuZXRcL2FwaVwvVGl6ZW5GWFwvbGF0ZXN0XC9hcGlcL1RpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sLkV4dHJhRGF0YUNvbGxlY3Rpb24ubWRcIj5UaXplbi5BcHBsaWNhdGlvbnMuQXBwQ29udHJvbC5FeHRyYURhdGFDb2xsZWN0aW9uPFwvYT4gY2xhc3MuXG5JbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUsIGEgbWVzc2FnZSBpcyBhZGRlZCBhcyBleHRyYSBkYXRhOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXBwQ29udHJvbC5FeHRyYURhdGEuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O015S2V5JnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7TXkgTWVzc2FnZSZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48bGk+XG48cD5MYXVuY2ggdGhlIDxjb2RlPlRpemVuLkFwcGxpY2F0aW9ucy5BcHBDb250cm9sPFwvY29kZT4gaW5zdGFuY2Ugd2l0aCB0aGVcbjxjb2RlPlNlbmRMYXVuY2hSZXF1ZXN0KCk8XC9jb2RlPiBtZXRob2Q6PFwvcD5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5BcHBDb250cm9sLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+U2VuZExhdW5jaFJlcXVlc3Q8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihhcHBDb250cm9sLCBBcHBDb250cm9sUmVwbHlDYWxsYmFjayk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxcL2xpPlxuPGxpPlxuPHA+SW4gdGhlIGxhdW5jaGVkIGFwcGxpY2F0aW9uLCByZWFkIHRoZSBleHRyYSBkYXRhIGFkZGVkIHRvIHRoZVxuYXBwbGljYXRpb24gY29udHJvbCBieSB1c2luZyB0aGUgPGNvZGU+RXh0cmFEYXRhPFwvY29kZT4gcHJvcGVydHkgb2YgdGhlXG48YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5BcHBsaWNhdGlvbnMuUmVjZWl2ZWRBcHBDb250cm9sLm1kXCI+VGl6ZW4uQXBwbGljYXRpb25zLlJlY2VpdmVkQXBwQ29udHJvbDxcL2E+XG5jbGFzcyBpbnN0YW5jZSBhbmQgdGhlIDxjb2RlPkdldCgpPFwvY29kZT4gbWV0aG9kIG9mIHRoZVxuPGNvZGU+VGl6ZW4uQXBwbGljYXRpb25zLkV4dHJhRGF0YUNvbGxlY3Rpb248XC9jb2RlPiBjbGFzcy4gVGhlIHNhbWUgcHJvcGVydHlcbmFuZCBtZXRob2QgY2FuIGJlIHVzZWQgaW4gdGhlIG9yaWdpbmFsIGFwcGxpY2F0aW9uIHRvIHJlYWQgdGhlIHJlcGx5XG5tZXNzYWdlLCB3aGVuIHRoZSBhcHBsaWNhdGlvbiBjb250cm9sIHJlcGx5IGlzIHJldHVybmVkOjxcL3A+XG48cHJlIGNsYXNzPVwic2hpa2kgc2hpa2ktdGhlbWVzIGdpdGh1Yi1saWdodCBnaXRodWItZGFya1wiIHN0eWxlPVwiYmFja2dyb3VuZC1jb2xvcjojZmZmOy0tc2hpa2ktZGFyay1iZzojMjQyOTJlO2NvbG9yOiMyNDI5MmU7LS1zaGlraS1kYXJrOiNlMWU0ZTg7XCI+PGNvZGU+PHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+XC9cL1wvIENhbGxlZSBhcHBsaWNhdGlvbjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnByb3RlY3RlZDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+b3ZlcnJpZGU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnZvaWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPk9uQXBwQ29udHJvbFJlY2VpdmVkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sUmVjZWl2ZWRFdmVudEFyZ3M8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmU8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPik8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj57PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RyaW5nPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5tZXNzYWdlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+UmVjZWl2ZWRBcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5yZWNlaXZlZEFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiBlLlJlY2VpdmVkQXBwQ29udHJvbDs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgIFwvXC9cLyBHZXQgRXh0cmFEYXRhIGNvbWluZyBmcm9tIGNhbGxlciBhcHBsaWNhdGlvbjxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICBtZXNzYWdlICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiByZWNlaXZlZEFwcENvbnRyb2wuRXh0cmFEYXRhLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtNeUtleSZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aWY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAocmVjZWl2ZWRBcHBDb250cm9sLklzUmVwbHlSZXF1ZXN0KTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICB7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlcGx5UmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+bmV3PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4oKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIHJlcGx5UmVxdWVzdC5FeHRyYURhdGEuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BZGQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPig8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzAzMkY2MjstLXNoaWtpLWRhcms6IzlFQ0JGRlwiPiZxdW90O1JlcGx5S2V5JnF1b3Q7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4sIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7UmVwbHkgbWVzc2FnZSZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkE3MzdEOy0tc2hpa2ktZGFyazojNkE3MzdEXCI+ICAgICAgICBcL1wvXC8gU2VuZCByZXBseSB0byB0aGUgY2FsbGVyIGFwcGxpY2F0aW9uPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgICAgICByZWNlaXZlZEFwcENvbnRyb2wuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5SZXBseVRvTGF1bmNoUmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KHJlcGx5UmVxdWVzdCwgQXBwQ29udHJvbFJlcGx5UmVzdWx0LlN1Y2NlZWRlZCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIH08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDA1Q0M1Oy0tc2hpa2ktZGFyazojNzlCOEZGXCI+YmFzZTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+T25BcHBDb250cm9sUmVjZWl2ZWQ8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihlKTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj59PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj48XC9jb2RlPjxcL3ByZT5cbjxwcmUgY2xhc3M9XCJzaGlraSBzaGlraS10aGVtZXMgZ2l0aHViLWxpZ2h0IGdpdGh1Yi1kYXJrXCIgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LS1zaGlraS1kYXJrLWJnOiMyNDI5MmU7Y29sb3I6IzI0MjkyZTstLXNoaWtpLWRhcms6I2UxZTRlODtcIj48Y29kZT48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiM2QTczN0Q7LS1zaGlraS1kYXJrOiM2QTczN0RcIj5cL1wvXC8gQ2FsbGVyIGFwcGxpY2F0aW9uPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+c3RhdGljPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj52b2lkPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBDb250cm9sUmVwbHlDYWxsYmFjazxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+VGl6ZW48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcGxpY2F0aW9uczxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+bGF1bmNoUmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPlRpemVuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4uPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5BcHBsaWNhdGlvbnM8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPi48XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPnJlcGx5UmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+LCA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2xSZXBseVJlc3VsdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVzdWx0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4pPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ezxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiAgICA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPnN0cmluZzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+cmVjZWl2ZWRNZXNzYWdlPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj47PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+aWY8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPihyZXN1bHQgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj4mZ3Q7PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IEFwcENvbnRyb2xSZXBseVJlc3VsdC5TdWNjZWVkZWQpPFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+ICAgIHs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgICAgIHJlY2VpdmVkTWVzc2FnZSA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiByZXBseVJlcXVlc3QuRXh0cmFEYXRhLjxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+R2V0PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4mbHQ7PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj5zdHJpbmc8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiZndDsoPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMwMzJGNjI7LS1zaGlraS1kYXJrOiM5RUNCRkZcIj4mcXVvdDtSZXBseUtleSZxdW90OzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KTs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gICAgfTxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPn08XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48XC9zcGFuPjxcL2NvZGU+PFwvcHJlPlxuPFwvbGk+XG48XC9vbD5cbjxwPjxhIG5hbWU9XCJtb2RlXCI+PFwvYT48XC9wPlxuPGgyIGlkPVwiY29udGVudC1jb250cm9sLXRoZS1sYXVuY2gtbW9kZVwiPjxhIGhyZWY9XCIjY29udGVudC1jb250cm9sLXRoZS1sYXVuY2gtbW9kZVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+Q29udHJvbCB0aGUgbGF1bmNoIG1vZGU8XC9oMj5cbjxwPlRoZSBmb2xsb3dpbmcgY29kZSBzZXRzIHRoZSBhcHBsaWNhdGlvbiBjb250cm9sIGluIHRoZSBjYWxsZXIgYXBwbGljYXRpb24gdG8gbGF1bmNoIGEgc3ViIGFwcGxpY2F0aW9uIHdpdGhpbiB0aGUgc2FtZSBncm91cDo8XC9wPlxuPHByZSBjbGFzcz1cInNoaWtpIHNoaWtpLXRoZW1lcyBnaXRodWItbGlnaHQgZ2l0aHViLWRhcmtcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6I2ZmZjstLXNoaWtpLWRhcmstYmc6IzI0MjkyZTtjb2xvcjojMjQyOTJlOy0tc2hpa2ktZGFyazojZTFlNGU4O1wiPjxjb2RlPjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPkFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzZGNDJDMTstLXNoaWtpLWRhcms6I0IzOTJGMFwiPmFwcENvbnRyb2w8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPj08XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPiA8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6I0Q3M0E0OTstLXNoaWtpLWRhcms6I0Y5NzU4M1wiPm5ldzxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojNkY0MkMxOy0tc2hpa2ktZGFyazojQjM5MkYwXCI+QXBwQ29udHJvbDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KCk7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+YXBwQ29udHJvbC5BcHBsaWNhdGlvbklkIDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojRDczQTQ5Oy0tc2hpa2ktZGFyazojRjk3NTgzXCI+PTxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+IDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMDMyRjYyOy0tc2hpa2ktZGFyazojOUVDQkZGXCI+JnF1b3Q7b3JnLnRpemVuLlRlc3RBcHAmcXVvdDs8XC9zcGFuPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPjs8XC9zcGFuPjxcL3NwYW4+XG48c3BhbiBjbGFzcz1cImxpbmVcIj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj5hcHBDb250cm9sLkxhdW5jaE1vZGUgPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiNENzNBNDk7LS1zaGlraS1kYXJrOiNGOTc1ODNcIj49PFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiMyNDI5MkU7LS1zaGlraS1kYXJrOiNFMUU0RThcIj4gQXBwQ29udHJvbExhdW5jaE1vZGUuR3JvdXA7PFwvc3Bhbj48XC9zcGFuPlxuPHNwYW4gY2xhc3M9XCJsaW5lXCI+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxzcGFuIHN0eWxlPVwiY29sb3I6IzI0MjkyRTstLXNoaWtpLWRhcms6I0UxRTRFOFwiPkFwcENvbnRyb2wuPFwvc3Bhbj48c3BhbiBzdHlsZT1cImNvbG9yOiM2RjQyQzE7LS1zaGlraS1kYXJrOiNCMzkyRjBcIj5TZW5kTGF1bmNoUmVxdWVzdDxcL3NwYW4+PHNwYW4gc3R5bGU9XCJjb2xvcjojMjQyOTJFOy0tc2hpa2ktZGFyazojRTFFNEU4XCI+KGFwcENvbnRyb2wpOzxcL3NwYW4+PFwvc3Bhbj5cbjxzcGFuIGNsYXNzPVwibGluZVwiPjxcL3NwYW4+PFwvY29kZT48XC9wcmU+XG48aDIgaWQ9XCJjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtcmVsYXRlZC1pbmZvcm1hdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+UmVsYXRlZCBpbmZvcm1hdGlvbjxcL2gyPlxuPHVsPlxuPGxpPkRlcGVuZGVuY2llc1xuPHVsPlxuPGxpPlRpemVuIDQuMCBhbmQgSGlnaGVyPFwvbGk+XG48XC91bD5cbjxcL2xpPlxuPGxpPkFQSSBSZWZlcmVuY2VzXG48dWw+XG48bGk+PGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xcIj5UaXplbi5BcHBsaWNhdGlvbnMuQXBwQ29udHJvbDxcL2E+IGNsYXNzPFwvbGk+XG48bGk+PGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xPcGVyYXRpb25zXCI+VGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xPcGVyYXRpb25zPFwvYT4gY2xhc3M8XC9saT5cbjxsaT48YSBocmVmPVwiXC9hcHBsaWNhdGlvblwvZG90bmV0XC9hcGlcL1RpemVuRlhcL2xhdGVzdFwvYXBpXC9UaXplbi5BcHBsaWNhdGlvbnMuUmVjZWl2ZWRBcHBDb250cm9sXCI+VGl6ZW4uQXBwbGljYXRpb25zLlJlY2VpdmVkQXBwQ29udHJvbDxcL2E+IGNsYXNzPFwvbGk+XG48bGk+PGEgaHJlZj1cIlwvYXBwbGljYXRpb25cL2RvdG5ldFwvYXBpXC9UaXplbkZYXC9sYXRlc3RcL2FwaVwvVGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xEYXRhXCI+VGl6ZW4uQXBwbGljYXRpb25zLkFwcENvbnRyb2xEYXRhPFwvYT4gY2xhc3M8XC9saT5cbjxcL3VsPlxuPFwvbGk+XG48XC91bD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1sYXVuY2gtdHlwZXNcIj5MYXVuY2ggdHlwZXM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1sYXVuY2gtcmVxdWVzdHNcIj5MYXVuY2ggcmVxdWVzdHM8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1leHBsaWNpdC1sYXVuY2gtcmVxdWVzdFwiPkV4cGxpY2l0IGxhdW5jaCByZXF1ZXN0PFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtaW1wbGljaXQtbGF1bmNoLXJlcXVlc3RcIj5JbXBsaWNpdCBsYXVuY2ggcmVxdWVzdDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWRldGVybWluZS10aGUtYXBwbGljYXRpb24tZm9yLWFuLWltcGxpY2l0LWxhdW5jaC1yZXF1ZXN0XCI+RGV0ZXJtaW5lIHRoZSBhcHBsaWNhdGlvbiBmb3IgYW4gaW1wbGljaXQgbGF1bmNoIHJlcXVlc3Q8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1sYXVuY2gtcHJvY2Vzc1wiPkxhdW5jaCBwcm9jZXNzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtbGF1bmNoLXJlc3VsdHNcIj5MYXVuY2ggcmVzdWx0czxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWFwcGxpY2F0aW9uLWNvbnRyb2wtZXhwb3J0XCI+QXBwbGljYXRpb24gY29udHJvbCBleHBvcnQ8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1hcHBsaWNhdGlvbi1ncm91cC1tYW5hZ2VtZW50XCI+QXBwbGljYXRpb24gZ3JvdXAgbWFuYWdlbWVudDxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXByZXJlcXVpc2l0ZXNcIj5QcmVyZXF1aXNpdGVzPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtbGF1bmNoLWFwcGxpY2F0aW9ucy11c2luZy1leHRyYS1kYXRhXCI+TGF1bmNoIGFwcGxpY2F0aW9ucyB1c2luZyBleHRyYSBkYXRhPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtY29udHJvbC10aGUtbGF1bmNoLW1vZGVcIj5Db250cm9sIHRoZSBsYXVuY2ggbW9kZTxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LXJlbGF0ZWQtaW5mb3JtYXRpb25cIj5SZWxhdGVkIGluZm9ybWF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJBcHBsaWNhdGlvbiBDb250cm9scyIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6IlNzcWNRZVpXRDhKNkMxaU93Yzd1IiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvYXBwbGljYXRpb25cL2RvdG5ldFwvZ3VpZGVzXC9leGNoYW5nZS1kYXRhLWJldHdlZW4tYXBwc1wvYXBwLWNvbnRyb2xzIiwibWV0aG9kIjoiR0VUIiwicmVsZWFzZSI6ImEtYS1hIn0sImNoZWNrc3VtIjoiOGQ1NjMxY2Y1NGMxNjExYTA3NTFlMzBkODAyYmQzZTcyYzNkODhjYzUwNWE0MzlhZGZlMjUwMDY0ODM1NTM5OCJ9')" >