Set Up the Development Environment<\/a><br><\/p>\n<p>Before you begin developing Tizen applications, ensure that your development environment is properly set up. This includes installing <strong>Visual Studio<\/strong>, the <strong>Visual Studio Tools for Tizen<\/strong>, and required toolsets.<\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"#create-a-project\">Create a Project<\/a><\/p>\n<p>Use a <strong>predesigned project template<\/strong> to create a Tizen application. These templates generate the essential files and folders needed to start development. Select the appropriate template for <strong>.NET<\/strong>, <strong>Web<\/strong>, or <strong>Native<\/strong> applications.<\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"#build-your-application\">Build Your Application<\/a><\/p>\n<p>After adding the necessary code and features, build your application to <strong>validate and compile<\/strong> the code. This step ensures there are no syntax errors or missing dependencies.<\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"#deploy-and-run-your-application\">Deploy and Run Your Application<\/a><\/p>\n<p>Deploy the application to an <strong>emulator or a real Tizen device<\/strong> and run it to verify its functionality.<\/p>\n<\/li>\n<li>\n<p><a href=https://samsungtizenos.com/"#debug-your-application-in-emulator\">Debug your Application in Emulator<\/a><\/p>\n<p>Use debugging tools to <strong>analyze, troubleshoot, and fix<\/strong> issues in your application. The Tizen emulator provides a testing environment for debugging before deployment on actual devices.<\/p>\n<\/li>\n<\/ol>\n<div>\n <button onclick=\"showContent('dotnet')\">.NET Application <\/button>\n <button onclick=\"showContent('web')\">Web Application <\/button>\n <button onclick=\"showContent('native')\">Native Application<\/button>\n<\/div>\n<h2 id=\"content-create-a-project\"><a href=https://samsungtizenos.com/"#content-create-a-project\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Create a Project<\/h2>\n<div class=\"content dotnet\">\n <p>The following example shows Step-by-Step Guide to Creating a <b>Tizen .NET<\/b> Application.<\/p>\n <ol>\n <li><b>Open Visual Studio<\/b><br>\n Launch Visual Studio on your development machine.<\/li>\n <li><b>Create a New Project<\/b><br>\n In the Visual Studio menu, select <b>File<\/b> > <b>New<\/b> > <b>Project<\/b>.<\/li>\n <img alt=\"Create new project\" src=https://samsungtizenos.com/"media//vs2022_project_create_1.png/" \/>\n <p><\/p>\n <li><b> Select the Tizen .NET Project Template<\/b><br>\n In <b>Create a New project<\/b> window, select <b>#C<\/b> and <b>Tizen<\/b> from the dropdown menu, and choose <b>Tizen DotNet Project<\/b>. Then click <b>Next<\/b>.<\/li>\n <img src=https://samsungtizenos.com/"media//vs2022_project_create_2_dotnet.png/" \/>\n <p><\/p>\n <p>Configure the project properties by entering the <b>Project Name<\/b>, <b>Location<\/b>, and <b>Solution Name<\/b>, then click <b>Create<\/b>.<\/p>\n <img src=https://samsungtizenos.com/"media//vs2022_project_create_3_dotnet.png/"//>/n <p><\/p>\n <p>Then the <b>Tizen Project Wizard<\/b> pop-up window appears.<\/p>\n <li><b>Select Profile, Platform Version, and Template<\/b><br>\n Choose the appropriate <b>Profile<\/b> (e.g., Mobile, Wearable, TV). Select the <b>Platform Version<\/b> compatible with your target device. Pick a <b>Project Template<\/b> based on your application requirements. Click <b>OK<\/b> to finalize the project creation.<\/li>\n <img src=https://samsungtizenos.com/"media//vs2022_project_create_4_dotnet.png/" \/>\n <p><\/p>\n <p>The following figure illustrates the solution explorer for newly created <b>TizenDotNet<\/b> project:<\/p><img src=https://samsungtizenos.com/"media//vs2022_project_create_5_dotnet.png/"//>/n <p><\/p>\n <\/ol>\n <p>Once the project is created, you can start adding your application logic and UI elements.<\/p>\n<\/div>\n<div class=\"content web\">\n <p>The following example shows Step-by-Step Guide to Creating a <b>Tizen Web<\/b> Application.<\/p>\n <ol>\n <li><b>Open Visual Studio<\/b><br>\n Launch Visual Studio on your development machine.<\/li>\n <li><b>Create a New Project<\/b><br>\n In the Visual Studio menu, select <b>File<\/b> > <b>New<\/b> > <b>Project<\/b>. <\/li>\n <img alt=\"Create new project\" src=https://samsungtizenos.com/"media//vs2022_project_create_1.png/" \/>\n <p><\/p>\n <li><b> Select the Tizen Web Project Template<\/b><br>\n In <b>Create a New project<\/b> window, select <b>javaScript<\/b> and <b>Tizen<\/b> from the dropdown menu, and choose <b>Tizen Web Project<\/b>. Then click <b>Next<\/b>.<\/li>\n <img alt=\"New project menu\" src=https://samsungtizenos.com/"media//vs2022_project_create_2_web.png/" \/>\n <p><\/p>\n <p>Configure the project properties by entering the <b>Project Name<\/b>, <b>Location<\/b>, and <b>Solution Name<\/b>, then click <b>Create<\/b>.<\/p>\n <img alt=\"Configure your project\" src=https://samsungtizenos.com/"media//vs2022_project_create_3_web.png/"//>/n <p><\/p>\n <p>Then the <b>Tizen Project Wizard<\/b> pop-up window appears.<\/p>\n <li><b>Select Profile, Platform Version, and Template<\/b><br>\n Choose the appropriate <b>Profile<\/b> (e.g., Mobile, Wearable, TV). Select the <b>Platform Version<\/b> compatible with your target device. Pick a <b>Project Template<\/b> based on your application requirements. Click <b>OK<\/b> to finalize the project creation.<\/li>\n <img alt=\"Tizen Profile Select\" src=https://samsungtizenos.com/"media//vs2022_project_create_4_web.png/" \/>\n <p><\/p>\n <p>The following figure illustrates the solution explorer for newly created <b>TizenWeb<\/b> project:<\/p>\n <img alt=\"Project Folder\" src=https://samsungtizenos.com/"media//vs2022_project_create_5_web.png/" \/>\n <p><\/p>\n <\/ol>\n <p>Once the project is created, you can start adding your application logic and UI elements.<\/p>\n<\/div>\n<div class=\"content native\">\n <p>The following example shows Step-by-Step Guide to Creating a <b>Tizen Native<\/b> Application.<\/p>\n <ol>\n <li><b>Open Visual Studio<\/b><br>\n Launch Visual Studio on your development machine.<\/li>\n <li><b>Create a New Project<\/b><br>\n In the Visual Studio menu, select <b>File<\/b> > <b>New<\/b> > <b>Project<\/b>.<\/li>\n <img alt=\"Create new project\" src=https://samsungtizenos.com/"media//vs2022_project_create_1.png/" \/>\n <p><\/p>\n <li><b> Select the Tizen Native Project Template<\/b><br>\n In <b>Create a New project<\/b> window, select <b>C++<\/b> and <b>Tizen<\/b> from the dropdown menu, and choose <b>Tizen Native Project<\/b>. Then click <b>Next<\/b><\/li>\n <img alt=\"New project menu\" src=https://samsungtizenos.com/"media//vs2022_project_create_2_native.png/" \/>\n <p><\/p>\n <p>Configure the project properties by entering the <b>Project Name<\/b>, <b>Location<\/b>, and <b>Solution Name<\/b>, then click <b>Create<\/b>.<\/p>\n <img alt=\"Configure your project\" src=https://samsungtizenos.com/"media//vs2022_project_create_3_native.png/"//>/n <p><\/p>\n <p>Then the <b>Tizen Project Wizard<\/b> pop-up window appears.<\/p>\n <li><b>Select Profile, Platform Version, and Template<\/b><br>\n Choose the appropriate <b>Profile<\/b> (e.g., Mobile, Wearable, TV). Select the <b>Platform Version<\/b> compatible with your target device. Pick a <b>Project Template<\/b> based on your application requirements. Click <b>OK<\/b> to finalize the project creation.<\/li>\n <img alt=\"Tizen Profile Select\" src=https://samsungtizenos.com/"media//vs2022_project_create_4_native.png/" \/>\n <p><\/p>\n <p>The following figure illustrates the solution explorer for newly created <b>TizenNative<\/b> project:<\/p>\n <img alt=\"Project Folder\" src=https://samsungtizenos.com/"media//vs2022_project_create_5_native.png/" \/>\n <p><\/p>\n <\/ol>\n <p>Once the project is created, you can start adding your application logic and UI elements.<\/p>\n<\/div>\n<\/div>\n<h2 id=\"content-build-your-application\"><a href=https://samsungtizenos.com/"#content-build-your-application\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Build Your Application<\/h2>\n<p>After creating the Tizen application project, you can implement the required features. In this example, we use the default project template without making any code changes.<\/p>\n<p>When your application code is ready, you need to <strong>build the application<\/strong>. The build process performs validation checks and compiles your project files. Additionally, the application package must be signed with an author certificate. If you have not yet registered a Tizen certificate in Visual Studio, refer to the <a href=https://samsungtizenos.com/"..//vstools//tools//certificate-manager.md/">Certificate Manager<\/a> for setup instructions.<\/p>\n<h3 id=\"content-build-the-project\"><a href=https://samsungtizenos.com/"#content-build-the-project\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Build the Project<\/h3>\n<div class=\"content dotnet\">\n<p>There are two ways to build your <b>Tizen .NET<\/b> Application:<\/p>\n <ol>\n <li><b>Using the Visual Studio Menu<\/b><br>In the Visual Studio , navigate to <b>Build > Build Solution<\/b>.<\/li>\n <img alt=\"Build solution\" src=https://samsungtizenos.com/"media//vs2022_build_1_dotnet.png/" \/>\n <p><\/p>\n <li><b>Using Solution Explorer<\/b><br>\n In the <b>Solution Explorer<\/b> view, right-click on the solution name and select <b>Build<\/b>.<\/li>\n <img alt=\"Solution Explorer\" src=https://samsungtizenos.com/"media//vs2022_build_2_dotnet.png/" \/>\n <p><\/p>\n <\/ol>\n<\/div>\n<div class=\"content web\">\n <p>There are two ways to build your <b>Tizen Web<\/b> Application:<\/p>\n <ol>\n <li><b>Using the Visual Studio Menu<\/b><br>In the Visual Studio , navigate to <b>Build > Build Solution<\/b>.<\/li>\n <img alt=\"Build solution\" src=https://samsungtizenos.com/"media//vs2022_build_1_web.png/" \/>\n <p><\/p>\n <li><b>Using Solution Explorer<\/b><br>\n In the <b>Solution Explorer<\/b> view, right-click on the solution name and select <b>Build<\/b>.<\/li>\n <img alt=\"Solution Explorer\" src=https://samsungtizenos.com/"media//vs2022_build_2_web.png/" \/>\n <p><\/p>\n <\/ol>\n<\/div>\n<div class=\"content native\">\n<p>There are two ways to build your <b>Tizen Native<\/b> Application:<\/p>\n <ol>\n <li><b>Using the Visual Studio Menu<\/b><br>In the Visual Studio , navigate to <b>Build > Build Solution<\/b>.<\/li>\n <img alt=\"Build solution\" src=https://samsungtizenos.com/"media//vs2022_build_1_native.png/" \/>\n <p><\/p>\n <li><b>Using Solution Explorer<\/b><br>\n In the <b>Solution Explorer<\/b> view, right-click on the solution name and select <b>Build<\/b>.<\/li>\n <img alt=\"Solution Explorer\" src=https://samsungtizenos.com/"media//vs2022_build_2_native.png/" \/>\n <p><\/p>\n <\/ol>\n<\/div>\n<h2 id=\"content-deploy-and-run-your-application\"><a href=https://samsungtizenos.com/"#content-deploy-and-run-your-application\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Deploy and Run Your Application<\/h2>\n<div class=\"content dotnet\">\n <p>Once your <b>Tizen .NET<\/b> application is built successfully, you can deploy and run it on an emulator or a real Tizen device. Follow the steps below to launch and test your application in the <b>Tizen Emulator<\/b>.<\/p>\n <ol>\n <li><b>Launch the Tizen Emulator Manager<\/b><br>Click the <b>Launch Tizen Emulator<\/b> from the Visual Studio toolbar.\n <img alt=\"Launching Tizen Emulation Manager\" src=https://samsungtizenos.com/"media//vs2022_run_1_dotnet.png/"//>/n <p><\/p>\n Alternatively, open <b>Tizen Emulator Manager<\/b> from <b>Tools > Tizen > Tizen Emulator Manager<\/b>.<\/li>\n <img alt=\"Launching Tizen Emulation Manager\" src=https://samsungtizenos.com/"media//vs2022_run_2_dotnet.png/"//>/n <p><\/p>\n <li><b>Select and Launch an Emulator<\/b><br>Choose an emulator instance that matches or has a higher <b>Tizen platform version<\/b> than your application. Click <b>Launch<\/b> to start the selected emulator.<br>\n <img alt=\"Choosing emulator\" src=https://samsungtizenos.com/"media//vs2022_run_3_emulator.png/"//>/n <p>Once the emulator window is visible, switch back to Visual Studio.<\/p><\/li>\n <img alt=\"Emulator window\" src=https://samsungtizenos.com/"media//vs2022_run_4_emulator.png/"//>/n <li><b>Run or Debug Your Application<\/b><br>In Visual Studio, the newly launched emulator should now appear in the <b>Run and Debug<\/b> dropdown. Click the <b>bold green arrow<\/b> button to debug the application. Click the unfilled <b>light green button<\/b> to run the application without debugging.<\/li>\n <img alt=\"Deploy and run applicaion\" src=https://samsungtizenos.com/"media//vs2022_run_5_dotnet.png/"//>/n <li><b> View the Application in the Emulator<\/b><br>Once deployed, the <b>Tizen .NET application UI<\/b> will be displayed on the emulator screen. You can now interact with it to verify its functionality.<\/li>\n <img alt=\"Visible project UI on emulator screen\" src=https://samsungtizenos.com/"media//vs2022_run_6_dotnet.png/"//>/n <p><\/p>\n <\/ol>\n<\/div>\n<div class=\"content web\">\n <p>Once your <b>Tizen web<\/b> application is built successfully, you can deploy and run it on an emulator or a real Tizen device. Follow the steps below to launch and test your application in the <b>Tizen Emulator<\/b>.<\/p>\n <ol>\n <li><b>Launch the Tizen Emulator Manager<\/b>Click the <b>Launch Tizen Emulator<\/b> from the Visual Studio toolbar.\n <img alt=\"Launching Tizen Emulation Manager\" src=https://samsungtizenos.com/"media//vs2022_run_1_web.png/"//>/n <p><\/p>\n Alternatively, open <b>Tizen Emulator Manager<\/b> from <b>Tools > Tizen > Tizen Emulator Manager<\/b>.<\/li>\n <img alt=\"Launching Tizen Emulation Manager\" src=https://samsungtizenos.com/"media//vs2022_run_2_web.png/"//>/n <p><\/p>\n <li><b>Select and Launch an Emulator<\/b><br>Choose an emulator instance that matches or has a higher <b>Tizen platform version<\/b> than your application. Click <b>Launch<\/b> to start the selected emulator.<br>\n <img alt=\"Choosing emulator\" src=https://samsungtizenos.com/"media//vs2022_run_3_emulator.png/"//>/n <p>Once the emulator window is visible, switch back to Visual Studio.<\/p><\/li>\n <img alt=\"Emulator window\" src=https://samsungtizenos.com/"media//vs2022_run_4_emulator.png/"//>/n <li><b>Run or Debug Your Application<\/b><br>In Visual Studio, the newly launched emulator should now appear in the <b>Run and Debug<\/b> dropdown. Click the <b>bold green arrow<\/b> button to debug the application. Click the unfilled <b>light green button<\/b> to run the application without debugging.<\/li>\n <img alt=\"Deploy and run applicaion\" src=https://samsungtizenos.com/"media//vs2022_run_5_web.png/"//>/n <li><b> View the Application in the Emulator<\/b><br>Once deployed, the <b>Tizen Web application UI<\/b> will be displayed on the emulator screen. Yon can now interact with it to verify its functionality.<\/li>\n <img alt=\"Visible project UI on emulator screen\" src=https://samsungtizenos.com/"media//vs2022_run_6_web.png/"//>/n <p><\/p>\n <\/ol>\n<\/div>\n<div class=\"content native\">\n <p>Once your <b>Tizen Native<\/b> application is built successfully, you can deploy and run it on an emulator or a real Tizen device. Follow the steps below to launch and test your application in the <b>Tizen Emulator<\/b>.<\/p>\n <ol>\n <li><b>Launch the Tizen Emulator Manager<\/b><br>Click the <b>Launch Tizen Emulator<\/b> from the Visual Studio toolbar.\n <img alt=\"Launching Tizen Emulation Manager\" src=https://samsungtizenos.com/"media//vs2022_run_1_native.png/"//>/n <p><\/p>\n Alternatively, open <b>Tizen Emulator Manager<\/b> from <b>Tools > Tizen > Tizen Emulator Manager<\/b>.<\/li>\n <img alt=\"Launching Tizen Emulation Manager\" src=https://samsungtizenos.com/"media//vs2022_run_2_native.png/"//>/n <p><\/p>\n <li><b>Select and Launch an Emulator<\/b><br>Choose an emulator instance that matches or has a higher <b>Tizen platform version<\/b> than your application. Click <b>Launch<\/b> to start the selected emulator.<br>\n <img alt=\"Choosing emulator\" src=https://samsungtizenos.com/"media//vs2022_run_3_emulator.png/"//>/n <p>Once the emulator window is visible, switch back to Visual Studio.<\/p><\/li>\n <img alt=\"Emulator window\" src=https://samsungtizenos.com/"media//vs2022_run_4_emulator.png/"//>/n <li><b>Run or Debug Your Application<\/b><br>In Visual Studio, the newly launched emulator should now appear in the <b>Run and Debug<\/b> dropdown. Click the <b>bold green arrow<\/b> button to debug the application. Click the unfilled <b>light green button<\/b> to run the application without debugging.<\/li>\n <img alt=\"Deploy and run applicaion\" src=https://samsungtizenos.com/"media//vs2022_run_5_native.png/"//>/n <li><b> View the Application in the Emulator<\/b><br>Once deployed, the <b>Tizen native application UI<\/b> will be displayed on the emulator screen. You can now interact with it to verify its functionality.<\/li>\n <img alt=\"Visible project UI on emulator screen\" src=https://samsungtizenos.com/"media//vs2022_run_6_native.png/"//>/n <p><\/p>\n<\/div>\n<h2 id=\"content-debug-your-application-in-emulator\"><a href=https://samsungtizenos.com/"#content-debug-your-application-in-emulator\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Debug Your Application in Emulator<\/h2>\n<div class=\"content dotnet\">\n<p>Debugging allows you to analyze and fix issues in your <b>Tizen .NET<\/b> application by pausing execution and inspecting variable values. Follow these steps to debug your application effectively.<\/p>\n <ol>\n <li><b>Open the Source Code File<\/b> <br>In Visual Studio, open the <b>.cs<\/b> file of your Tizen .NET application where you want to debug.<\/li>\n <p><\/p>\n <li><b>Add a Breakpoint<\/b><br>Click on the left margin of the code editor next to the line where you want execution to pause. Alternatively, select a line and press <b>F9<\/b> to set a breakpoint.<\/li>\n <img alt=\"Debugging application\" src=https://samsungtizenos.com/"media//vs2022_debug_dotnet.png/"//>/n <p><\/p>\n <li><b>Start the Debugging Session<\/b><br> Navigate to <b>Debug > Start Debugging<\/b>.Or, click the <b>green arrow (emulator name)<\/b> in the toolbar.You can also press <b>F5<\/b> to begin debugging.<\/li>\n <\/ol>\n<div>\n<div class=\"content web\">\n<p>Debugging allows you to analyze and fix issues in your <b>Tizen Web<\/b> application by pausing execution and inspecting variable values. Follow these steps to debug your application effectively.<\/p>\n <ol>\n <li><b>Setting Up Google Chrome for Debugging<\/b><br>Before starting web application debugging in Tizen, ensure that the Google Chrome path is correctly set in <b>Visual Studio<\/b>. Go to <b>Tools > Options > Tizen > Tools<\/b>, and check if the Chrome path is specified. If not, manually enter the path to the Chrome executable (e.g., C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe) and click <b>OK<\/b> to save the changes.<\/li>\n <img alt=\"Setting Goggle Chrome path\" src=https://samsungtizenos.com/"media//vs2022_debug_web_option.png/"//>/n <p><\/p>\n <li><b>Open the Source Code File<\/b> <br>In Visual Studio, open the <b>.js<\/b> file of your Tizen Web application where you want to debug.<\/li>\n <p><\/p>\n <li><b>Add a Breakpoint<\/b><br>Click on the left margin of the code editor next to the line where you want execution to pause. Alternatively, select a line and press <b>F9<\/b> to set a breakpoint.<\/li>\n <img alt=\"Debugging application\" src=https://samsungtizenos.com/"media//vs2022_debug_web.png/"//>/n <p><\/p>\n <li><b>Start the Debugging Session<\/b><br> Navigate to <b>Debug > Start Debugging<\/b>.Or, click the <b>green arrow (emulator name)<\/b> in the toolbar.You can also press <b>F5<\/b> to begin debugging.<\/li>\n <\/ol>\n<div>\n<div class=\"content native\">\n<p>Debugging allows you to analyze and fix issues in your <b>Tizen Native<\/b> application by pausing execution and inspecting variable values. Follow these steps to debug your application effectively.<\/p>\n <ol>\n <li><b>Open the Source Code File<\/b><br>In Visual Studio, open the <b>.c<\/b> file of your Tizen Native application where you want to debug.<\/li>\n <p><\/p>\n <li><b>Add a Breakpoint<\/b><br>Click on the left margin of the code editor next to the line where you want execution to pause. Alternatively, select a line and press <b>F9<\/b> to set a breakpoint.<\/li>\n <img alt=\"Debugging application\" src=https://samsungtizenos.com/"media//vs2022_debug_native.png/"//>/n <p><\/p>\n <li><b>Start the Debugging Session<\/b><br> Navigate to <b>Debug > Start Debugging<\/b>.Or, click the <b>green arrow (emulator name)<\/b> in the toolbar.You can also press <b>F5<\/b> to begin debugging.<\/li>\n <\/ol>\n<div>\n<script>\n function showContent(className) {\n \/\/ Get all content divs\n const allContents = document.querySelectorAll('.content');\n \/\/ Hide all content divs\n allContents.forEach(content => content.classList.remove('active'));\n \/\/ Show only divs with the matching class\n const selectedContents = document.querySelectorAll(`.${className}`);\n selectedContents.forEach(content => content.classList.add('active'));\n }\n \/\/ Show .NET content by default\n document.addEventListener('DOMContentLoaded', () => {\n showContent('dotnet');\n });\n<\/script>\n<\/body>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-create-a-project\">Create a Project<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-build-your-application\">Build Your Application<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-build-the-project\">Build the Project<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-deploy-and-run-your-application\">Deploy and Run Your Application<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-debug-your-application-in-emulator\">Debug Your Application in Emulator<\/a><\/li>\n<\/ul>\n","title":"Creating Application Projects","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"nIJqHVsGa9Rh3YMUqEp7","name":"documentation::article","path":"docs\/sdk-tools\/dotnet\/visual-studio\/vstools\/getting-started\/creating-application-projects","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"c41b3bab6f554bb8298533f9d700bf6f3497069f726fc1d87ce02376cef3616a"}" wire:effects="[]" wire:id="nIJqHVsGa9Rh3YMUqEp7" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtY3JlYXRpbmctYXBwbGljYXRpb24tcHJvamVjdHNcIj48YSBocmVmPVwiI2NvbnRlbnQtY3JlYXRpbmctYXBwbGljYXRpb24tcHJvamVjdHNcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkNyZWF0aW5nIEFwcGxpY2F0aW9uIFByb2plY3RzPFwvaDE+PGRpdiBkYXRhLWtub3dsZWRnZS1iYXNlLW1ldGFkYXRhPjxcL2Rpdj5cbiZsdDtzdHlsZT5cbiAgICBpbWcge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG4mbHQ7XC9zdHlsZT5cbjxwPlRoZSA8c3Ryb25nPlZpc3VhbCBTdHVkaW8gRXh0ZW5zaW9uIGZvciBUaXplbjxcL3N0cm9uZz4gYWxsb3dzIHlvdSB0byBlYXNpbHkgYW5kIGVmZmljaWVudGx5IGNyZWF0ZSBhcHBsaWNhdGlvbnMgZm9yIFRpemVuLiBUaGlzIGd1aWRlIHByb3ZpZGVzIHN0ZXAtYnktc3RlcCBpbnN0cnVjdGlvbnMgdG8gaGVscCB5b3UgZmFtaWxpYXJpemUgeW91cnNlbGYgd2l0aCB0aGUgPHN0cm9uZz4uTkVUPFwvc3Ryb25nPiwgPHN0cm9uZz5XZWI8XC9zdHJvbmc+LCBhbmQgPHN0cm9uZz5OYXRpdmU8XC9zdHJvbmc+IGFwcGxpY2F0aW9uIGRldmVsb3BtZW50IHByb2Nlc3MuIEJ5IGZvbGxvd2luZyB0aGVzZSBzdGVwcywgeW91IGNhbiBjcmVhdGUgYW5kIHJ1biBhIGJhc2ljIFRpemVuIGFwcGxpY2F0aW9uIHRoYXQgZGlzcGxheXMgdGV4dCBvbiB0aGUgc2NyZWVuIHdpdGhvdXQgdXNlciBpbnRlcmFjdGlvbi48XC9wPlxuPG9sPlxuPGxpPlxuPHA+PGEgaHJlZj1cIi4uXC9pbnN0YWxsLm1kXCI+U2V0IFVwIHRoZSBEZXZlbG9wbWVudCBFbnZpcm9ubWVudDxcL2E+PGJyPjxcL3A+XG48cD5CZWZvcmUgeW91IGJlZ2luIGRldmVsb3BpbmcgVGl6ZW4gYXBwbGljYXRpb25zLCBlbnN1cmUgdGhhdCB5b3VyIGRldmVsb3BtZW50IGVudmlyb25tZW50IGlzIHByb3Blcmx5IHNldCB1cC4gVGhpcyBpbmNsdWRlcyBpbnN0YWxsaW5nIDxzdHJvbmc+VmlzdWFsIFN0dWRpbzxcL3N0cm9uZz4sIHRoZSA8c3Ryb25nPlZpc3VhbCBTdHVkaW8gVG9vbHMgZm9yIFRpemVuPFwvc3Ryb25nPiwgYW5kIHJlcXVpcmVkIHRvb2xzZXRzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPjxhIGhyZWY9XCIjY3JlYXRlLWEtcHJvamVjdFwiPkNyZWF0ZSBhIFByb2plY3Q8XC9hPjxcL3A+XG48cD5Vc2UgYSA8c3Ryb25nPnByZWRlc2lnbmVkIHByb2plY3QgdGVtcGxhdGU8XC9zdHJvbmc+IHRvIGNyZWF0ZSBhIFRpemVuIGFwcGxpY2F0aW9uLiBUaGVzZSB0ZW1wbGF0ZXMgZ2VuZXJhdGUgdGhlIGVzc2VudGlhbCBmaWxlcyBhbmQgZm9sZGVycyBuZWVkZWQgdG8gc3RhcnQgZGV2ZWxvcG1lbnQuIFNlbGVjdCB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgZm9yIDxzdHJvbmc+Lk5FVDxcL3N0cm9uZz4sIDxzdHJvbmc+V2ViPFwvc3Ryb25nPiwgb3IgPHN0cm9uZz5OYXRpdmU8XC9zdHJvbmc+IGFwcGxpY2F0aW9ucy48XC9wPlxuPFwvbGk+XG48bGk+XG48cD48YSBocmVmPVwiI2J1aWxkLXlvdXItYXBwbGljYXRpb25cIj5CdWlsZCBZb3VyIEFwcGxpY2F0aW9uPFwvYT48XC9wPlxuPHA+QWZ0ZXIgYWRkaW5nIHRoZSBuZWNlc3NhcnkgY29kZSBhbmQgZmVhdHVyZXMsIGJ1aWxkIHlvdXIgYXBwbGljYXRpb24gdG8gPHN0cm9uZz52YWxpZGF0ZSBhbmQgY29tcGlsZTxcL3N0cm9uZz4gdGhlIGNvZGUuIFRoaXMgc3RlcCBlbnN1cmVzIHRoZXJlIGFyZSBubyBzeW50YXggZXJyb3JzIG9yIG1pc3NpbmcgZGVwZW5kZW5jaWVzLjxcL3A+XG48XC9saT5cbjxsaT5cbjxwPjxhIGhyZWY9XCIjZGVwbG95LWFuZC1ydW4teW91ci1hcHBsaWNhdGlvblwiPkRlcGxveSBhbmQgUnVuIFlvdXIgQXBwbGljYXRpb248XC9hPjxcL3A+XG48cD5EZXBsb3kgdGhlIGFwcGxpY2F0aW9uIHRvIGFuIDxzdHJvbmc+ZW11bGF0b3Igb3IgYSByZWFsIFRpemVuIGRldmljZTxcL3N0cm9uZz4gYW5kIHJ1biBpdCB0byB2ZXJpZnkgaXRzIGZ1bmN0aW9uYWxpdHkuPFwvcD5cbjxcL2xpPlxuPGxpPlxuPHA+PGEgaHJlZj1cIiNkZWJ1Zy15b3VyLWFwcGxpY2F0aW9uLWluLWVtdWxhdG9yXCI+RGVidWcgeW91ciBBcHBsaWNhdGlvbiBpbiBFbXVsYXRvcjxcL2E+PFwvcD5cbjxwPlVzZSBkZWJ1Z2dpbmcgdG9vbHMgdG8gPHN0cm9uZz5hbmFseXplLCB0cm91Ymxlc2hvb3QsIGFuZCBmaXg8XC9zdHJvbmc+IGlzc3VlcyBpbiB5b3VyIGFwcGxpY2F0aW9uLiBUaGUgVGl6ZW4gZW11bGF0b3IgcHJvdmlkZXMgYSB0ZXN0aW5nIGVudmlyb25tZW50IGZvciBkZWJ1Z2dpbmcgYmVmb3JlIGRlcGxveW1lbnQgb24gYWN0dWFsIGRldmljZXMuPFwvcD5cbjxcL2xpPlxuPFwvb2w+XG48ZGl2PlxuICAgIDxidXR0b24gb25jbGljaz1cInNob3dDb250ZW50KCdkb3RuZXQnKVwiPi5ORVQgQXBwbGljYXRpb24gPFwvYnV0dG9uPlxuICAgIDxidXR0b24gb25jbGljaz1cInNob3dDb250ZW50KCd3ZWInKVwiPldlYiBBcHBsaWNhdGlvbiA8XC9idXR0b24+XG4gICAgPGJ1dHRvbiBvbmNsaWNrPVwic2hvd0NvbnRlbnQoJ25hdGl2ZScpXCI+TmF0aXZlIEFwcGxpY2F0aW9uPFwvYnV0dG9uPlxuPFwvZGl2PlxuPGgyIGlkPVwiY29udGVudC1jcmVhdGUtYS1wcm9qZWN0XCI+PGEgaHJlZj1cIiNjb250ZW50LWNyZWF0ZS1hLXByb2plY3RcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkNyZWF0ZSBhIFByb2plY3Q8XC9oMj5cbjxkaXYgY2xhc3M9XCJjb250ZW50IGRvdG5ldFwiPlxuICAgPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIFN0ZXAtYnktU3RlcCBHdWlkZSB0byBDcmVhdGluZyBhIDxiPlRpemVuIC5ORVQ8XC9iPiBBcHBsaWNhdGlvbi48XC9wPlxuICAgIDxvbD5cbiAgICAgICAgPGxpPjxiPk9wZW4gVmlzdWFsIFN0dWRpbzxcL2I+PGJyPlxuICAgICAgICBMYXVuY2ggVmlzdWFsIFN0dWRpbyBvbiB5b3VyIGRldmVsb3BtZW50IG1hY2hpbmUuPFwvbGk+XG4gICAgICAgIDxsaT48Yj5DcmVhdGUgYSBOZXcgUHJvamVjdDxcL2I+PGJyPlxuICAgICAgICBJbiB0aGUgVmlzdWFsIFN0dWRpbyBtZW51LCBzZWxlY3QgPGI+RmlsZTxcL2I+ID4gPGI+TmV3PFwvYj4gPiA8Yj5Qcm9qZWN0PFwvYj4uPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiQ3JlYXRlIG5ldyBwcm9qZWN0XCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9wcm9qZWN0X2NyZWF0ZV8xLnBuZ1wiIFwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8bGk+PGI+IFNlbGVjdCB0aGUgVGl6ZW4gLk5FVCBQcm9qZWN0IFRlbXBsYXRlPFwvYj48YnI+XG4gICAgICAgIEluIDxiPkNyZWF0ZSBhIE5ldyBwcm9qZWN0PFwvYj4gd2luZG93LCBzZWxlY3QgPGI+I0M8XC9iPiBhbmQgPGI+VGl6ZW48XC9iPiBmcm9tIHRoZSBkcm9wZG93biBtZW51LCBhbmQgY2hvb3NlIDxiPlRpemVuIERvdE5ldCBQcm9qZWN0PFwvYj4uIFRoZW4gY2xpY2sgPGI+TmV4dDxcL2I+LjxcL2xpPlxuICAgICAgICA8aW1nICBzcmM9XCJtZWRpYVwvdnMyMDIyX3Byb2plY3RfY3JlYXRlXzJfZG90bmV0LnBuZ1wiIFwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8cD5Db25maWd1cmUgdGhlIHByb2plY3QgcHJvcGVydGllcyBieSBlbnRlcmluZyB0aGUgPGI+UHJvamVjdCBOYW1lPFwvYj4sIDxiPkxvY2F0aW9uPFwvYj4sIGFuZCA8Yj5Tb2x1dGlvbiBOYW1lPFwvYj4sIHRoZW4gY2xpY2sgPGI+Q3JlYXRlPFwvYj4uPFwvcD5cbiAgICAgICAgPGltZyAgc3JjPVwibWVkaWFcL3ZzMjAyMl9wcm9qZWN0X2NyZWF0ZV8zX2RvdG5ldC5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8cD5UaGVuIHRoZSA8Yj5UaXplbiBQcm9qZWN0IFdpemFyZDxcL2I+IHBvcC11cCB3aW5kb3cgYXBwZWFycy48XC9wPlxuICAgICAgICA8bGk+PGI+U2VsZWN0IFByb2ZpbGUsIFBsYXRmb3JtIFZlcnNpb24sIGFuZCBUZW1wbGF0ZTxcL2I+PGJyPlxuICAgICAgICBDaG9vc2UgdGhlIGFwcHJvcHJpYXRlIDxiPlByb2ZpbGU8XC9iPiAoZS5nLiwgTW9iaWxlLCBXZWFyYWJsZSwgVFYpLiBTZWxlY3QgdGhlIDxiPlBsYXRmb3JtIFZlcnNpb248XC9iPiBjb21wYXRpYmxlIHdpdGggeW91ciB0YXJnZXQgZGV2aWNlLiBQaWNrIGEgPGI+UHJvamVjdCBUZW1wbGF0ZTxcL2I+IGJhc2VkIG9uIHlvdXIgYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLiBDbGljayA8Yj5PSzxcL2I+IHRvIGZpbmFsaXplIHRoZSBwcm9qZWN0IGNyZWF0aW9uLjxcL2xpPlxuICAgICAgICA8aW1nIHNyYz1cIm1lZGlhXC92czIwMjJfcHJvamVjdF9jcmVhdGVfNF9kb3RuZXQucG5nXCIgXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxwPlRoZSBmb2xsb3dpbmcgZmlndXJlIGlsbHVzdHJhdGVzIHRoZSBzb2x1dGlvbiBleHBsb3JlciBmb3IgbmV3bHkgY3JlYXRlZCA8Yj5UaXplbkRvdE5ldDxcL2I+IHByb2plY3Q6PFwvcD48aW1nIHNyYz1cIm1lZGlhXC92czIwMjJfcHJvamVjdF9jcmVhdGVfNV9kb3RuZXQucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICA8XC9vbD5cbiAgICA8cD5PbmNlIHRoZSBwcm9qZWN0IGlzIGNyZWF0ZWQsIHlvdSBjYW4gc3RhcnQgYWRkaW5nIHlvdXIgYXBwbGljYXRpb24gbG9naWMgYW5kIFVJIGVsZW1lbnRzLjxcL3A+XG48XC9kaXY+XG48ZGl2IGNsYXNzPVwiY29udGVudCB3ZWJcIj5cbiAgICA8cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgc2hvd3MgU3RlcC1ieS1TdGVwIEd1aWRlIHRvIENyZWF0aW5nIGEgPGI+VGl6ZW4gV2ViPFwvYj4gQXBwbGljYXRpb24uPFwvcD5cbiAgICA8b2w+XG4gICAgICAgIDxsaT48Yj5PcGVuIFZpc3VhbCBTdHVkaW88XC9iPjxicj5cbiAgICAgICAgTGF1bmNoIFZpc3VhbCBTdHVkaW8gb24geW91ciBkZXZlbG9wbWVudCBtYWNoaW5lLjxcL2xpPlxuICAgICAgICA8bGk+PGI+Q3JlYXRlIGEgTmV3IFByb2plY3Q8XC9iPjxicj5cbiAgICAgICAgSW4gdGhlIFZpc3VhbCBTdHVkaW8gbWVudSwgc2VsZWN0IDxiPkZpbGU8XC9iPiA+IDxiPk5ldzxcL2I+ID4gPGI+UHJvamVjdDxcL2I+LiA8XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJDcmVhdGUgbmV3IHByb2plY3RcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3Byb2plY3RfY3JlYXRlXzEucG5nXCIgXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxsaT48Yj4gU2VsZWN0IHRoZSBUaXplbiBXZWIgUHJvamVjdCBUZW1wbGF0ZTxcL2I+PGJyPlxuICAgICAgICBJbiA8Yj5DcmVhdGUgYSBOZXcgcHJvamVjdDxcL2I+IHdpbmRvdywgc2VsZWN0IDxiPmphdmFTY3JpcHQ8XC9iPiBhbmQgPGI+VGl6ZW48XC9iPiBmcm9tIHRoZSBkcm9wZG93biBtZW51LCBhbmQgY2hvb3NlIDxiPlRpemVuIFdlYiBQcm9qZWN0PFwvYj4uIFRoZW4gY2xpY2sgPGI+TmV4dDxcL2I+LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIk5ldyBwcm9qZWN0IG1lbnVcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3Byb2plY3RfY3JlYXRlXzJfd2ViLnBuZ1wiIFwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8cD5Db25maWd1cmUgdGhlIHByb2plY3QgcHJvcGVydGllcyBieSBlbnRlcmluZyB0aGUgPGI+UHJvamVjdCBOYW1lPFwvYj4sIDxiPkxvY2F0aW9uPFwvYj4sIGFuZCA8Yj5Tb2x1dGlvbiBOYW1lPFwvYj4sIHRoZW4gY2xpY2sgPGI+Q3JlYXRlPFwvYj4uPFwvcD5cbiAgICAgICAgPGltZyBhbHQ9XCJDb25maWd1cmUgeW91ciBwcm9qZWN0XCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9wcm9qZWN0X2NyZWF0ZV8zX3dlYi5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8cD5UaGVuIHRoZSA8Yj5UaXplbiBQcm9qZWN0IFdpemFyZDxcL2I+IHBvcC11cCB3aW5kb3cgYXBwZWFycy48XC9wPlxuICAgICAgICA8bGk+PGI+U2VsZWN0IFByb2ZpbGUsIFBsYXRmb3JtIFZlcnNpb24sIGFuZCBUZW1wbGF0ZTxcL2I+PGJyPlxuICAgICAgICBDaG9vc2UgdGhlIGFwcHJvcHJpYXRlIDxiPlByb2ZpbGU8XC9iPiAoZS5nLiwgTW9iaWxlLCBXZWFyYWJsZSwgVFYpLiBTZWxlY3QgdGhlIDxiPlBsYXRmb3JtIFZlcnNpb248XC9iPiBjb21wYXRpYmxlIHdpdGggeW91ciB0YXJnZXQgZGV2aWNlLiBQaWNrIGEgPGI+UHJvamVjdCBUZW1wbGF0ZTxcL2I+IGJhc2VkIG9uIHlvdXIgYXBwbGljYXRpb24gcmVxdWlyZW1lbnRzLiBDbGljayA8Yj5PSzxcL2I+IHRvIGZpbmFsaXplIHRoZSBwcm9qZWN0IGNyZWF0aW9uLjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIlRpemVuIFByb2ZpbGUgU2VsZWN0XCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9wcm9qZWN0X2NyZWF0ZV80X3dlYi5wbmdcIiBcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgPHA+VGhlIGZvbGxvd2luZyBmaWd1cmUgaWxsdXN0cmF0ZXMgdGhlIHNvbHV0aW9uIGV4cGxvcmVyIGZvciBuZXdseSBjcmVhdGVkIDxiPlRpemVuV2ViPFwvYj4gcHJvamVjdDo8XC9wPlxuICAgICAgICA8aW1nIGFsdD1cIlByb2plY3QgRm9sZGVyXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9wcm9qZWN0X2NyZWF0ZV81X3dlYi5wbmdcIiBcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICA8XC9vbD5cbiAgICA8cD5PbmNlIHRoZSBwcm9qZWN0IGlzIGNyZWF0ZWQsIHlvdSBjYW4gc3RhcnQgYWRkaW5nIHlvdXIgYXBwbGljYXRpb24gbG9naWMgYW5kIFVJIGVsZW1lbnRzLjxcL3A+XG48XC9kaXY+XG48ZGl2IGNsYXNzPVwiY29udGVudCBuYXRpdmVcIj5cbiAgICAgPHA+VGhlIGZvbGxvd2luZyBleGFtcGxlIHNob3dzIFN0ZXAtYnktU3RlcCBHdWlkZSB0byBDcmVhdGluZyBhIDxiPlRpemVuIE5hdGl2ZTxcL2I+IEFwcGxpY2F0aW9uLjxcL3A+XG4gICAgPG9sPlxuICAgICAgICA8bGk+PGI+T3BlbiBWaXN1YWwgU3R1ZGlvPFwvYj48YnI+XG4gICAgICAgIExhdW5jaCBWaXN1YWwgU3R1ZGlvIG9uIHlvdXIgZGV2ZWxvcG1lbnQgbWFjaGluZS48XC9saT5cbiAgICAgICAgPGxpPjxiPkNyZWF0ZSBhIE5ldyBQcm9qZWN0PFwvYj48YnI+XG4gICAgICAgIEluIHRoZSBWaXN1YWwgU3R1ZGlvIG1lbnUsIHNlbGVjdCA8Yj5GaWxlPFwvYj4gPiA8Yj5OZXc8XC9iPiA+IDxiPlByb2plY3Q8XC9iPi48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJDcmVhdGUgbmV3IHByb2plY3RcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3Byb2plY3RfY3JlYXRlXzEucG5nXCIgXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxsaT48Yj4gU2VsZWN0IHRoZSBUaXplbiBOYXRpdmUgUHJvamVjdCBUZW1wbGF0ZTxcL2I+PGJyPlxuICAgICAgICBJbiA8Yj5DcmVhdGUgYSBOZXcgcHJvamVjdDxcL2I+IHdpbmRvdywgc2VsZWN0IDxiPkMrKzxcL2I+IGFuZCA8Yj5UaXplbjxcL2I+IGZyb20gdGhlIGRyb3Bkb3duIG1lbnUsIGFuZCBjaG9vc2UgPGI+VGl6ZW4gTmF0aXZlIFByb2plY3Q8XC9iPi4gVGhlbiBjbGljayA8Yj5OZXh0PFwvYj48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJOZXcgcHJvamVjdCBtZW51XCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9wcm9qZWN0X2NyZWF0ZV8yX25hdGl2ZS5wbmdcIiBcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgPHA+Q29uZmlndXJlIHRoZSBwcm9qZWN0IHByb3BlcnRpZXMgYnkgZW50ZXJpbmcgdGhlIDxiPlByb2plY3QgTmFtZTxcL2I+LCA8Yj5Mb2NhdGlvbjxcL2I+LCBhbmQgPGI+U29sdXRpb24gTmFtZTxcL2I+LCB0aGVuIGNsaWNrIDxiPkNyZWF0ZTxcL2I+LjxcL3A+XG4gICAgICAgIDxpbWcgYWx0PVwiQ29uZmlndXJlIHlvdXIgcHJvamVjdFwiIHNyYz1cIm1lZGlhXC92czIwMjJfcHJvamVjdF9jcmVhdGVfM19uYXRpdmUucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgPHA+VGhlbiB0aGUgPGI+VGl6ZW4gUHJvamVjdCBXaXphcmQ8XC9iPiBwb3AtdXAgd2luZG93IGFwcGVhcnMuPFwvcD5cbiAgICAgICAgPGxpPjxiPlNlbGVjdCBQcm9maWxlLCBQbGF0Zm9ybSBWZXJzaW9uLCBhbmQgVGVtcGxhdGU8XC9iPjxicj5cbiAgICAgICAgQ2hvb3NlIHRoZSBhcHByb3ByaWF0ZSA8Yj5Qcm9maWxlPFwvYj4gKGUuZy4sIE1vYmlsZSwgV2VhcmFibGUsIFRWKS4gU2VsZWN0IHRoZSA8Yj5QbGF0Zm9ybSBWZXJzaW9uPFwvYj4gY29tcGF0aWJsZSB3aXRoIHlvdXIgdGFyZ2V0IGRldmljZS4gUGljayBhIDxiPlByb2plY3QgVGVtcGxhdGU8XC9iPiBiYXNlZCBvbiB5b3VyIGFwcGxpY2F0aW9uIHJlcXVpcmVtZW50cy4gQ2xpY2sgPGI+T0s8XC9iPiB0byBmaW5hbGl6ZSB0aGUgcHJvamVjdCBjcmVhdGlvbi48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJUaXplbiBQcm9maWxlIFNlbGVjdFwiIHNyYz1cIm1lZGlhXC92czIwMjJfcHJvamVjdF9jcmVhdGVfNF9uYXRpdmUucG5nXCIgXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxwPlRoZSBmb2xsb3dpbmcgZmlndXJlIGlsbHVzdHJhdGVzIHRoZSBzb2x1dGlvbiBleHBsb3JlciBmb3IgbmV3bHkgY3JlYXRlZCA8Yj5UaXplbk5hdGl2ZTxcL2I+IHByb2plY3Q6PFwvcD5cbiAgICAgICAgPGltZyBhbHQ9XCJQcm9qZWN0IEZvbGRlclwiIHNyYz1cIm1lZGlhXC92czIwMjJfcHJvamVjdF9jcmVhdGVfNV9uYXRpdmUucG5nXCIgXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgPFwvb2w+XG4gICAgPHA+T25jZSB0aGUgcHJvamVjdCBpcyBjcmVhdGVkLCB5b3UgY2FuIHN0YXJ0IGFkZGluZyB5b3VyIGFwcGxpY2F0aW9uIGxvZ2ljIGFuZCBVSSBlbGVtZW50cy48XC9wPlxuPFwvZGl2PlxuPFwvZGl2PlxuPGgyIGlkPVwiY29udGVudC1idWlsZC15b3VyLWFwcGxpY2F0aW9uXCI+PGEgaHJlZj1cIiNjb250ZW50LWJ1aWxkLXlvdXItYXBwbGljYXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkJ1aWxkIFlvdXIgQXBwbGljYXRpb248XC9oMj5cbjxwPkFmdGVyIGNyZWF0aW5nIHRoZSBUaXplbiBhcHBsaWNhdGlvbiBwcm9qZWN0LCB5b3UgY2FuIGltcGxlbWVudCB0aGUgcmVxdWlyZWQgZmVhdHVyZXMuIEluIHRoaXMgZXhhbXBsZSwgd2UgdXNlIHRoZSBkZWZhdWx0IHByb2plY3QgdGVtcGxhdGUgd2l0aG91dCBtYWtpbmcgYW55IGNvZGUgY2hhbmdlcy48XC9wPlxuPHA+V2hlbiB5b3VyIGFwcGxpY2F0aW9uIGNvZGUgaXMgcmVhZHksIHlvdSBuZWVkIHRvIDxzdHJvbmc+YnVpbGQgdGhlIGFwcGxpY2F0aW9uPFwvc3Ryb25nPi4gVGhlIGJ1aWxkIHByb2Nlc3MgcGVyZm9ybXMgdmFsaWRhdGlvbiBjaGVja3MgYW5kIGNvbXBpbGVzIHlvdXIgcHJvamVjdCBmaWxlcy4gQWRkaXRpb25hbGx5LCB0aGUgYXBwbGljYXRpb24gcGFja2FnZSBtdXN0IGJlIHNpZ25lZCB3aXRoIGFuIGF1dGhvciBjZXJ0aWZpY2F0ZS4gSWYgeW91IGhhdmUgbm90IHlldCByZWdpc3RlcmVkIGEgVGl6ZW4gY2VydGlmaWNhdGUgaW4gVmlzdWFsIFN0dWRpbywgcmVmZXIgdG8gdGhlIDxhIGhyZWY9XCIuLlwvLi5cL3ZzdG9vbHNcL3Rvb2xzXC9jZXJ0aWZpY2F0ZS1tYW5hZ2VyLm1kXCI+Q2VydGlmaWNhdGUgTWFuYWdlcjxcL2E+IGZvciBzZXR1cCBpbnN0cnVjdGlvbnMuPFwvcD5cbjxoMyBpZD1cImNvbnRlbnQtYnVpbGQtdGhlLXByb2plY3RcIj48YSBocmVmPVwiI2NvbnRlbnQtYnVpbGQtdGhlLXByb2plY3RcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkJ1aWxkIHRoZSBQcm9qZWN0PFwvaDM+XG48ZGl2IGNsYXNzPVwiY29udGVudCBkb3RuZXRcIj5cbjxwPlRoZXJlIGFyZSB0d28gd2F5cyB0byBidWlsZCB5b3VyIDxiPlRpemVuIC5ORVQ8XC9iPiBBcHBsaWNhdGlvbjo8XC9wPlxuICAgIDxvbD5cbiAgICAgICAgPGxpPjxiPlVzaW5nIHRoZSBWaXN1YWwgU3R1ZGlvIE1lbnU8XC9iPjxicj5JbiB0aGUgVmlzdWFsIFN0dWRpbyAsIG5hdmlnYXRlIHRvIDxiPkJ1aWxkID4gQnVpbGQgU29sdXRpb248XC9iPi48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJCdWlsZCBzb2x1dGlvblwiIHNyYz1cIm1lZGlhXC92czIwMjJfYnVpbGRfMV9kb3RuZXQucG5nXCIgXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxsaT48Yj5Vc2luZyBTb2x1dGlvbiBFeHBsb3JlcjxcL2I+PGJyPlxuICAgICAgICBJbiB0aGUgPGI+U29sdXRpb24gRXhwbG9yZXI8XC9iPiB2aWV3LCByaWdodC1jbGljayBvbiB0aGUgc29sdXRpb24gbmFtZSBhbmQgc2VsZWN0IDxiPkJ1aWxkPFwvYj4uPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiU29sdXRpb24gRXhwbG9yZXJcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX2J1aWxkXzJfZG90bmV0LnBuZ1wiIFwvPlxuICAgICAgICA8cD48XC9wPlxuICAgIDxcL29sPlxuPFwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnQgd2ViXCI+XG4gICAgPHA+VGhlcmUgYXJlIHR3byB3YXlzIHRvIGJ1aWxkIHlvdXIgPGI+VGl6ZW4gV2ViPFwvYj4gQXBwbGljYXRpb246PFwvcD5cbiAgICA8b2w+XG4gICAgICAgIDxsaT48Yj5Vc2luZyB0aGUgVmlzdWFsIFN0dWRpbyBNZW51PFwvYj48YnI+SW4gdGhlIFZpc3VhbCBTdHVkaW8gLCBuYXZpZ2F0ZSB0byA8Yj5CdWlsZCA+IEJ1aWxkIFNvbHV0aW9uPFwvYj4uPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiQnVpbGQgc29sdXRpb25cIiBzcmM9XCJtZWRpYVwvdnMyMDIyX2J1aWxkXzFfd2ViLnBuZ1wiIFwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8bGk+PGI+VXNpbmcgU29sdXRpb24gRXhwbG9yZXI8XC9iPjxicj5cbiAgICAgICAgSW4gdGhlIDxiPlNvbHV0aW9uIEV4cGxvcmVyPFwvYj4gdmlldywgcmlnaHQtY2xpY2sgb24gdGhlIHNvbHV0aW9uIG5hbWUgYW5kIHNlbGVjdCA8Yj5CdWlsZDxcL2I+LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIlNvbHV0aW9uIEV4cGxvcmVyXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9idWlsZF8yX3dlYi5wbmdcIiBcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICA8XC9vbD5cbjxcL2Rpdj5cbjxkaXYgY2xhc3M9XCJjb250ZW50IG5hdGl2ZVwiPlxuPHA+VGhlcmUgYXJlIHR3byB3YXlzIHRvIGJ1aWxkIHlvdXIgPGI+VGl6ZW4gTmF0aXZlPFwvYj4gQXBwbGljYXRpb246PFwvcD5cbiAgICA8b2w+XG4gICAgICAgIDxsaT48Yj5Vc2luZyB0aGUgVmlzdWFsIFN0dWRpbyBNZW51PFwvYj48YnI+SW4gdGhlIFZpc3VhbCBTdHVkaW8gLCBuYXZpZ2F0ZSB0byA8Yj5CdWlsZCA+IEJ1aWxkIFNvbHV0aW9uPFwvYj4uPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiQnVpbGQgc29sdXRpb25cIiBzcmM9XCJtZWRpYVwvdnMyMDIyX2J1aWxkXzFfbmF0aXZlLnBuZ1wiIFwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8bGk+PGI+VXNpbmcgU29sdXRpb24gRXhwbG9yZXI8XC9iPjxicj5cbiAgICAgICAgSW4gdGhlIDxiPlNvbHV0aW9uIEV4cGxvcmVyPFwvYj4gdmlldywgcmlnaHQtY2xpY2sgb24gdGhlIHNvbHV0aW9uIG5hbWUgYW5kIHNlbGVjdCA8Yj5CdWlsZDxcL2I+LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIlNvbHV0aW9uIEV4cGxvcmVyXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9idWlsZF8yX25hdGl2ZS5wbmdcIiBcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICA8XC9vbD5cbjxcL2Rpdj5cbjxoMiBpZD1cImNvbnRlbnQtZGVwbG95LWFuZC1ydW4teW91ci1hcHBsaWNhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1kZXBsb3ktYW5kLXJ1bi15b3VyLWFwcGxpY2F0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5EZXBsb3kgYW5kIFJ1biBZb3VyIEFwcGxpY2F0aW9uPFwvaDI+XG48ZGl2IGNsYXNzPVwiY29udGVudCBkb3RuZXRcIj5cbiAgICA8cD5PbmNlIHlvdXIgPGI+VGl6ZW4gLk5FVDxcL2I+IGFwcGxpY2F0aW9uIGlzIGJ1aWx0IHN1Y2Nlc3NmdWxseSwgeW91IGNhbiBkZXBsb3kgYW5kIHJ1biBpdCBvbiBhbiBlbXVsYXRvciBvciBhIHJlYWwgVGl6ZW4gZGV2aWNlLiBGb2xsb3cgdGhlIHN0ZXBzIGJlbG93IHRvIGxhdW5jaCBhbmQgdGVzdCB5b3VyIGFwcGxpY2F0aW9uIGluIHRoZSA8Yj5UaXplbiBFbXVsYXRvcjxcL2I+LjxcL3A+XG4gICAgPG9sPlxuICAgICAgICA8bGk+PGI+TGF1bmNoIHRoZSBUaXplbiBFbXVsYXRvciBNYW5hZ2VyPFwvYj48YnI+Q2xpY2sgdGhlIDxiPkxhdW5jaCBUaXplbiBFbXVsYXRvcjxcL2I+IGZyb20gdGhlIFZpc3VhbCBTdHVkaW8gdG9vbGJhci5cbiAgICAgICAgPGltZyBhbHQ9XCJMYXVuY2hpbmcgVGl6ZW4gRW11bGF0aW9uIE1hbmFnZXJcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl8xX2RvdG5ldC5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICBBbHRlcm5hdGl2ZWx5LCBvcGVuIDxiPlRpemVuIEVtdWxhdG9yIE1hbmFnZXI8XC9iPiBmcm9tIDxiPlRvb2xzID4gVGl6ZW4gPiBUaXplbiBFbXVsYXRvciBNYW5hZ2VyPFwvYj4uPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiTGF1bmNoaW5nIFRpemVuIEVtdWxhdGlvbiBNYW5hZ2VyXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9ydW5fMl9kb3RuZXQucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgPGxpPjxiPlNlbGVjdCBhbmQgTGF1bmNoIGFuIEVtdWxhdG9yPFwvYj48YnI+Q2hvb3NlIGFuIGVtdWxhdG9yIGluc3RhbmNlIHRoYXQgbWF0Y2hlcyBvciBoYXMgYSBoaWdoZXIgPGI+VGl6ZW4gcGxhdGZvcm0gdmVyc2lvbjxcL2I+IHRoYW4geW91ciBhcHBsaWNhdGlvbi4gQ2xpY2sgPGI+TGF1bmNoPFwvYj4gdG8gc3RhcnQgdGhlIHNlbGVjdGVkIGVtdWxhdG9yLjxicj5cbiAgICAgICAgPGltZyBhbHQ9XCJDaG9vc2luZyBlbXVsYXRvclwiICBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl8zX2VtdWxhdG9yLnBuZ1wiXC8+XG4gICAgICAgIDxwPk9uY2UgdGhlIGVtdWxhdG9yIHdpbmRvdyBpcyB2aXNpYmxlLCBzd2l0Y2ggYmFjayB0byBWaXN1YWwgU3R1ZGlvLjxcL3A+PFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiRW11bGF0b3Igd2luZG93XCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9ydW5fNF9lbXVsYXRvci5wbmdcIlwvPlxuICAgICAgICA8bGk+PGI+UnVuIG9yIERlYnVnIFlvdXIgQXBwbGljYXRpb248XC9iPjxicj5JbiBWaXN1YWwgU3R1ZGlvLCB0aGUgbmV3bHkgbGF1bmNoZWQgZW11bGF0b3Igc2hvdWxkIG5vdyBhcHBlYXIgaW4gdGhlIDxiPlJ1biBhbmQgRGVidWc8XC9iPiBkcm9wZG93bi4gQ2xpY2sgdGhlIDxiPmJvbGQgZ3JlZW4gYXJyb3c8XC9iPiBidXR0b24gdG8gZGVidWcgdGhlIGFwcGxpY2F0aW9uLiBDbGljayB0aGUgdW5maWxsZWQgPGI+bGlnaHQgZ3JlZW4gYnV0dG9uPFwvYj4gdG8gcnVuIHRoZSBhcHBsaWNhdGlvbiB3aXRob3V0IGRlYnVnZ2luZy48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJEZXBsb3kgYW5kIHJ1biBhcHBsaWNhaW9uXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9ydW5fNV9kb3RuZXQucG5nXCJcLz5cbiAgICAgICAgPGxpPjxiPiBWaWV3IHRoZSBBcHBsaWNhdGlvbiBpbiB0aGUgRW11bGF0b3I8XC9iPjxicj5PbmNlIGRlcGxveWVkLCB0aGUgPGI+VGl6ZW4gLk5FVCBhcHBsaWNhdGlvbiBVSTxcL2I+IHdpbGwgYmUgZGlzcGxheWVkIG9uIHRoZSBlbXVsYXRvciBzY3JlZW4uIFlvdSBjYW4gbm93IGludGVyYWN0IHdpdGggaXQgdG8gdmVyaWZ5IGl0cyBmdW5jdGlvbmFsaXR5LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIlZpc2libGUgcHJvamVjdCBVSSBvbiBlbXVsYXRvciBzY3JlZW5cIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl82X2RvdG5ldC5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuICAgIDxcL29sPlxuPFwvZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnQgd2ViXCI+XG4gICAgPHA+T25jZSB5b3VyIDxiPlRpemVuIHdlYjxcL2I+IGFwcGxpY2F0aW9uIGlzIGJ1aWx0IHN1Y2Nlc3NmdWxseSwgeW91IGNhbiBkZXBsb3kgYW5kIHJ1biBpdCBvbiBhbiBlbXVsYXRvciBvciBhIHJlYWwgVGl6ZW4gZGV2aWNlLiBGb2xsb3cgdGhlIHN0ZXBzIGJlbG93IHRvIGxhdW5jaCBhbmQgdGVzdCB5b3VyIGFwcGxpY2F0aW9uIGluIHRoZSA8Yj5UaXplbiBFbXVsYXRvcjxcL2I+LjxcL3A+XG4gICAgPG9sPlxuICAgICAgICA8bGk+PGI+TGF1bmNoIHRoZSBUaXplbiBFbXVsYXRvciBNYW5hZ2VyPFwvYj5DbGljayB0aGUgPGI+TGF1bmNoIFRpemVuIEVtdWxhdG9yPFwvYj4gZnJvbSB0aGUgVmlzdWFsIFN0dWRpbyB0b29sYmFyLlxuICAgICAgICA8aW1nIGFsdD1cIkxhdW5jaGluZyBUaXplbiBFbXVsYXRpb24gTWFuYWdlclwiIHNyYz1cIm1lZGlhXC92czIwMjJfcnVuXzFfd2ViLnBuZ1wiXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIEFsdGVybmF0aXZlbHksIG9wZW4gPGI+VGl6ZW4gRW11bGF0b3IgTWFuYWdlcjxcL2I+IGZyb20gPGI+VG9vbHMgPiBUaXplbiA+IFRpemVuIEVtdWxhdG9yIE1hbmFnZXI8XC9iPi48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJMYXVuY2hpbmcgVGl6ZW4gRW11bGF0aW9uIE1hbmFnZXJcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl8yX3dlYi5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8bGk+PGI+U2VsZWN0IGFuZCBMYXVuY2ggYW4gRW11bGF0b3I8XC9iPjxicj5DaG9vc2UgYW4gZW11bGF0b3IgaW5zdGFuY2UgdGhhdCBtYXRjaGVzIG9yIGhhcyBhIGhpZ2hlciA8Yj5UaXplbiBwbGF0Zm9ybSB2ZXJzaW9uPFwvYj4gdGhhbiB5b3VyIGFwcGxpY2F0aW9uLiBDbGljayA8Yj5MYXVuY2g8XC9iPiB0byBzdGFydCB0aGUgc2VsZWN0ZWQgZW11bGF0b3IuPGJyPlxuICAgICAgICA8aW1nIGFsdD1cIkNob29zaW5nIGVtdWxhdG9yXCIgIHNyYz1cIm1lZGlhXC92czIwMjJfcnVuXzNfZW11bGF0b3IucG5nXCJcLz5cbiAgICAgICAgPHA+T25jZSB0aGUgZW11bGF0b3Igd2luZG93IGlzIHZpc2libGUsIHN3aXRjaCBiYWNrIHRvIFZpc3VhbCBTdHVkaW8uPFwvcD48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJFbXVsYXRvciB3aW5kb3dcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl80X2VtdWxhdG9yLnBuZ1wiXC8+XG4gICAgICAgIDxsaT48Yj5SdW4gb3IgRGVidWcgWW91ciBBcHBsaWNhdGlvbjxcL2I+PGJyPkluIFZpc3VhbCBTdHVkaW8sIHRoZSBuZXdseSBsYXVuY2hlZCBlbXVsYXRvciBzaG91bGQgbm93IGFwcGVhciBpbiB0aGUgPGI+UnVuIGFuZCBEZWJ1ZzxcL2I+IGRyb3Bkb3duLiBDbGljayB0aGUgPGI+Ym9sZCBncmVlbiBhcnJvdzxcL2I+IGJ1dHRvbiB0byBkZWJ1ZyB0aGUgYXBwbGljYXRpb24uIENsaWNrIHRoZSB1bmZpbGxlZCA8Yj5saWdodCBncmVlbiBidXR0b248XC9iPiB0byBydW4gdGhlIGFwcGxpY2F0aW9uIHdpdGhvdXQgZGVidWdnaW5nLjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIkRlcGxveSBhbmQgcnVuIGFwcGxpY2Fpb25cIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl81X3dlYi5wbmdcIlwvPlxuICAgICAgICA8bGk+PGI+IFZpZXcgdGhlIEFwcGxpY2F0aW9uIGluIHRoZSBFbXVsYXRvcjxcL2I+PGJyPk9uY2UgZGVwbG95ZWQsIHRoZSA8Yj5UaXplbiBXZWIgYXBwbGljYXRpb24gVUk8XC9iPiB3aWxsIGJlIGRpc3BsYXllZCBvbiB0aGUgZW11bGF0b3Igc2NyZWVuLiBZb24gY2FuIG5vdyBpbnRlcmFjdCB3aXRoIGl0IHRvIHZlcmlmeSBpdHMgZnVuY3Rpb25hbGl0eS48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJWaXNpYmxlIHByb2plY3QgVUkgb24gZW11bGF0b3Igc2NyZWVuXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9ydW5fNl93ZWIucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICA8XC9vbD5cbjxcL2Rpdj5cbjxkaXYgY2xhc3M9XCJjb250ZW50IG5hdGl2ZVwiPlxuICAgIDxwPk9uY2UgeW91ciA8Yj5UaXplbiBOYXRpdmU8XC9iPiBhcHBsaWNhdGlvbiBpcyBidWlsdCBzdWNjZXNzZnVsbHksIHlvdSBjYW4gZGVwbG95IGFuZCBydW4gaXQgb24gYW4gZW11bGF0b3Igb3IgYSByZWFsIFRpemVuIGRldmljZS4gRm9sbG93IHRoZSBzdGVwcyBiZWxvdyB0byBsYXVuY2ggYW5kIHRlc3QgeW91ciBhcHBsaWNhdGlvbiBpbiB0aGUgPGI+VGl6ZW4gRW11bGF0b3I8XC9iPi48XC9wPlxuICAgIDxvbD5cbiAgICAgICAgPGxpPjxiPkxhdW5jaCB0aGUgVGl6ZW4gRW11bGF0b3IgTWFuYWdlcjxcL2I+PGJyPkNsaWNrIHRoZSA8Yj5MYXVuY2ggVGl6ZW4gRW11bGF0b3I8XC9iPiBmcm9tIHRoZSBWaXN1YWwgU3R1ZGlvIHRvb2xiYXIuXG4gICAgICAgIDxpbWcgYWx0PVwiTGF1bmNoaW5nIFRpemVuIEVtdWxhdGlvbiBNYW5hZ2VyXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9ydW5fMV9uYXRpdmUucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgQWx0ZXJuYXRpdmVseSwgb3BlbiA8Yj5UaXplbiBFbXVsYXRvciBNYW5hZ2VyPFwvYj4gZnJvbSA8Yj5Ub29scyA+IFRpemVuID4gVGl6ZW4gRW11bGF0b3IgTWFuYWdlcjxcL2I+LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIkxhdW5jaGluZyBUaXplbiBFbXVsYXRpb24gTWFuYWdlclwiIHNyYz1cIm1lZGlhXC92czIwMjJfcnVuXzJfbmF0aXZlLnBuZ1wiXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxsaT48Yj5TZWxlY3QgYW5kIExhdW5jaCBhbiBFbXVsYXRvcjxcL2I+PGJyPkNob29zZSBhbiBlbXVsYXRvciBpbnN0YW5jZSB0aGF0IG1hdGNoZXMgb3IgaGFzIGEgaGlnaGVyIDxiPlRpemVuIHBsYXRmb3JtIHZlcnNpb248XC9iPiB0aGFuIHlvdXIgYXBwbGljYXRpb24uIENsaWNrIDxiPkxhdW5jaDxcL2I+IHRvIHN0YXJ0IHRoZSBzZWxlY3RlZCBlbXVsYXRvci48YnI+XG4gICAgICAgIDxpbWcgYWx0PVwiQ2hvb3NpbmcgZW11bGF0b3JcIiAgc3JjPVwibWVkaWFcL3ZzMjAyMl9ydW5fM19lbXVsYXRvci5wbmdcIlwvPlxuICAgICAgICA8cD5PbmNlIHRoZSBlbXVsYXRvciB3aW5kb3cgaXMgdmlzaWJsZSwgc3dpdGNoIGJhY2sgdG8gVmlzdWFsIFN0dWRpby48XC9wPjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIkVtdWxhdG9yIHdpbmRvd1wiIHNyYz1cIm1lZGlhXC92czIwMjJfcnVuXzRfZW11bGF0b3IucG5nXCJcLz5cbiAgICAgICAgPGxpPjxiPlJ1biBvciBEZWJ1ZyBZb3VyIEFwcGxpY2F0aW9uPFwvYj48YnI+SW4gVmlzdWFsIFN0dWRpbywgdGhlIG5ld2x5IGxhdW5jaGVkIGVtdWxhdG9yIHNob3VsZCBub3cgYXBwZWFyIGluIHRoZSA8Yj5SdW4gYW5kIERlYnVnPFwvYj4gZHJvcGRvd24uIENsaWNrIHRoZSA8Yj5ib2xkIGdyZWVuIGFycm93PFwvYj4gYnV0dG9uIHRvIGRlYnVnIHRoZSBhcHBsaWNhdGlvbi4gQ2xpY2sgdGhlIHVuZmlsbGVkIDxiPmxpZ2h0IGdyZWVuIGJ1dHRvbjxcL2I+IHRvIHJ1biB0aGUgYXBwbGljYXRpb24gd2l0aG91dCBkZWJ1Z2dpbmcuPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiRGVwbG95IGFuZCBydW4gYXBwbGljYWlvblwiIHNyYz1cIm1lZGlhXC92czIwMjJfcnVuXzVfbmF0aXZlLnBuZ1wiXC8+XG4gICAgICAgIDxsaT48Yj4gVmlldyB0aGUgQXBwbGljYXRpb24gaW4gdGhlIEVtdWxhdG9yPFwvYj48YnI+T25jZSBkZXBsb3llZCwgdGhlIDxiPlRpemVuIG5hdGl2ZSBhcHBsaWNhdGlvbiBVSTxcL2I+IHdpbGwgYmUgZGlzcGxheWVkIG9uIHRoZSBlbXVsYXRvciBzY3JlZW4uIFlvdSBjYW4gbm93IGludGVyYWN0IHdpdGggaXQgdG8gdmVyaWZ5IGl0cyBmdW5jdGlvbmFsaXR5LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIlZpc2libGUgcHJvamVjdCBVSSBvbiBlbXVsYXRvciBzY3JlZW5cIiBzcmM9XCJtZWRpYVwvdnMyMDIyX3J1bl82X25hdGl2ZS5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuPFwvZGl2PlxuPGgyIGlkPVwiY29udGVudC1kZWJ1Zy15b3VyLWFwcGxpY2F0aW9uLWluLWVtdWxhdG9yXCI+PGEgaHJlZj1cIiNjb250ZW50LWRlYnVnLXlvdXItYXBwbGljYXRpb24taW4tZW11bGF0b3JcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkRlYnVnIFlvdXIgQXBwbGljYXRpb24gaW4gRW11bGF0b3I8XC9oMj5cbjxkaXYgY2xhc3M9XCJjb250ZW50IGRvdG5ldFwiPlxuPHA+RGVidWdnaW5nIGFsbG93cyB5b3UgdG8gYW5hbHl6ZSBhbmQgZml4IGlzc3VlcyBpbiB5b3VyIDxiPlRpemVuIC5ORVQ8XC9iPiBhcHBsaWNhdGlvbiBieSBwYXVzaW5nIGV4ZWN1dGlvbiBhbmQgaW5zcGVjdGluZyB2YXJpYWJsZSB2YWx1ZXMuIEZvbGxvdyB0aGVzZSBzdGVwcyB0byBkZWJ1ZyB5b3VyIGFwcGxpY2F0aW9uIGVmZmVjdGl2ZWx5LjxcL3A+XG4gICAgPG9sPlxuICAgICAgICA8bGk+PGI+T3BlbiB0aGUgU291cmNlIENvZGUgRmlsZTxcL2I+IDxicj5JbiBWaXN1YWwgU3R1ZGlvLCBvcGVuIHRoZSA8Yj4uY3M8XC9iPiBmaWxlIG9mIHlvdXIgVGl6ZW4gLk5FVCBhcHBsaWNhdGlvbiB3aGVyZSB5b3Ugd2FudCB0byBkZWJ1Zy48XC9saT5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgPGxpPjxiPkFkZCBhIEJyZWFrcG9pbnQ8XC9iPjxicj5DbGljayBvbiB0aGUgbGVmdCBtYXJnaW4gb2YgdGhlIGNvZGUgZWRpdG9yIG5leHQgdG8gdGhlIGxpbmUgd2hlcmUgeW91IHdhbnQgZXhlY3V0aW9uIHRvIHBhdXNlLiBBbHRlcm5hdGl2ZWx5LCBzZWxlY3QgYSBsaW5lIGFuZCBwcmVzcyA8Yj5GOTxcL2I+IHRvIHNldCBhIGJyZWFrcG9pbnQuPFwvbGk+XG4gICAgICAgIDxpbWcgYWx0PVwiRGVidWdnaW5nIGFwcGxpY2F0aW9uXCIgc3JjPVwibWVkaWFcL3ZzMjAyMl9kZWJ1Z19kb3RuZXQucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICAgPGxpPjxiPlN0YXJ0IHRoZSBEZWJ1Z2dpbmcgU2Vzc2lvbjxcL2I+PGJyPiBOYXZpZ2F0ZSB0byA8Yj5EZWJ1ZyA+IFN0YXJ0IERlYnVnZ2luZzxcL2I+Lk9yLCBjbGljayB0aGUgPGI+Z3JlZW4gYXJyb3cgKGVtdWxhdG9yIG5hbWUpPFwvYj4gaW4gdGhlIHRvb2xiYXIuWW91IGNhbiBhbHNvIHByZXNzIDxiPkY1PFwvYj4gdG8gYmVnaW4gZGVidWdnaW5nLjxcL2xpPlxuICAgIDxcL29sPlxuPGRpdj5cbjxkaXYgY2xhc3M9XCJjb250ZW50IHdlYlwiPlxuPHA+RGVidWdnaW5nIGFsbG93cyB5b3UgdG8gYW5hbHl6ZSBhbmQgZml4IGlzc3VlcyBpbiB5b3VyIDxiPlRpemVuIFdlYjxcL2I+IGFwcGxpY2F0aW9uIGJ5IHBhdXNpbmcgZXhlY3V0aW9uIGFuZCBpbnNwZWN0aW5nIHZhcmlhYmxlIHZhbHVlcy4gRm9sbG93IHRoZXNlIHN0ZXBzIHRvIGRlYnVnIHlvdXIgYXBwbGljYXRpb24gZWZmZWN0aXZlbHkuPFwvcD5cbiAgICA8b2w+XG4gICAgICAgIDxsaT48Yj5TZXR0aW5nIFVwIEdvb2dsZSBDaHJvbWUgZm9yIERlYnVnZ2luZzxcL2I+PGJyPkJlZm9yZSBzdGFydGluZyB3ZWIgYXBwbGljYXRpb24gZGVidWdnaW5nIGluIFRpemVuLCBlbnN1cmUgdGhhdCB0aGUgR29vZ2xlIENocm9tZSBwYXRoIGlzIGNvcnJlY3RseSBzZXQgaW4gPGI+VmlzdWFsIFN0dWRpbzxcL2I+LiBHbyB0byA8Yj5Ub29scyA+IE9wdGlvbnMgPiBUaXplbiA+IFRvb2xzPFwvYj4sIGFuZCBjaGVjayBpZiB0aGUgQ2hyb21lIHBhdGggaXMgc3BlY2lmaWVkLiBJZiBub3QsIG1hbnVhbGx5IGVudGVyIHRoZSBwYXRoIHRvIHRoZSBDaHJvbWUgZXhlY3V0YWJsZSAoZS5nLiwgQzpcXFByb2dyYW0gRmlsZXNcXEdvb2dsZVxcQ2hyb21lXFxBcHBsaWNhdGlvblxcY2hyb21lLmV4ZSkgYW5kIGNsaWNrIDxiPk9LPFwvYj4gdG8gc2F2ZSB0aGUgY2hhbmdlcy48XC9saT5cbiAgICAgICAgIDxpbWcgYWx0PVwiU2V0dGluZyBHb2dnbGUgQ2hyb21lIHBhdGhcIiBzcmM9XCJtZWRpYVwvdnMyMDIyX2RlYnVnX3dlYl9vcHRpb24ucG5nXCJcLz5cbiAgICAgICAgPHA+PFwvcD5cbiAgICAgICA8bGk+PGI+T3BlbiB0aGUgU291cmNlIENvZGUgRmlsZTxcL2I+IDxicj5JbiBWaXN1YWwgU3R1ZGlvLCBvcGVuIHRoZSA8Yj4uanM8XC9iPiBmaWxlIG9mIHlvdXIgVGl6ZW4gV2ViIGFwcGxpY2F0aW9uIHdoZXJlIHlvdSB3YW50IHRvIGRlYnVnLjxcL2xpPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8bGk+PGI+QWRkIGEgQnJlYWtwb2ludDxcL2I+PGJyPkNsaWNrIG9uIHRoZSBsZWZ0IG1hcmdpbiBvZiB0aGUgY29kZSBlZGl0b3IgbmV4dCB0byB0aGUgbGluZSB3aGVyZSB5b3Ugd2FudCBleGVjdXRpb24gdG8gcGF1c2UuIEFsdGVybmF0aXZlbHksIHNlbGVjdCBhIGxpbmUgYW5kIHByZXNzIDxiPkY5PFwvYj4gdG8gc2V0IGEgYnJlYWtwb2ludC48XC9saT5cbiAgICAgICAgPGltZyBhbHQ9XCJEZWJ1Z2dpbmcgYXBwbGljYXRpb25cIiBzcmM9XCJtZWRpYVwvdnMyMDIyX2RlYnVnX3dlYi5wbmdcIlwvPlxuICAgICAgICA8cD48XC9wPlxuICAgICAgICA8bGk+PGI+U3RhcnQgdGhlIERlYnVnZ2luZyBTZXNzaW9uPFwvYj48YnI+IE5hdmlnYXRlIHRvIDxiPkRlYnVnID4gU3RhcnQgRGVidWdnaW5nPFwvYj4uT3IsIGNsaWNrIHRoZSA8Yj5ncmVlbiBhcnJvdyAoZW11bGF0b3IgbmFtZSk8XC9iPiBpbiB0aGUgdG9vbGJhci5Zb3UgY2FuIGFsc28gcHJlc3MgPGI+RjU8XC9iPiB0byBiZWdpbiBkZWJ1Z2dpbmcuPFwvbGk+XG4gICAgPFwvb2w+XG48ZGl2PlxuPGRpdiBjbGFzcz1cImNvbnRlbnQgbmF0aXZlXCI+XG48cD5EZWJ1Z2dpbmcgYWxsb3dzIHlvdSB0byBhbmFseXplIGFuZCBmaXggaXNzdWVzIGluIHlvdXIgPGI+VGl6ZW4gTmF0aXZlPFwvYj4gYXBwbGljYXRpb24gYnkgcGF1c2luZyBleGVjdXRpb24gYW5kIGluc3BlY3RpbmcgdmFyaWFibGUgdmFsdWVzLiBGb2xsb3cgdGhlc2Ugc3RlcHMgdG8gZGVidWcgeW91ciBhcHBsaWNhdGlvbiBlZmZlY3RpdmVseS48XC9wPlxuICAgIDxvbD5cbiAgICAgICAgPGxpPjxiPk9wZW4gdGhlIFNvdXJjZSBDb2RlIEZpbGU8XC9iPjxicj5JbiBWaXN1YWwgU3R1ZGlvLCBvcGVuIHRoZSA8Yj4uYzxcL2I+IGZpbGUgb2YgeW91ciBUaXplbiBOYXRpdmUgYXBwbGljYXRpb24gd2hlcmUgeW91IHdhbnQgdG8gZGVidWcuPFwvbGk+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxsaT48Yj5BZGQgYSBCcmVha3BvaW50PFwvYj48YnI+Q2xpY2sgb24gdGhlIGxlZnQgbWFyZ2luIG9mIHRoZSBjb2RlIGVkaXRvciBuZXh0IHRvIHRoZSBsaW5lIHdoZXJlIHlvdSB3YW50IGV4ZWN1dGlvbiB0byBwYXVzZS4gQWx0ZXJuYXRpdmVseSwgc2VsZWN0IGEgbGluZSBhbmQgcHJlc3MgPGI+Rjk8XC9iPiB0byBzZXQgYSBicmVha3BvaW50LjxcL2xpPlxuICAgICAgICA8aW1nIGFsdD1cIkRlYnVnZ2luZyBhcHBsaWNhdGlvblwiIHNyYz1cIm1lZGlhXC92czIwMjJfZGVidWdfbmF0aXZlLnBuZ1wiXC8+XG4gICAgICAgIDxwPjxcL3A+XG4gICAgICAgIDxsaT48Yj5TdGFydCB0aGUgRGVidWdnaW5nIFNlc3Npb248XC9iPjxicj4gTmF2aWdhdGUgdG8gPGI+RGVidWcgPiBTdGFydCBEZWJ1Z2dpbmc8XC9iPi5PciwgY2xpY2sgdGhlIDxiPmdyZWVuIGFycm93IChlbXVsYXRvciBuYW1lKTxcL2I+IGluIHRoZSB0b29sYmFyLllvdSBjYW4gYWxzbyBwcmVzcyA8Yj5GNTxcL2I+IHRvIGJlZ2luIGRlYnVnZ2luZy48XC9saT5cbiAgICA8XC9vbD5cbjxkaXY+XG4mbHQ7c2NyaXB0PlxuICAgIGZ1bmN0aW9uIHNob3dDb250ZW50KGNsYXNzTmFtZSkge1xuICAgICAgICBcL1wvIEdldCBhbGwgY29udGVudCBkaXZzXG4gICAgICAgIGNvbnN0IGFsbENvbnRlbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNvbnRlbnQnKTtcbiAgICAgICAgXC9cLyBIaWRlIGFsbCBjb250ZW50IGRpdnNcbiAgICAgICAgYWxsQ29udGVudHMuZm9yRWFjaChjb250ZW50ID0+IGNvbnRlbnQuY2xhc3NMaXN0LnJlbW92ZSgnYWN0aXZlJykpO1xuICAgICAgICBcL1wvIFNob3cgb25seSBkaXZzIHdpdGggdGhlIG1hdGNoaW5nIGNsYXNzXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ29udGVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGAuJHtjbGFzc05hbWV9YCk7XG4gICAgICAgIHNlbGVjdGVkQ29udGVudHMuZm9yRWFjaChjb250ZW50ID0+IGNvbnRlbnQuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJykpO1xuICAgIH1cbiAgICBcL1wvIFNob3cgLk5FVCBjb250ZW50IGJ5IGRlZmF1bHRcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xuICAgIHNob3dDb250ZW50KCdkb3RuZXQnKTtcbiAgICB9KTtcbiZsdDtcL3NjcmlwdD5cbjxcL2JvZHk+XG4iLCJ0YWJsZV9vZl9jb250ZW50IjoiPHVsIGNsYXNzPVwidGFibGUtb2YtY29udGVudHNcIj5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtY3JlYXRlLWEtcHJvamVjdFwiPkNyZWF0ZSBhIFByb2plY3Q8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1idWlsZC15b3VyLWFwcGxpY2F0aW9uXCI+QnVpbGQgWW91ciBBcHBsaWNhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWJ1aWxkLXRoZS1wcm9qZWN0XCI+QnVpbGQgdGhlIFByb2plY3Q8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1kZXBsb3ktYW5kLXJ1bi15b3VyLWFwcGxpY2F0aW9uXCI+RGVwbG95IGFuZCBSdW4gWW91ciBBcHBsaWNhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWRlYnVnLXlvdXItYXBwbGljYXRpb24taW4tZW11bGF0b3JcIj5EZWJ1ZyBZb3VyIEFwcGxpY2F0aW9uIGluIEVtdWxhdG9yPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJDcmVhdGluZyBBcHBsaWNhdGlvbiBQcm9qZWN0cyIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6ImRGWUc1Q3pRQTlPSkpNUmNLeGoxIiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvc2RrLXRvb2xzXC9kb3RuZXRcL3Zpc3VhbC1zdHVkaW9cL3ZzdG9vbHNcL2dldHRpbmctc3RhcnRlZFwvY3JlYXRpbmctYXBwbGljYXRpb24tcHJvamVjdHMiLCJtZXRob2QiOiJHRVQiLCJyZWxlYXNlIjoiYS1hLWEifSwiY2hlY2tzdW0iOiIzZWU2ZTE4MTZlNzY2NTUxZjMwOTk2YzE4NDIxMTJkZWQwZDJlNGFmODJiY2E2NjZlNmM1Y2E2YmU3ZTVmNDYxIn0=')" >