{"id":122751,"date":"2026-04-16T13:24:33","date_gmt":"2026-04-16T13:24:33","guid":{"rendered":"https:\/\/make.wordpress.org\/core\/?p=122751"},"modified":"2026-04-16T13:33:45","modified_gmt":"2026-04-16T13:33:45","slug":"wordpress-core-dev-environment-toolkit-a-faster-path-to-your-first-core-contribution","status":"publish","type":"post","link":"https:\/\/make.wordpress.org\/core\/2026\/04\/16\/wordpress-core-dev-environment-toolkit-a-faster-path-to-your-first-core-contribution\/","title":{"rendered":"WordPress Core Dev Environment Toolkit: A Faster Path to Your First Core Contribution"},"content":{"rendered":"<p class=\"wp-block-paragraph\">One of the most common complaints from <span tabindex='0' class='glossary-item-container'>Contributor Day<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Contributor Day<\/span> <span class='glossary-item-description'>Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of <a href=\"https:\/\/make.wordpress.org\/\">https:\/\/make.wordpress.org\/<\/a> There are many teams that people can participate in, each with a different focus. <a href=\"https:\/\/2017.us.wordcamp.org\/contributor-day\/\">https:\/\/2017.us.wordcamp.org\/contributor-day\/<\/a> <a href=\"https:\/\/make.wordpress.org\/support\/handbook\/getting-started\/getting-started-at-a-contributor-day\/\">https:\/\/make.wordpress.org\/support\/handbook\/getting-started\/getting-started-at-a-contributor-day\/<\/a><\/span><\/span><\/span> facilitators is this: participants spend the entire session trying to set up their local environment and never get to actually contribute.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before writing a single line of code, a first-time WordPress <span tabindex='0' class='glossary-item-container'>core<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Core<\/span> <span class='glossary-item-description'>Core is the set of software required to run WordPress. The Core Development Team builds WordPress.<\/span><\/span><\/span> contributor typically needs to install <span tabindex='0' class='glossary-item-container'>Git<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Git<\/span> <span class='glossary-item-description'>Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system.\r<a href=\"https:\/\/git-scm.com\/\">https:\/\/git-scm.com\/<\/a><\/span><\/span><\/span>, Node.js, npm, Docker, configure everything correctly, and troubleshoot whatever breaks along the way. At in-person events, this alone can take hours \u2014 sometimes the full day.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>WordPress Core Dev Environment Toolkit<\/strong> aims to eliminate this friction entirely.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is it?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/github.com\/WordPress\/experimental-wp-dev-env\">WordPress Core Dev Environment Toolkit<\/a> is a desktop application (available for macOS, Windows, and Linux) that sets up a full WordPress core development environment with zero prerequisites.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You install it, choose a directory for <code>wordpress-develop<\/code>, click a button, and you have:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A cloned <code>wordpress-develop<\/code> repository<\/li>\n\n\n\n<li>A running WordPress dev server<\/li>\n\n\n\n<li>The ability to make code changes and generate a <span tabindex='0' class='glossary-item-container'>patch<span class='glossary-item-hidden-content'><span class='glossary-item-header'>patch<\/span> <span class='glossary-item-description'>A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a <strong>diff<\/strong>. A patch can be <em>applied<\/em> to a codebase for testing.<\/span><\/span><\/span><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">No Git, no Node.js, no npm, no Docker needed. Everything is bundled inside the application as <span tabindex='0' class='glossary-item-container'>JS<span class='glossary-item-hidden-content'><span class='glossary-item-header'>JS<\/span> <span class='glossary-item-description'>JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.<\/span><\/span><\/span>\/WASM, powered by <a href=\"https:\/\/wordpress.github.io\/wordpress-playground\/\">WordPress Playground<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/github.com\/WordPress\/experimental-wp-dev-env\/releases\">Download the app \u2192<\/a><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What does it do?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Once installed, the app lets you:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Clone <code>wordpress-develop<\/code> into a directory of your choice<\/li>\n\n\n\n<li>Run <code>npm install<\/code>, <code>npm run build<\/code>, and <code>npm run dev<\/code> automatically<\/li>\n\n\n\n<li>Start a WordPress dev server using Playground\u2019s <span tabindex='0' class='glossary-item-container'>CLI<span class='glossary-item-hidden-content'><span class='glossary-item-header'>CLI<\/span> <span class='glossary-item-description'>Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress.<\/span><\/span><\/span><\/li>\n\n\n\n<li>Make changes to core files directly<\/li>\n\n\n\n<li>Generate a patch from your changes, ready to attach to a <span tabindex='0' class='glossary-item-container'>Trac<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Trac<\/span> <span class='glossary-item-description'>An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.<\/span><\/span><\/span> <span tabindex='0' class='glossary-item-container'>ticket<span class='glossary-item-hidden-content'><span class='glossary-item-header'>ticket<\/span> <span class='glossary-item-description'>Created for both bug reports and feature development on the bug tracker.<\/span><\/span><\/span><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The entire toolchain \u2014 npm, Node, Git \u2014 runs as <span tabindex='0' class='glossary-item-container'>JavaScript<span class='glossary-item-hidden-content'><span class='glossary-item-header'>JavaScript<\/span> <span class='glossary-item-description'>JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user\u2019s browser.\r<a href=\"https:\/\/www.javascript.com\/\">https:\/\/www.javascript.com<\/a><\/span><\/span><\/span>\/WASM bundled with the app. There\u2019s no terminal work required for the basic contributor workflow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s the full setup flow \u2014 from a fresh install to a running WordPress development environment:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"776\" height=\"437\" src=\"https:\/\/www.youtube.com\/embed\/e00PAh8WNOI?version=3&amp;rel=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;fs=1&amp;hl=en-US&amp;autohide=2&amp;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Once your environment is running, generating a patch to submit to Trac takes just a few clicks:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"776\" height=\"437\" src=\"https:\/\/www.youtube.com\/embed\/yodwdm7Z9vo?version=3&amp;rel=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;fs=1&amp;hl=en-US&amp;autohide=2&amp;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Why this matters for Contributor Days<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Environment setup has historically been one of the biggest drop-off points during Contributor Days. When participants can\u2019t get set up in time, the session is over before it starts \u2014 regardless of their interest or motivation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This tool makes it realistic to go from attendee to first patch in a single afternoon. It\u2019s designed specifically for the Contributor Day context: fast setup, no prerequisites, no troubleshooting.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to use it at your next Contributor Day<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you\u2019re organizing or facilitating a core table at a <span tabindex='0' class='glossary-item-container'>WordCamp<span class='glossary-item-hidden-content'><span class='glossary-item-header'>WordCamp<\/span> <span class='glossary-item-description'>WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they\u2019ve learned throughout the year and share the joy. <a href=\"https:\/\/central.wordcamp.org\/about\/\">Learn more<\/a>.<\/span><\/span><\/span>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Share the download link<\/strong> with participants ahead of the event so they can install it at home on good WiFi (the app is a larger download).<\/li>\n\n\n\n<li><strong>Walk through the setup<\/strong> at the start of the session: install, click to set up the environment, make a small change, generate a patch.<\/li>\n\n\n\n<li><strong>Point participants to the <a href=\"https:\/\/make.wordpress.org\/core\/handbook\/\">Core Contributor Handbook<\/a><\/strong> for guidance on what to contribute and how once they\u2019re set up.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Download and feedback<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><span tabindex='0' class='glossary-item-container'>GitHub<span class='glossary-item-hidden-content'><span class='glossary-item-header'>GitHub<\/span> <span class='glossary-item-description'>GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the \u2018pull request\u2019 where code changes done in branches by contributors can be reviewed and discussed before being merged by the repository owner. <a href=\"https:\/\/github.com\/\">https:\/\/github.com\/<\/a><\/span><\/span><\/span> repository and releases:<\/strong> <a href=\"https:\/\/github.com\/WordPress\/experimental-wp-dev-env\">https:\/\/github.com\/WordPress\/experimental-wp-dev-env<\/a><\/li>\n\n\n\n<li>The tool is experimental and under active development. Feedback is welcome via <a href=\"https:\/\/github.com\/WordPress\/experimental-wp-dev-env\/issues\">GitHub issues.<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If you use this tool at a Contributor Day, please share how it went \u2014 either in the comments below or in the <a href=\"https:\/\/wordpress.slack.com\/archives\/C02RQBWTW\">#core<\/a> channel on <span tabindex='0' class='glossary-item-container'>Slack<span class='glossary-item-hidden-content'><span class='glossary-item-header'>Slack<\/span> <span class='glossary-item-description'>Slack is a Collaborative Group Chat Platform <a href=\"https:\/\/slack.com\/\">https:\/\/slack.com\/<\/a>. The WordPress community has its own Slack Channel at <a href=\"https:\/\/make.wordpress.org\/chat\/\">https:\/\/make.wordpress.org\/chat\/<\/a><\/span><\/span><\/span>. Reports from the field help prioritize improvements.<\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\"><em>Props to <a href=\"https:\/\/profiles.wordpress.org\/greenshady\/\" class=\"mention\"><span class=\"mentions-prefix\">@<\/span>greenshady<\/a> <a href=\"https:\/\/profiles.wordpress.org\/desrosj\/\" class=\"mention\"><span class=\"mentions-prefix\">@<\/span>desrosj<\/a> <a href=\"https:\/\/profiles.wordpress.org\/audrasjb\/\" class=\"mention\"><span class=\"mentions-prefix\">@<\/span>audrasjb<\/a> for review<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"\/\/make.wordpress.org\/playground\/\" class=\"po-xpost\"><\/a><a href=\"\/\/make.wordpress.org\/playground\/\" class=\"po-xpost\">+make.wordpress.org\/playground\/<\/a> <a href=\"\/\/make.wordpress.org\/test\/\" class=\"po-xpost\"><\/a><a href=\"\/\/make.wordpress.org\/test\/\" class=\"po-xpost\">+make.wordpress.org\/test\/<\/a> <a href=\"\/\/make.wordpress.org\/community\/\" class=\"po-xpost\"><\/a><a href=\"\/\/make.wordpress.org\/community\/\" class=\"po-xpost\">+make.wordpress.org\/community\/<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<p class=\"o2-appended-tags\"><a href=\"https:\/\/make.wordpress.org\/core\/tag\/contributor-day\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>contributor-day<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/playground\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>playground<\/a>, <a href=\"https:\/\/make.wordpress.org\/core\/tag\/wordcamp\/\" class=\"tag\"><span class=\"tag-prefix\">#<\/span>wordcamp<\/a><\/p><nav class='o2-post-footer-actions'><ul class='o2-post-footer-action-row'><li class='o2-post-footer-action'><a href=\"https:\/\/login.wordpress.org\/?redirect_to=https%3A%2F%2Fmake.wordpress.org%2Fcore%2F2026%2F04%2F16%2Fwordpress-core-dev-environment-toolkit-a-faster-path-to-your-first-core-contribution%2F%23respond&#038;locale=en_US\" title=\"Login to Reply\"  class=\"genericon  genericon-reply\"  data-action=\"login-to-reply\"  data-actionstate=\"default\" >Login to Reply<\/a><\/li><\/ul><div class='o2-post-footer-action-likes'><\/div><ul class='o2-post-footer-action-row'><\/ul><\/nav>","protected":false},"excerpt":{"rendered":"<p>One of the most common complaints from Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https:\/\/make.wordpress.org\/ There are many teams that people can participate in, each with a [&hellip;]<\/p>\n","protected":false},"author":14555470,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AADBApvK8NkbqvTF4hDU3PzsEAK3yobfGpPZ\/dAW0pmdvgwHlNz87BDSmZ2+DACT2f3QFpKZnb4M09n90BYB0pmdvgwChvWSqha3yobfGtPZ\/dAWAJKZnb4MlNz87BDG9ZKqFgbSmZ2+DADG9ZKqFgCT2f3QFsb1kqoWDNKZnb4MBJTc\/OwQ98qG3xoA1Nz87BCRBqr0xeIQ1Nz87BAA6vTF4hAU1Nz87BAExvWSqhYA6vTF4hAI1Nz87BAA6vTF4hAAkpmdvgzU3PzsEAPSmZ2+DAmU3PzsENKZnb4MAtTc\/OwQAJKZnb4MlNz87BCSmZ2+DNTc\/OwQBZKZnb4M1Nz87BAD09n90BYD0pmdvgwAk9n90BbSmZ2+DAWU3PzsEJKZnb4MlNz87BCSmZ2+DJTc\/OwQkpmdvgyU3PzsENPZ\/dAWAIQHrAKCywOQAcLOA7YFPM4DggQ8AwDyBeYDAjC8AoQCAvYFBB5kAQEIAEgCJBJmVEK4AhRUFAIyCEgIUoYEMLTuA9L3AwIIAQtUNqwCAQEIAEgCBQAGAkasd0L2d4J+AQEIAkJIAIgJAQEIAkJIAJoDAQEIAkJIACYBAQgCQkgAmAgBAQgCQkgAmAMBAQgASA4CAQEIAkoAsgEBAQgCSgCKAQEBCAJKzAOEBQEBCAJCSACeBgEBCAMANgYCDIYBECgO2gNIALADAQEIAkJIADABAQgCQkgAkgEBAQgASA4CAQEIAkoAlgIBAQgCSgCWAwEBCAJKALQBAQEIAkoAlAEBAQgCSsQJmgsBAQgCQkgAhgUBAQgCQkgAkgO8AwEBCAJCSACOAwEBCABIALwDAQEIAkJIAJoBAQEIAkJIAJQHAQEIAkJIAJgGAQEIAkJIAKQBAQEIAkJIAJACAQEIAEgOAgEBCAJKAIAFAQEIAkoAuAQBAQgCSsgKjhABAQgCQkgAOgEBCABIDgIBAQgCSgCeBQEBCAKeAugC7gW2CAEBCAJCSADe9wGAxQI2BgIMhgEQKBIItiYwAgQIAwAIAgYCmAEDA44BBAMBBAIWEoYFMAIECAMACAIGApgBAwOOAQQDAQQCFhKkQSCiCxYDAQ4CBAMDDAIQAwMIAwIKAwAMAgwCCAYDAAwIAwAIAwEEAgQDAQQDAA4QCAMBBAIQAh4IDAIYAhYEAwQSAwEEAwAmAgwCCAIKAwAIAggDABIC3tUBktcBAQEIAEjwChwWBBMABQAKAhACDwEDABSsCegJCwAGpAngCQYCqAnACQQGErII1AgIDAI0BQEeAigOCgwCCwACFIQG7p4Csp4CAQEIAEgCBAIBBAgKBFbuagoImAEDA44BBAoY1q0BBAIBBKCeAgoE7p4CqrMBCgiYAQMDjgEEChjGhwEc6vYBAoTWA\/wWIKIakhkC2ALMG4ge\/AKqAk6OAQMA+h\/krwI2CIoCsJsBNgiKAs7IAgKu8QMGvAYIAkgKzPgDjvgDAt6BAvz2AQEBCABICwACBwECGgYQAhIM8gGyzgO0CcIJxMoDAuoDRiRGHH6OAbjNA\/LOAwLCAoj0A8geytYDAQEIAwBESAym9APW8gMACIjxA97wAwKe8AOUAQLO8QOW8QOYAwLG+QMyArQF+gIokgMC+gGoAgwC7gcCzwGwzQOQAf7IAzI+MqLSA8zXA+wDnvQD3vQDrgIUNAikA84DjgSWwwMcFgQTAAUACgIQAg8BAwAUAAQLAAYABAYCACgEBhIAHggMAjQFAR4CKA4KDAILAAIUANqVArywAQoImAEDA44BBAoYmgYKCJgBAwOOAQQKGMaHAbzIASCiGgEAtBYApALYGQEB9LQCNgiKArCbATYIigLwSOj+AY7YAxLCCfLNAwDsAb7YA4YbUvTzA5ACkPEDAQAClAECAOoa+toDMgKiAwEApNYDAQG7CCgAqADEASEAwQGBAMQCoQEhAIQAgQCEAIEAwQChASEAhADBAMcAIQAoAScBKAAnAKgAoQCBAKgAxACEAIEAhADEAYQAgQCEAMQEhAChASECJwIoBicAKAshACgAIQEnAAQABwAhACgAIQAnASEAJwChAQEAoQCoAoQAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInAQQAhACBAIQAgQCEAIEAhAGBACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCBAAAAhwAoAicBBAAoACcAhwAhACgAIQAnACEAAAAhACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicAKAEnAAcAKAInAQQAJwCHACgCJwEEACcAhwAoAicBBAAnAIcAKAInAQQAKAAnAIcAKAInACgBJwAHACgCJwEEACcAhwAoAicBBACEACcAhwAoAicBBAAoACcAgQAAAAQAhACBAIQAgQCEAIEAhAGBAIQAgQCEAIEAhACBAIQAgQCEAIEAhAiBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhAiBAIQAgQCEAIEAhACBAIQCgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEDhACBAIQBgQCEAIEAhACBAIQCgQKEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAYEAhACBAoQAgQCEAIEAhACBAoQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhAGBAIQAgQCEAIEAhACBAIQBgQCEAIEAhAGBAIQBAACHACgCJwEoACcAxAfBAcQGwQDEA8EAxAPBAMQDwQLEEccAIQAoACEAJwAhAScAoQCoACgAJwAoACEAKAAhACgAqAIoAMQMoQCoACgAJwAoACEAKAAhACgAqAIoAMQNhAChAQEAxASBAQAAQQDBAYEAxADBAoQAxAehAagBIQGhAqgBKACoAKEBIQAAAMcAKAInASgAJwAEAIEAhACBAIQAgQCEAIEAhACBAIQAQQCBASgAxAKhAYEAwQDEAIQAgQDEAIQAxACoASEAoQDBAMcAIQAoAScBAQCBACgAJwDBAIEBwQCBAMQAwQDEAcEDoQHBAYEBwQDEAMEAxALBAMQAocl14HBzdGF0ZXZlcnNpb25sZWZsZWZzdGF0ZXZlcnNpb24vLy9zdGF0ZXZlcnNpb24rbWFrZXdvcmRwcmVzcy5vcmcvcGxheWdyb3VuZHN0YXRldmVyc2lvbi9jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3MuICttYWtlLndvcmRwcmVzcy5vcmcvL3Rlc3QgK21ha2Uud29yZHByZXNzLm9yZy8vY29tbXVuaXR5Li4uCgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+c3RhdGV2ZXJzaW9uZG9jdW1lbnRkYXRlZG9jdW1lbnRzdGF0dXNkb2N1bWVudHRpdGxlZG9jdW1lbnRjb250ZW50ZG9jdW1lbnRleGNlcnB0ZG9jdW1lbnRhdXRob3Jkb2N1bWVudGZlYXR1cmVkX21lZGlhZG9jdW1lbnRjb21tZW50X3N0YXR1c2RvY3VtZW50cGluZ19zdGF0dXNkb2N1bWVudHN0aWNreWRvY3VtZW50dGVtcGxhdGVkb2N1bWVudGZvcm1hdGRvY3VtZW50bWV0YWFkdmFuY2VkX3Nlb19kZXNjcmlwdGlvbmpldHBhY2tfc2VvX2h0bWxfdGl0bGVqZXRwYWNrX3Nlb19ub2luZGV4amV0cGFja19wb3N0X3dhc19ldmVyX3B1Ymxpc2hlZF9qZXRwYWNrX25ld3NsZXR0ZXJfYWNjZXNzX2pldHBhY2tfZG9udF9lbWFpbF9wb3N0X3RvX3N1YnNfamV0cGFja19uZXdzbGV0dGVyX3RpZXJfaWRfamV0cGFja19tZW1iZXJzaGlwc19jb250YWluc19wYXl3YWxsZWRfY29udGVudF9qZXRwYWNrX21lbWJlcnNoaXBzX2NvbnRhaW5zX3BhaWRfY29udGVudGZvb3Rub3Rlc2pldHBhY2tfcHVibGljaXplX21lc3NhZ2VqZXRwYWNrX3B1YmxpY2l6ZV9mZWF0dXJlX2VuYWJsZWRqZXRwYWNrX3NvY2lhbF9wb3N0X2FscmVhZHlfc2hhcmVkamV0cGFja19zb2NpYWxfb3B0aW9uc2RvY3VtZW50Y2F0ZWdvcmllc2RvY3VtZW50dGFnc2RvY3VtZW50YmxvY2tzV29yZFByZXNzIENvcmUgRGV2IEVudmlyb25tZW50IFRvb2xraXQ6IEEgRmFzdGVyIFBhdGggdG8gWW91ciBGaXJzdCBDb3JlIENvbnRyaWJ1dGlvbmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc09uZSBvZiB0aGUgbW9zdCBjb21tb24gY29tcGxhaW50cyBmcm9tIENvbnRyaWJ1dG9yIERheSBmYWNpbGl0YXRvcnMgaXMgdGhpczogcGFydGljaXBhbnRzIHNwZW5kIHRoZSBlbnRpcmUgc2Vzc2lvbiB0cnlpbmcgdG8gc2V0IHVwIHRoZWlyIGxvY2FsIGVudmlyb25tZW50IGFuZCBuZXZlciBnZXQgdG8gYWN0dWFsbHkgY29udHJpYnV0ZS5jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRCZWZvcmUgd3JpdGluZyBhIHNpbmdsZSBsaW5lIG9mIGNvZGUsIGEgZmlyc3QtdGltZSBXb3JkUHJlc3MgY29yZSBjb250cmlidXRvciB0eXBpY2FsbHkgbmVlZHMgdG8gaW5zdGFsbCBHaXQsIE5vZGUuanMsIG5wbSwgRG9ja2VyLCBjb25maWd1cmUgZXZlcnl0aGluZyBjb3JyZWN0bHksIGFuZCB0cm91Ymxlc2hvb3Qgd2hhdGV2ZXIgYnJlYWtzIGFsb25nIHRoZSB3YXkuIEF0IGluLXBlcnNvbiBldmVudHMsIHRoaXMgYWxvbmUgY2FuIHRha2UgaG91cnMg4oCUIHNvbWV0aW1lcyB0aGUgZnVsbCBkYXkuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIDxzdHJvbmc+V29yZFByZXNzIENvcmUgRGV2IEVudmlyb25tZW50IFRvb2xraXQ8L3N0cm9uZz4gYWltcyB0byBlbGltaW5hdGUgdGhpcyBmcmljdGlvbiBlbnRpcmVseS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaGF0IGlzIGl0P2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1dvcmRQcmVzcy9leHBlcmltZW50YWwtd3AtZGV2LWVudiI+V29yZFByZXNzIENvcmUgRGV2IEVudmlyb25tZW50IFRvb2xraXQ8L2E+IGlzIGEgZGVza3RvcCBhcHBsaWNhdGlvbiAoYXZhaWxhYmxlIGZvciBtYWNPUywgV2luZG93cywgYW5kIExpbnV4KSB0aGF0IHNldHMgdXAgYSBmdWxsIFdvcmRQcmVzcyBjb3JlIGRldmVsb3BtZW50IGVudmlyb25tZW50IHdpdGggemVybyBwcmVyZXF1aXNpdGVzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFlvdSBpbnN0YWxsIGl0LCBjaG9vc2UgYSBkaXJlY3RvcnkgZm9yIDxjb2RlPndvcmRwcmVzcy1kZXZlbG9wPC9jb2RlPiwgY2xpY2sgYSBidXR0b24sIGFuZCB5b3UgaGF2ZTpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgY2xvbmVkIDxjb2RlPndvcmRwcmVzcy1kZXZlbG9wPC9jb2RlPiByZXBvc2l0b3J5aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBIHJ1bm5pbmcgV29yZFByZXNzIGRldiBzZXJ2ZXJpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoZSBhYmlsaXR5IHRvIG1ha2UgY29kZSBjaGFuZ2VzIGFuZCBnZW5lcmF0ZSBhIHBhdGNoaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRObyBHaXQsIG5vIE5vZGUuanMsIG5vIG5wbSwgbm8gRG9ja2VyIG5lZWRlZC4gRXZlcnl0aGluZyBpcyBidW5kbGVkIGluc2lkZSB0aGUgYXBwbGljYXRpb24gYXMgSlMvV0FTTSwgcG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL3dvcmRwcmVzcy5naXRodWIuaW8vd29yZHByZXNzLXBsYXlncm91bmQvIj5Xb3JkUHJlc3MgUGxheWdyb3VuZDwvYT4uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL28vZXhwZXJpbWVudGFsLXdwLWRldi1lbnYvcmVsZWFzZXMiPkRvd25sb2FkIHRoZSBhcHAg4oaSPC9zdHJvbmc+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2hhdCBkb2VzIGl0IGRvP2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRPbmNlIGluc3RhbGxlZCwgdGhlIGFwcCBsZXRzIHlvdTpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudENsb25lIDxjb2RlPndvcmRwcmVzcy1kZXZlbG9wPC9jb2RlPiBpbnRvIGEgZGlyZWN0b3J5IG9mIHlvdXIgY2hvaWNlaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRSdW4gPGNvZGU+bnBtIGluc3RhbGw8L2NvZGU+LCA8Y29kZT5ucG0gcnVuIGJ1aWxkPC9jb2RlPiwgYW5kIDxjb2RlPm5wbSBydW4gZGV2PC9jb2RlPiBhdXRvbWF0aWNhbGx5aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdGFydCBhIFdvcmRQcmVzcyBkZXYgc2VydmVyIHVzaW5nIFBsYXlncm91bmQncyBDTElpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudE1ha2UgY2hhbmdlcyB0byBjb3JlIGZpbGVzIGRpcmVjdGx5aW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRHZW5lcmF0ZSBhIHBhdGNoIGZyb20geW91ciBjaGFuZ2VzLCByZWFkeSB0byBhdHRhY2ggdG8gYSBUcmFjIHRpY2tldGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIGVudGlyZSB0b29sY2hhaW4g4oCUIG5wbSwgTm9kZSwgR2l0IOKAlCBydW5zIGFzIEphdmFTY3JpcHQvV0FTTSBidW5kbGVkIHdpdGggdGhlIGFwcC4gVGhlcmUncyBubyB0ZXJtaW5hbCB3b3JrIHJlcXVpcmVkIGZvciB0aGUgYmFzaWMgY29udHJpYnV0b3Igd29ya2Zsb3cuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SGVyZSdzIHRoZSBmdWxsIHNldHVwIGZsb3cg4oCUIGZyb20gYSBmcmVzaCBpbnN0YWxsIHRvIGEgcnVubmluZyBXb3JkUHJlc3MgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQ6ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50T25jZSB5b3VyIGVudmlyb25tZW50IGlzIHJ1bm5pbmcsIGdlbmVyYXRpbmcgYSBwYXRjaCB0byBzdWJtaXQgdG8gVHJhYyB0YWtlcyBqdXN0IGEgZmV3IGNsaWNrczpkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXaHkgdGhpcyBtYXR0ZXJzIGZvciBDb250cmlidXRvciBEYXlzbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEVudmlyb25tZW50IHNldHVwIGhhcyBoaXN0b3JpY2FsbHkgYmVlbiBvbmUgb2YgdGhlIGJpZ2dlc3QgZHJvcC1vZmYgcG9pbnRzIGR1cmluZyBDb250cmlidXRvciBEYXlzLiBXaGVuIHBhcnRpY2lwYW50cyBjYW4ndCBnZXQgc2V0IHVwIGluIHRpbWUsIHRoZSBzZXNzaW9uIGlzIG92ZXIgYmVmb3JlIGl0IHN0YXJ0cyDigJQgcmVnYXJkbGVzcyBvZiB0aGVpciBpbnRlcmVzdCBvciBtb3RpdmF0aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgdG9vbCBtYWtlcyBpdCByZWFsaXN0aWMgdG8gZ28gZnJvbSBhdHRlbmRlZSB0byBmaXJzdCBwYXRjaCBpbiBhIHNpbmdsZSBhZnRlcm5vb24uIEl0J3MgZGVzaWduZWQgc3BlY2lmaWNhbGx5IGZvciB0aGUgQ29udHJpYnV0b3IgRGF5IGNvbnRleHQ6IGZhc3Qgc2V0dXAsIG5vIHByZXJlcXVpc2l0ZXMsIG5vIHRyb3VibGVzaG9vdGluZy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIb3cgdG8gdXNlIGl0IGF0IHlvdXIgbmV4dCBDb250cmlidXRvciBEYXlsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SWYgeW91J3JlIG9yZ2FuaXppbmcgb3IgZmFjaWxpdGF0aW5nIGEgY29yZSB0YWJsZSBhdCBhIFdvcmRDYW1wOmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5TaGFyZSB0aGUgZG93bmxvYWQgbGluazwvc3Ryb25nPiB3aXRoIHBhcnRpY2lwYW50cyBhaGVhZCBvZiB0aGUgZXZlbnQgc28gdGhleSBjYW4gaW5zdGFsbCBpdCBhdCBob21lIG9uIGdvb2QgV2lGaSAodGhlIGFwcCBpcyBhIGxhcmdlciBkb3dubG9hZCkuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3Ryb25nPldhbGsgdGhyb3VnaCB0aGUgc2V0dXA8L3N0cm9uZz4gYXQgdGhlIHN0YXJ0IG9mIHRoZSBzZXNzaW9uOiBpbnN0YWxsLCBjbGljayB0byBzZXQgdXAgdGhlIGVudmlyb25tZW50LCBtYWtlIGEgc21hbGwgY2hhbmdlLCBnZW5lcmF0ZSBhIHBhdGNoLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHN0cm9uZz5Qb2ludCBwYXJ0aWNpcGFudHMgdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vbWFrZS53b3JkcHJlc3Mub3JnL2NvcmUvaGFuZGJvb2svIj5Db3JlIENvbnRyaWJ1dG9yIEhhbmRib29rPC9hPjwvc3Ryb25nPiBmb3IgZ3VpZGFuY2Ugb24gd2hhdCB0byBjb250cmlidXRlIGFuZCBob3cgb25jZSB0aGV5J3JlIHNldCB1cC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudERvd25sb2FkIGFuZCBmZWVkYmFja2xldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc29yZGVyZWR2YWx1ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDxzdHJvbmc+R2l0SHViIHJlcG9zaXRvcnkgYW5kIHJlbGVhc2VzOjwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vV29yZFByZXNzL2V4cGVyaW1lbnRhbC13cC1kZXYtZW52Ij5odHRwczovL2dpdGh1Yi5jb20vV29yZFByZXNzL2V4cGVyaW1lbnRhbC13cC1kZXYtZW52PC9hPmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIHRvb2wgaXMgZXhwZXJpbWVudGFsIGFuZCB1bmRlciBhY3RpdmUgZGV2ZWxvcG1lbnQuIEZlZWRiYWNrIGlzIHdlbGNvbWUgdmlhIEdpdEh1YiBpc3N1ZXMuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3UgdXNlIHRoaXMgdG9vbCBhdCBhIENvbnRyaWJ1dG9yIERheSwgcGxlYXNlIHNoYXJlIGhvdyBpdCB3ZW50IOKAlCBlaXRoZXIgaW4gdGhlIGNvbW1lbnRzIGJlbG93IG9yIGluIHRoZSA8YSBocmVmPSJodHRwczovL3dvcmRwcmVzcy5zbGFjay5jb20vYXJjaGl2ZXMvQzAyUlFCV1RXIj4jY29yZTwvYT4gY2hhbm5lbCBvbiBTbGFjay4gUmVwb3J0cyBmcm9tIHRoZSBmaWVsZCBoZWxwIHByaW9yaXRpemUgaW1wcm92ZW1lbnRzLmRyb3BDYXBpbm5lckJsb2NrczwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5PbmUgb2YgdGhlIG1vc3QgY29tbW9uIGNvbXBsYWludHMgZnJvbSBDb250cmlidXRvciBEYXkgZmFjaWxpdGF0b3JzIGlzIHRoaXM6IHBhcnRpY2lwYW50cyBzcGVuZCB0aGUgZW50aXJlIHNlc3Npb24gdHJ5aW5nIHRvIHNldCB1cCB0aGVpciBsb2NhbCBlbnZpcm9ubWVudCBhbmQgbmV2ZXIgZ2V0IHRvIGFjdHVhbGx5IGNvbnRyaWJ1dGUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+QmVmb3JlIHdyaXRpbmcgYSBzaW5nbGUgbGluZSBvZiBjb2RlLCBhIGZpcnN0LXRpbWUgV29yZFByZXNzIGNvcmUgY29udHJpYnV0b3IgdHlwaWNhbGx5IG5lZWRzIHRvIGluc3RhbGwgR2l0LCBOb2RlLmpzLCBucG0sIERvY2tlciwgY29uZmlndXJlIGV2ZXJ5dGhpbmcgY29ycmVjdGx5LCBhbmQgdHJvdWJsZXNob290IHdoYXRldmVyIGJyZWFrcyBhbG9uZyB0aGUgd2F5LiBBdCBpbi1wZXJzb24gZXZlbnRzLCB0aGlzIGFsb25lIGNhbiB0YWtlIGhvdXJzIOKAlCBzb21ldGltZXMgdGhlIGZ1bGwgZGF5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSA8c3Ryb25nPldvcmRQcmVzcyBDb3JlIERldiBFbnZpcm9ubWVudCBUb29sa2l0PC9zdHJvbmc+IGFpbXMgdG8gZWxpbWluYXRlIHRoaXMgZnJpY3Rpb24gZW50aXJlbHkuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+V2hhdCBpcyBpdD88L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoZSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vV29yZFByZXNzL2V4cGVyaW1lbnRhbC13cC1kZXYtZW52Ij5Xb3JkUHJlc3MgQ29yZSBEZXYgRW52aXJvbm1lbnQgVG9vbGtpdDwvYT4gaXMgYSBkZXNrdG9wIGFwcGxpY2F0aW9uIChhdmFpbGFibGUgZm9yIG1hY09TLCBXaW5kb3dzLCBhbmQgTGludXgpIHRoYXQgc2V0cyB1cCBhIGZ1bGwgV29yZFByZXNzIGNvcmUgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgd2l0aCB6ZXJvIHByZXJlcXVpc2l0ZXMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+WW91IGluc3RhbGwgaXQsIGNob29zZSBhIGRpcmVjdG9yeSBmb3IgPGNvZGU+d29yZHByZXNzLWRldmVsb3A8L2NvZGU+LCBjbGljayBhIGJ1dHRvbiwgYW5kIHlvdSBoYXZlOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QSBjbG9uZWQgPGNvZGU+d29yZHByZXNzLWRldmVsb3A8L2NvZGU+IHJlcG9zaXRvcnk8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkEgcnVubmluZyBXb3JkUHJlc3MgZGV2IHNlcnZlcjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+VGhlIGFiaWxpdHkgdG8gbWFrZSBjb2RlIGNoYW5nZXMgYW5kIGdlbmVyYXRlIGEgcGF0Y2g8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5ObyBHaXQsIG5vIE5vZGUuanMsIG5vIG5wbSwgbm8gRG9ja2VyIG5lZWRlZC4gRXZlcnl0aGluZyBpcyBidW5kbGVkIGluc2lkZSB0aGUgYXBwbGljYXRpb24gYXMgSlMvV0FTTSwgcG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL3dvcmRwcmVzcy5naXRodWIuaW8vd29yZHByZXNzLXBsYXlncm91bmQvIj5Xb3JkUHJlc3MgUGxheWdyb3VuZDwvYT4uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL28vZXhwZXJpbWVudGFsLXdwLWRldi1lbnYvcmVsZWFzZXMiPkRvd25sb2FkIHRoZSBhcHAg4oaSPC9zdHJvbmc+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmhlYWRpbmcgLS0+CjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+V2hhdCBkb2VzIGl0IGRvPzwvaDI+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+T25jZSBpbnN0YWxsZWQsIHRoZSBhcHAgbGV0cyB5b3U6PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOmxpc3QgLS0+Cjx1bCBjbGFzcz0id3AtYmxvY2stbGlzdCI+PCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5DbG9uZSA8Y29kZT53b3JkcHJlc3MtZGV2ZWxvcDwvY29kZT4gaW50byBhIGRpcmVjdG9yeSBvZiB5b3VyIGNob2ljZTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+UnVuIDxjb2RlPm5wbSBpbnN0YWxsPC9jb2RlPiwgPGNvZGU+bnBtIHJ1biBidWlsZDwvY29kZT4sIGFuZCA8Y29kZT5ucG0gcnVuIGRldjwvY29kZT4gYXV0b21hdGljYWxseTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+U3RhcnQgYSBXb3JkUHJlc3MgZGV2IHNlcnZlciB1c2luZyBQbGF5Z3JvdW5kJ3MgQ0xJPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5NYWtlIGNoYW5nZXMgdG8gY29yZSBmaWxlcyBkaXJlY3RseTwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+R2VuZXJhdGUgYSBwYXRjaCBmcm9tIHlvdXIgY2hhbmdlcywgcmVhZHkgdG8gYXR0YWNoIHRvIGEgVHJhYyB0aWNrZXQ8L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgZW50aXJlIHRvb2xjaGFpbiDigJQgbnBtLCBOb2RlLCBHaXQg4oCUIHJ1bnMgYXMgSmF2YVNjcmlwdC9XQVNNIGJ1bmRsZWQgd2l0aCB0aGUgYXBwLiBUaGVyZSdzIG5vIHRlcm1pbmFsIHdvcmsgcmVxdWlyZWQgZm9yIHRoZSBiYXNpYyBjb250cmlidXRvciB3b3JrZmxvdy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5IZXJlJ3MgdGhlIGZ1bGwgc2V0dXAgZmxvdyDigJQgZnJvbSBhIGZyZXNoIGluc3RhbGwgdG8gYSBydW5uaW5nIFdvcmRQcmVzcyBkZXZlbG9wbWVudCBlbnZpcm9ubWVudDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6ZW1iZWQgciJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWUwMFBBaDhXTk9JIj5odHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PWUwMFBBaDhXTk9JPC8+PC8+CjwhLS0gL3dwOiAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5PbmNlIHlvdXIgZW52aXJvbm1lbnQgaXMgcnVubmluZywgZ2VuZXJhdGluZyBhIHBhdGNoIHRvIHN1Ym1pdCB0byBUcmFjIHRha2VzIGp1c3QgYSBmZXcgY2xpY2tzOjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDplbWJlZCByImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eW9kd2RtN1o5dm8iPmh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9eW9kd2RtN1o5dm88Lz48Lz4KPCEtLSAvd3A6IC0tPgoKPCEtLSB3cDpoZWFkaW5nIC0tPgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPldoeSB0aGlzIG1hdHRlcnMgZm9yIENvbnRyaWJ1dG9yIERheXM8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkVudmlyb25tZW50IHNldHVwIGhhcyBoaXN0b3JpY2FsbHkgYmVlbiBvbmUgb2YgdGhlIGJpZ2dlc3QgZHJvcC1vZmYgcG9pbnRzIGR1cmluZyBDb250cmlidXRvciBEYXlzLiBXaGVuIHBhcnRpY2lwYW50cyBjYW4ndCBnZXQgc2V0IHVwIGluIHRpbWUsIHRoZSBzZXNzaW9uIGlzIG92ZXIgYmVmb3JlIGl0IHN0YXJ0cyDigJQgcmVnYXJkbGVzcyBvZiB0aGVpciBpbnRlcmVzdCBvciBtb3RpdmF0aW9uLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgdG9vbCBtYWtlcyBpdCByZWFsaXN0aWMgdG8gZ28gZnJvbSBhdHRlbmRlZSB0byBmaXJzdCBwYXRjaCBpbiBhIHNpbmdsZSBhZnRlcm5vb24uIEl0J3MgZGVzaWduZWQgc3BlY2lmaWNhbGx5IGZvciB0aGUgQ29udHJpYnV0b3IgRGF5IGNvbnRleHQ6IGZhc3Qgc2V0dXAsIG5vIHByZXJlcXVpc2l0ZXMsIG5vIHRyb3VibGVzaG9vdGluZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5Ib3cgdG8gdXNlIGl0IGF0IHlvdXIgbmV4dCBDb250cmlidXRvciBEYXk8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPklmIHlvdSdyZSBvcmdhbml6aW5nIG9yIGZhY2lsaXRhdGluZyBhIGNvcmUgdGFibGUgYXQgYSBXb3JkQ2FtcDo8L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6bGlzdCB7Im9yZGVyZWQiOnRydWV9IC0tPgo8b2wgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5TaGFyZSB0aGUgZG93bmxvYWQgbGluazwvc3Ryb25nPiB3aXRoIHBhcnRpY2lwYW50cyBhaGVhZCBvZiB0aGUgZXZlbnQgc28gdGhleSBjYW4gaW5zdGFsbCBpdCBhdCBob21lIG9uIGdvb2QgV2lGaSAodGhlIGFwcCBpcyBhIGxhcmdlciBkb3dubG9hZCkuPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT48c3Ryb25nPldhbGsgdGhyb3VnaCB0aGUgc2V0dXA8L3N0cm9uZz4gYXQgdGhlIHN0YXJ0IG9mIHRoZSBzZXNzaW9uOiBpbnN0YWxsLCBjbGljayB0byBzZXQgdXAgdGhlIGVudmlyb25tZW50LCBtYWtlIGEgc21hbGwgY2hhbmdlLCBnZW5lcmF0ZSBhIHBhdGNoLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5Qb2ludCBwYXJ0aWNpcGFudHMgdG8gdGhlIDxhIGhyZWY9Imh0dHBzOi8vbWFrZS53b3JkcHJlc3Mub3JnL2NvcmUvaGFuZGJvb2svIj5Db3JlIENvbnRyaWJ1dG9yIEhhbmRib29rPC9hPjwvc3Ryb25nPiBmb3IgZ3VpZGFuY2Ugb24gd2hhdCB0byBjb250cmlidXRlIGFuZCBob3cgb25jZSB0aGV5J3JlIHNldCB1cC48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC9vbD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5Eb3dubG9hZCBhbmQgZmVlZGJhY2s8L2gyPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpsaXN0IC0tPgo8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+PHN0cm9uZz5HaXRIdWIgcmVwb3NpdG9yeSBhbmQgcmVsZWFzZXM6PC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Xb3JkUHJlc3MvZXhwZXJpbWVudGFsLXdwLWRldi1lbnYiPmh0dHBzOi8vZ2l0aHViLmNvbS9Xb3JkUHJlc3MvZXhwZXJpbWVudGFsLXdwLWRldi1lbnY8L2E+PC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPgoKPCEtLSB3cDpsaXN0LWl0ZW0gLS0+CjxsaT5UaGUgdG9vbCBpcyBleHBlcmltZW50YWwgYW5kIHVuZGVyIGFjdGl2ZSBkZXZlbG9wbWVudC4gRmVlZGJhY2sgaXMgd2VsY29tZSB2aWEgR2l0SHViIGlzc3Vlcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+PC91bD4KPCEtLSAvd3A6bGlzdCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JZiB5b3UgdXNlIHRoaXMgdG9vbCBhdCBhIENvbnRyaWJ1dG9yIERheSwgcGxlYXNlIHNoYXJlIGhvdyBpdCB3ZW50IOKAlCBlaXRoZXIgaW4gdGhlIGNvbW1lbnRzIGJlbG93IG9yIGluIHRoZSA8YSBocmVmPSJodHRwczovL3dvcmRwcmVzcy5zbGFjay5jb20vYXJjaGl2ZXMvQzAyUlFCV1RXIj4jY29yZTwvYT4gY2hhbm5lbCBvbiBTbGFjay4gUmVwb3J0cyBmcm9tIHRoZSBmaWVsZCBoZWxwIHByaW9yaXRpemUgaW1wcm92ZW1lbnRzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggc3RlInRwb3JwZXQiPjwgPSJodHRlcnBzb2dlc0BkZXNyb3NqYXJzLz48Lz48IHA6cHJnYT5wYWFyIDwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPmNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc3sieWw6eyJ5Z2FoeSI6eyJ0eHRBbGlnbiI6In19fSAtLQpwY2xhc3Nhcy1leC1hbGlnbi10Ij48bT5QbyB0QHJlbmhhZHlAdWRhamI8ZW1wCiEtLS93YWFycGggLS0KCjwhLS0gdzpwcmdhcGgtLT4KcD48Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzdXJsY2FwdGlvbmFsbG93UmVzcG9uc2l2ZXJlc3BvbnNpdmVwcmV2aWV3YWJsZXR5cGVwcm92aWRlck5hbWVTbHVnY2xhc3NOYW1leyJ1bDoiLCJ0eXBlIjoidmlkZW8iLCJwcm92aWRlck5hbWVTbHVnIjoieW91dHViZSIsInJlc3BvbnNpdmUiOnRydWUsImNsYXNzTmFtZSI6IndwLWVtYmVkLWFzcGVjdC00LTMgd3AtaGFzLWFzcGVjdC1yYXRpbyJ9IC0tCjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWVtYmVkIGlzLXR5cGUtdmlkZW8gaXMtcHJvdmlkZXIteW91dHViZSB3cC1ibG9jay1lbWJlZC15b3V0dWJlIHdwLWVtYmVkLWFzcGVjdC00LTMgd3AtYXMtYXNwZWMtcmFpbyI+PGRpdiBjbGFzcz0idy1ibG9jay1lbWJlZF9fd3JhcHBlciI+Cmh0dHAKZGl2ZmlndXJlZW1iZWR1cmxjYXB0aW9uYWxsb3dSZXNwb25zaXZlcmVzcG9uc2l2ZXByZXZpZXdhYmxldHlwZXByb3ZpZGVyTmFtZVNsdWdjbGFzc05hbWV7InVsOiIsInR5cGUiOiJ2aWRlbyIsInByb3ZpZGVyTmFtZVNsdWciOiJ5b3V0dWJlIiwicmVzcG9uc2l2ZSI6dHJ1ZSwiY2xhc3NOYW1lIjoid3AtZW1iZWQtYXNwZWN0LTQtMyB3cC1oYXMtYXNwZWN0LXJhdGlvIn0gLS0KPGZpZ3VyZSBjbGFzcz0id3AtYmxvY2stZW1iZWQgaXMtdHlwZS12aWRlbyBpcy1wcm92aWRlci15b3V0dWJlIHdwLWJsb2NrLWVtYmVkLXlvdXR1YmUgd3AtZW1iZWQtYXNwZWN0LTQtMyB3cC1hcy1hc3BlYy1yYWlvIj48ZGl2IGNsYXNzPSJ3LWJsb2NrLWVtYmVkX193cmFwcGVyIj4KaHR0cApkaXZmaWd1cmVlbWJlZDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9Xb3JkUHJlc3MvZXhwZXJpbWVudGFsLXdwLWRldi1lbnYvaXNzd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TQ4MTRkNGM2ZTQzNHckMzczOTc0ZmItMjY5MS00MmU1LTgwOGEtZTllNTk5MjkyMTQ4eHcOY29yZS9wYXJhZ3JhcGh5dyQwZTk2NmExOS04ZjVkLTRmNTMtOTA3YS01MmVmODc2MjFiZmN4dw5jb3JlL3BhcmFncmFwaHl3JDE3NDM0ZDMxLWNkYzQtNDhhYy1iOTY0LWRlM2YwZTVhYjcwNnh3DGNvcmUvaGVhZGluZ30CdyRjMGJjOWRmNC0wNTEyLTQ5NjUtYTQ0MS1lZjU3N2UxOGZiZTN4dw5jb3JlL3BhcmFncmFwaHl3JDhkZDNhYTlmLWY4NmMtNDlkMC05MDFlLTc5ZDMwNjc5YWJiNXh3DmNvcmUvcGFyYWdyYXBoeXckNmU2MDkwMjAtZmY1Zi00OWQ2LWFhYzYtOGRkNDVjODUxMGM3eHcJY29yZS9saXN0eXcAdyRjNWM1MDcxNS05ZWE3LTQ2Y2YtOTU4MS05ZjQzMDdjMzgzNTJ4dw5jb3JlL2xpc3QtaXRlbXckM2FiNmY1MzQtYjZmYi00MjIwLWIwMTYtMWIzMTRiYTc5MWU0eHcOY29yZS9saXN0LWl0ZW13JGM1YzRiYTcyLWVhNGYtNGI4NS05ZjllLWE4ZmRhODYzM2NhNXh3DmNvcmUvbGlzdC1pdGVtdyRkYjVlYTY2MS04ZmEzLTQ2YzUtYTQ2Ni1kNjBhYjBjYWU3N2V4dw5jb3JlL3BhcmFncmFwaHl3JDYyNzRlMzEwLWFhYTctNGUzZC1iOTUwLWM4MDU5MzkwNDNhZnh3DmNvcmUvcGFyYWdyYXBoeXckYzljOGYzOWYtY2FkYi00NmQ5LTg3MGEtODhiODYyNThmMjg2eHcMY29yZS9oZWFkaW5nfQJ3JGMyYWIxYWRhLTBlMjItNGI0Yi05ZTQwLTQwN2UzZjgxNjVkZnh3DmNvcmUvcGFyYWdyYXBoeXckMWNjMjMxZWMtMzRiMC00N2MwLTkxZDItYjBiMGFiNDgxNTgyeHcJY29yZS9saXN0eXcAdyQ0NDNjNzNhNC02Y2Q2LTQyYzMtYjFjMS1kZTkzMzA1ZWM2NmJ4dw5jb3JlL2xpc3QtaXRlbXckODNkYTUyOTEtYTg3NC00NDdjLTkxOTYtNjc4YThiOWE4Y2FieHcOY29yZS9saXN0LWl0ZW13JDQxNGU2MDhlLTc3MTAtNDEzMi1iZjA1LTVmYTg1YWQyYmYwY3h3DmNvcmUvbGlzdC1pdGVtdyRlOTBlYjUyZC00NWI3LTRlZGEtYmE3NC1iNDQzMjNhODA2Mjh4dw5jb3JlL2xpc3QtaXRlbXckZmZhMWE3OWMtMWY5ZC00OWY3LWI3MTEtYmFkNGY0ZjFkZjE3eHcOY29yZS9saXN0LWl0ZW13JDNkMDc3ZDhiLTUyMWItNGUwYS1hZWVkLTMxY2Y3NzMxODNlY3h3DmNvcmUvcGFyYWdyYXBoeXckYzJhNjc1MWItZjViMC00YTM0LTliOWItNWJkYzZiNzQ4YTAxeHcOY29yZS9wYXJhZ3JhcGh5dyQ4NDM1YTBjMC0xMDk0LTQyNDUtODE1OS0wNWY0MWY5NmI3NWR4dw5jb3JlL3BhcmFncmFwaHl4dyRlZDNhOWRkNC04OTYwLTQ1YmItYjljNy0yNjE4YmVmOWNlYTF4dwxjb3JlL2hlYWRpbmd9AnckMDJmYWFjNWQtYzYzZC00NTg1LWFiOGEtMDExYmZhODA3OWMxeHcOY29yZS9wYXJhZ3JhcGh5dyQzMmI0YzAzOS03ZWE1LTQyMzMtOWNkMy1jNDBmYjVjYTQ3NmZ4dw5jb3JlL3BhcmFncmFwaHl3JDE5MTVlMTkzLTk0NmQtNDliYS04YTBlLTg0YjNmMDVlZjQ4YXh3DGNvcmUvaGVhZGluZ30CdyRhNDI0NDFlNS1kMmM4LTQxOTgtOGVlYy03OWJjYzAwMjU0ZjR4dw5jb3JlL3BhcmFncmFwaHl3JDk4ZDAwNjQwLTM5NDctNDE1OC04Nzg1LTA2OTkxODhlMzc4OXh3CWNvcmUvbGlzdHh3AHckYjFkMTkyODEtZGFiNS00YTNhLTk2MzMtYzk1OWEyMzY1Yzk3eHcOY29yZS9saXN0LWl0ZW13JGI2ODNmNWNjLTA4NTYtNGYwZS05MjFjLTk5YzgxOGU0NDA2NXh3DmNvcmUvbGlzdC1pdGVtdyQzNWRhNDEzMC1kM2NjLTQ4YTEtYjU1OC00MTQwNWNjYTE1ODZ4dw5jb3JlL2xpc3QtaXRlbXckZTg3YzAwNTMtYTk4Ni00ODE0LWJhMTQtOWM5ODQ3NzZkZmE2eHcMY29yZS9oZWFkaW5nfQJ3JDEzOWEyZDVlLTVjNmEtNDY4Zi1hNmFhLWJiZmEyMmQ0ZGQwNXh3CWNvcmUvbGlzdHl3AHckNWE5ZjhmYWQtYzU0Mi00NTcwLWE5ZDktMGE1NDUwYzJjOTkzeHcOY29yZS9saXN0LWl0ZW13JDQ3N2QzZjVmLWM5NGUtNDAwMS1iMzI3LTJkYjMwZjVlMWFlNXh3DmNvcmUvbGlzdC1pdGVtdyQ3MzhkOTAxMS0zOWY3LTRmYWItODQzOS02MmEyZjg1ZjhiZjh4dw5jb3JlL3BhcmFncmFwaHl3JGRlYmE0NjE1LWM1OTgtNGIxOS05NTc2LWI2M2IzMjM3Njk0Nnh3DmNvcmUvcGFyYWdyYXBoeXh3CmNvcmUvZW1iZWR3K2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9ZTAwUEFoOFdOT0l4eHcHeW91dHViZXckMTY1Zjg0ZDYtMGI3NC00ZDJlLThhM2MtNWUwZDAxM2UzNjNleHcFdmlkZW93J3dwLWVtYmVkLWFzcGVjdC00LTMgd3AtaGFzLWFzcGVjdC1yYXRpb3cKY29yZS9lbWJlZHcraHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g\/dj15b2R3ZG03Wjl2b3h4dwd5b3V0dWJldyRmOWIwNWE5Ni04MWFkLTQyNmItOWE5My1iMzZkNTE1OWE5NDZ4dwV2aWRlb3cnd3AtZW1iZWQtYXNwZWN0LTQtMyB3cC1oYXMtYXNwZWN0LXJhdGlvdQJ9A32NWXUDfbEVfbFNfbcEdwdwdWJsaXNodxMyMDI2LTA0LTE2VDEzOjI0OjMzd1R3b3JkcHJlc3MtY29yZS1kZXYtZW52aXJvbm1lbnQtdG9vbGtpdC1hLWZhc3Rlci1wYXRoLXRvLXlvdXItZmlyc3QtY29yZS1jb250cmlidXRpb254KAB3JDA5NjIzZjY3LTNkOGItNGYwYy1hZmY1LWE5MzFjOTk3ZGE3Ynh3DmNvcmUvcGFyYWdyYXBoeXYBCnR5cG9ncmFwaHl2AQl0ZXh0QWxpZ253BXJpZ2h0e0J52WfxOTAAe0HgxRelQAAAKgB4dw5jb3JlL3BhcmFncmFwaHkGt6XDrw0CAAQDAdPsvqgLAwAABQAYA8a6iZULBwAAAQABAAc6FwkaA0MBlK6+tghlAAIXAAEBVwABAAIAAfQd8woCAQUjBxsDvAV9aAABAAF3mw2dArEPAgEFIwcdA9sJFwEBBAABAwECWwABAAIACwijARcBAQQAAQMBAlsAAQACAAsIsxMKAQABBgEBAQABAAEFAQcBAAEAAQYBBAIFAQUBAwUKAQMBAAEBAQEBAAEBAgYIBQEBAQcBGAELAQoCAAEAAQABCAEAAQECEgEFAQMBBAIDAQMCCBseIwEZAQoACAAGBykAAQABAQEABAABALkCAAQAAQCDAwhOHwcFXgECBAQBqvqisQgJABQLAAMCAwANAggACQkDCgsH0syOnwYJABQBAAQEAlYEAA5sAQAdABcB\",\"updateId\":652797378}","advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[3,5709],"tags":[1393,4977,311],"class_list":["post-122751","post","type-post","status-publish","format-standard","hentry","category-community","category-contributor-day","tag-contributor-day","tag-playground","tag-wordcamp","mentions-audrasjb","mentions-desrosj","mentions-greenshady","author-juanmaguitar"],"revision_note":"","jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2AvED-vVR","_links":{"self":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/122751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/users\/14555470"}],"replies":[{"embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/comments?post=122751"}],"version-history":[{"count":10,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/122751\/revisions"}],"predecessor-version":[{"id":122763,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/posts\/122751\/revisions\/122763"}],"wp:attachment":[{"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/media?parent=122751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/categories?post=122751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/make.wordpress.org\/core\/wp-json\/wp\/v2\/tags?post=122751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}