{"id":31,"date":"2026-04-09T20:32:33","date_gmt":"2026-04-10T00:32:33","guid":{"rendered":"https:\/\/elderbloomstrategies.com\/?page_id=31"},"modified":"2026-04-23T00:35:08","modified_gmt":"2026-04-23T04:35:08","slug":"home","status":"publish","type":"page","link":"https:\/\/elderbloomstrategies.com\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"31\" class=\"elementor elementor-31\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1b3f8d89 e-flex e-con-boxed e-con e-parent\" data-id=\"1b3f8d89\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-40f1921 elementor-widget elementor-widget-global elementor-global-818 elementor-widget-html\" data-id=\"40f1921\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- \r\n===========================================\r\n  STICKY NAVIGATION MENU \u2014 WordPress Ready\r\n  Instructions:\r\n  - Paste this inside your WordPress custom HTML block or header template\r\n  - Replace all href=\"#\" placeholders with your actual page URLs\r\n  - The logo src is already set from your provided image URL\r\n===========================================\r\n-->\r\n\r\n<style>\r\n  @import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700&display=swap');\r\n\r\n  * {\r\n    margin: 0;\r\n    padding: 0;\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  .nav-wrapper {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    z-index: 99999;\r\n    background: #000000;\r\n    border-bottom: 1px solid rgba(255,255,255,0.07);\r\n    font-family: 'DM Sans', sans-serif;\r\n  }\r\n\r\n  .nav-container {\r\n    max-width: 1200px;\r\n    margin: 0 auto;\r\n    padding: 0 24px;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    height: 100px;\r\n  }\r\n\r\n  \/* Logo *\/\r\n  .nav-logo img {\r\n    height: 90px;\r\n    width: auto;\r\n    display: block;\r\n    object-fit: contain;\r\n  }\r\n\r\n  \/* Desktop Nav *\/\r\n  .nav-menu {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 4px;\r\n    list-style: none;\r\n  }\r\n\r\n  .nav-item {\r\n    position: relative;\r\n  }\r\n\r\n  .nav-link {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 6px;\r\n    padding: 10px 16px;\r\n    color: #ffffff;\r\n    text-decoration: none;\r\n    font-size: 15px;\r\n    font-weight: 500;\r\n    border-radius: 6px;\r\n    transition: color 0.2s ease, background 0.2s ease;\r\n    white-space: nowrap;\r\n    cursor: pointer;\r\n  }\r\n\r\n  .nav-link:hover,\r\n  .nav-item.active > .nav-link {\r\n    color: #2de8b0;\r\n  }\r\n\r\n  .nav-link .chevron {\r\n    width: 14px;\r\n    height: 14px;\r\n    fill: currentColor;\r\n    transition: transform 0.25s ease;\r\n    flex-shrink: 0;\r\n  }\r\n\r\n  .nav-item.open > .nav-link .chevron {\r\n    transform: rotate(180deg);\r\n  }\r\n\r\n  .nav-item.open > .nav-link {\r\n    color: #2de8b0;\r\n  }\r\n\r\n  \/* Contact Us Button *\/\r\n  .nav-link.nav-cta {\r\n    background: transparent;\r\n    border: 1.5px solid #2de8b0;\r\n    color: #2de8b0;\r\n    border-radius: 6px;\r\n    padding: 8px 18px;\r\n    font-weight: 600;\r\n    transition: background 0.2s ease, color 0.2s ease;\r\n  }\r\n\r\n  .nav-link.nav-cta:hover {\r\n    background: #2de8b0;\r\n    color: #000;\r\n  }\r\n\r\n  \/* Dropdown *\/\r\n  .dropdown {\r\n    position: absolute;\r\n    top: calc(100% + 8px);\r\n    left: 0;\r\n    background: #ffffff;\r\n    border-radius: 8px;\r\n    box-shadow: 0 8px 32px rgba(0,0,0,0.18);\r\n    min-width: 220px;\r\n    padding: 8px 0;\r\n    list-style: none;\r\n    opacity: 0;\r\n    visibility: hidden;\r\n    transform: translateY(-6px);\r\n    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;\r\n    pointer-events: none;\r\n  }\r\n\r\n  .nav-item.open > .dropdown {\r\n    opacity: 1;\r\n    visibility: visible;\r\n    transform: translateY(0);\r\n    pointer-events: all;\r\n  }\r\n\r\n  .dropdown li a {\r\n    display: block;\r\n    padding: 11px 22px;\r\n    color: #1a1a1a;\r\n    text-decoration: none;\r\n    font-size: 14.5px;\r\n    font-weight: 500;\r\n    transition: color 0.15s ease, background 0.15s ease;\r\n  }\r\n\r\n  .dropdown li a:hover {\r\n    color: #2de8b0;\r\n    background: #f5fdfb;\r\n  }\r\n\r\n  \/* Hamburger *\/\r\n  .nav-hamburger {\r\n    display: none;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    gap: 5px;\r\n    width: 36px;\r\n    height: 36px;\r\n    background: none;\r\n    border: none;\r\n    cursor: pointer;\r\n    padding: 4px;\r\n  }\r\n\r\n  .nav-hamburger span {\r\n    display: block;\r\n    height: 2px;\r\n    background: #ffffff;\r\n    border-radius: 2px;\r\n    transition: transform 0.3s ease, opacity 0.3s ease, width 0.3s ease;\r\n  }\r\n\r\n  .nav-hamburger span:nth-child(2) {\r\n    width: 70%;\r\n  }\r\n\r\n  .nav-hamburger.open span:nth-child(1) {\r\n    transform: translateY(7px) rotate(45deg);\r\n  }\r\n\r\n  .nav-hamburger.open span:nth-child(2) {\r\n    opacity: 0;\r\n    width: 0;\r\n  }\r\n\r\n  .nav-hamburger.open span:nth-child(3) {\r\n    transform: translateY(-7px) rotate(-45deg);\r\n  }\r\n\r\n  \/* Mobile Drawer *\/\r\n  .nav-mobile-drawer {\r\n    display: none;\r\n    flex-direction: column;\r\n    background: #0a0a0a;\r\n    border-top: none;\r\n    padding: 0;\r\n    overflow: hidden;\r\n    max-height: 0;\r\n    transition: max-height 0.38s ease, padding 0.38s ease;\r\n  }\r\n\r\n  .nav-mobile-drawer.open {\r\n    max-height: 900px;\r\n    padding: 12px 0 20px;\r\n    border-top: 1px solid rgba(255,255,255,0.07);\r\n  }\r\n\r\n  .mobile-nav-link {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    padding: 13px 24px;\r\n    color: #ffffff;\r\n    text-decoration: none;\r\n    font-size: 16px;\r\n    font-weight: 500;\r\n    transition: color 0.15s;\r\n  }\r\n\r\n  .mobile-nav-link:hover {\r\n    color: #2de8b0;\r\n  }\r\n\r\n  .mobile-nav-link .chevron {\r\n    width: 14px;\r\n    height: 14px;\r\n    fill: currentColor;\r\n    transition: transform 0.25s ease;\r\n  }\r\n\r\n  .mobile-nav-link.open .chevron {\r\n    transform: rotate(180deg);\r\n  }\r\n\r\n  .mobile-nav-link.open {\r\n    color: #2de8b0;\r\n  }\r\n\r\n  .mobile-dropdown {\r\n    list-style: none;\r\n    background: #111;\r\n    max-height: 0;\r\n    overflow: hidden;\r\n    transition: max-height 0.3s ease;\r\n  }\r\n\r\n  .mobile-dropdown.open {\r\n    max-height: 600px;\r\n  }\r\n\r\n  .mobile-dropdown li a {\r\n    display: block;\r\n    padding: 11px 24px 11px 36px;\r\n    color: #cccccc;\r\n    text-decoration: none;\r\n    font-size: 15px;\r\n    font-weight: 400;\r\n    transition: color 0.15s;\r\n  }\r\n\r\n  .mobile-dropdown li a:hover {\r\n    color: #2de8b0;\r\n  }\r\n\r\n  .mobile-cta-wrap {\r\n    padding: 16px 24px 4px;\r\n  }\r\n\r\n  .mobile-cta {\r\n    display: block;\r\n    text-align: center;\r\n    padding: 12px;\r\n    border: 1.5px solid #2de8b0;\r\n    color: #2de8b0;\r\n    border-radius: 6px;\r\n    font-size: 15px;\r\n    font-weight: 600;\r\n    text-decoration: none;\r\n    transition: background 0.2s, color 0.2s;\r\n  }\r\n\r\n  .mobile-cta:hover {\r\n    background: #2de8b0;\r\n    color: #000;\r\n  }\r\n\r\n  \/* Body offset so content doesn't hide behind sticky nav *\/\r\n  body {\r\n    padding-top: 100px;\r\n  }\r\n\r\n  \/* ===== RESPONSIVE ===== *\/\r\n  @media (max-width: 900px) {\r\n    .nav-menu {\r\n      display: none;\r\n    }\r\n\r\n    .nav-hamburger {\r\n      display: flex;\r\n    }\r\n\r\n    .nav-mobile-drawer {\r\n      display: flex;\r\n    }\r\n  }\r\n<\/style>\r\n\r\n<!-- STICKY NAV -->\r\n<nav class=\"nav-wrapper\" role=\"navigation\" aria-label=\"Main Navigation\">\r\n  <div class=\"nav-container\">\r\n\r\n    <!-- Logo -->\r\n    <a class=\"nav-logo\" href=\"https:\/\/elderbloomstrategies.com\" aria-label=\"Home\">\r\n      <img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.image2url.com\/r2\/default\/images\/1776568485583-89512104-27e6-4ebd-83c1-b88a03c6a36a.png?ssl=1\" alt=\"Logo\" \/>\r\n    <\/a>\r\n\r\n    <!-- Desktop Menu -->\r\n    <ul class=\"nav-menu\">\r\n\r\n      <!-- Home -->\r\n      <li class=\"nav-item\">\r\n        <a href=\"https:\/\/elderbloomstrategies.com\" class=\"nav-link\">Home<\/a>\r\n      <\/li>\r\n\r\n      <!-- Services (dropdown) -->\r\n      <li class=\"nav-item\" data-dropdown>\r\n        <a href=\"#\" class=\"nav-link\">\r\n          Services\r\n          <svg class=\"chevron\" viewBox=\"0 0 20 20\"><path d=\"M5 7l5 5 5-5\"\/><\/svg>\r\n        <\/a>\r\n        <ul class=\"dropdown\">\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=60\">CRM &amp; Automation<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=63\">Google Search Ads<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=72\">Local SEO<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=66\">Meta Ads<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=69\">SEO &amp; AEO<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=78\">Web Development<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=87\">Reputation Management<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=93\">Tracking &amp; Reporting<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=84\">Strategic Social Media<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=81\">Community Branding<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=90\">Public Relations<\/a><\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <!-- About Us (dropdown) -->\r\n      <li class=\"nav-item\" data-dropdown>\r\n        <a href=\"#\" class=\"nav-link\">\r\n          About Us\r\n          <svg class=\"chevron\" viewBox=\"0 0 20 20\"><path d=\"M5 7l5 5 5-5\"\/><\/svg>\r\n        <\/a>\r\n        <ul class=\"dropdown\">\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=53\">Meet the Team<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=57\">Our Partners<\/a><\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <!-- Resources (dropdown) -->\r\n      <li class=\"nav-item\" data-dropdown>\r\n        <a href=\"#\" class=\"nav-link\">\r\n          Resources\r\n          <svg class=\"chevron\" viewBox=\"0 0 20 20\"><path d=\"M5 7l5 5 5-5\"\/><\/svg>\r\n        <\/a>\r\n        <ul class=\"dropdown\">\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=102\">Case Studies<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=99\">FAQs<\/a><\/li>\r\n          <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=96\">Blog<\/a><\/li>\r\n        <\/ul>\r\n      <\/li>\r\n\r\n      <!-- Contact Us -->\r\n      <li class=\"nav-item\">\r\n        <a href=\"https:\/\/elderbloomstrategies.com\/?page_id=105\" class=\"nav-link nav-cta\">Contact Us<\/a>\r\n      <\/li>\r\n\r\n    <\/ul>\r\n\r\n    <!-- Hamburger (mobile) -->\r\n    <button class=\"nav-hamburger\" aria-label=\"Toggle menu\" aria-expanded=\"false\">\r\n      <span><\/span>\r\n      <span><\/span>\r\n      <span><\/span>\r\n    <\/button>\r\n\r\n  <\/div>\r\n\r\n  <!-- Mobile Drawer -->\r\n  <div class=\"nav-mobile-drawer\" id=\"mobileDrawer\">\r\n\r\n    <a href=\"https:\/\/elderbloomstrategies.com\" class=\"mobile-nav-link\">Home<\/a>\r\n\r\n    <!-- Services mobile -->\r\n    <a href=\"#\" class=\"mobile-nav-link\" data-mobile-toggle=\"services\">\r\n      Services\r\n      <svg class=\"chevron\" viewBox=\"0 0 20 20\"><path d=\"M5 7l5 5 5-5\"\/><\/svg>\r\n    <\/a>\r\n    <ul class=\"mobile-dropdown\" id=\"mob-services\">\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=60\">CRM &amp; Automation<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=63\">Google Search Ads<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=72\">Local SEO<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=66\">Meta Ads<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=69\">SEO &amp; AEO<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=78\">Web Development<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=87\">Reputation Management<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=93\">Tracking &amp; Reporting<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=84\">Strategic Social Media<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=81\">Community Branding<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=90\">Public Relations<\/a><\/li>\r\n    <\/ul>\r\n\r\n    <!-- About Us mobile -->\r\n    <a href=\"#\" class=\"mobile-nav-link\" data-mobile-toggle=\"about\">\r\n      About Us\r\n      <svg class=\"chevron\" viewBox=\"0 0 20 20\"><path d=\"M5 7l5 5 5-5\"\/><\/svg>\r\n    <\/a>\r\n    <ul class=\"mobile-dropdown\" id=\"mob-about\">\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=53\">Meet the Team<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=57\">Our Partners<\/a><\/li>\r\n    <\/ul>\r\n\r\n    <!-- Resources mobile -->\r\n    <a href=\"#\" class=\"mobile-nav-link\" data-mobile-toggle=\"resources\">\r\n      Resources\r\n      <svg class=\"chevron\" viewBox=\"0 0 20 20\"><path d=\"M5 7l5 5 5-5\"\/><\/svg>\r\n    <\/a>\r\n    <ul class=\"mobile-dropdown\" id=\"mob-resources\">\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=102\">Case Studies<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=99\">FAQs<\/a><\/li>\r\n      <li><a href=\"https:\/\/elderbloomstrategies.com\/?page_id=96\">Blog<\/a><\/li>\r\n    <\/ul>\r\n\r\n    <!-- Contact Us mobile -->\r\n    <div class=\"mobile-cta-wrap\">\r\n      <a href=\"https:\/\/elderbloomstrategies.com\/?page_id=105\" class=\"mobile-cta\">Contact Us<\/a>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/nav>\r\n\r\n<script>\r\n  (function () {\r\n    \/\/ Desktop dropdowns\r\n    const dropdownItems = document.querySelectorAll('.nav-item[data-dropdown]');\r\n\r\n    dropdownItems.forEach(function (item) {\r\n      const link = item.querySelector('.nav-link');\r\n\r\n      \/\/ Toggle on click (so parent link is also clickable)\r\n      link.addEventListener('click', function (e) {\r\n        const isOpen = item.classList.contains('open');\r\n        \/\/ Close all\r\n        dropdownItems.forEach(function (i) { i.classList.remove('open'); });\r\n        if (!isOpen) {\r\n          item.classList.add('open');\r\n          e.preventDefault(); \/\/ Prevent navigation only when opening dropdown\r\n        }\r\n      });\r\n    });\r\n\r\n    \/\/ Close dropdowns when clicking outside\r\n    document.addEventListener('click', function (e) {\r\n      if (!e.target.closest('.nav-item[data-dropdown]')) {\r\n        dropdownItems.forEach(function (i) { i.classList.remove('open'); });\r\n      }\r\n    });\r\n\r\n    \/\/ Hamburger toggle\r\n    const hamburger = document.querySelector('.nav-hamburger');\r\n    const drawer = document.getElementById('mobileDrawer');\r\n\r\n    hamburger.addEventListener('click', function () {\r\n      const isOpen = hamburger.classList.toggle('open');\r\n      drawer.classList.toggle('open', isOpen);\r\n      hamburger.setAttribute('aria-expanded', isOpen);\r\n    });\r\n\r\n    \/\/ Mobile sub-menus\r\n    const mobileToggles = document.querySelectorAll('[data-mobile-toggle]');\r\n\r\n    mobileToggles.forEach(function (toggle) {\r\n      toggle.addEventListener('click', function (e) {\r\n        e.preventDefault();\r\n        const targetId = 'mob-' + toggle.getAttribute('data-mobile-toggle');\r\n        const target = document.getElementById(targetId);\r\n        const isOpen = target.classList.toggle('open');\r\n        toggle.classList.toggle('open', isOpen);\r\n      });\r\n    });\r\n  })();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7c524c04 e-flex e-con-boxed e-con e-parent\" data-id=\"7c524c04\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-642e2236 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"642e2236\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Senior Living Marketing Agency | Elderbloom Strategies | Boston, MA<\/title>\r\n<meta name=\"description\" content=\"Elderbloom Strategies is the exclusive senior living marketing agency trusted by 140+ communities across the US, Canada & Europe. Google Ads, Local SEO, Meta Ads, CRM, Reputation Management & more \u2014 built for senior living operators who want to fill beds faster.\">\r\n<meta name=\"keywords\" content=\"senior living marketing agency, senior living digital marketing, assisted living marketing, memory care marketing, senior care Google Ads, local SEO senior living, senior living CRM, occupancy marketing, senior living Boston, senior living meta ads, senior living reputation management, senior living SEO, AEO senior living\">\r\n<meta name=\"robots\" content=\"index, follow\">\r\n<meta name=\"author\" content=\"Elderbloom Strategies\">\r\n<link rel=\"canonical\" href=\"https:\/\/elderbloomstrategies.com\/\">\r\n<meta property=\"og:title\" content=\"Senior Living Marketing Agency | Elderbloom Strategies | Boston, MA\">\r\n<meta property=\"og:description\" content=\"The only marketing agency built exclusively for senior living. Trusted by 140+ communities. Fill beds faster with Google Ads, Local SEO, Meta, CRM & more.\">\r\n<meta property=\"og:type\" content=\"website\">\r\n<meta property=\"og:url\" content=\"https:\/\/elderbloomstrategies.com\/\">\r\n<meta property=\"og:locale\" content=\"en_US\">\r\n<meta name=\"twitter:card\" content=\"summary_large_image\">\r\n<meta name=\"twitter:title\" content=\"Senior Living Marketing Agency | Elderbloom Strategies\">\r\n<meta name=\"twitter:description\" content=\"140+ communities. Proven occupancy growth. The only agency built exclusively for senior living.\">\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"MarketingAgency\",\r\n  \"name\": \"Elderbloom Strategies\",\r\n  \"url\": \"https:\/\/elderbloomstrategies.com\",\r\n  \"logo\": \"https:\/\/elderbloomstrategies.com\/logo.png\",\r\n  \"telephone\": \"+19783334400\",\r\n  \"email\": \"info@elderbloomstrategies.com\",\r\n  \"address\": {\r\n    \"@type\": \"PostalAddress\",\r\n    \"addressLocality\": \"Boston\",\r\n    \"addressRegion\": \"MA\",\r\n    \"addressCountry\": \"US\"\r\n  },\r\n  \"description\": \"Senior living marketing agency exclusively serving assisted living, memory care, independent living, and CCRC communities across the US, Canada, and Europe.\",\r\n  \"areaServed\": [\"US\", \"CA\", \"EU\"],\r\n  \"knowsAbout\": [\"Senior Living Marketing\", \"Local SEO\", \"Google Ads\", \"Meta Ads\", \"CRM Automation\", \"Reputation Management\", \"Senior Care Digital Marketing\"],\r\n  \"slogan\": \"Fill Beds Faster. Grow Smarter.\",\r\n  \"numberOfEmployees\": {\"@type\": \"QuantitativeValue\", \"value\": 25},\r\n  \"foundingLocation\": \"Boston, MA\"\r\n}\r\n<\/script>\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"FAQPage\",\r\n  \"mainEntity\": [\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"What makes Elderbloom Strategies different from other marketing agencies?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Elderbloom Strategies works exclusively with senior living communities \u2014 assisted living, memory care, independent living, and CCRCs. We understand how families search for care, how move-in decisions are made, and how to tie every marketing dollar to occupied units. We are not a generalist agency that adds senior living to a list of verticals \u2014 it is all we do.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"How quickly can Elderbloom Strategies improve occupancy?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Most clients see measurable increases in qualified inquiries within 60\u201390 days. Our fastest-growing communities reach 94%+ occupancy within 6 months of a full-service engagement. Results vary by market, starting occupancy, and service mix.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Does Elderbloom work with single communities or portfolios?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Both. We work with single-site operators, regional portfolios, and national multi-community operators with 30+ communities. Our systems scale from one location to enterprise, with community-specific strategy and portfolio-level reporting.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"What services does Elderbloom Strategies offer?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Elderbloom offers CRM & Automation, Google Search Ads, Local SEO, Meta Ads, SEO & AEO, UX\/UI, Web Development, Reputation Management, Tracking & Reporting, Strategic Social Media, Community Branding, Public Relations, Videography and Photography, and Virtual Website Tour Integrations \u2014 all built exclusively for senior living.\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n<\/script>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n:root {\r\n  --green: #18cb96;\r\n  --purple: #a70dd5;\r\n  --bg-dark: #080808;\r\n  --bg-card: #111111;\r\n  --bg-card2: #161616;\r\n  --text-white: #f5f5f5;\r\n  --text-muted: #888;\r\n  --text-dim: #555;\r\n  --border: rgba(255,255,255,0.07);\r\n  --border-green: rgba(24,203,150,0.35);\r\n  --border-purple: rgba(167,13,213,0.3);\r\n  --green-glow: rgba(24,203,150,0.12);\r\n  --purple-glow: rgba(167,13,213,0.12);\r\n}\r\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\r\nhtml { scroll-behavior: smooth; }\r\nbody {\r\n  background: var(--bg-dark);\r\n  color: var(--text-white);\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-size: 16px;\r\n  line-height: 1.65;\r\n  overflow-x: hidden;\r\n}\r\nh1,h2,h3,h4,h5 { font-family: 'Montserrat', sans-serif; line-height: 1.15; letter-spacing: -0.02em; color: #f5f5f5 !important; }\r\na { color: inherit; text-decoration: none; }\r\nimg { max-width: 100%; display: block; }\r\n\r\nbody::before {\r\n  content: '';\r\n  position: fixed;\r\n  inset: 0;\r\n  background-image: url(\"data:image\/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'\/%3E%3C\/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'\/%3E%3C\/svg%3E\");\r\n  pointer-events: none;\r\n  z-index: 0;\r\n  opacity: 0.4;\r\n}\r\n\r\n.grid-bg {\r\n  position: absolute;\r\n  inset: 0;\r\n  background-image: linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);\r\n  background-size: 60px 60px;\r\n  pointer-events: none;\r\n}\r\n\r\n.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }\r\nsection { padding: 100px 0; }\r\n\r\n.tag {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 6px;\r\n  font-size: 11px;\r\n  font-weight: 600;\r\n  letter-spacing: 0.12em;\r\n  text-transform: uppercase;\r\n  color: var(--green);\r\n  background: rgba(24,203,150,0.08);\r\n  border: 1px solid rgba(24,203,150,0.2);\r\n  padding: 5px 14px;\r\n  border-radius: 100px;\r\n  margin-bottom: 1.5rem;\r\n}\r\n.tag::before {\r\n  content: '';\r\n  width: 6px; height: 6px;\r\n  border-radius: 50%;\r\n  background: var(--green);\r\n  box-shadow: 0 0 6px var(--green);\r\n}\r\n.tag-purple {\r\n  color: var(--purple);\r\n  background: rgba(167,13,213,0.08);\r\n  border-color: rgba(167,13,213,0.25);\r\n}\r\n.tag-purple::before { background: var(--purple); box-shadow: 0 0 6px var(--purple); }\r\n\r\n.btn-primary {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  background: var(--green);\r\n  color: #050505;\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-weight: 700;\r\n  font-size: 14px;\r\n  letter-spacing: 0.03em;\r\n  padding: 14px 28px;\r\n  border-radius: 8px;\r\n  border: none;\r\n  cursor: pointer;\r\n  transition: all 0.25s ease;\r\n  white-space: nowrap;\r\n  text-decoration: none;\r\n}\r\n.btn-primary:hover { background: #12e8a8; transform: translateY(-2px); box-shadow: 0 12px 40px rgba(24,203,150,0.35); }\r\n\r\n.btn-ghost {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  background: transparent;\r\n  color: var(--text-white);\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-weight: 600;\r\n  font-size: 14px;\r\n  padding: 14px 28px;\r\n  border-radius: 8px;\r\n  border: 1px solid var(--border);\r\n  cursor: pointer;\r\n  transition: all 0.25s ease;\r\n  white-space: nowrap;\r\n  text-decoration: none;\r\n}\r\n.btn-ghost:hover { border-color: rgba(255,255,255,0.25); background: rgba(255,255,255,0.04); }\r\n\r\n.gradient-text {\r\n  background: linear-gradient(135deg, var(--green) 0%, #5eedc4 50%, var(--purple) 100%);\r\n  -webkit-background-clip: text;\r\n  -webkit-text-fill-color: transparent;\r\n  background-clip: text;\r\n}\r\n\r\n.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }\r\n.reveal.visible { opacity: 1; transform: translateY(0); }\r\n.reveal-delay-1 { transition-delay: 0.1s; }\r\n.reveal-delay-2 { transition-delay: 0.2s; }\r\n.reveal-delay-3 { transition-delay: 0.3s; }\r\n.reveal-delay-4 { transition-delay: 0.4s; }\r\n\r\n.live-dot {\r\n  width: 10px; height: 10px;\r\n  border-radius: 50%;\r\n  background: var(--green);\r\n  box-shadow: 0 0 12px var(--green);\r\n  animation: pulse 2s infinite;\r\n  flex-shrink: 0;\r\n  display: inline-block;\r\n}\r\n@keyframes pulse {\r\n  0%, 100% { opacity: 1; transform: scale(1); }\r\n  50% { opacity: 0.6; transform: scale(0.85); }\r\n}\r\n\r\n\/* ===== HERO ===== *\/\r\n#hero {\r\n  position: relative;\r\n  padding: 200px 0 80px;\r\n  overflow: hidden;\r\n}\r\n.hero-glow-1 {\r\n  position: absolute;\r\n  width: 900px; height: 900px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(24,203,150,0.12) 0%, transparent 70%);\r\n  top: -300px; left: -300px;\r\n  pointer-events: none;\r\n}\r\n.hero-glow-2 {\r\n  position: absolute;\r\n  width: 700px; height: 700px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(167,13,213,0.1) 0%, transparent 70%);\r\n  bottom: -150px; right: -200px;\r\n  pointer-events: none;\r\n}\r\n.hero-eyebrow {\r\n  font-size: 12px;\r\n  font-weight: 600;\r\n  letter-spacing: 0.15em;\r\n  text-transform: uppercase;\r\n  color: var(--green);\r\n  margin-bottom: 1.5rem;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n}\r\n.hero-eyebrow::before {\r\n  content: '';\r\n  display: block;\r\n  width: 32px; height: 1px;\r\n  background: var(--green);\r\n}\r\n.hero-headline {\r\n  font-size: clamp(40px, 6.5vw, 82px);\r\n  font-weight: 900;\r\n  line-height: 1.05;\r\n  letter-spacing: -0.03em;\r\n  margin-bottom: 1.75rem;\r\n  max-width: 1000px;\r\n}\r\n.hero-sub {\r\n  font-size: clamp(16px, 2.2vw, 19px);\r\n  color: rgba(245,245,245,0.65);\r\n  font-weight: 400;\r\n  max-width: 640px;\r\n  line-height: 1.7;\r\n  margin-bottom: 3rem;\r\n}\r\n.hero-cta-row {\r\n  display: flex;\r\n  gap: 16px;\r\n  flex-wrap: wrap;\r\n  align-items: center;\r\n  margin-bottom: 3rem;\r\n}\r\n.hero-trust-row {\r\n  display: flex;\r\n  gap: 24px;\r\n  flex-wrap: wrap;\r\n  align-items: center;\r\n  padding-top: 24px;\r\n  border-top: 1px solid var(--border);\r\n  margin-bottom: 3rem;\r\n}\r\n.hero-trust-item {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  font-size: 12px;\r\n  color: rgba(245,245,245,0.6);\r\n}\r\n.hero-trust-item::before {\r\n  content: '\u2713';\r\n  width: 18px; height: 18px;\r\n  border-radius: 50%;\r\n  background: rgba(24,203,150,0.15);\r\n  border: 1px solid rgba(24,203,150,0.3);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 10px;\r\n  font-weight: 800;\r\n  color: var(--green);\r\n  flex-shrink: 0;\r\n}\r\n.hero-stats {\r\n  display: flex;\r\n  gap: 48px;\r\n  padding-top: 48px;\r\n  border-top: 1px solid var(--border);\r\n  flex-wrap: wrap;\r\n}\r\n.hero-stat-num {\r\n  font-size: 42px;\r\n  font-weight: 900;\r\n  color: var(--green);\r\n  line-height: 1;\r\n}\r\n.hero-stat-label {\r\n  font-size: 13px;\r\n  color: var(--text-muted);\r\n  margin-top: 6px;\r\n  max-width: 160px;\r\n  line-height: 1.4;\r\n}\r\n\r\n\/* TICKER *\/\r\n.ticker-wrap {\r\n  overflow: hidden;\r\n  border-bottom: 1px solid var(--border);\r\n  padding: 12px 0;\r\n  background: rgba(8,8,8,0.92);\r\n  backdrop-filter: blur(12px);\r\n  -webkit-backdrop-filter: blur(12px);\r\n  position: fixed;\r\n  top: 100px;\r\n  left: 0;\r\n  right: 0;\r\n  z-index: 998;\r\n}\r\n.ticker-track {\r\n  display: flex;\r\n  gap: 0;\r\n  width: max-content;\r\n  animation: ticker 40s linear infinite;\r\n}\r\n.ticker-item {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 16px;\r\n  padding: 0 40px;\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  letter-spacing: 0.12em;\r\n  text-transform: uppercase;\r\n  color: var(--text-muted);\r\n  white-space: nowrap;\r\n}\r\n.ticker-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--green); flex-shrink: 0; }\r\n@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }\r\n\r\n.urgency-banner {\r\n  background: linear-gradient(90deg, rgba(167,13,213,0.12) 0%, rgba(24,203,150,0.08) 100%);\r\n  border: 1px solid rgba(167,13,213,0.25);\r\n  border-radius: 12px;\r\n  padding: 16px 24px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  gap: 16px;\r\n  flex-wrap: wrap;\r\n  margin-bottom: 0;\r\n}\r\n.urgency-text {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 12px;\r\n  font-size: 13px;\r\n  color: rgba(245,245,245,0.85);\r\n}\r\n.urgency-badge {\r\n  font-size: 10px;\r\n  font-weight: 800;\r\n  letter-spacing: 0.1em;\r\n  text-transform: uppercase;\r\n  background: var(--purple);\r\n  color: #fff;\r\n  padding: 4px 10px;\r\n  border-radius: 100px;\r\n}\r\n\r\n\/* PROOF STRIP *\/\r\n#proof-strip {\r\n  padding: 60px 0;\r\n  background: var(--bg-card);\r\n  border-top: 1px solid var(--border);\r\n  border-bottom: 1px solid var(--border);\r\n}\r\n.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--border); border-radius: 16px; overflow: hidden; }\r\n.proof-cell {\r\n  background: var(--bg-card);\r\n  padding: 32px 24px;\r\n  text-align: center;\r\n  transition: background 0.3s;\r\n}\r\n.proof-cell:hover { background: var(--bg-card2); }\r\n.proof-num { font-size: clamp(30px, 4vw, 46px); font-weight: 900; color: var(--green); line-height: 1; margin-bottom: 8px; }\r\n.proof-label { font-size: 13px; color: var(--text-muted); line-height: 1.5; }\r\n\r\n\/* SERVICES *\/\r\n#what-we-do { position: relative; }\r\n.services-headline { font-size: clamp(30px, 4vw, 50px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.services-sub { font-size: 17px; color: rgba(245,245,245,0.55); max-width: 580px; line-height: 1.6; margin-bottom: 60px; }\r\n.services-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 24px;\r\n}\r\n.service-card {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 36px 30px;\r\n  position: relative;\r\n  overflow: hidden;\r\n  transition: all 0.3s ease;\r\n  cursor: default;\r\n}\r\n.service-card::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 2px;\r\n  background: linear-gradient(90deg, transparent, var(--green), transparent);\r\n  opacity: 0;\r\n  transition: opacity 0.3s;\r\n}\r\n.service-card:hover { transform: translateY(-6px); border-color: rgba(24,203,150,0.25); box-shadow: 0 24px 70px rgba(24,203,150,0.07); }\r\n.service-card:hover::before { opacity: 1; }\r\n.service-icon {\r\n  width: 52px; height: 52px;\r\n  border-radius: 14px;\r\n  background: rgba(24,203,150,0.08);\r\n  border: 1px solid rgba(24,203,150,0.18);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 24px;\r\n  margin-bottom: 1.5rem;\r\n}\r\n.service-title { font-size: 18px; font-weight: 800; margin-bottom: 0.75rem; }\r\n.service-desc { font-size: 14px; color: rgba(245,245,245,0.6); line-height: 1.7; margin-bottom: 1.25rem; }\r\n.service-bullets { display: flex; flex-direction: column; gap: 8px; }\r\n.service-bullet {\r\n  display: flex;\r\n  align-items: flex-start;\r\n  gap: 8px;\r\n  font-size: 12px;\r\n  color: rgba(245,245,245,0.65);\r\n}\r\n.service-bullet::before {\r\n  content: '\u2192';\r\n  color: var(--green);\r\n  font-weight: 700;\r\n  flex-shrink: 0;\r\n  margin-top: 1px;\r\n}\r\n\r\n\/* WHY SECTION *\/\r\n#why-us { position: relative; overflow: hidden; }\r\n.why-grid {\r\n  display: grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 80px;\r\n  align-items: center;\r\n}\r\n.why-headline { font-size: clamp(32px, 4.5vw, 52px); font-weight: 900; line-height: 1.1; margin-bottom: 1.5rem; }\r\n.why-desc { font-size: 16px; color: rgba(245,245,245,0.65); line-height: 1.8; margin-bottom: 2rem; }\r\n.why-stats-stack { display: flex; flex-direction: column; gap: 16px; }\r\n.why-stat-item {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 20px;\r\n  padding: 20px 24px;\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 14px;\r\n  transition: all 0.3s;\r\n}\r\n.why-stat-item:hover { border-color: var(--border-green); background: rgba(24,203,150,0.04); transform: translateX(6px); }\r\n.why-stat-num { font-size: 32px; font-weight: 900; color: var(--green); line-height: 1; flex-shrink: 0; min-width: 80px; }\r\n.why-stat-desc { font-size: 13px; color: rgba(245,245,245,0.65); line-height: 1.5; }\r\n\r\n\/* WHO ITS FOR *\/\r\n#who-its-for { background: var(--bg-card); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }\r\n.who-header { text-align: center; margin-bottom: 60px; }\r\n.who-headline { font-size: clamp(28px, 4vw, 48px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.who-sub { font-size: 16px; color: rgba(245,245,245,0.55); max-width: 540px; margin: 0 auto; }\r\n.who-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n.who-card {\r\n  background: var(--bg-dark);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 36px 28px;\r\n  text-align: center;\r\n  transition: all 0.3s;\r\n}\r\n.who-card:hover { border-color: rgba(167,13,213,0.3); transform: translateY(-4px); box-shadow: 0 20px 60px rgba(167,13,213,0.08); }\r\n.who-icon { font-size: 36px; margin-bottom: 1rem; }\r\n.who-role { font-size: 16px; font-weight: 800; margin-bottom: 0.5rem; }\r\n.who-desc { font-size: 13px; color: rgba(245,245,245,0.6); line-height: 1.6; margin-bottom: 1rem; }\r\n.who-pain {\r\n  font-size: 12px;\r\n  color: rgba(245,245,245,0.5);\r\n  background: rgba(255,255,255,0.03);\r\n  border: 1px solid var(--border);\r\n  border-radius: 8px;\r\n  padding: 10px 14px;\r\n  line-height: 1.5;\r\n  font-style: italic;\r\n}\r\n\r\n\/* PROCESS *\/\r\n#process { background: var(--bg-card); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }\r\n.process-header { text-align: center; margin-bottom: 60px; }\r\n.process-headline { font-size: clamp(30px, 4vw, 50px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.process-steps {\r\n  display: grid;\r\n  grid-template-columns: repeat(4, 1fr);\r\n  gap: 24px;\r\n  position: relative;\r\n}\r\n.process-steps::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 40px;\r\n  left: calc(12.5% + 20px);\r\n  right: calc(12.5% + 20px);\r\n  height: 1px;\r\n  background: linear-gradient(90deg, var(--green), var(--purple));\r\n  opacity: 0.3;\r\n}\r\n.process-step { text-align: center; position: relative; }\r\n.process-step-num {\r\n  width: 80px; height: 80px;\r\n  border-radius: 50%;\r\n  background: var(--bg-dark);\r\n  border: 2px solid rgba(24,203,150,0.3);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 22px;\r\n  font-weight: 900;\r\n  color: var(--green);\r\n  margin: 0 auto 1.5rem;\r\n  position: relative;\r\n  z-index: 1;\r\n  transition: all 0.3s;\r\n}\r\n.process-step:hover .process-step-num { background: rgba(24,203,150,0.1); border-color: var(--green); box-shadow: 0 0 24px rgba(24,203,150,0.25); }\r\n.process-step-title { font-size: 16px; font-weight: 800; margin-bottom: 0.75rem; }\r\n.process-step-desc { font-size: 13px; color: rgba(245,245,245,0.6); line-height: 1.6; }\r\n.process-timeline-badge {\r\n  display: inline-block;\r\n  font-size: 10px;\r\n  font-weight: 700;\r\n  padding: 3px 10px;\r\n  border-radius: 100px;\r\n  background: rgba(24,203,150,0.1);\r\n  border: 1px solid rgba(24,203,150,0.2);\r\n  color: var(--green);\r\n  margin-top: 12px;\r\n}\r\n\r\n\/* RESULTS *\/\r\n#results-preview { position: relative; }\r\n.results-header {\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: flex-end;\r\n  margin-bottom: 48px;\r\n  gap: 24px;\r\n  flex-wrap: wrap;\r\n}\r\n.results-headline { font-size: clamp(28px, 4vw, 48px); font-weight: 900; line-height: 1.1; }\r\n.results-grid {\r\n  display: grid;\r\n  grid-template-columns: repeat(3, 1fr);\r\n  gap: 24px;\r\n}\r\n.result-card {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  overflow: hidden;\r\n  position: relative;\r\n  transition: all 0.3s ease;\r\n}\r\n.result-card:hover { transform: translateY(-6px); border-color: rgba(24,203,150,0.25); box-shadow: 0 24px 70px rgba(24,203,150,0.08); }\r\n.result-card-top { padding: 28px 28px 20px; background: var(--bg-card2); border-bottom: 1px solid var(--border); }\r\n.result-card-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }\r\n.result-type-badge {\r\n  font-size: 10px;\r\n  font-weight: 700;\r\n  letter-spacing: 0.08em;\r\n  text-transform: uppercase;\r\n  padding: 4px 10px;\r\n  border-radius: 100px;\r\n  border: 1px solid;\r\n}\r\n.badge-assisted { color: var(--green); border-color: rgba(24,203,150,0.3); background: rgba(24,203,150,0.07); }\r\n.badge-memory { color: #a78bfa; border-color: rgba(167,139,250,0.3); background: rgba(167,139,250,0.07); }\r\n.badge-ccrc { color: #f59e0b; border-color: rgba(245,158,11,0.3); background: rgba(245,158,11,0.07); }\r\n.result-location { font-size: 11px; color: var(--text-muted); }\r\n.result-community { font-size: 17px; font-weight: 800; margin-bottom: 6px; }\r\n.result-headline { font-size: 13px; color: rgba(245,245,245,0.6); line-height: 1.5; }\r\n.result-card-body { padding: 24px 28px; }\r\n.result-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 20px; }\r\n.result-metric { text-align: center; }\r\n.result-metric-num { font-size: clamp(18px, 2vw, 24px); font-weight: 900; color: var(--green); line-height: 1; margin-bottom: 4px; }\r\n.result-metric-label { font-size: 10px; color: var(--text-muted); line-height: 1.3; }\r\n.result-cta { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; border-top: 1px solid var(--border); }\r\n.result-read-more { font-size: 12px; font-weight: 700; color: var(--green); display: flex; align-items: center; gap: 6px; transition: gap 0.2s; }\r\n.result-card:hover .result-read-more { gap: 10px; }\r\n.result-timeline { font-size: 11px; color: var(--text-dim); }\r\n\r\n\/* TESTIMONIALS *\/\r\n#testimonials { position: relative; overflow: hidden; }\r\n.testimonials-header { text-align: center; margin-bottom: 60px; }\r\n.testimonials-headline { font-size: clamp(28px, 4vw, 48px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.testimonials-sub { font-size: 16px; color: rgba(245,245,245,0.55); }\r\n.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n.testimonial-card {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 36px 30px;\r\n  position: relative;\r\n  transition: all 0.3s;\r\n}\r\n.testimonial-card:hover { border-color: rgba(24,203,150,0.25); transform: translateY(-4px); }\r\n.stars { display: flex; gap: 4px; margin-bottom: 20px; }\r\n.star {\r\n  width: 14px; height: 14px;\r\n  background: var(--green);\r\n  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);\r\n}\r\n.testimonial-quote {\r\n  font-size: 14px;\r\n  line-height: 1.75;\r\n  color: rgba(245,245,245,0.75);\r\n  margin-bottom: 28px;\r\n  font-style: italic;\r\n}\r\n.testimonial-quote::before { content: '\\201C'; color: var(--green); font-size: 32px; line-height: 0; vertical-align: -14px; margin-right: 4px; }\r\n.testimonial-author { display: flex; align-items: center; gap: 14px; border-top: 1px solid var(--border); padding-top: 22px; }\r\n.author-avatar {\r\n  width: 42px; height: 42px;\r\n  border-radius: 50%;\r\n  background: linear-gradient(135deg, var(--green), var(--purple));\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 13px;\r\n  font-weight: 800;\r\n  color: #050505;\r\n  flex-shrink: 0;\r\n}\r\n.author-name { font-size: 14px; font-weight: 700; }\r\n.author-title { font-size: 12px; color: var(--text-muted); margin-top: 2px; }\r\n\r\n\/* FAQ *\/\r\n#faq { background: var(--bg-card); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }\r\n.faq-header { text-align: center; margin-bottom: 60px; }\r\n.faq-headline { font-size: clamp(28px, 4vw, 46px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.faq-list { max-width: 800px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }\r\n.faq-item { background: var(--bg-dark); border: 1px solid var(--border); border-radius: 14px; overflow: hidden; transition: border-color 0.3s; }\r\n.faq-item.open { border-color: rgba(24,203,150,0.3); }\r\n.faq-question {\r\n  width: 100%;\r\n  display: flex;\r\n  justify-content: space-between;\r\n  align-items: center;\r\n  padding: 22px 24px;\r\n  background: transparent;\r\n  border: none;\r\n  color: var(--text-white);\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-size: 15px;\r\n  font-weight: 700;\r\n  text-align: left;\r\n  cursor: pointer;\r\n  gap: 16px;\r\n  transition: background 0.25s;\r\n}\r\n.faq-question:hover { background: rgba(255,255,255,0.02); }\r\n.faq-icon {\r\n  width: 24px; height: 24px;\r\n  border-radius: 50%;\r\n  background: rgba(24,203,150,0.1);\r\n  border: 1px solid rgba(24,203,150,0.25);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 14px;\r\n  color: var(--green);\r\n  flex-shrink: 0;\r\n  transition: transform 0.3s;\r\n}\r\n.faq-item.open .faq-icon { transform: rotate(45deg); }\r\n.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease; padding: 0 24px; }\r\n.faq-answer-inner { font-size: 14px; color: rgba(245,245,245,0.65); line-height: 1.75; padding-bottom: 22px; }\r\n.faq-item.open .faq-answer { max-height: 400px; }\r\n\r\n\/* NEWSLETTER *\/\r\n#newsletter { position: relative; overflow: hidden; }\r\n.newsletter-glow {\r\n  position: absolute;\r\n  width: 600px; height: 600px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(167,13,213,0.07) 0%, transparent 70%);\r\n  right: -150px; top: -150px;\r\n  pointer-events: none;\r\n}\r\n.newsletter-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }\r\n.newsletter-headline { font-size: clamp(26px, 3.5vw, 42px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.newsletter-sub { font-size: 15px; color: rgba(245,245,245,0.6); line-height: 1.7; margin-bottom: 1.5rem; }\r\n.newsletter-perks { display: flex; flex-direction: column; gap: 10px; }\r\n.newsletter-perk {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  font-size: 13px;\r\n  color: rgba(245,245,245,0.7);\r\n}\r\n.newsletter-perk::before {\r\n  content: '\u2713';\r\n  width: 20px; height: 20px;\r\n  border-radius: 50%;\r\n  background: rgba(24,203,150,0.15);\r\n  border: 1px solid rgba(24,203,150,0.3);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 11px;\r\n  font-weight: 800;\r\n  color: var(--green);\r\n  flex-shrink: 0;\r\n}\r\n.newsletter-form-wrap {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 36px;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.newsletter-form-wrap::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 2px;\r\n  background: linear-gradient(90deg, var(--purple), var(--green));\r\n}\r\n.nl-live-widget {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  padding: 10px 14px;\r\n  background: rgba(24,203,150,0.06);\r\n  border: 1px solid rgba(24,203,150,0.2);\r\n  border-radius: 8px;\r\n  margin-bottom: 20px;\r\n  font-size: 12px;\r\n  color: rgba(245,245,245,0.75);\r\n}\r\n.nl-live-num { font-weight: 800; color: var(--green); }\r\n.nl-title { font-size: 18px; font-weight: 800; margin-bottom: 4px; }\r\n.nl-subtitle { font-size: 13px; color: rgba(245,245,245,0.5); margin-bottom: 20px; }\r\n.newsletter-form { display: flex; flex-direction: column; gap: 14px; }\r\n.nl-input {\r\n  background: rgba(255,255,255,0.04);\r\n  border: 1px solid var(--border);\r\n  border-radius: 8px;\r\n  padding: 13px 16px;\r\n  color: var(--text-white);\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-size: 14px;\r\n  outline: none;\r\n  transition: border-color 0.25s;\r\n  width: 100%;\r\n}\r\n.nl-input:focus { border-color: var(--green); background: rgba(24,203,150,0.04); }\r\n.nl-input::placeholder { color: var(--text-dim); }\r\n.nl-submit {\r\n  background: var(--green);\r\n  color: #050505;\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-weight: 800;\r\n  font-size: 14px;\r\n  padding: 14px;\r\n  border-radius: 8px;\r\n  border: none;\r\n  cursor: pointer;\r\n  transition: all 0.25s;\r\n  width: 100%;\r\n}\r\n.nl-submit:hover { background: #12e8a8; box-shadow: 0 8px 30px rgba(24,203,150,0.3); }\r\n.nl-submit:disabled { opacity: 0.7; cursor: not-allowed; }\r\n.nl-privacy { font-size: 11px; color: var(--text-dim); text-align: center; line-height: 1.5; }\r\n\r\n\/* CALCULATOR *\/\r\n#calculator { position: relative; overflow: hidden; background: var(--bg-dark); }\r\n.calc-glow {\r\n  position: absolute;\r\n  width: 800px; height: 800px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(167,13,213,0.06) 0%, transparent 70%);\r\n  top: -200px; right: -200px;\r\n  pointer-events: none;\r\n}\r\n.calc-header { text-align: center; margin-bottom: 60px; }\r\n.calc-headline { font-size: clamp(30px, 4.5vw, 52px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; }\r\n.calc-sub { font-size: 17px; color: rgba(245,245,245,0.55); max-width: 560px; margin: 0 auto; line-height: 1.6; }\r\n.calc-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }\r\n.calc-inputs {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 36px;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.calc-inputs::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 2px;\r\n  background: linear-gradient(90deg, var(--purple), var(--green));\r\n}\r\n.calc-section-title {\r\n  font-size: 12px;\r\n  font-weight: 700;\r\n  letter-spacing: 0.1em;\r\n  text-transform: uppercase;\r\n  color: var(--text-muted);\r\n  margin-bottom: 20px;\r\n  margin-top: 28px;\r\n  padding-top: 24px;\r\n  border-top: 1px solid var(--border);\r\n}\r\n.calc-section-title:first-child { margin-top: 0; padding-top: 0; border-top: none; }\r\n.calc-input-group { margin-bottom: 20px; }\r\n.calc-input-label { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }\r\n.calc-input-label span:first-child { font-size: 13px; color: rgba(245,245,245,0.75); line-height: 1.4; }\r\n.calc-input-val {\r\n  font-size: 14px;\r\n  font-weight: 700;\r\n  color: var(--green);\r\n  background: rgba(24,203,150,0.08);\r\n  border: 1px solid rgba(24,203,150,0.2);\r\n  border-radius: 6px;\r\n  padding: 3px 10px;\r\n  min-width: 70px;\r\n  text-align: right;\r\n  flex-shrink: 0;\r\n}\r\n.calc-slider {\r\n  -webkit-appearance: none;\r\n  appearance: none;\r\n  width: 100%;\r\n  height: 4px;\r\n  border-radius: 4px;\r\n  background: var(--border);\r\n  outline: none;\r\n  cursor: pointer;\r\n}\r\n.calc-slider::-webkit-slider-thumb {\r\n  -webkit-appearance: none;\r\n  appearance: none;\r\n  width: 18px; height: 18px;\r\n  border-radius: 50%;\r\n  background: var(--green);\r\n  cursor: pointer;\r\n  box-shadow: 0 0 10px rgba(24,203,150,0.5);\r\n  transition: transform 0.2s;\r\n}\r\n.calc-slider::-webkit-slider-thumb:hover { transform: scale(1.2); }\r\n.calc-slider::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--green); cursor: pointer; border: none; }\r\n.calc-results { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 24px; }\r\n.calc-result-card {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 28px 32px;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.calc-result-card.primary {\r\n  background: linear-gradient(135deg, rgba(24,203,150,0.08) 0%, rgba(167,13,213,0.06) 100%);\r\n  border-color: rgba(24,203,150,0.3);\r\n}\r\n.calc-result-card::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 1px;\r\n  background: linear-gradient(90deg, transparent, var(--green), transparent);\r\n  opacity: 0.4;\r\n}\r\n.calc-result-card.primary::before { opacity: 1; }\r\n.calc-result-label { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 10px; }\r\n.calc-result-num { font-size: clamp(30px, 4vw, 46px); font-weight: 900; color: var(--green); line-height: 1; margin-bottom: 8px; transition: all 0.4s ease; }\r\n.calc-result-num.loss { color: #f95c5c; }\r\n.calc-result-sub { font-size: 13px; color: rgba(245,245,245,0.5); line-height: 1.5; }\r\n.calc-breakdown { background: var(--bg-card2); border: 1px solid var(--border); border-radius: 16px; padding: 24px; }\r\n.calc-breakdown-title { font-size: 12px; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 16px; }\r\n.breakdown-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 13px; }\r\n.breakdown-row:last-child { border-bottom: none; }\r\n.breakdown-label { color: rgba(245,245,245,0.65); }\r\n.breakdown-val { font-weight: 700; color: #f95c5c; }\r\n.breakdown-val.green { color: var(--green); }\r\n.calc-cta-note { background: rgba(24,203,150,0.06); border: 1px solid rgba(24,203,150,0.2); border-radius: 12px; padding: 18px 22px; font-size: 13px; color: rgba(245,245,245,0.7); line-height: 1.6; text-align: center; }\r\n.calc-cta-note strong { color: var(--green); }\r\n\r\n\/* CONTACT *\/\r\n#contact { position: relative; overflow: hidden; }\r\n.contact-glow {\r\n  position: absolute;\r\n  width: 600px; height: 600px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(24,203,150,0.08) 0%, transparent 70%);\r\n  top: -100px; right: -200px;\r\n  pointer-events: none;\r\n}\r\n.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }\r\n.contact-headline { font-size: clamp(32px, 4.5vw, 52px); font-weight: 900; line-height: 1.1; margin-bottom: 1.5rem; }\r\n.contact-desc { font-size: 16px; color: rgba(245,245,245,0.6); line-height: 1.7; margin-bottom: 2.5rem; }\r\n.contact-info { display: flex; flex-direction: column; gap: 20px; margin-bottom: 2rem; }\r\n.contact-info-item { display: flex; align-items: center; gap: 14px; font-size: 15px; }\r\n.contact-info-icon {\r\n  width: 40px; height: 40px;\r\n  border-radius: 10px;\r\n  background: rgba(24,203,150,0.08);\r\n  border: 1px solid rgba(24,203,150,0.18);\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-size: 16px;\r\n  flex-shrink: 0;\r\n}\r\n.contact-info-sub { font-size: 12px; color: var(--text-muted); margin-top: 2px; }\r\n.trust-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 2rem; }\r\n.trust-badge {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  padding: 8px 14px;\r\n  background: rgba(255,255,255,0.03);\r\n  border: 1px solid var(--border);\r\n  border-radius: 100px;\r\n  font-size: 12px;\r\n  color: rgba(245,245,245,0.65);\r\n}\r\n\r\n\/* BOOKING WIDGET *\/\r\n.booking-widget {\r\n  background: var(--bg-card2);\r\n  border: 1px solid rgba(167,13,213,0.25);\r\n  border-radius: 14px;\r\n  padding: 20px;\r\n  position: relative;\r\n  overflow: hidden;\r\n  margin-bottom: 2rem;\r\n}\r\n.booking-widget::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 2px;\r\n  background: linear-gradient(90deg, var(--purple), var(--green));\r\n}\r\n.booking-widget-header {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  margin-bottom: 14px;\r\n  flex-wrap: wrap;\r\n  gap: 10px;\r\n}\r\n.booking-widget-title { font-size: 14px; font-weight: 800; }\r\n.booking-spots-badge {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 6px;\r\n  font-size: 11px;\r\n  font-weight: 700;\r\n  color: var(--green);\r\n  background: rgba(24,203,150,0.08);\r\n  border: 1px solid rgba(24,203,150,0.2);\r\n  padding: 4px 10px;\r\n  border-radius: 100px;\r\n}\r\n.booking-quarter-note {\r\n  font-size: 11px;\r\n  color: rgba(245,245,245,0.5);\r\n  margin-bottom: 12px;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 6px;\r\n}\r\n.booking-quarter-note span { color: #f95c5c; font-weight: 700; }\r\n.booking-slots { display: flex; flex-direction: column; gap: 8px; }\r\n.booking-slot {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  padding: 10px 14px;\r\n  background: rgba(255,255,255,0.03);\r\n  border: 1px solid var(--border);\r\n  border-radius: 8px;\r\n  cursor: pointer;\r\n  transition: all 0.25s;\r\n  gap: 12px;\r\n}\r\n.booking-slot:hover { border-color: var(--border-green); background: rgba(24,203,150,0.04); }\r\n.booking-slot-time { font-size: 12px; font-weight: 700; }\r\n.booking-slot-day { font-size: 11px; color: var(--text-muted); }\r\n.booking-slot-cta { font-size: 10px; font-weight: 700; color: var(--green); text-transform: uppercase; letter-spacing: 0.08em; }\r\n.booking-calls-live {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  font-size: 11px;\r\n  color: rgba(245,245,245,0.55);\r\n  margin-top: 12px;\r\n}\r\n.booking-calls-num { font-weight: 800; color: var(--green); }\r\n\r\n\/* CONTACT FORM *\/\r\n.contact-form {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 20px;\r\n  padding: 40px;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.contact-form::before {\r\n  content: '';\r\n  position: absolute;\r\n  top: 0; left: 0; right: 0;\r\n  height: 2px;\r\n  background: linear-gradient(90deg, var(--green), var(--purple));\r\n}\r\n.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }\r\n.form-group { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; }\r\n.form-group label { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }\r\n.form-group input, .form-group select, .form-group textarea {\r\n  background: rgba(255,255,255,0.03);\r\n  border: 1px solid var(--border);\r\n  border-radius: 8px;\r\n  padding: 12px 16px;\r\n  color: var(--text-white);\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-size: 14px;\r\n  outline: none;\r\n  transition: border-color 0.25s;\r\n  width: 100%;\r\n  -webkit-appearance: none;\r\n}\r\n.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--green); background: rgba(24,203,150,0.04); }\r\n.form-group select option { background: #161616; }\r\n.form-group textarea { resize: none; height: 100px; }\r\n.form-submit {\r\n  width: 100%;\r\n  background: var(--green);\r\n  color: #050505;\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-weight: 800;\r\n  font-size: 14px;\r\n  letter-spacing: 0.03em;\r\n  padding: 16px;\r\n  border-radius: 10px;\r\n  border: none;\r\n  cursor: pointer;\r\n  transition: all 0.25s;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  gap: 8px;\r\n}\r\n.form-submit:hover { background: #12e8a8; box-shadow: 0 12px 40px rgba(24,203,150,0.35); }\r\n.form-submit:disabled { opacity: 0.7; cursor: not-allowed; transform: none !important; box-shadow: none !important; }\r\n.form-privacy { text-align: center; font-size: 11px; color: var(--text-dim); margin-top: 14px; line-height: 1.5; }\r\n\r\n\/* CTA STRIP *\/\r\n#cta-strip { padding: 80px 0; }\r\n.cta-inner {\r\n  background: var(--bg-card);\r\n  border: 1px solid var(--border);\r\n  border-radius: 24px;\r\n  padding: 70px 80px;\r\n  display: grid;\r\n  grid-template-columns: 1fr auto;\r\n  gap: 60px;\r\n  align-items: center;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.cta-inner::before {\r\n  content: '';\r\n  position: absolute;\r\n  inset: 0;\r\n  background: linear-gradient(135deg, rgba(24,203,150,0.05) 0%, transparent 60%);\r\n  border-radius: 24px;\r\n}\r\n.cta-inner::after {\r\n  content: '';\r\n  position: absolute;\r\n  width: 400px; height: 400px;\r\n  border-radius: 50%;\r\n  background: radial-gradient(circle, rgba(167,13,213,0.1) 0%, transparent 70%);\r\n  right: -100px; bottom: -100px;\r\n  pointer-events: none;\r\n}\r\n.cta-headline { font-size: clamp(28px, 4vw, 44px); font-weight: 900; line-height: 1.1; margin-bottom: 1rem; position: relative; z-index: 1; }\r\n.cta-sub { font-size: 16px; color: rgba(245,245,245,0.6); line-height: 1.7; position: relative; z-index: 1; }\r\n.cta-right { display: flex; flex-direction: column; gap: 16px; flex-shrink: 0; position: relative; z-index: 1; }\r\n\r\n\/* STICKY CTA *\/\r\n.sticky-cta {\r\n  position: fixed;\r\n  bottom: 28px; right: 28px;\r\n  z-index: 999;\r\n  opacity: 0;\r\n  transform: translateY(20px);\r\n  transition: all 0.4s ease;\r\n}\r\n.sticky-cta.show { opacity: 1; transform: translateY(0); }\r\n.sticky-btn {\r\n  background: var(--green);\r\n  color: #050505;\r\n  font-family: 'Montserrat', sans-serif;\r\n  font-weight: 800;\r\n  font-size: 13px;\r\n  padding: 13px 22px;\r\n  border-radius: 100px;\r\n  border: none;\r\n  cursor: pointer;\r\n  box-shadow: 0 8px 32px rgba(24,203,150,0.4);\r\n  transition: all 0.25s;\r\n  white-space: nowrap;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n  text-decoration: none;\r\n}\r\n.sticky-btn:hover { background: #12e8a8; transform: scale(1.04); }\r\n\r\n\/* RESPONSIVE *\/\r\n@media (max-width: 1024px) {\r\n  .why-grid { grid-template-columns: 1fr; gap: 48px; }\r\n  .services-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .process-steps { grid-template-columns: repeat(2, 1fr); }\r\n  .process-steps::before { display: none; }\r\n  .results-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .who-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .proof-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .contact-grid { grid-template-columns: 1fr; gap: 48px; }\r\n  .newsletter-inner { grid-template-columns: 1fr; gap: 48px; }\r\n  .calc-wrap { grid-template-columns: 1fr; }\r\n  .calc-results { position: static; }\r\n  .cta-inner { grid-template-columns: 1fr; gap: 32px; padding: 50px 40px; }\r\n  .cta-right { flex-direction: row; }\r\n}\r\n@media (max-width: 768px) {\r\n  section { padding: 70px 0; }\r\n  .container { padding: 0 1.25rem; }\r\n  .services-grid { grid-template-columns: 1fr; }\r\n  .process-steps { grid-template-columns: 1fr; }\r\n  .results-grid { grid-template-columns: 1fr; }\r\n  .who-grid { grid-template-columns: 1fr; }\r\n  .testimonials-grid { grid-template-columns: 1fr; }\r\n  .contact-form { padding: 28px 22px; }\r\n  .form-row { grid-template-columns: 1fr; }\r\n  .cta-inner { padding: 36px 24px; }\r\n  .cta-right { flex-direction: column; }\r\n  .hero-stats { gap: 28px; }\r\n  .calc-inputs { padding: 22px 18px; }\r\n  .sticky-cta { bottom: 16px; right: 16px; }\r\n}\r\n@media (max-width: 480px) {\r\n  .hero-cta-row { flex-direction: column; align-items: stretch; }\r\n  .hero-cta-row .btn-primary, .hero-cta-row .btn-ghost { justify-content: center; }\r\n  .urgency-banner { flex-direction: column; }\r\n  .proof-grid { grid-template-columns: repeat(2, 1fr); }\r\n  .breakdown-row { flex-direction: column; align-items: flex-start; gap: 4px; }\r\n}\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<!-- Sticky CTA -->\r\n<div class=\"sticky-cta\" id=\"stickyCTA\">\r\n  <a href=\"#contact\" class=\"sticky-btn\">\r\n    <span>\ud83d\udcde<\/span> Book a Free Strategy Call\r\n  <\/a>\r\n<\/div>\r\n\r\n<!-- TICKER \u2014 fixed at top -->\r\n<div class=\"ticker-wrap\" aria-hidden=\"true\">\r\n  <div class=\"ticker-track\">\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>CRM &amp; Automation<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Google Search Ads<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Local SEO<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Meta Ads<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>SEO &amp; AEO<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>UX \/ UI Design<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Web Development<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Reputation Management<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Tracking &amp; Reporting<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Strategic Social Media<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Community Branding<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Public Relations<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Videography &amp; Photography<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Virtual Tour Integrations<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>CRM &amp; Automation<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Google Search Ads<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Local SEO<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Meta Ads<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>SEO &amp; AEO<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>UX \/ UI Design<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Web Development<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Reputation Management<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Tracking &amp; Reporting<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Strategic Social Media<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Community Branding<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Public Relations<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Videography &amp; Photography<\/div>\r\n    <div class=\"ticker-item\"><span class=\"ticker-dot\"><\/span>Virtual Tour Integrations<\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- ===== HERO ===== -->\r\n<section id=\"hero\">\r\n  <div class=\"grid-bg\"><\/div>\r\n  <div class=\"hero-glow-1\"><\/div>\r\n  <div class=\"hero-glow-2\"><\/div>\r\n  <div class=\"container\" style=\"position:relative;z-index:1;\">\r\n\r\n    <div class=\"hero-eyebrow reveal\">Exclusively Senior Living \u00b7 Boston, MA \u00b7 140+ Communities Served<\/div>\r\n\r\n    <h1 class=\"hero-headline reveal\">\r\n      The Marketing Agency Built<br>\r\n      <span class=\"gradient-text\">Exclusively for Senior Living.<\/span>\r\n    <\/h1>\r\n\r\n    <p class=\"hero-sub reveal reveal-delay-1\">\r\n      We help Directors of Marketing, VP of Sales, Owners and Operators fill beds faster \u2014 with Google Ads, Local SEO, Meta Ads, CRM Automation, Reputation Management, and more. Every strategy is built for senior living. Nothing else.\r\n    <\/p>\r\n\r\n    <div class=\"hero-cta-row reveal reveal-delay-2\">\r\n      <a href=\"#contact\" class=\"btn-primary\">Book a Free Strategy Call <span>\u2192<\/span><\/a>\r\n      <a href=\"#what-we-do\" class=\"btn-ghost\">See What We Do \u2193<\/a>\r\n    <\/div>\r\n\r\n    <div class=\"hero-trust-row reveal reveal-delay-3\">\r\n      <div class=\"hero-trust-item\">Senior living exclusive<\/div>\r\n      <div class=\"hero-trust-item\">140+ communities served<\/div>\r\n      <div class=\"hero-trust-item\">US \u00b7 Canada \u00b7 Europe<\/div>\r\n      <div class=\"hero-trust-item\">Average 94% occupancy achieved<\/div>\r\n      <div class=\"hero-trust-item\">Results in 60\u201390 days<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"hero-stats reveal reveal-delay-4\">\r\n      <div>\r\n        <div class=\"hero-stat-num count-up\" data-target=\"140\">0<\/div>\r\n        <div class=\"hero-stat-label\">Communities Served Across 3 Continents<\/div>\r\n      <\/div>\r\n      <div>\r\n        <div class=\"hero-stat-num count-up\" data-target=\"94\">0<\/div>\r\n        <div class=\"hero-stat-label\">% Average Occupancy Achieved<\/div>\r\n      <\/div>\r\n      <div>\r\n        <div class=\"hero-stat-num count-up\" data-target=\"318\">0<\/div>\r\n        <div class=\"hero-stat-label\">% Average Organic Inquiry Increase<\/div>\r\n      <\/div>\r\n      <div>\r\n        <div class=\"hero-stat-num\" style=\"font-size:42px;font-weight:900;color:var(--green);line-height:1;\">12+<\/div>\r\n        <div class=\"hero-stat-label\">Senior Living Services Under One Roof<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== PROOF STRIP ===== -->\r\n<section id=\"proof-strip\">\r\n  <div class=\"container\">\r\n    <div class=\"proof-grid reveal\">\r\n      <div class=\"proof-cell\">\r\n        <div class=\"proof-num\">140+<\/div>\r\n        <div class=\"proof-label\">Communities Across US, Canada &amp; Europe<\/div>\r\n      <\/div>\r\n      <div class=\"proof-cell\">\r\n        <div class=\"proof-num\">94%<\/div>\r\n        <div class=\"proof-label\">Average Occupancy Achieved for Long-Term Clients<\/div>\r\n      <\/div>\r\n      <div class=\"proof-cell\">\r\n        <div class=\"proof-num\">318%<\/div>\r\n        <div class=\"proof-label\">Average Increase in Qualified Organic Inquiries<\/div>\r\n      <\/div>\r\n      <div class=\"proof-cell\">\r\n        <div class=\"proof-num\">60 Days<\/div>\r\n        <div class=\"proof-label\">Average Time to First Measurable Results<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== NEWSLETTER ===== -->\r\n<section id=\"newsletter\" style=\"background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);\">\r\n  <div class=\"container\" style=\"position:relative;z-index:1;\">\r\n    <div class=\"newsletter-glow\"><\/div>\r\n    <div class=\"newsletter-inner\">\r\n      <div class=\"reveal\">\r\n        <div class=\"tag\">Free Resources<\/div>\r\n        <h2 class=\"newsletter-headline\">Get the Weekly Edge Every<br><span class=\"gradient-text\">Senior Living Leader Needs<\/span><\/h2>\r\n        <p class=\"newsletter-sub\">Join 2,400+ senior living operators getting our weekly newsletter \u2014 packed with marketing tips, industry benchmarks, and resources you won't find anywhere else.<\/p>\r\n        <div class=\"newsletter-perks\">\r\n          <div class=\"newsletter-perk\">Free weekly marketing tips &amp; senior living growth strategies<\/div>\r\n          <div class=\"newsletter-perk\">Exclusive occupancy benchmarks &amp; industry data<\/div>\r\n          <div class=\"newsletter-perk\">Free staff training resources \u2014 scripts, templates &amp; playbooks<\/div>\r\n          <div class=\"newsletter-perk\">Early access to case studies, tools &amp; community resources<\/div>\r\n          <div class=\"newsletter-perk\">Freebies for your staff &amp; community throughout the year<\/div>\r\n          <div class=\"newsletter-perk\">Zero spam. Unsubscribe anytime. We hate cluttered inboxes too.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"reveal reveal-delay-2\">\r\n        <div class=\"newsletter-form-wrap\">\r\n          <div class=\"nl-live-widget\">\r\n            <div class=\"live-dot\"><\/div>\r\n            <span><span class=\"nl-live-num\" id=\"nlCount\">37<\/span> senior living leaders subscribed this week<\/span>\r\n          <\/div>\r\n          <!-- ===== NEWSLETTER FORM \u2014 Formspree xlgaoopd ===== -->\r\n          <div id=\"nl-form-body\">\r\n            <div class=\"nl-title\">Subscribe for Free<\/div>\r\n            <div class=\"nl-subtitle\">Join 2,400+ senior living leaders. No spam, ever.<\/div>\r\n            <div class=\"newsletter-form\">\r\n              <input type=\"text\" class=\"nl-input\" id=\"nl-name\" placeholder=\"Your first name\" autocomplete=\"given-name\">\r\n              <input type=\"text\" class=\"nl-input\" id=\"nl-community\" placeholder=\"Your community or company name\">\r\n              <input type=\"email\" class=\"nl-input\" id=\"nl-email\" placeholder=\"Your work email address\" autocomplete=\"email\">\r\n              <select class=\"nl-input\" id=\"nl-role\">\r\n                <option value=\"\" disabled selected>Your role<\/option>\r\n                <option>Director of Marketing<\/option>\r\n                <option>Director of Sales<\/option>\r\n                <option>VP of Sales &amp; Marketing<\/option>\r\n                <option>Director of Operations<\/option>\r\n                <option>Owner \/ Operator<\/option>\r\n                <option>Executive Director<\/option>\r\n                <option>Other<\/option>\r\n              <\/select>\r\n              <button class=\"nl-submit\" onclick=\"handleNewsletterSubmit(this)\">Subscribe &amp; Get Free Resources \u2192<\/button>\r\n              <p class=\"nl-privacy\">\ud83d\udd12 100% free. No spam. Unsubscribe anytime.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n          <!-- Newsletter success state -->\r\n          <div id=\"nl-success\" style=\"display:none;text-align:center;padding:32px 24px;\">\r\n            <div style=\"width:64px;height:64px;border-radius:50%;background:rgba(24,203,150,0.15);border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px;\">\u2713<\/div>\r\n            <div style=\"font-size:20px;font-weight:900;color:var(--green);margin-bottom:8px;\">You're In!<\/div>\r\n            <p style=\"font-size:14px;color:rgba(245,245,245,0.6);line-height:1.6;\">Welcome to the Elderbloom newsletter. Check your inbox for your welcome gift.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== WHY ELDERBLOOM ===== -->\r\n<section id=\"why-us\" style=\"background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);\">\r\n  <div class=\"container\">\r\n    <div class=\"why-grid\">\r\n      <div class=\"reveal\">\r\n        <div class=\"tag\">Why Elderbloom<\/div>\r\n        <h2 class=\"why-headline\">Your Community Deserves an Agency That <span class=\"gradient-text\">Actually Speaks Senior Living.<\/span><\/h2>\r\n        <p class=\"why-desc\">\r\n          Most marketing agencies treat senior living like any other vertical \u2014 they apply the same playbook they use for dentists, law firms, and e-commerce stores. The result? Traffic with no inquiries. Ad spend with no move-ins. Reports full of vanity metrics and empty beds.\r\n        <\/p>\r\n        <p class=\"why-desc\">\r\n          Elderbloom works exclusively with senior living communities. We understand how families search for care, how move-in decisions are made, and how to connect every dollar of marketing spend to census growth. We have helped 140+ communities across the US, Canada, and Europe achieve an average of 94% occupancy \u2014 and we can do the same for yours.\r\n        <\/p>\r\n        <a href=\"#contact\" class=\"btn-primary\">See If We're a Fit \u2192<\/a>\r\n      <\/div>\r\n      <div class=\"why-stats-stack reveal reveal-delay-2\">\r\n        <div class=\"why-stat-item\">\r\n          <div class=\"why-stat-num\">70%+<\/div>\r\n          <div class=\"why-stat-desc\"><strong>of senior living searches<\/strong> begin on Google. If your community isn't ranking in the top 3, you're invisible to the families choosing right now.<\/div>\r\n        <\/div>\r\n        <div class=\"why-stat-item\">\r\n          <div class=\"why-stat-num\">9\u00d7<\/div>\r\n          <div class=\"why-stat-desc\"><strong>more likely to convert<\/strong> when you respond to an inquiry within 5 minutes. Our CRM automation makes that the standard \u2014 not the exception.<\/div>\r\n        <\/div>\r\n        <div class=\"why-stat-item\">\r\n          <div class=\"why-stat-num\">$50K+<\/div>\r\n          <div class=\"why-stat-desc\"><strong>annual revenue per move-in<\/strong> at average monthly rates. One additional resident per month from our system can generate $600K+ in lifetime value.<\/div>\r\n        <\/div>\r\n        <div class=\"why-stat-item\">\r\n          <div class=\"why-stat-num\">100%<\/div>\r\n          <div class=\"why-stat-desc\"><strong>senior living focused.<\/strong> We don't work with restaurants, e-commerce, or law firms. Only senior living \u2014 so every strategy we build is purpose-built for your market.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== WHAT WE DO ===== -->\r\n<section id=\"what-we-do\">\r\n  <div class=\"container\">\r\n    <div class=\"reveal\" style=\"text-align:center;margin-bottom:16px;\">\r\n      <div class=\"tag\" style=\"margin:0 auto 1.5rem;\">Our Services<\/div>\r\n    <\/div>\r\n    <div class=\"reveal\" style=\"text-align:center;\">\r\n      <h2 class=\"services-headline\">Everything Senior Living<br><span class=\"gradient-text\">Needs to Fill Beds &amp; Grow Revenue<\/span><\/h2>\r\n      <p class=\"services-sub\" style=\"margin:1rem auto 60px;\">Not generic digital marketing. Not copy-paste tactics. Every service is engineered specifically for how families search for \u2014 and choose \u2014 senior care.<\/p>\r\n    <\/div>\r\n    <div class=\"services-grid\">\r\n\r\n      <div class=\"service-card reveal\">\r\n        <div class=\"service-icon\">\u2699\ufe0f<\/div>\r\n        <div class=\"service-title\">CRM &amp; Automation<\/div>\r\n        <p class=\"service-desc\">Speed-to-lead is everything in senior living. Our CRM automation ensures no inquiry waits more than 5 minutes for a response \u2014 24\/7, automatically.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Automated lead nurture sequences built for senior care buyer journeys<\/div>\r\n          <div class=\"service-bullet\">5-minute response protocols that increase tour conversions 9\u00d7<\/div>\r\n          <div class=\"service-bullet\">CRM setup, integration, and team training<\/div>\r\n          <div class=\"service-bullet\">Pipeline reporting tied to move-in velocity<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal reveal-delay-1\">\r\n        <div class=\"service-icon\">\ud83d\udd0d<\/div>\r\n        <div class=\"service-title\">Google Search Ads<\/div>\r\n        <p class=\"service-desc\">Capture high-intent families actively searching for care right now. Our Google Ads campaigns are built around senior living search behavior \u2014 not generic PPC formulas.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Senior living keyword research &amp; negative match architecture<\/div>\r\n          <div class=\"service-bullet\">Ad copy that converts anxiety into inquiry<\/div>\r\n          <div class=\"service-bullet\">Landing pages optimized for senior living conversion<\/div>\r\n          <div class=\"service-bullet\">Full attribution from click to move-in<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal reveal-delay-2\">\r\n        <div class=\"service-icon\">\ud83d\udccd<\/div>\r\n        <div class=\"service-title\">Local SEO<\/div>\r\n        <p class=\"service-desc\">Over 70% of families searching for senior care start with a local Google search. We get your community into the top 3 map pack results \u2014 and keep you there.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Google Business Profile optimization &amp; ongoing management<\/div>\r\n          <div class=\"service-bullet\">Citation building, cleanup &amp; NAP consistency<\/div>\r\n          <div class=\"service-bullet\">Geo-targeted content &amp; location pages<\/div>\r\n          <div class=\"service-bullet\">Map pack ranking with monthly occupancy-tied reporting<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal\">\r\n        <div class=\"service-icon\">\ud83d\udcf1<\/div>\r\n        <div class=\"service-title\">Meta Ads<\/div>\r\n        <p class=\"service-desc\">Reach adult children and family decision-makers on Facebook and Instagram at the exact moment their loved one needs care \u2014 before they ever Google you.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Audience targeting built around senior living family demographics<\/div>\r\n          <div class=\"service-bullet\">Video and creative that tells your community's story<\/div>\r\n          <div class=\"service-bullet\">Retargeting sequences that keep your community top-of-mind<\/div>\r\n          <div class=\"service-bullet\">Lead generation campaigns tied to tour bookings<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal reveal-delay-1\">\r\n        <div class=\"service-icon\">\ud83d\udcca<\/div>\r\n        <div class=\"service-title\">SEO &amp; AEO<\/div>\r\n        <p class=\"service-desc\">Rank on Google today and in AI answer engines tomorrow. Our SEO &amp; Answer Engine Optimization strategy positions your community for how families search now and in 2026 and beyond.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Technical SEO, schema markup &amp; Core Web Vitals optimization<\/div>\r\n          <div class=\"service-bullet\">Content strategy built around senior living search intent<\/div>\r\n          <div class=\"service-bullet\">AEO optimization for Google AI Overviews, ChatGPT &amp; Perplexity<\/div>\r\n          <div class=\"service-bullet\">Authority building through content, links &amp; topical depth<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal reveal-delay-2\">\r\n        <div class=\"service-icon\">\u2b50<\/div>\r\n        <div class=\"service-title\">Reputation Management<\/div>\r\n        <p class=\"service-desc\">A 4.8-star community gets the call. A 3.6-star community gets skipped. We systematically build your online reputation \u2014 review by review \u2014 until families choose you first.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Automated review request campaigns post-tour &amp; post-move-in<\/div>\r\n          <div class=\"service-bullet\">Multi-platform management: Google, A Place for Mom, Caring.com<\/div>\r\n          <div class=\"service-bullet\">Negative review response strategy &amp; crisis management<\/div>\r\n          <div class=\"service-bullet\">Star rating improvement roadmap with timeline projections<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal\">\r\n        <div class=\"service-icon\">\ud83c\udfa8<\/div>\r\n        <div class=\"service-title\">UX\/UI &amp; Web Development<\/div>\r\n        <p class=\"service-desc\">Your website is the first impression for families making one of the hardest decisions of their lives. We build senior living websites that convert visitors into inquiries.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Conversion-optimized website design for senior living audiences<\/div>\r\n          <div class=\"service-bullet\">Mobile-first, WCAG-accessible, and Core Web Vitals compliant<\/div>\r\n          <div class=\"service-bullet\">Virtual tour integrations &amp; interactive community experiences<\/div>\r\n          <div class=\"service-bullet\">Ongoing CRO testing to continuously improve inquiry rates<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal reveal-delay-1\">\r\n        <div class=\"service-icon\">\ud83d\udcc8<\/div>\r\n        <div class=\"service-title\">Tracking &amp; Reporting<\/div>\r\n        <p class=\"service-desc\">We don't report on impressions and clicks. Every dashboard we build ties marketing performance to the number that matters: occupied units.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Call tracking, form attribution &amp; full-funnel analytics<\/div>\r\n          <div class=\"service-bullet\">Monthly revenue impact reporting \u2014 not vanity metrics<\/div>\r\n          <div class=\"service-bullet\">Portfolio dashboards for multi-community operators<\/div>\r\n          <div class=\"service-bullet\">Quarterly strategy reviews with census growth benchmarks<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"service-card reveal reveal-delay-2\">\r\n        <div class=\"service-icon\">\ud83c\udfa5<\/div>\r\n        <div class=\"service-title\">Videography, Photography &amp; Branding<\/div>\r\n        <p class=\"service-desc\">Community branding, visual storytelling, and professional content that shows families \u2014 not just tells them \u2014 why your community is where their loved one belongs.<\/p>\r\n        <div class=\"service-bullets\">\r\n          <div class=\"service-bullet\">Professional community photography &amp; lifestyle videography<\/div>\r\n          <div class=\"service-bullet\">Community brand identity: logo, voice, color, and positioning<\/div>\r\n          <div class=\"service-bullet\">Virtual website tour integrations for immersive digital tours<\/div>\r\n          <div class=\"service-bullet\">Social media content, PR strategy &amp; media placements<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div style=\"text-align:center;margin-top:48px;\" class=\"reveal\">\r\n      <a href=\"#contact\" class=\"btn-primary\" style=\"font-size:15px;padding:16px 32px;\">Get a Free Strategy Consultation \u2192<\/a>\r\n      <p style=\"font-size:12px;color:var(--text-muted);margin-top:12px;\">No commitment. No sales pressure. Just honest strategy from a team that speaks senior living.<\/p>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== WHO IT'S FOR ===== -->\r\n<section id=\"who-its-for\">\r\n  <div class=\"container\">\r\n    <div class=\"who-header reveal\">\r\n      <div class=\"tag\" style=\"margin:0 auto 1.5rem;\">Built for Senior Living Leaders<\/div>\r\n      <h2 class=\"who-headline\">If You're Responsible for Census,<br><span class=\"gradient-text\">We Were Built for You.<\/span><\/h2>\r\n      <p class=\"who-sub\">If any of these sound familiar, we need to talk.<\/p>\r\n    <\/div>\r\n    <div class=\"who-grid\">\r\n      <div class=\"who-card reveal\">\r\n        <div class=\"who-icon\">\ud83d\udcc8<\/div>\r\n        <div class=\"who-role\">Director of Marketing<\/div>\r\n        <p class=\"who-desc\">You own the pipeline but you're working with agencies that don't understand the senior care buyer journey \u2014 or getting reports filled with traffic numbers, not move-ins.<\/p>\r\n        <div class=\"who-pain\">\"I can't tell what's actually driving inquiries vs. what's just noise in the dashboard.\"<\/div>\r\n      <\/div>\r\n      <div class=\"who-card reveal reveal-delay-1\">\r\n        <div class=\"who-icon\">\ud83c\udfaf<\/div>\r\n        <div class=\"who-role\">Director of Sales &amp; VP of Sales<\/div>\r\n        <p class=\"who-desc\">You're great at converting leads \u2014 you just need more of the right ones. You need qualified families coming inbound so you can close, not chase.<\/p>\r\n        <div class=\"who-pain\">\"We're great at converting. I just need more people walking through the door.\"<\/div>\r\n      <\/div>\r\n      <div class=\"who-card reveal reveal-delay-2\">\r\n        <div class=\"who-icon\">\ud83c\udfd7<\/div>\r\n        <div class=\"who-role\">Owner \/ Operator<\/div>\r\n        <p class=\"who-desc\">Census pressure affects everything \u2014 staffing ratios, capital plans, bank covenants. You need a predictable, scalable marketing system that fills beds and keeps them filled.<\/p>\r\n        <div class=\"who-pain\">\"I've spent $200K on marketing this year and I still don't have a full house.\"<\/div>\r\n      <\/div>\r\n      <div class=\"who-card reveal\">\r\n        <div class=\"who-icon\">\u2699\ufe0f<\/div>\r\n        <div class=\"who-role\">Director of Operations<\/div>\r\n        <p class=\"who-desc\">You see the financial impact of empty units every day. You need marketing that's accountable, measurable, and tied to the same KPIs you report to ownership.<\/p>\r\n        <div class=\"who-pain\">\"We need a system, not just campaigns. Something I can actually report on.\"<\/div>\r\n      <\/div>\r\n      <div class=\"who-card reveal reveal-delay-1\">\r\n        <div class=\"who-icon\">\ud83c\udfd8<\/div>\r\n        <div class=\"who-role\">Multi-Community Portfolio Operators<\/div>\r\n        <p class=\"who-desc\">Managing 5, 10, 20+ communities means you need an agency that can operate at scale without losing the local specificity that makes marketing work community-by-community.<\/p>\r\n        <div class=\"who-pain\">\"Different markets, different competitors, different needs \u2014 and I need one agency that handles it all.\"<\/div>\r\n      <\/div>\r\n      <div class=\"who-card reveal reveal-delay-2\">\r\n        <div class=\"who-icon\">\ud83c\udf1f<\/div>\r\n        <div class=\"who-role\">New or Expanding Communities<\/div>\r\n        <p class=\"who-desc\">Whether you're pre-opening, just launched, or entering a new market, a full-service marketing strategy is the fastest way to establish presence and start generating inquiries before your first referral.<\/p>\r\n        <div class=\"who-pain\">\"We're brand new in this market and need visibility yesterday.\"<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== PROCESS ===== -->\r\n<section id=\"process\">\r\n  <div class=\"container\">\r\n    <div class=\"process-header reveal\">\r\n      <div class=\"tag\" style=\"margin:0 auto 1.5rem;\">Our Process<\/div>\r\n      <h2 class=\"process-headline\">From Invisible to Undeniable.<br><span class=\"gradient-text\">Here's How We Get There.<\/span><\/h2>\r\n      <p style=\"font-size:16px;color:rgba(245,245,245,0.55);max-width:540px;margin:0 auto;\">A structured, proven process refined across 140+ communities. No guesswork. No generic playbooks. Just execution.<\/p>\r\n    <\/div>\r\n    <div class=\"process-steps\">\r\n      <div class=\"process-step reveal\">\r\n        <div class=\"process-step-num\">01<\/div>\r\n        <div class=\"process-step-title\">Deep-Dive Strategy Audit<\/div>\r\n        <p class=\"process-step-desc\">We audit your entire digital presence \u2014 website, ads, SEO, CRM, reputation, and competitive landscape. Most clients discover they're losing to competitors on 6+ factors they didn't know existed.<\/p>\r\n        <span class=\"process-timeline-badge\">Week 1<\/span>\r\n      <\/div>\r\n      <div class=\"process-step reveal reveal-delay-1\">\r\n        <div class=\"process-step-num\">02<\/div>\r\n        <div class=\"process-step-title\">Custom Strategy &amp; Foundation Build<\/div>\r\n        <p class=\"process-step-desc\">We build your custom marketing infrastructure \u2014 ad accounts, SEO foundation, CRM automation, reputation systems, and content strategy \u2014 all tailored to your market and community type.<\/p>\r\n        <span class=\"process-timeline-badge\">Weeks 2\u20134<\/span>\r\n      <\/div>\r\n      <div class=\"process-step reveal reveal-delay-2\">\r\n        <div class=\"process-step-num\">03<\/div>\r\n        <div class=\"process-step-title\">Launch, Optimize &amp; Accelerate<\/div>\r\n        <p class=\"process-step-desc\">Campaigns launch, SEO begins moving, and automation activates. This is where inquiries start increasing \u2014 most clients see measurable improvement within 45\u201360 days of launch.<\/p>\r\n        <span class=\"process-timeline-badge\">Months 2\u20133<\/span>\r\n      <\/div>\r\n      <div class=\"process-step reveal reveal-delay-3\">\r\n        <div class=\"process-step-num\">04<\/div>\r\n        <div class=\"process-step-title\">Dominate, Report &amp; Compound<\/div>\r\n        <p class=\"process-step-desc\">You're ranking, running, and converting. Now we compound the gains \u2014 new content, deeper market penetration, competitive monitoring, and monthly reporting tied directly to census and revenue.<\/p>\r\n        <span class=\"process-timeline-badge\">Month 4+<\/span>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== RESULTS PREVIEW ===== -->\r\n<section id=\"results-preview\" style=\"background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border);\">\r\n  <div class=\"container\">\r\n    <div class=\"results-header\">\r\n      <div class=\"reveal\">\r\n        <div class=\"tag\">Real Results<\/div>\r\n        <h2 class=\"results-headline\">Communities That Chose<br><span class=\"gradient-text\">Elderbloom Over Everyone Else<\/span><\/h2>\r\n      <\/div>\r\n      <div class=\"reveal reveal-delay-1\" style=\"text-align:right;\">\r\n        <div style=\"display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-bottom:6px;\">\r\n          <div class=\"live-dot\"><\/div>\r\n          <span style=\"font-size:13px;color:rgba(245,245,245,0.6);\">Live: <strong id=\"liveCount\" style=\"color:var(--green);\">4<\/strong> communities reviewing strategy calls this week<\/span>\r\n        <\/div>\r\n        <a href=\"#contact\" class=\"btn-ghost\" style=\"font-size:13px;padding:10px 20px;\">See All 140+ Case Studies \u2192<\/a>\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"results-grid\">\r\n\r\n      <div class=\"result-card reveal\">\r\n        <div class=\"result-card-top\">\r\n          <div class=\"result-card-meta\">\r\n            <span class=\"result-type-badge badge-ccrc\">CCRC \/ Life Plan<\/span>\r\n            <span class=\"result-location\">\ud83d\udccd Boothbay Harbor, ME<\/span>\r\n          <\/div>\r\n          <div class=\"result-community\">St. Andrews Village<\/div>\r\n          <div class=\"result-headline\">Full-service SEO &amp; Local SEO turned a hidden coastal gem into the #1 searched senior community in Lincoln County \u2014 in 5 months<\/div>\r\n        <\/div>\r\n        <div class=\"result-card-body\">\r\n          <div class=\"result-metrics\">\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">318%<\/div>\r\n              <div class=\"result-metric-label\">More Organic Inquiries<\/div>\r\n            <\/div>\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">#1<\/div>\r\n              <div class=\"result-metric-label\">Local Map Pack Rank<\/div>\r\n            <\/div>\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">+19pp<\/div>\r\n              <div class=\"result-metric-label\">Occupancy Gained<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"result-cta\">\r\n            <a href=\"https:\/\/elderbloomstrategies.com\/?page_id=462\" class=\"result-read-more\">Read Case Study <span>\u2192<\/span><\/a>\r\n            <span class=\"result-timeline\">Results in 5 months<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"result-card reveal reveal-delay-1\">\r\n        <div class=\"result-card-top\">\r\n          <div class=\"result-card-meta\">\r\n            <span class=\"result-type-badge badge-assisted\">Assisted Living<\/span>\r\n            <span class=\"result-location\">\ud83d\udccd Reading, PA<\/span>\r\n          <\/div>\r\n          <div class=\"result-community\">The Highlands at Wyomissing<\/div>\r\n          <div class=\"result-headline\">Google Ads &amp; SEO overhaul drove page-one rankings for 22 high-intent keywords \u2014 generating $2.8M in recoverable annual revenue<\/div>\r\n        <\/div>\r\n        <div class=\"result-card-body\">\r\n          <div class=\"result-metrics\">\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">$2.8M<\/div>\r\n              <div class=\"result-metric-label\">Revenue Recovered<\/div>\r\n            <\/div>\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">296%<\/div>\r\n              <div class=\"result-metric-label\">Organic Traffic Growth<\/div>\r\n            <\/div>\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">4.8\u2605<\/div>\r\n              <div class=\"result-metric-label\">Google Rating (from 3.7)<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"result-cta\">\r\n            <a href=\"https:\/\/elderbloomstrategies.com\/?page_id=476\" class=\"result-read-more\">Read Case Study <span>\u2192<\/span><\/a>\r\n            <span class=\"result-timeline\">Results in 6 months<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"result-card reveal reveal-delay-2\">\r\n        <div class=\"result-card-top\">\r\n          <div class=\"result-card-meta\">\r\n            <span class=\"result-type-badge badge-memory\">Memory Care<\/span>\r\n            <span class=\"result-location\">\ud83d\udccd Lincolnwood, IL<\/span>\r\n          <\/div>\r\n          <div class=\"result-community\">The Carrington at Lincolnwood<\/div>\r\n          <div class=\"result-headline\">Reputation management &amp; CRM automation reversed a 2.8-star crisis \u2014 68 new reviews in 60 days, inquiries up 220%<\/div>\r\n        <\/div>\r\n        <div class=\"result-card-body\">\r\n          <div class=\"result-metrics\">\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">4.7\u2605<\/div>\r\n              <div class=\"result-metric-label\">Google Rating (from 2.8)<\/div>\r\n            <\/div>\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">+68<\/div>\r\n              <div class=\"result-metric-label\">New Reviews in 60 Days<\/div>\r\n            <\/div>\r\n            <div class=\"result-metric\">\r\n              <div class=\"result-metric-num\">220%<\/div>\r\n              <div class=\"result-metric-label\">More Family Inquiries<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"result-cta\">\r\n            <a href=\"https:\/\/elderbloomstrategies.com\/?page_id=469\" class=\"result-read-more\">Read Case Study <span>\u2192<\/span><\/a>\r\n            <span class=\"result-timeline\">Results in 3 months<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n    <div style=\"margin-top:48px;padding:40px;background:linear-gradient(135deg,rgba(24,203,150,0.06) 0%,rgba(167,13,213,0.05) 100%);border:1px solid rgba(24,203,150,0.2);border-radius:20px;position:relative;overflow:hidden;\" class=\"reveal\">\r\n      <div style=\"position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),var(--purple));\"><\/div>\r\n      <div style=\"display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;\">\r\n        <div>\r\n          <h3 style=\"font-size:clamp(20px,3vw,30px);font-weight:900;margin-bottom:8px;\">140+ More Stories Where These Came From.<\/h3>\r\n          <p style=\"font-size:15px;color:rgba(245,245,245,0.6);max-width:560px;line-height:1.6;\">These are just 3. Our full library covers every care type, market, and community size \u2014 from single-site operators to 30+ location portfolios.<\/p>\r\n        <\/div>\r\n        <a href=\"#contact\" class=\"btn-primary\" style=\"flex-shrink:0;\">Request Full Case Study Library \u2192<\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== TESTIMONIALS ===== -->\r\n<section id=\"testimonials\">\r\n  <div class=\"container\">\r\n    <div class=\"testimonials-header reveal\">\r\n      <div class=\"tag\" style=\"margin:0 auto 1.5rem;\">Client Voices<\/div>\r\n      <h2 class=\"testimonials-headline\">The People Behind<br><span class=\"gradient-text\">The Results<\/span><\/h2>\r\n      <p class=\"testimonials-sub\">We don't ask for testimonials. We earn them.<\/p>\r\n    <\/div>\r\n    <div class=\"testimonials-grid\">\r\n      <div class=\"testimonial-card reveal\">\r\n        <div class=\"stars\"><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><\/div>\r\n        <p class=\"testimonial-quote\">We had 78% occupancy for two years. Nothing moved the needle \u2014 not referral events, not our previous agency, nothing. Elderbloom rebuilt our entire digital strategy. Within 90 days, tours were up 180%. We hit 94% by month five.<\/p>\r\n        <div class=\"testimonial-author\">\r\n          <div class=\"author-avatar\">KM<\/div>\r\n          <div>\r\n            <div class=\"author-name\">Karen M.<\/div>\r\n            <div class=\"author-title\">Executive Director \u2014 Assisted Living, Houston TX<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"testimonial-card reveal reveal-delay-1\">\r\n        <div class=\"stars\"><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><\/div>\r\n        <p class=\"testimonial-quote\">What sets Elderbloom apart is that they only do senior living. They understood our community from day one \u2014 the family decision cycle, the emotional weight, the specific keywords that convert. Our Google Ads cost per lead dropped by 61% in 90 days.<\/p>\r\n        <div class=\"testimonial-author\">\r\n          <div class=\"author-avatar\">TW<\/div>\r\n          <div>\r\n            <div class=\"author-name\">Thomas W.<\/div>\r\n            <div class=\"author-title\">Director of Marketing \u2014 Memory Care, Dallas TX<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"testimonial-card reveal reveal-delay-2\">\r\n        <div class=\"stars\"><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><div class=\"star\"><\/div><\/div>\r\n        <p class=\"testimonial-quote\">What I appreciate most is that every report ties back to occupancy \u2014 not impressions, not clicks. I manage six communities and Elderbloom gives me clarity on what marketing is contributing to move-ins at each one. That accountability is rare in this industry.<\/p>\r\n        <div class=\"testimonial-author\">\r\n          <div class=\"author-avatar\">RP<\/div>\r\n          <div>\r\n            <div class=\"author-name\">Rachel P.<\/div>\r\n            <div class=\"author-title\">VP of Sales &amp; Marketing \u2014 6-Community Portfolio, IL<\/div>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== CTA STRIP ===== -->\r\n<section id=\"cta-strip\">\r\n  <div class=\"container\">\r\n    <div class=\"cta-inner\">\r\n      <div>\r\n        <h2 class=\"cta-headline\">Every Day Without a Marketing Strategy<br><span class=\"gradient-text\">Is a Move-In Your Competitor Wins.<\/span><\/h2>\r\n        <p class=\"cta-sub\">Families searching for your community right now will find someone. The question is whether that someone is you. Don't defer a revenue decision another quarter.<\/p>\r\n      <\/div>\r\n      <div class=\"cta-right\">\r\n        <a href=\"#contact\" class=\"btn-primary\">Book My Free Strategy Call \u2192<\/a>\r\n        <a href=\"tel:+19783334400\" class=\"btn-ghost\">\ud83d\udcde 978-333-4400<\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== FAQ ===== -->\r\n<section id=\"faq\">\r\n  <div class=\"container\">\r\n    <div class=\"faq-header reveal\">\r\n      <div class=\"tag\" style=\"margin:0 auto 1.5rem;\">Common Questions<\/div>\r\n      <h2 class=\"faq-headline\">Everything You're Wondering<br><span class=\"gradient-text\">About Working With Elderbloom<\/span><\/h2>\r\n    <\/div>\r\n    <div class=\"faq-list\">\r\n      <div class=\"faq-item reveal\">\r\n        <button class=\"faq-question\" onclick=\"toggleFaq(this)\">\r\n          <span>What makes Elderbloom Strategies different from a general marketing agency?<\/span>\r\n          <div class=\"faq-icon\">+<\/div>\r\n        <\/button>\r\n        <div class=\"faq-answer\">\r\n          <div class=\"faq-answer-inner\">We work exclusively with senior living communities. That means we understand how families search for assisted living, memory care, and independent living \u2014 including the emotional weight of those searches. We know which senior-living-specific directories matter, how the Google Ads quality scores differ for senior care, and how to write content that converts a worried daughter into a tour booking. A general agency can rank a restaurant or a dentist. We rank senior living communities, and that's all we do.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"faq-item reveal reveal-delay-1\">\r\n        <button class=\"faq-question\" onclick=\"toggleFaq(this)\">\r\n          <span>How quickly can we expect to see results?<\/span>\r\n          <div class=\"faq-icon\">+<\/div>\r\n        <\/button>\r\n        <div class=\"faq-answer\">\r\n          <div class=\"faq-answer-inner\">Google Ads and Meta Ads can generate inquiries within the first 2\u20134 weeks of launch. SEO and Local SEO typically produce measurable ranking improvements within 60\u201390 days, with full map pack and page-one dominance in 3\u20136 months. Most clients see overall census movement within 90 days of a full-service engagement. We'll give you an honest, market-specific projection during your free strategy call.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"faq-item reveal reveal-delay-2\">\r\n        <button class=\"faq-question\" onclick=\"toggleFaq(this)\">\r\n          <span>Do you work with single communities or larger portfolios?<\/span>\r\n          <div class=\"faq-icon\">+<\/div>\r\n        <\/button>\r\n        <div class=\"faq-answer\">\r\n          <div class=\"faq-answer-inner\">Both. We work with single-site operators, regional groups, and multi-community portfolios with 30+ locations. For portfolio operators, we build community-specific strategies for each location while providing consolidated portfolio-level reporting \u2014 so you get both the granular visibility and the executive overview. We currently manage marketing for portfolio operators across the US, Canada, and parts of Europe.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"faq-item reveal\">\r\n        <button class=\"faq-question\" onclick=\"toggleFaq(this)\">\r\n          <span>We already have a website and run some ads. Do we still need Elderbloom?<\/span>\r\n          <div class=\"faq-icon\">+<\/div>\r\n        <\/button>\r\n        <div class=\"faq-answer\">\r\n          <div class=\"faq-answer-inner\">Having a website and running ads is not the same as having a high-performing senior living marketing system. Most communities we audit are missing local schema markup, have ad accounts with significant wasted spend on non-converting audiences, have underoptimized CRM follow-up sequences, and lack the geo-targeted content strategy that drives \"near me\" searches. We'll audit what you have and show you exactly where the gaps are \u2014 for free, with no obligation.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"faq-item reveal reveal-delay-1\">\r\n        <button class=\"faq-question\" onclick=\"toggleFaq(this)\">\r\n          <span>What is AEO and why does it matter for senior living communities?<\/span>\r\n          <div class=\"faq-icon\">+<\/div>\r\n        <\/button>\r\n        <div class=\"faq-answer\">\r\n          <div class=\"faq-answer-inner\">AEO stands for Answer Engine Optimization \u2014 the practice of optimizing your content to appear as the answer when families ask AI tools like Google's AI Overviews, ChatGPT, or Perplexity questions like \"what's the best assisted living near me?\" or \"how do I choose a memory care community?\" As AI-assisted search becomes the default, communities that are positioned as authoritative answers in these engines will capture a growing share of inquiries. We incorporate AEO into every engagement so you're visible not just today \u2014 but in 2026 and beyond.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"faq-item reveal reveal-delay-2\">\r\n        <button class=\"faq-question\" onclick=\"toggleFaq(this)\">\r\n          <span>Are there long-term contracts? What's the commitment?<\/span>\r\n          <div class=\"faq-icon\">+<\/div>\r\n        <\/button>\r\n        <div class=\"faq-answer\">\r\n          <div class=\"faq-answer-inner\">We don't believe in locking clients into long-term contracts to retain them. We believe in earning continued engagement by delivering results. Our standard engagements are month-to-month after an initial onboarding period, and we're transparent about timelines and expectations from day one. The communities that stay with us \u2014 many for years \u2014 do so because they see census growth, not because they're contractually obligated.<\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== CALCULATOR ===== -->\r\n<section id=\"calculator\">\r\n  <div class=\"calc-glow\"><\/div>\r\n  <div class=\"container\" style=\"position:relative;z-index:1;\">\r\n    <div class=\"calc-header reveal\">\r\n      <div class=\"tag\" style=\"margin:0 auto 1.5rem;\">Interactive Calculator<\/div>\r\n      <h2 class=\"calc-headline\">How Much Is Your Current Marketing<br><span class=\"gradient-text\">Actually Costing You?<\/span><\/h2>\r\n      <p class=\"calc-sub\">Adjust the sliders below to calculate the real dollar impact of wasted ad spend, slow lead follow-up, and occupancy gaps on your community's bottom line.<\/p>\r\n    <\/div>\r\n    <div class=\"calc-wrap\">\r\n      <div class=\"calc-inputs reveal\">\r\n        <div class=\"calc-section-title\">Your Community<\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Monthly Ad Budget<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-budget\">$5,000<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-budget\" min=\"1000\" max=\"30000\" step=\"500\" value=\"5000\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Average Monthly Revenue Per Resident<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-revenue\">$4,500<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-revenue\" min=\"2000\" max=\"12000\" step=\"100\" value=\"4500\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Average Length of Stay (months)<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-los\">24 mo<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-los\" min=\"6\" max=\"60\" step=\"1\" value=\"24\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n\r\n        <div class=\"calc-section-title\">Wasted Ad Spend<\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>% of Ad Budget Wasted on Non-Converting Audiences<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-waste\">40%<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-waste\" min=\"5\" max=\"85\" step=\"1\" value=\"40\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n\r\n        <div class=\"calc-section-title\">Slow Lead Follow-Up<\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Average Lead Response Time (hours)<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-response\">18 hrs<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-response\" min=\"1\" max=\"72\" step=\"1\" value=\"18\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Monthly Leads Generated<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-leads\">25<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-leads\" min=\"5\" max=\"150\" step=\"1\" value=\"25\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n\r\n        <div class=\"calc-section-title\">Occupancy Gap<\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Total Community Units<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-units\">80<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-units\" min=\"20\" max=\"300\" step=\"5\" value=\"80\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n        <div class=\"calc-input-group\">\r\n          <div class=\"calc-input-label\">\r\n            <span>Current Occupancy Rate<\/span>\r\n            <span class=\"calc-input-val\" id=\"val-occ\">82%<\/span>\r\n          <\/div>\r\n          <input type=\"range\" class=\"calc-slider\" id=\"sl-occ\" min=\"50\" max=\"97\" step=\"1\" value=\"82\" oninput=\"updateCalc()\">\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"calc-results reveal reveal-delay-2\">\r\n        <div class=\"calc-result-card primary\">\r\n          <div class=\"calc-result-label\">Total Annual Revenue at Risk<\/div>\r\n          <div class=\"calc-result-num loss\" id=\"res-total\">$0<\/div>\r\n          <div class=\"calc-result-sub\">Combined impact of wasted spend, lost leads &amp; occupancy gap per year<\/div>\r\n        <\/div>\r\n        <div class=\"calc-breakdown\">\r\n          <div class=\"calc-breakdown-title\">Breakdown<\/div>\r\n          <div class=\"breakdown-row\">\r\n            <span class=\"breakdown-label\">Wasted Ad Spend \/ Year<\/span>\r\n            <span class=\"breakdown-val\" id=\"res-waste\">$0<\/span>\r\n          <\/div>\r\n          <div class=\"breakdown-row\">\r\n            <span class=\"breakdown-label\">Leads Lost to Slow Follow-Up \/ Year<\/span>\r\n            <span class=\"breakdown-val\" id=\"res-leads-lost\">$0<\/span>\r\n          <\/div>\r\n          <div class=\"breakdown-row\">\r\n            <span class=\"breakdown-label\">Occupancy Gap Revenue \/ Month<\/span>\r\n            <span class=\"breakdown-val\" id=\"res-occ-gap\">$0<\/span>\r\n          <\/div>\r\n          <div class=\"breakdown-row\">\r\n            <span class=\"breakdown-label\">Lifetime Value of Each Lost Resident<\/span>\r\n            <span class=\"breakdown-val\" id=\"res-ltv\">$0<\/span>\r\n          <\/div>\r\n          <div class=\"breakdown-row\">\r\n            <span class=\"breakdown-label\">Recoverable Revenue at 94% Occupancy<\/span>\r\n            <span class=\"breakdown-val green\" id=\"res-recoverable\">$0<\/span>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"calc-result-card\">\r\n          <div class=\"calc-result-label\">Qualified Leads You Could Be Getting Monthly<\/div>\r\n          <div class=\"calc-result-num\" id=\"res-potential-leads\">0<\/div>\r\n          <div class=\"calc-result-sub\">Estimated monthly qualified leads with optimized ads, better targeting, and 5-minute automated follow-up. Responding within 5 minutes makes you 9\u00d7 more likely to convert.<\/div>\r\n        <\/div>\r\n        <div class=\"calc-cta-note\">\r\n          Based on your inputs, Elderbloom could help recover an estimated <strong id=\"res-recover-note\">$0<\/strong> in annual revenue. <strong>Book your free call to get your real number.<\/strong>\r\n        <\/div>\r\n        <a href=\"#contact\" class=\"btn-primary\" style=\"width:100%;justify-content:center;font-size:14px;padding:16px;\">\r\n          Get My Free Revenue Recovery Plan \u2192\r\n        <\/a>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- ===== CONTACT ===== -->\r\n<section id=\"contact\">\r\n  <div class=\"contact-glow\"><\/div>\r\n  <div class=\"container\" style=\"position:relative;z-index:1;\">\r\n    <div class=\"contact-grid\">\r\n      <div class=\"reveal\">\r\n        <div class=\"tag\">Work With Us<\/div>\r\n        <h2 class=\"contact-headline\">Ready to Fill Beds<br><span class=\"gradient-text\">and Grow Your Census?<\/span><\/h2>\r\n        <p class=\"contact-desc\">\r\n          Every community you've read about started exactly where you are \u2014 with census pressure, a visibility problem, and a decision to make. The decision that changed everything was making the call. Your 30-minute strategy session is completely free. No obligation. No pitch deck. Just honest strategy from a team that speaks senior living.\r\n        <\/p>\r\n\r\n        <!-- CALENDAR BOOKING WIDGET -->\r\n        <div class=\"booking-widget\" id=\"calendarWidget\">\r\n          <div class=\"booking-widget-header\">\r\n            <div class=\"booking-widget-title\">\ud83d\udcc5 Book Your Free Strategy Call<\/div>\r\n            <div class=\"booking-spots-badge\">\r\n              <div class=\"live-dot\" style=\"width:7px;height:7px;\"><\/div>\r\n              <span id=\"callCount\">12<\/span> calls booked this week\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <!-- Calendar header -->\r\n          <div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;\">\r\n            <button onclick=\"calPrev()\" style=\"background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;color:var(--text-white);padding:4px 10px;cursor:pointer;font-size:14px;\">\u2039<\/button>\r\n            <div id=\"calMonthLabel\" style=\"font-size:13px;font-weight:700;color:var(--text-white);\"><\/div>\r\n            <button onclick=\"calNext()\" style=\"background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:6px;color:var(--text-white);padding:4px 10px;cursor:pointer;font-size:14px;\">\u203a<\/button>\r\n          <\/div>\r\n\r\n          <!-- Day headers -->\r\n          <div style=\"display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px;\">\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-dim);padding:4px 0;\">S<\/div>\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);padding:4px 0;\">M<\/div>\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);padding:4px 0;\">T<\/div>\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);padding:4px 0;\">W<\/div>\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);padding:4px 0;\">T<\/div>\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);padding:4px 0;\">F<\/div>\r\n            <div style=\"text-align:center;font-size:10px;font-weight:700;color:var(--text-dim);padding:4px 0;\">S<\/div>\r\n          <\/div>\r\n\r\n          <!-- Calendar grid -->\r\n          <div id=\"calGrid\" style=\"display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:14px;\"><\/div>\r\n\r\n          <!-- Time slots -->\r\n          <div id=\"calSlots\" style=\"display:none;\">\r\n            <div style=\"font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:8px;\" id=\"calSlotLabel\"><\/div>\r\n            <div id=\"calSlotGrid\" style=\"display:flex;flex-direction:column;gap:6px;\"><\/div>\r\n          <\/div>\r\n\r\n          <div class=\"booking-calls-live\" style=\"margin-top:10px;\">\r\n            <div class=\"live-dot\" style=\"width:7px;height:7px;\"><\/div>\r\n            <span><span class=\"booking-calls-num\" id=\"liveReviews\">4<\/span> communities reviewing strategy right now<\/span>\r\n          <\/div>\r\n          <div style=\"margin-top:14px;padding:10px 14px;background:rgba(24,203,150,0.05);border:1px solid rgba(24,203,150,0.15);border-radius:8px;text-align:center;font-size:11px;color:rgba(245,245,245,0.55);line-height:1.5;\">\r\n            &#8595; Select a time above, then scroll down to fill out the rest of the form\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"contact-info\">\r\n          <div class=\"contact-info-item\">\r\n            <div class=\"contact-info-icon\">\ud83d\udcde<\/div>\r\n            <div>\r\n              <div><a href=\"tel:+19783334400\" style=\"color:var(--text-white);\">978-333-4400<\/a><\/div>\r\n              <div class=\"contact-info-sub\">Mon\u2013Fri, 9am\u20136pm EST<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"contact-info-item\">\r\n            <div class=\"contact-info-icon\">\u2709\ufe0f<\/div>\r\n            <div>\r\n              <div><a href=\"mailto:info@elderbloomstrategies.com\" style=\"color:var(--text-white);\">info@elderbloomstrategies.com<\/a><\/div>\r\n              <div class=\"contact-info-sub\">Replies within 1 business day<\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"contact-info-item\">\r\n            <div class=\"contact-info-icon\">\ud83d\udccd<\/div>\r\n            <div>\r\n              <div>Boston, Massachusetts<\/div>\r\n              <div class=\"contact-info-sub\">Serving communities nationwide &amp; internationally<\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"trust-badges\">\r\n          <div class=\"trust-badge\">\u2713 No long-term contracts<\/div>\r\n          <div class=\"trust-badge\">\u2713 Senior living only<\/div>\r\n          <div class=\"trust-badge\">\u2713 140+ communities served<\/div>\r\n          <div class=\"trust-badge\">\u2713 Results in 60\u201390 days<\/div>\r\n          <div class=\"trust-badge\">\u2713 US \u00b7 Canada \u00b7 Europe<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"reveal reveal-delay-2\">\r\n        <div class=\"contact-form\">\r\n          <!-- ===== CONTACT FORM \u2014 Formspree maqallpw ===== -->\r\n          <div id=\"contact-form-header\" style=\"margin-bottom:28px;\">\r\n            <div style=\"font-size:19px;font-weight:800;margin-bottom:6px;\">Book Your Free Strategy Call<\/div>\r\n            <div style=\"font-size:13px;color:rgba(245,245,245,0.5);\">No obligation. No sales pressure. Just honest strategy from a team that speaks senior living.<\/div>\r\n          <\/div>\r\n          <div id=\"selected-slot-display\" style=\"display:none;padding:10px 14px;background:rgba(24,203,150,0.08);border:1px solid rgba(24,203,150,0.25);border-radius:8px;font-size:12px;color:var(--green);font-weight:700;margin-bottom:18px;\"><\/div>\r\n          <div id=\"contact-form-fields\">\r\n            <div class=\"form-row\">\r\n              <div class=\"form-group\">\r\n                <label for=\"fname\">First Name<\/label>\r\n                <input type=\"text\" id=\"fname\" placeholder=\"Jane\" autocomplete=\"given-name\">\r\n              <\/div>\r\n              <div class=\"form-group\">\r\n                <label for=\"lname\">Last Name<\/label>\r\n                <input type=\"text\" id=\"lname\" placeholder=\"Smith\" autocomplete=\"family-name\">\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label for=\"email\">Work Email<\/label>\r\n              <input type=\"email\" id=\"email\" placeholder=\"jane@yourcommunity.com\" autocomplete=\"email\">\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label for=\"phone\">Phone Number<\/label>\r\n              <input type=\"tel\" id=\"phone\" placeholder=\"(555) 000-0000\" autocomplete=\"tel\">\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label for=\"role\">Your Role<\/label>\r\n              <select id=\"role\">\r\n                <option value=\"\" disabled selected>Select your role<\/option>\r\n                <option>Director of Marketing<\/option>\r\n                <option>Director of Sales<\/option>\r\n                <option>VP of Sales &amp; Marketing<\/option>\r\n                <option>Director of Operations<\/option>\r\n                <option>Owner \/ Operator<\/option>\r\n                <option>Executive Director<\/option>\r\n                <option>Other<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label for=\"community\">Community \/ Company Name<\/label>\r\n              <input type=\"text\" id=\"community\" placeholder=\"Sunrise Senior Living\">\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label for=\"communities\">Number of Communities<\/label>\r\n              <select id=\"communities\">\r\n                <option value=\"\" disabled selected>Select range<\/option>\r\n                <option>1 Community<\/option>\r\n                <option>2\u20135 Communities<\/option>\r\n                <option>6\u201315 Communities<\/option>\r\n                <option>16\u201350 Communities<\/option>\r\n                <option>50+ Communities<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n              <label for=\"challenge\">Biggest Marketing Challenge<\/label>\r\n              <textarea id=\"challenge\" placeholder=\"Tell us about your census pressure, current marketing, or what's keeping you up at night...\"><\/textarea>\r\n            <\/div>\r\n            <button class=\"form-submit\" onclick=\"handleFormSubmit(this)\">\r\n              Book My Free Strategy Call \u2192\r\n            <\/button>\r\n            <p class=\"form-privacy\">\ud83d\udd12 Your information is secure and will never be shared. We respect your privacy.<\/p>\r\n          <\/div>\r\n          <!-- Contact success state -->\r\n          <div id=\"contact-success\" style=\"display:none;text-align:center;padding:32px 24px;\">\r\n            <div style=\"width:64px;height:64px;border-radius:50%;background:rgba(24,203,150,0.15);border:2px solid var(--green);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px;\">\u2713<\/div>\r\n            <div style=\"font-size:20px;font-weight:900;color:var(--green);margin-bottom:8px;\">Request Received!<\/div>\r\n            <p style=\"font-size:14px;color:rgba(245,245,245,0.6);line-height:1.6;\">Thank you \u2014 a member of the Elderbloom team will reach out within 1 business day to confirm your strategy call.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<!-- FOOTER BAR -->\r\n<div style=\"border-top:1px solid var(--border);padding:40px 0;\">\r\n  <div class=\"container\" style=\"display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;\">\r\n    <div>\r\n      <div style=\"font-size:20px;font-weight:900;color:var(--green);margin-bottom:4px;\">Elderbloom Strategies<\/div>\r\n      <div style=\"font-size:12px;color:var(--text-dim);\">Senior Living Marketing Agency \u00b7 Boston, MA \u00b7 Exclusively Senior Living<\/div>\r\n    <\/div>\r\n    <div style=\"display:flex;gap:32px;flex-wrap:wrap;\">\r\n      <a href=\"tel:+19783334400\" style=\"font-size:13px;color:var(--text-muted);transition:color 0.2s;\" onmouseover=\"this.style.color='var(--green)'\" onmouseout=\"this.style.color='var(--text-muted)'\">978-333-4400<\/a>\r\n      <a href=\"mailto:info@elderbloomstrategies.com\" style=\"font-size:13px;color:var(--text-muted);transition:color 0.2s;\" onmouseover=\"this.style.color='var(--green)'\" onmouseout=\"this.style.color='var(--text-muted)'\">info@elderbloomstrategies.com<\/a>\r\n    <\/div>\r\n    <div style=\"font-size:11px;color:var(--text-dim);\">\u00a9 2026 Elderbloom Strategies. All rights reserved.<\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ ---- REVEAL ----\r\nconst reveals = document.querySelectorAll('.reveal');\r\nconst observer = new IntersectionObserver((entries) => {\r\n  entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });\r\n}, { threshold: 0.08 });\r\nreveals.forEach(el => observer.observe(el));\r\n\r\n\/\/ ---- COUNT UP ----\r\nfunction animateCount(el) {\r\n  const target = parseInt(el.dataset.target);\r\n  const suffix = el.dataset.suffix || '';\r\n  let start = 0;\r\n  const duration = 2000;\r\n  const step = 16;\r\n  const increment = target \/ (duration \/ step);\r\n  const timer = setInterval(() => {\r\n    start += increment;\r\n    if (start >= target) { start = target; clearInterval(timer); }\r\n    el.textContent = Math.floor(start) + suffix;\r\n  }, step);\r\n}\r\nconst counterObserver = new IntersectionObserver((entries) => {\r\n  entries.forEach(e => {\r\n    if (e.isIntersecting && !e.target.classList.contains('counted')) {\r\n      e.target.classList.add('counted');\r\n      animateCount(e.target);\r\n    }\r\n  });\r\n}, { threshold: 0.5 });\r\ndocument.querySelectorAll('.count-up').forEach(el => {\r\n  const t = parseInt(el.dataset.target);\r\n  if (t >= 140) el.dataset.suffix = '+';\r\n  else if ([94, 98, 68].includes(t)) el.dataset.suffix = '%';\r\n  else if (t === 318) el.dataset.suffix = '%';\r\n  counterObserver.observe(el);\r\n});\r\n\r\n\/\/ ---- LIVE COUNTER ----\r\nlet liveCount = 4;\r\nsetInterval(() => {\r\n  const el = document.getElementById('liveCount');\r\n  const el2 = document.getElementById('liveReviews');\r\n  if (!el) return;\r\n  const change = Math.random() > 0.6 ? 1 : (Math.random() > 0.7 ? -1 : 0);\r\n  liveCount = Math.max(1, Math.min(12, liveCount + change));\r\n  if (el) el.textContent = liveCount;\r\n  if (el2) el2.textContent = liveCount;\r\n}, 6000);\r\n\r\n\/\/ ---- NEWSLETTER COUNTER ----\r\nlet nlCountVal = 37;\r\nsetInterval(() => {\r\n  const el = document.getElementById('nlCount');\r\n  if (!el) return;\r\n  if (Math.random() > 0.85) {\r\n    nlCountVal++;\r\n    el.textContent = nlCountVal;\r\n  }\r\n}, 12000);\r\n\r\n\/\/ ---- CALL COUNT ----\r\nlet callCount = 12;\r\nsetInterval(() => {\r\n  const el = document.getElementById('callCount');\r\n  if (!el) return;\r\n  if (Math.random() > 0.9) {\r\n    callCount = Math.min(callCount + 1, 15);\r\n    el.textContent = callCount;\r\n  }\r\n}, 20000);\r\n\r\n\/\/ ---- FAQ ----\r\nfunction toggleFaq(btn) {\r\n  const item = btn.closest('.faq-item');\r\n  const isOpen = item.classList.contains('open');\r\n  document.querySelectorAll('.faq-item.open').forEach(i => i.classList.remove('open'));\r\n  if (!isOpen) item.classList.add('open');\r\n}\r\n\r\n\/\/ ========================================================\r\n\/\/ CALENDAR BOOKING WIDGET\r\n\/\/ ========================================================\r\n(function() {\r\n  const MONTHS = ['January','February','March','April','May','June','July','August','September','October','November','December'];\r\n  const today = new Date();\r\n  let calYear = today.getFullYear();\r\n  let calMonth = today.getMonth();\r\n  let selectedDate = null;\r\n  let selectedSlotText = '';\r\n\r\n  \/\/ Seeded pseudo-random so the same date always shows same pattern\r\n  function seededRand(seed) {\r\n    let s = seed;\r\n    return function() { s = (s * 1664525 + 1013904223) & 0xffffffff; return (s >>> 0) \/ 0xffffffff; };\r\n  }\r\n\r\n  \/\/ All possible time slots in order\r\n  const ALL_SLOTS = ['9:00 AM','9:30 AM','10:00 AM','10:30 AM','11:00 AM','11:30 AM','1:00 PM','1:30 PM','2:00 PM','2:30 PM','3:00 PM','3:30 PM','4:00 PM'];\r\n\r\n  function getDayData(y, m, d) {\r\n    const dow = new Date(y, m, d).getDay();\r\n    if (dow === 0 || dow === 6) return null; \/\/ weekends off\r\n\r\n    const dateObj = new Date(y, m, d);\r\n    const todayMidnight = new Date(today.getFullYear(), today.getMonth(), today.getDate());\r\n    if (dateObj < todayMidnight) return { status: 'past' };\r\n\r\n    \/\/ --- Determine which weekdays in this week are fully booked ---\r\n    \/\/ Find Monday of this week\r\n    const monday = new Date(y, m, d - (dow - 1));\r\n    const weekSeed = monday.getFullYear() * 10000 + (monday.getMonth() + 1) * 100 + monday.getDate();\r\n    const weekRand = seededRand(weekSeed);\r\n\r\n    \/\/ Pick 1 or 2 booked days per week\r\n    \/\/ weekRand() -> decide count: <0.45 = 1 booked day, else = 2 booked days\r\n    const r0 = weekRand();\r\n    const bookedCount = r0 < 0.45 ? 1 : 2;\r\n\r\n    \/\/ Pick which weekdays (1=Mon...5=Fri) are booked this week\r\n    const weekdays = [1, 2, 3, 4, 5];\r\n    \/\/ Shuffle weekdays using week seed\r\n    const shuffledDays = [...weekdays].sort(() => weekRand() - 0.5);\r\n    const bookedDows = shuffledDays.slice(0, bookedCount);\r\n\r\n    if (bookedDows.includes(dow)) return { status: 'full' };\r\n\r\n    \/\/ --- Available day: pick 1\u20136 slots with high randomness ---\r\n    \/\/ Use a day-specific seed for slot randomness\r\n    const daySeed = y * 100000 + (m + 1) * 1000 + d * 7 + dow * 13;\r\n    const dayRand = seededRand(daySeed);\r\n\r\n    \/\/ Burn a few calls for extra entropy\r\n    dayRand(); dayRand(); dayRand();\r\n\r\n    \/\/ Count: 1\u20136 with genuine randomness, each equally likely-ish\r\n    const rCount = dayRand();\r\n    let count;\r\n    if      (rCount < 0.14) count = 1;\r\n    else if (rCount < 0.30) count = 2;\r\n    else if (rCount < 0.50) count = 3;\r\n    else if (rCount < 0.68) count = 4;\r\n    else if (rCount < 0.84) count = 5;\r\n    else                    count = 6;\r\n\r\n    \/\/ Shuffle all slots and pick `count` of them\r\n    dayRand(); dayRand(); \/\/ extra entropy\r\n    const shuffled = [...ALL_SLOTS].sort(() => dayRand() - 0.5);\r\n    dayRand();\r\n    const shuffled2 = shuffled.sort(() => dayRand() - 0.5); \/\/ second pass\r\n    const picked = shuffled2.slice(0, count).sort((a, b) => ALL_SLOTS.indexOf(a) - ALL_SLOTS.indexOf(b));\r\n\r\n    return { status: 'available', slots: picked };\r\n  }\r\n\r\n  function renderCalendar() {\r\n    const label = document.getElementById('calMonthLabel');\r\n    const grid  = document.getElementById('calGrid');\r\n    if (!label || !grid) return;\r\n\r\n    label.textContent = MONTHS[calMonth] + ' ' + calYear;\r\n    grid.innerHTML = '';\r\n\r\n    const firstDow = new Date(calYear, calMonth, 1).getDay();\r\n    const daysInMonth = new Date(calYear, calMonth + 1, 0).getDate();\r\n\r\n    \/\/ Empty cells before first day\r\n    for (let i = 0; i < firstDow; i++) {\r\n      const blank = document.createElement('div');\r\n      grid.appendChild(blank);\r\n    }\r\n\r\n    for (let d = 1; d <= daysInMonth; d++) {\r\n      const data = getDayData(calYear, calMonth, d);\r\n      const cell = document.createElement('div');\r\n      cell.textContent = d;\r\n      cell.style.cssText = 'text-align:center;padding:6px 2px;border-radius:6px;font-size:12px;font-weight:600;cursor:default;border:1px solid transparent;transition:all 0.2s;';\r\n\r\n      if (!data || data.status === 'past') {\r\n        cell.style.color = 'var(--text-dim)';\r\n        cell.style.cursor = 'default';\r\n      } else if (data.status === 'full') {\r\n        cell.style.color = 'rgba(249,92,92,0.5)';\r\n        cell.style.background = 'rgba(249,92,92,0.05)';\r\n        cell.style.borderColor = 'rgba(249,92,92,0.18)';\r\n        cell.style.cursor = 'not-allowed';\r\n        cell.title = 'Fully booked';\r\n        \/\/ Small \"Full\" label\r\n        const fullLabel = document.createElement('div');\r\n        fullLabel.textContent = 'Full';\r\n        fullLabel.style.cssText = 'font-size:8px;font-weight:700;color:rgba(249,92,92,0.6);line-height:1;margin-top:2px;';\r\n        cell.style.display = 'flex';\r\n        cell.style.flexDirection = 'column';\r\n        cell.style.alignItems = 'center';\r\n        cell.appendChild(fullLabel);\r\n      } else {\r\n        \/\/ Available\r\n        const isToday = (calYear === today.getFullYear() && calMonth === today.getMonth() && d === today.getDate());\r\n        const isSelected = selectedDate && selectedDate.y === calYear && selectedDate.m === calMonth && selectedDate.d === d;\r\n\r\n        if (isSelected) {\r\n          cell.style.background = 'var(--green)';\r\n          cell.style.color = '#050505';\r\n          cell.style.borderColor = 'var(--green)';\r\n          cell.style.fontWeight = '800';\r\n        } else if (isToday) {\r\n          cell.style.background = 'rgba(24,203,150,0.12)';\r\n          cell.style.color = 'var(--green)';\r\n          cell.style.borderColor = 'rgba(24,203,150,0.35)';\r\n        } else {\r\n          cell.style.color = 'var(--text-white)';\r\n          cell.style.background = 'rgba(255,255,255,0.03)';\r\n          cell.style.borderColor = 'var(--border)';\r\n        }\r\n        cell.style.cursor = 'pointer';\r\n        \/\/ Show slot count hint\r\n        const hint = document.createElement('div');\r\n        hint.textContent = data.slots.length + ' left';\r\n        hint.style.cssText = 'font-size:8px;font-weight:700;color:' + (data.slots.length <= 2 ? '#f59e0b' : 'var(--green)') + ';line-height:1;margin-top:2px;';\r\n        cell.style.display = 'flex';\r\n        cell.style.flexDirection = 'column';\r\n        cell.style.alignItems = 'center';\r\n        cell.appendChild(hint);\r\n        cell.onmouseover = function() {\r\n          if (!isSelected) { cell.style.background = 'rgba(24,203,150,0.15)'; cell.style.borderColor = 'rgba(24,203,150,0.4)'; }\r\n        };\r\n        cell.onmouseout = function() {\r\n          if (!isSelected) {\r\n            cell.style.background = isToday ? 'rgba(24,203,150,0.12)' : 'rgba(255,255,255,0.03)';\r\n            cell.style.borderColor = isToday ? 'rgba(24,203,150,0.35)' : 'var(--border)';\r\n          }\r\n        };\r\n        cell.onclick = function() {\r\n          selectedDate = { y: calYear, m: calMonth, d: d, slots: data.slots };\r\n          selectedSlotText = '';\r\n          renderCalendar();\r\n          renderSlots(data.slots);\r\n        };\r\n      }\r\n      grid.appendChild(cell);\r\n    }\r\n\r\n    \/\/ Hide slots if no date selected or month changed\r\n    if (!selectedDate || selectedDate.m !== calMonth || selectedDate.y !== calYear) {\r\n      const slotsDiv = document.getElementById('calSlots');\r\n      if (slotsDiv) slotsDiv.style.display = 'none';\r\n    } else if (selectedDate) {\r\n      renderSlots(selectedDate.slots);\r\n    }\r\n  }\r\n\r\n  function renderSlots(slots) {\r\n    const slotsDiv  = document.getElementById('calSlots');\r\n    const slotGrid  = document.getElementById('calSlotGrid');\r\n    const slotLabel = document.getElementById('calSlotLabel');\r\n    if (!slotsDiv || !slotGrid || !slotLabel) return;\r\n\r\n    const dayNames = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];\r\n    const dow = new Date(selectedDate.y, selectedDate.m, selectedDate.d).getDay();\r\n    const monthShort = MONTHS[selectedDate.m].slice(0, 3);\r\n    slotLabel.textContent = dayNames[dow] + ', ' + monthShort + ' ' + selectedDate.d + ' \u2014 Available Times (EST)';\r\n\r\n    slotGrid.innerHTML = '';\r\n    slots.forEach(function(time) {\r\n      const btn = document.createElement('div');\r\n      btn.style.cssText = 'display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:all 0.2s;font-size:12px;';\r\n\r\n      const left = document.createElement('span');\r\n      left.textContent = time;\r\n      left.style.fontWeight = '700';\r\n\r\n      const right = document.createElement('span');\r\n      right.textContent = 'Select \u2192';\r\n      right.style.cssText = 'font-size:10px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:0.08em;';\r\n\r\n      btn.appendChild(left);\r\n      btn.appendChild(right);\r\n\r\n      btn.onmouseover = function() {\r\n        if (selectedSlotText !== time + ' \u00b7 ' + MONTHS[selectedDate.m].slice(0,3) + ' ' + selectedDate.d) {\r\n          btn.style.borderColor = 'var(--border-green)';\r\n          btn.style.background = 'rgba(24,203,150,0.04)';\r\n        }\r\n      };\r\n      btn.onmouseout = function() {\r\n        if (selectedSlotText !== time + ' \u00b7 ' + MONTHS[selectedDate.m].slice(0,3) + ' ' + selectedDate.d) {\r\n          btn.style.borderColor = 'var(--border)';\r\n          btn.style.background = 'rgba(255,255,255,0.03)';\r\n        }\r\n      };\r\n      btn.onclick = function() {\r\n        const dayNames2 = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];\r\n        const dow2 = new Date(selectedDate.y, selectedDate.m, selectedDate.d).getDay();\r\n        const label = dayNames2[dow2] + ', ' + MONTHS[selectedDate.m] + ' ' + selectedDate.d + ' \u00b7 ' + time + ' EST';\r\n        selectedSlotText = label;\r\n\r\n        \/\/ Reset all slot buttons\r\n        slotGrid.querySelectorAll('div').forEach(function(b) {\r\n          b.style.background = 'rgba(255,255,255,0.03)';\r\n          b.style.borderColor = 'var(--border)';\r\n          const r = b.querySelector('span:last-child');\r\n          if (r) r.textContent = 'Select \u2192';\r\n        });\r\n        \/\/ Highlight selected\r\n        btn.style.background = 'rgba(24,203,150,0.08)';\r\n        btn.style.borderColor = 'var(--green)';\r\n        right.textContent = '\u2713 Selected';\r\n\r\n        \/\/ Show in form\r\n        const display = document.getElementById('selected-slot-display');\r\n        if (display) {\r\n          display.style.display = 'block';\r\n          display.textContent = '\u2713 ' + label;\r\n        }\r\n\r\n        \/\/ Update hidden slot tracker used by form submit\r\n        window._elderbloomSlot = label;\r\n\r\n        \/\/ Scroll to form\r\n        const form = document.querySelector('.contact-form');\r\n        if (form) form.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n      };\r\n\r\n      slotGrid.appendChild(btn);\r\n    });\r\n\r\n    slotsDiv.style.display = 'block';\r\n  }\r\n\r\n  window.calPrev = function() {\r\n    calMonth--;\r\n    if (calMonth < 0) { calMonth = 11; calYear--; }\r\n    renderCalendar();\r\n  };\r\n  window.calNext = function() {\r\n    calMonth++;\r\n    if (calMonth > 11) { calMonth = 0; calYear++; }\r\n    renderCalendar();\r\n  };\r\n\r\n  document.addEventListener('DOMContentLoaded', renderCalendar);\r\n})();\r\n\r\n\/\/ ---- STICKY CTA ----\r\nconst stickyCTA = document.getElementById('stickyCTA');\r\nwindow.addEventListener('scroll', () => {\r\n  stickyCTA.classList.toggle('show', window.scrollY > 600);\r\n});\r\n\r\n\/\/ ========================================================\r\n\/\/ CONTACT FORM \u2014 Formspree maqallpw\r\n\/\/ ========================================================\r\nasync function handleFormSubmit(btn) {\r\n  const fname = document.getElementById('fname').value.trim();\r\n  const email = document.getElementById('email').value.trim();\r\n\r\n  if (!fname || !email) {\r\n    btn.textContent = '\u26a0 Please fill in your name and email';\r\n    btn.style.background = '#f95c5c';\r\n    setTimeout(() => {\r\n      btn.textContent = 'Book My Free Strategy Call \u2192';\r\n      btn.style.background = 'var(--green)';\r\n    }, 2500);\r\n    return;\r\n  }\r\n\r\n  btn.disabled = true;\r\n  btn.textContent = 'Sending\u2026';\r\n\r\n  try {\r\n    const res = await fetch('https:\/\/formspree.io\/f\/maqallpw', {\r\n      method: 'POST',\r\n      headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\r\n      body: JSON.stringify({\r\n        first_name: fname,\r\n        last_name: document.getElementById('lname').value.trim(),\r\n        email: email,\r\n        phone: document.getElementById('phone').value.trim(),\r\n        role: document.getElementById('role').value,\r\n        community: document.getElementById('community').value.trim(),\r\n        number_of_communities: document.getElementById('communities').value,\r\n        biggest_challenge: document.getElementById('challenge').value.trim(),\r\n        preferred_slot: window._elderbloomSlot || 'Not selected',\r\n        _subject: 'New Strategy Call Request \u2014 ' + fname + ' | Elderbloom'\r\n      })\r\n    });\r\n\r\n    if (res.ok) {\r\n      document.getElementById('contact-form-header').style.display = 'none';\r\n      document.getElementById('selected-slot-display').style.display = 'none';\r\n      document.getElementById('contact-form-fields').style.display = 'none';\r\n      document.getElementById('contact-success').style.display = 'block';\r\n    } else {\r\n      throw new Error('Failed');\r\n    }\r\n  } catch(err) {\r\n    btn.disabled = false;\r\n    btn.textContent = 'Book My Free Strategy Call \u2192';\r\n    btn.style.background = '#f95c5c';\r\n    setTimeout(() => { btn.style.background = 'var(--green)'; }, 3000);\r\n    alert('Something went wrong. Please try again or call us at 978-333-4400.');\r\n  }\r\n}\r\n\r\n\/\/ ========================================================\r\n\/\/ NEWSLETTER FORM \u2014 Formspree xlgaoopd\r\n\/\/ ========================================================\r\nasync function handleNewsletterSubmit(btn) {\r\n  const email = document.getElementById('nl-email').value.trim();\r\n\r\n  if (!email) {\r\n    btn.textContent = '\u26a0 Please enter your email';\r\n    btn.style.background = '#f95c5c';\r\n    setTimeout(() => {\r\n      btn.textContent = 'Subscribe & Get Free Resources \u2192';\r\n      btn.style.background = 'var(--green)';\r\n    }, 2500);\r\n    return;\r\n  }\r\n\r\n  btn.disabled = true;\r\n  btn.textContent = 'Subscribing\u2026';\r\n\r\n  try {\r\n    const res = await fetch('https:\/\/formspree.io\/f\/xlgaoopd', {\r\n      method: 'POST',\r\n      headers: { 'Content-Type': 'application\/json', 'Accept': 'application\/json' },\r\n      body: JSON.stringify({\r\n        name: document.getElementById('nl-name').value.trim(),\r\n        community: document.getElementById('nl-community').value.trim(),\r\n        email: email,\r\n        role: document.getElementById('nl-role').value,\r\n        _subject: 'New Newsletter Subscriber \u2014 Elderbloom Strategies'\r\n      })\r\n    });\r\n\r\n    if (res.ok) {\r\n      document.getElementById('nl-form-body').style.display = 'none';\r\n      document.getElementById('nl-success').style.display = 'block';\r\n      nlCountVal++;\r\n      const el = document.getElementById('nlCount');\r\n      if (el) el.textContent = nlCountVal;\r\n    } else {\r\n      throw new Error('Failed');\r\n    }\r\n  } catch(err) {\r\n    btn.disabled = false;\r\n    btn.textContent = 'Subscribe & Get Free Resources \u2192';\r\n    btn.style.background = '#f95c5c';\r\n    setTimeout(() => { btn.style.background = 'var(--green)'; }, 3000);\r\n    alert('Something went wrong. Please try again.');\r\n  }\r\n}\r\n\r\n\/\/ ---- REVENUE CALCULATOR ----\r\nfunction fmtDollar(n) {\r\n  if (n >= 1000000) return '$' + (n \/ 1000000).toFixed(2) + 'M';\r\n  if (n >= 1000) return '$' + Math.round(n \/ 1000) + 'K';\r\n  return '$' + Math.round(n).toLocaleString();\r\n}\r\nfunction updateCalc() {\r\n  const budget = parseInt(document.getElementById('sl-budget').value);\r\n  const revenue = parseInt(document.getElementById('sl-revenue').value);\r\n  const los = parseInt(document.getElementById('sl-los').value);\r\n  const waste = parseInt(document.getElementById('sl-waste').value);\r\n  const response = parseInt(document.getElementById('sl-response').value);\r\n  const leads = parseInt(document.getElementById('sl-leads').value);\r\n  const units = parseInt(document.getElementById('sl-units').value);\r\n  const occ = parseInt(document.getElementById('sl-occ').value);\r\n\r\n  document.getElementById('val-budget').textContent = '$' + budget.toLocaleString();\r\n  document.getElementById('val-revenue').textContent = '$' + revenue.toLocaleString();\r\n  document.getElementById('val-los').textContent = los + ' mo';\r\n  document.getElementById('val-waste').textContent = waste + '%';\r\n  document.getElementById('val-response').textContent = response + ' hrs';\r\n  document.getElementById('val-leads').textContent = leads;\r\n  document.getElementById('val-units').textContent = units;\r\n  document.getElementById('val-occ').textContent = occ + '%';\r\n\r\n  const wastedAnnual = budget * (waste \/ 100) * 12;\r\n  const followupLossFactor = Math.min(0.85, ((response - 1) \/ 71) * 0.78 + 0.05);\r\n  const lostLeads = leads * followupLossFactor;\r\n  const ltv = revenue * los;\r\n  const leadsLostValue = lostLeads * 0.08 * ltv * 12;\r\n  const emptyUnits = units * ((100 - occ) \/ 100);\r\n  const targetUnits = units * 0.94;\r\n  const currentUnits = units * (occ \/ 100);\r\n  const recoverableUnits = Math.max(0, targetUnits - currentUnits);\r\n  const occGapMonthly = emptyUnits * revenue;\r\n  const recoverableMonthly = recoverableUnits * revenue;\r\n  const total = wastedAnnual + leadsLostValue + (occGapMonthly * 12);\r\n  const recoverable = wastedAnnual * 0.7 + (recoverableMonthly * 12);\r\n  const potentialLeads = Math.round(leads * 2.8 * (1 - (waste \/ 100) * 0.6));\r\n\r\n  document.getElementById('res-total').textContent = fmtDollar(total);\r\n  document.getElementById('res-waste').textContent = fmtDollar(wastedAnnual);\r\n  document.getElementById('res-leads-lost').textContent = fmtDollar(leadsLostValue);\r\n  document.getElementById('res-occ-gap').textContent = fmtDollar(occGapMonthly);\r\n  document.getElementById('res-ltv').textContent = fmtDollar(ltv);\r\n  document.getElementById('res-recoverable').textContent = fmtDollar(recoverable);\r\n  document.getElementById('res-potential-leads').textContent = potentialLeads;\r\n  document.getElementById('res-recover-note').textContent = fmtDollar(recoverable);\r\n\r\n  document.querySelectorAll('.calc-slider').forEach(sl => {\r\n    const pct = ((sl.value - sl.min) \/ (sl.max - sl.min)) * 100;\r\n    sl.style.background = `linear-gradient(to right, var(--green) ${pct}%, rgba(255,255,255,0.07) ${pct}%)`;\r\n  });\r\n}\r\ndocument.addEventListener('DOMContentLoaded', () => { updateCalc(); });\r\n\r\n\/\/ ---- SMOOTH SCROLL ----\r\ndocument.querySelectorAll('a[href^=\"#\"]').forEach(a => {\r\n  a.addEventListener('click', e => {\r\n    const target = document.querySelector(a.getAttribute('href'));\r\n    if (target) { e.preventDefault(); target.scrollIntoView({ behavior: 'smooth', block: 'start' }); }\r\n  });\r\n});\r\n<\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d7e15b4 e-flex e-con-boxed e-con e-parent\" data-id=\"d7e15b4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Home Services CRM &amp; Automation Google Search Ads Local SEO Meta Ads SEO &amp; AEO&hellip;<\/p>\n","protected":false},"author":279444861,"featured_media":777,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_crdt_document":"{\"document\":\"AACYCLHb0oke4PC0ugcAsdvSiR7g8LS6BwDx29KJHguK9+nUG7Hb0okeivfp1Bux29KJHor36dQb8dvSiR4Bivfp1Bux29KJHor36dQbsdvSiR6K9+nUG7Hb0okeivfp1Bux29KJHor36dQbsdvSiR6K9+nUG7Hb0okeivfp1Bux29KJHor36dQbsdvSiR6K9+nUG7Hb0okeivfp1Bux29KJHor36dQbsdvSiR6K9+nUG7Hb0okeivfp1Bux29KJHor36dQbsdvSiR6K9+nUG7Hb0okeivfp1Bux29KJHor36dQbsdvSiR6K9+nUG7Hb0okeivfp1Bux29KJHuDwtLoHB\/Hb0okeAsr36dQbArHb0okeyvfp1BspsdvSiR7K9+nUG32x29KJHsr36dQbFvHb0okeAcr36dQbJbHb0okeyvfp1BsToPC0ugfK9+nUG58DmouI1xOx29KJHtqLiNcTEMr36dQbBpqLiNcTyvfp1BsYmouI1xPK9+nUGwOai4jXE4r36dQbmouI1xOK9+nUG5qLiNcTivfp1Buai4jXE4r36dQbmouI1xPK9+nUGwGai4jXE8r36dQbA5qLiNcTyvfp1BsSmouI1xPK9+nUGwCai4jXE8r36dQbEpqLiNcTivfp1Buai4jXE8r36dQbC5qLiNcTyvfp1BtQ2ouI1xMAyvfp1BscmouI1xPK9+nUGwuai4jXE8r36dQbD5qLiNcTyvfp1BsHmouI1xPK9+nUGwPai4jXEwCK9+nUG9qLiNcTA4r36dQb2ouI1xMByvfp1BsA2ouI1xMAyvfp1BsBmouI1xPK9+nUGwGai4jXE8r36dQbAZqLiNcTyvfp1BsC2ouI1xMCivfp1Buai4jXE4r36dQbmouI1xOK9+nUG5qLiNcTivfp1Bvai4jXEwGK9+nUG5qLiNcTivfp1Buai4jXE8r36dQbAZqLiNcTyvfp1BsDmouI1xOK9+nUG5qLiNcTyvfp1BsDmouI1xPK9+nUGwOai4jXE4r36dQbmouI1xPK9+nUGwGai4jXE4r36dQbmouI1xOK9+nUG5qLiNcTivfp1Buai4jXE8r36dQbAZqLiNcTivfp1Buai4jXE4r36dQbmouI1xPK9+nUGwGai4jXE4r36dQbmouI1xOK9+nUG5qLiNcTivfp1Buai4jXE4r36dQbmouI1xPK9+nUGwGai4jXE8r36dQbANqLiNcTAMr36dQbAdqLiNcTAcr36dQbBZqLiNcTyvfp1BsBmouI1xPK9+nUGwGai4jXE8r36dQbAtqLiNcTAMr36dQbA5qLiNcTyvfp1BsQ2ouI1xMAyvfp1Bsx2ouI1xMMsdvSiR6M15PtEtqLiNcTAKDwtLoH2ouI1xMBjNeT7RLg8LS6BwzeBwIGvhHgEQaiyggBAgoBBEr4rAicGewluKEJsAKaBKo1kAGMDrgzgAmOlAGAQ4wJvCemRboCviacDoB8lDqIWNzRDwEGtsoIBQAGxK0InBnsJbihCbACmgSI\/xEC4MkRkAGMDrgzgAmOlAGAQ4wJvCemRboCviacDoB8lDqIWOSGB57bGAEBCAKIAgQDBAQGlgEOAogCBgQDBAQDBAYDAQgCBAMBCIoBDgKIAoQBLAIKuAEOAogCBAMCBAYCDAIGBAMEBAIJAAIFALoBDgKIAgQDAQQDBgQDBAwDAgyIAwIsENAcAQVI3sgQ+JIIvJIImuUQiAI4HAgaHogCEAYEAwAEAwIEAwEI9P8YAEqegBkBAQgCiAIkAwIKAgaOAw4CiAIqCAIEFAQCBAKMAtIMAQVI3oAZmo0ZAQEIAogCngIcEgLYBQEFSOTYIbbeIQMHCgMChgI4HBAJAAIeiAIYCAYWAg4IAsa8BrC9BogCngIcEgYO1rQGvLUGiAIkAwIKAgaOAw4CiAIqCAIEFAQCBAKQAg7mpQaMpwYeAhACLAIQAwESBAMACgIGlgEOAh4CCAQWAggCBgIWAgYDAg4DAAQDAjyKAQ4CiAKEASwCCrgBDgIKAhwCBgIFAAMCBAYCFAIGAgQDAR4EAggCCAUAAiYCCrYBDgIGAwEEAggDAAwCEgMABAYCFAIGAgQDARgDAAQCCAIMAg4CDgIOgAMCLBAGDvaaIgEBCAKIAqAB6gMBBEgCQqbDIdjlEJr6EEL6DEL+JELUoiGcwSE4HAiAAxAGBAMABAMA9MEhtsEhDOzBIQIGAwCowSHwxiGe1iGMAxD22SGeySEoEKIDigI0BBQHAOzEIYbHIfDTIZqkIQYDAgaqAYoCBvSYIQK2mCEFAAIIBMSYIYiYIQoEFKABigKCBIoCBgQCDA4KAwAEAwAEFASMAooCBgMACgUABgMABAMAEgKUAwKMAfilIQKcwSEDBwoDAsS+IYLBISyQAwgGGMTFIZrMIaoEEKAGBBQHAO7XIbrdIQQQvgP64SGw9iECwJUiTrbCIe69IQKowSHcwSHSBZbZIdzRIfYHgsohAg4CngYGGAbqxCEU\/AyYpCEOBrQD7JghtpghBAwGAgoCBA4EApoFDJAEBhACDwAMEgaWBAoIAgUACggQBJIE5qUhusUhpgPExSGaxSGuBroEAg4CngYGGAbs1yGy2yG2ASasASAMGCoIBBIC9uEhvuEhAwCOBgyIAgwuAgQkNAoOvgISCgIOFCQSGgiEBfhzzvggAQEIAQZIrJwIyMsIqDAC3jCgMAMA0DACTgEHUKwDBAEAhBIBEZAMnBm2CJbzCLACmgQBAKo1kAGMDrgzgAmOlAGAQ4wJvCemRboCviacDoB8lDqIWLjUEYAl6sshAR6utgkBBaSDEgEX4MkRAYsB5qUBqPoYOBwIgAMQBgQDAAQDAAACDAEDCK4PjAPIECgQogOKAjQEFAcAAPwsBgMCBqoBigIGAQAFAQIIBAAECgQUoAGKAoIEigIGBAIMDgoDAAQDAAQUBIwCigIGAwAKBQAGAwAEAwASApQDArIcAwcKAwIAvgIskAMIBhgAlgeqBBCgBgQUBwAAjAYEEL4DALYUAtqSIpQCAgiI1CHQD8TAIZTAIcrAIarGIdDEIa7EIQbqxCEUrAEeEB4IFqiYIcCYIYiYIQrAmCEEkJghBNKYIa6dIQzQmyEKrJ8hxp8hAhwqup4h8J4hEgyAoyH4oiEMEhwMnqIhwqIhmKYh5qUhusUh4MEhAprFIa4GugTw0CGA0SH20CGW1yHS1yGw1yEG7NchstshtgHa3SGs3yEgDBgqCAQSAvbhIb7hIQMAjgYMiAIMLgIEJDQKDr4CEgoCDhQkEhoIhAXDBCgAqAABAIEAoQAHACEAKAAhAScAIQAoBScAIQBBAMEVKAioAKECwQPEAMEAxADBAMQAwQ6HACgCJwEEAIRuKAcnAKgBpwAEAIQVKAHHACgCJwEEAIQWKAcnAMcAKAInAQQAhAQoBycAqABEAMQNwQDEAcEBxADBAMQAwQDEAMECxADBAMQAwQDEAcEAxADBAMQBwQDEAcEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQBwQTEAMEAxAHBAMQAwQDEAMEAxADBAMQAwQDEAMECxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAcEAxAHBAcQCwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAcEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAcEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAcEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAcEAxADBAMQAwQDEAMEAxADBAMQAwQDEAsEAxADBAMQAIQBHACgCJwEEAIQBKAYnAKgAKACoAigAqAAoAKgAKACoAMQVqADEAYQAqADECoQAqADEOoQCxA7BA8QAwQDEAMEFxALBA8QAwQKoAcQDqAHEAKgBxAioAcRahwAoAicBKAcnAIQAKAAhAaECqAMhAKEAqAAhAicCKAQnACgEIQIoAScABJY01S9zdGF0ZXZlcnNpb25jbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRzcGJhZGRIaWRlT25Nb2JpbGVzcGJhZGRIaWRlT25UYWJsZXRzcGJhZGRBbmltYXRpb25zRW5hYmxlZHNwYmFkZEFuaW1hdGlvbklkc3BiYWRkU3VibWVudUxheW91dHNwYmFkZE1vYmlsZU1lbnVKdXN0aWZpY2F0aW9uaW5uZXJCbG9ja3NzdGF0ZXZlcnNpb25fYmJwX3RvcGljX2NvdW50X2JicF9yZXBseV9jb3VudF9iYnBfdG90YWxfdG9waWNfY291bnRfYmJwX3RvdGFsX3JlcGx5X2NvdW50X2JicF92b2ljZV9jb3VudF9iYnBfYW5vbnltb3VzX3JlcGx5X2NvdW50X2JicF90b3BpY19jb3VudF9oaWRkZW5fYmJwX3JlcGx5X2NvdW50X2hpZGRlbl9iYnBfZm9ydW1fc3ViZm9ydW1fY291bnQKCgpjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPlNlbmlvciBsaXZpbmcgbWFya2V0aW5nIGlzIGFuIGVzc2VudGlhbCBwYXJ0IG9mIHN1Y2Nlc3MuPC9tYXJrPiA8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPkluIHRoZSByZWFsbSBvZiBzZW5pb3IgbGl2aW5nIG1hcmtldGluZywgdW5kZXJzdGFuZGluZyB5b3VyIGF1ZGllbmNlIGlzIGtleS48L21hcms+IDxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+V2UgZm9jdXMgb24gaW5ub3ZhdGl2ZSBzdHJhdGVnaWVzIGluIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIHRoYXQgY2F0ZXIgc3BlY2lmaWNhbGx5IHRvIGZhbWlsaWVzIGxvb2tpbmcgZm9yIGNhcmUgb3B0aW9ucy48L21hcms+IDxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+QnkgdXRpbGl6aW5nIGVmZmVjdGl2ZSBzZW5pb3IgbGl2aW5nIG1hcmtldGluZyB0ZWNobmlxdWVzLCB3ZSBlbnN1cmUgbWF4aW11bSB2aXNpYmlsaXR5IGZvciB5b3VyIGNvbW11bml0eS48L21hcms+IDxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+T3VyIGFwcHJvYWNoIHRvIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIGludGVncmF0ZXMgY3V0dGluZy1lZGdlIHRlY2hub2xvZ3kgYW5kIGluc2lnaHRzLCBhbGxvd2luZyBmb3IgZWZmZWN0aXZlIG91dHJlYWNoIGFuZCBlbmdhZ2VtZW50IGluIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIGVmZm9ydHMuPC9tYXJrPmRyb3BDYXBwbGFjZWhvbGRlcnNwYmFkZEhpZGVPbk1vYmlsZXNwYmFkZEhpZGVPblRhYmxldHNwYmFkZEFuaW1hdGlvbnNFbmFibGVkc3BiYWRkQW5pbWF0aW9uSWRzcGJhZGRTdWJtZW51TGF5b3V0c3BiYWRkTW9iaWxlTWVudUp1c3RpZmljYXRpb25pbm5lckJsb2NrczxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+RXZlcnkgc3RyYXRlZ3kgaXMgYnVpbHQgZm9yIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLjwvbWFyaz4gTm90aGluZyBlbHNlLiA8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPldlIGV4Y2VsIGluIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLjwvbWFyaz5kcm9wQ2FwcGxhY2Vob2xkZXJjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPk91ciBjb21taXRtZW50IHRvIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIGVuc3VyZXMgdGhhdCB3ZSByZW1haW4gZm9jdXNlZCBvbiB0aGUgdW5pcXVlIGNoYWxsZW5nZXMgYW5kIG9wcG9ydHVuaXRpZXMgd2l0aGluIHRoZSBzZWN0b3IuPC9tYXJrPiA8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPlRoZSBlZmZlY3RpdmVuZXNzIG9mIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIGNhbiBzaWduaWZpY2FudGx5IGluZmx1ZW5jZSBvY2N1cGFuY3kgcmF0ZXMgYW5kIGNvbW11bml0eSByZXB1dGF0aW9uLjwvbWFyaz5kcm9wQ2FwcGxhY2Vob2xkZXJzcGJhZGRIaWRlT25Nb2JpbGVzcGJhZGRIaWRlT25UYWJsZXRzcGJhZGRBbmltYXRpb25zRW5hYmxlZHNwYmFkZEFuaW1hdGlvbklkc3BiYWRkU3VibWVudUxheW91dHNwYmFkZE1vYmlsZU1lbnVKdXN0aWZpY2F0aW9uaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPlRocm91Z2ggb3VyIGV4cGVyaWVuY2UsIHdl4oCZdmUgd2l0bmVzc2VkIHRoZSB0cmFuc2Zvcm1hdGl2ZSBpbXBhY3Qgb2YgZGVkaWNhdGVkIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLjwvbWFyaz5kcm9wQ2FwcGxhY2Vob2xkZXJzcGJhZGRIaWRlT25Nb2JpbGVzcGJhZGRIaWRlT25UYWJsZXRzcGJhZGRBbmltYXRpb25zRW5hYmxlZHNwYmFkZEFuaW1hdGlvbklkc3BiYWRkU3VibWVudUxheW91dHNwYmFkZE1vYmlsZU1lbnVKdXN0aWZpY2F0aW9uaW5uZXJCbG9ja3M8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PEV2ZXJ5IHN0cmF0ZWd5IGlzIGJ1aWx0IGZvciBzZW5pb3IgbGl2aW5nIG1hcmsgTm90aGluZyBlbHNlLiBXZSBleGNlbCBpbiBlbWFyazwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhyb3VnaCBvdXIgZXhwZXJpZW5jZSwgd2XigJl2ZSB3aXRuZXNzZWQgdGhlIHRyYW5zZm9ybWF0aXZlIGltcGFjdCBvZiBkZWRpY2F0ZWQgbWFya2V0aW5nLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+T3VyIGNvbW1pdG1lbnQgdG8gZWl2IG1hcmtldGluZyBlbnN1cmVzIHRoYXQgd2UgcmVtYWluIGZvY3VzZWQgb24gdGhlIHVuaXF1ZSBjaGFsbGVuZ2VzIGFuZCBvcHBvcnR1bml0aWVzIHdpdGhpbiB0aGUgc2VjdG9yLiBUaGUgZWZmZWN0aXZlbmVzcyBvZiBvciAgY2FuIHNpZ25pZmljYW50bHkgaW5mbHVlbmNlIG9jY3VwYW5jeSByYXRlcyBhbmQgY29tbXVuaXR5IHJlcHV0YXRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+CjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5uaW9yIGl2IG1hcmtldGluZyBpcyBhbiBlc3NlbnRpYWwgcGFydCBvZiBzdWNjZXNzLiBudGggZWFsIGZlbiAgcmUsIHVuZGVyc3RhbmRpbmcgeW91ciBhdWRpZW5jZSBpcyBrZXkuIFdlIGZvY3VzIG9uIGlubm92YXRpdmUgc3RyYXRlZ2llcyB0aGF0IGNhdGVyIHNwZWNpZmljYWxseSB0byBmYW1pbGllcyBsb29raW5nIGZvciBjYXJlIG9wdGlvbnMuICB0aWxpZ3Qgc2Vub3IgbGlpbmcgZXRpIHRlY2huaXF1ZXMsIHdlIGVuc3VyZSBtYXhpbXVtIHZpc2liaWxpdHkgZm9yIHlvdXIgY29tbXVuaXR5LiByIGFyYWh0IHNlbm9yICBhciBpbnRlZ3JhdGVzIGN1dHRpbmctZWRnZSB0ZWNobm9sb2d5IGFuZCBpbnNpZ2h0cywgYWxsb3dpbmcgZm9yIGVmZmVjdGl2ZSBvdXRyZWFjaCBhbmQgZW5nYWdlbWVudCBpbiBzZW5pb3IgbGl2aW5nIG1hcmtldGluZy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT5zdGF0ZXZlcnNpb25jbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPlVuZGVyc3RhbmRpbmcgU2VuaW9yIExpdmluZyBNYXJrZXRpbmcgU3RyYXRlZ2llczwvbWFyaz5sZXZlbHNwYmFkZEhpZGVPbk1vYmlsZXNwYmFkZEhpZGVPblRhYmxldHNwYmFkZEFuaW1hdGlvbnNFbmFibGVkc3BiYWRkQW5pbWF0aW9uSWRzcGJhZGRTdWJtZW51TGF5b3V0c3BiYWRkTW9iaWxlTWVudUp1c3RpZmljYXRpb25pbm5lckJsb2Nrc29yaWdpbmFsQ29udGVudG9yaWdpbmFsQ29udGVudG9yaWdpbmFsQ29udGVudG9yaWdpbmFsQ29udGVudDxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+dGhlIGluZHVzdHJ5LjwvPjxtYXJrYXNzPSJyYWstbWF0aC1oaWdobGlnaHQidHlsPSJiYWNrZ3JvdWQtY2xvOiNmZWU4OTQiPldlIGV4Y2UgdGhpcyBmaWVsZC48Lz48bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPiBlZmZvcnRzPC9tYXJrPjxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+ZmZlY3RlPC9tYXJrPjxtYXJrIGNsYXNzPSJyYW5rLW1hdGgtaGlnaGxpZ2h0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2ZlZTg5NCI+dXN0YWVpZXM8L21hcms+PG1hcmsgY2xhc3M9InJhay1tYXRoLWhnaGxpZ2h0IiBzdHlsZT0iYmFja2dydW5kLWNvbG86I2ZlZTg5NCI+RWZmZWN0ZTwvbWFyaz48bWFya2NsYXNzPSJyYW5rLW1hLWhpZ2hsaWdodCJzdHlsPSJiY2tncm91bmQtY29yOiNmZTg5NCI+SXRoc2FsbTwvbWFyaz48bWFyayBjbGFzcz0icmFuay1tYXRoLWhpZ2hsaWdodCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZWU4OTQiPjwvbWFyaz48bWFya2NsYXNzPSJyYW5rLW1haC1oZ2hoInR5bD0iYmFja2dyb3VkLWNsbzojZmVlODk0Ij5CeSB1dGl6ZmZlY3ZlPC9tYXJrPjxtYWtjbHNzPSJuay1tYXQtaGlnaGxpZ2gidHlsPSJiYWNrZ3JvdWQtY2xvOiNmZWU4OTQiPk91cnBwb2FjaG91ciBlZmZvcnQgZm9yIHM8L21hcms+aGVhZGluZyAtLT4KPGgyIGNsYXNzPSJ3LWJsb2NrLWhlZGluZyI+VW5kZXN0bmRpbiBTZW5pbyBMaXZpbmcgTXJrZXRpbmcgU3RyYXRlZ2llczwvaDI+CjwhLS0gL3c6ZWFkaW5nCiEtLSB3OnBhcmFncmFwaCAtLQpwPnNsYWVpaWV0aW5nLm5pb3IgaXZpbmcgZXRpbmcuc2VuaW9yIGxpdmluZyBzbm9yIGxpaW5nc2VuaWxpdmluZyBtcmt0bmdTZWxpbmdJIGVybW8gc2lvcmx2aW5nbWFrdGluZ2luIHNlbmlvciBsaXZpbmcgbWFya2VpbmcgdEJ5dXppbiBlZmZlY2l2ZWl2bWFya25nT3VwcG9jIG9pbGl2aW5nbWtldGluZyBlZmZvdHMuZXRpbmcubmlvciBpdmluZyBldGluZy5zZW5pb3IgbGl2aW5nIHNub3IgbGlpbmdzZW5pbGl2aW5nIG1ya3RuZ1NlbGluZ0kgZXJtbyBzaW9ybHZpbmdtYWt0aW5naW4gc2VuaW9yIGxpdmluZyBtYXJrZWluZyB0Qnl1emluIGVmZmVjaXZlaXZtYXJrbmdPdXBwb2Mgb2lsaXZpbmdta2V0aW5nIGVmZm9ydHNjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwcGxhY2Vob2xkZXJzcGJhZGRIaWRlT25Nb2JpbGVzcGJhZGRIaWRlT25UYWJsZXRzcGJhZGRBbmltYXRpb25zRW5hYmxlZHNwYmFkZEFuaW1hdGlvbklkc3BiYWRkU3VibWVudUxheW91dHNwYmFkZE1vYmlsZU1lbnVKdXN0aWZpY2F0aW9uaW5uZXJCbG9ja3MKCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT5kb2N1bWVudHNsdWdzdGF0ZXNhdmVkQXRzdGF0ZXNhdmVkQnlzdGF0ZXZlcnNpb25zdGF0ZXZlcnNpb25kb2N1bWVudGRhdGVkb2N1bWVudHN0YXR1c2RvY3VtZW50dGl0bGVkb2N1bWVudGNvbnRlbnRkb2N1bWVudGV4Y2VycHRkb2N1bWVudGF1dGhvcmRvY3VtZW50ZmVhdHVyZWRfbWVkaWFkb2N1bWVudGNvbW1lbnRfc3RhdHVzZG9jdW1lbnRwaW5nX3N0YXR1c2RvY3VtZW50dGVtcGxhdGVkb2N1bWVudG1ldGFhZHZhbmNlZF9zZW9fZGVzY3JpcHRpb25qZXRwYWNrX3Nlb19odG1sX3RpdGxlamV0cGFja19zZW9fbm9pbmRleGpldHBhY2tfcG9zdF93YXNfZXZlcl9wdWJsaXNoZWRmb290bm90ZXNfZWxlbWVudG9yX2VkaXRfbW9kZV9lbGVtZW50b3JfdGVtcGxhdGVfdHlwZV9lbGVtZW50b3JfZGF0YV9lbGVtZW50b3JfcGFnZV9zZXR0aW5nc19lbGVtZW50b3JfY29uZGl0aW9uc2RvY3VtZW50YmxvY2tzSG9tZQUHCAcPBAoHUgAXERMdCwUHUABWABAaVwAZQQEIBwQKB4QBAkEEAgMrBwGEAQMCQQQCQQQDQQEEAQJBAQQlBwGEASIWAQU8BwGEAQJBAgIDAQYBAwJBBAIBRAABQgA9BwGEAQJBAQJBBgJBBAZBAgakAQEWSAAHC1IAFxETHQuEARwOBA0PhAEIAwJBAAJBAgJBAQQNBwsIBwQKB4QBEkECBQEDpwEHAYQBFQQBAgoCAQIBhgFHAAtSABcREx0LCAcECgeEAY8BDgkBRwALUgAXERMdCwhBBwVBAhwOBA8MAQQcGY8BCQMaGRJBAacBARUBAogBGhlBBStBAAJBCiUBIgE8QQICQQACQQMCBAECQQA7QQYCQQqgAQEWAxkFBwgHBAoHhAEwBwVSABcREx0LTwKEAQQLAQUHEQMKAwIBCQcBAwEDQQAEAYQBCAeEAQUBB4QBAQJBAQIHDwgWCAEPAQcFCQEECwQDCwJBAAcCAQMHhAEHBQ4DAkEAAwoDAgEPAQQCBwMBAgQGCQEDCgMCAQwCBAoGBAECGAkKAgQGCR8BBgEFDQECQQQGBUYADkEABQMECAIBQgABA0EEAgMBBAIBBBYFAgEDBgNBAARCAUEDBgEGBQMGBUYADkEABQMECAIBQgABA0EEAgMBBAIBBBYFAgEDBgNBAARCAUEDBgEGSAAHBApHAAtSABcREx0LNggEBQcFBwUHBQcIBAgGCAUIBwgHCAYIDggOCAtIAQQYFhMfCRQYDxgVCAYEEwEAAA4BAAA4AQAAHwEPAAkBAAAcQQAAQQACAAJBAAIAQQACAEEAAgBBAAIAQgEBANwBQQCCCaKcBEELiw+uDJsEq7kEmAGNArUaKIYHvBmgBIdKoCGmBL4TsyKdAZ8TjgeAPoodhCyDRkELggGhBIWgBTagB5sOtQOrFoYElj+EHYwEkg+iGS2jELsFhjeVF7EimTdBJIMBCAQBhAEEAwsHAYQBDgeEAUEABQMHhAEECgIBAgEHDwgWCAEJAgEFAwcPBAsEAwsDAQcCAR4HhAEWBQcFDgMCQQADCgMCAQ8BBAITBQcDAQIEBgkBAwoDAgEMAgQGRwEIB0EYBAYCQQAIBUEAQgADAkEACgZBMAUTAH0BdxMyMDI2LTA0LTA5VDIwOjMyOjMzeHl5eXcAdwdkZWZhdWx0dwdkZWZhdWx05gMAfQB9AH0AfQB9AH0AfQB9AH0Ad8OhB1t7ImlkIjoiNDE0MTAwNjIiLCJlbFR5cGUiOiJjb250YWluZXIiLCJzZXR0aW5ncyI6eyJmbGV4X2RpcmVjdGlvbiI6InJvdyIsImZsZXhfZ2FwIjp7InVuaXQiOiJweCIsInNpemUiOjAsImNvbHVtbiI6IjAiLCJyb3ciOiIwIn0sImJhY2tncm91bmRfYmFja2dyb3VuZCI6ImNsYXNzaWMiLCJ6X2luZGV4Ijo5OTksInN0aWNreSI6InRvcCIsIl9fZ2xvYmFsc19fIjp7ImJhY2tncm91bmRfY29sb3IiOiJnbG9iYWxzXC9jb2xvcnM\/aWQ9YWNjZW50In19LCJlbGVtZW50cyI6W3siaWQiOiIzODAxZWRhZCIsImVsVHlwZSI6ImNvbnRhaW5lciIsInNldHRpbmdzIjp7ImZsZXhfZGlyZWN0aW9uIjoiY29sdW1uIiwiY29udGVudF93aWR0aCI6ImZ1bGwiLCJ3aWR0aCI6eyJ1bml0IjoiJSIsInNpemUiOjUxfX0sImVsZW1lbnRzIjpbeyJpZCI6Ijc5MDk4NmQ4IiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsiX19keW5hbWljX18iOnsiaW1hZ2UiOiJbZWxlbWVudG9yLXRhZyBpZD1cIlwiIG5hbWU9XCJzaXRlLWxvZ29cIiBzZXR0aW5ncz1cIiU3QiU3RFwiXSJ9LCJhbGlnbiI6InN0YXJ0IiwiYWxpZ25fbW9iaWxlIjoiY2VudGVyIiwic3BhY2UiOnsidW5pdCI6IiUiLCJzaXplIjoyOSwic2l6ZXMiOltdfSwic3BhY2VfbW9iaWxlIjp7InVuaXQiOiIlIiwic2l6ZSI6MzksInNpemVzIjpbXX19LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJ0aGVtZS1zaXRlLWxvZ28ifV0sImlzSW5uZXIiOnRydWV9LHsiaWQiOiIxZGRmMGNkIiwiZWxUeXBlIjoiY29udGFpbmVyIiwic2V0dGluZ3MiOnsiZmxleF9kaXJlY3Rpb24iOiJjb2x1bW4iLCJjb250ZW50X3dpZHRoIjoiZnVsbCIsIndpZHRoIjp7InVuaXQiOiIlIiwic2l6ZSI6NjB9fSwiZWxlbWVudHMiOlt7ImlkIjoiMzg2YTI4NjkiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJtZW51X25hbWUiOiJNZW51IiwibWVudSI6ImhlYWRlci1tZW51IiwiYWxpZ25faXRlbXMiOiJjZW50ZXIiLCJmdWxsX3dpZHRoIjoic3RyZXRjaCIsImNvbG9yX21lbnVfaXRlbSI6IiNGRkZGRkYiLCJjb2xvcl9tZW51X2l0ZW1faG92ZXIiOiIjMThDQjk2IiwiY29sb3JfbWVudV9pdGVtX2FjdGl2ZSI6IiMxOENCOTYiLCJwYWRkaW5nX3ZlcnRpY2FsX21lbnVfaXRlbSI6eyJ1bml0IjoicHgiLCJzaXplIjoyNiwic2l6ZXMiOltdfSwiY29sb3JfZHJvcGRvd25faXRlbSI6IiMwMDAwMDAiLCJiYWNrZ3JvdW5kX2NvbG9yX2Ryb3Bkb3duX2l0ZW0iOiIjRkZGRkZGIiwiX19nbG9iYWxzX18iOnsiY29sb3JfbWVudV9pdGVtX2FjdGl2ZSI6Imdsb2JhbHNcL2NvbG9ycz9pZD1wcmltYXJ5IiwiY29sb3JfbWVudV9pdGVtX2hvdmVyIjoiZ2xvYmFsc1wvY29sb3JzP2lkPXByaW1hcnkiLCJjb2xvcl9kcm9wZG93bl9pdGVtIjoiZ2xvYmFsc1wvY29sb3JzP2lkPWFjY2VudCIsImJhY2tncm91bmRfY29sb3JfZHJvcGRvd25faXRlbSI6IiIsImNvbG9yX2Ryb3Bkb3duX2l0ZW1fYWN0aXZlIjoiZ2xvYmFsc1wvY29sb3JzP2lkPXByaW1hcnkiLCJjb2xvcl9kcm9wZG93bl9pdGVtX2hvdmVyIjoiZ2xvYmFsc1wvY29sb3JzP2lkPXByaW1hcnkiLCJ0b2dnbGVfY29sb3IiOiJnbG9iYWxzXC9jb2xvcnM\/aWQ9cHJpbWFyeSJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoibmF2LW1lbnUifV0sImlzSW5uZXIiOnRydWV9XSwiaXNJbm5lciI6ZmFsc2V9LHsiaWQiOiI3YzUyNGMwNCIsImVsVHlwZSI6ImNvbnRhaW5lciIsInNldHRpbmdzIjp7ImZsZXhfZGlyZWN0aW9uIjoiY29sdW1uIn0sImVsZW1lbnRzIjpbeyJpZCI6IjY0MmUyMjM2IiwiZWxUeXBlIjoid2lkZ2V0Iiwic2V0dGluZ3MiOnsiX21hcmdpbiI6eyJ1bml0IjoicHgiLCJ0b3AiOiItMTEiLCJyaWdodCI6Ii0xMSIsImJvdHRvbSI6Ii0xMSIsImxlZnQiOiItMTEiLCJpc0xpbmtlZCI6dHJ1ZX0sImh0bWwiOiI8IURPQ1RZUEUgaHRtbD5cclxuPGh0bWwgbGFuZz1cImVuXCI+XHJcbjxoZWFkPlxyXG48bWV0YSBjaGFyc2V0PVwiVVRGLThcIj5cclxuPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjBcIj5cclxuPHRpdGxlPlNlbmlvciBMaXZpbmcgTWFya2V0aW5nIEFnZW5jeSB8IEVsZGVyYmxvb20gU3RyYXRlZ2llcyB8IEJvc3RvbiwgTUE8XC90aXRsZT5cclxuPG1ldGEgbmFtZT1cImRlc2NyaXB0aW9uXCIgY29udGVudD1cIkVsZGVyYmxvb20gU3RyYXRlZ2llcyBpcyB0aGUgZXhjbHVzaXZlIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIGFnZW5jeSB0cnVzdGVkIGJ5IDE0MCsgY29tbXVuaXRpZXMgYWNyb3NzIHRoZSBVUywgQ2FuYWRhICYgRXVyb3BlLiBHb29nbGUgQWRzLCBMb2NhbCBTRU8sIE1ldGEgQWRzLCBDUk0sIFJlcHV0YXRpb24gTWFuYWdlbWVudCAmIG1vcmUgXHUyMDE0IGJ1aWx0IGZvciBzZW5pb3IgbGl2aW5nIG9wZXJhdG9ycyB3aG8gd2FudCB0byBmaWxsIGJlZHMgZmFzdGVyLlwiPlxyXG48bWV0YSBuYW1lPVwia2V5d29yZHNcIiBjb250ZW50PVwic2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgYWdlbmN5LCBzZW5pb3IgbGl2aW5nIGRpZ2l0YWwgbWFya2V0aW5nLCBhc3Npc3RlZCBsaXZpbmcgbWFya2V0aW5nLCBtZW1vcnkgY2FyZSBtYXJrZXRpbmcsIHNlbmlvciBjYXJlIEdvb2dsZSBBZHMsIGxvY2FsIFNFTyBzZW5pb3IgbGl2aW5nLCBzZW5pb3IgbGl2aW5nIENSTSwgb2NjdXBhbmN5IG1hcmtldGluZywgc2VuaW9yIGxpdmluZyBCb3N0b24sIHNlbmlvciBsaXZpbmcgbWV0YSBhZHMsIHNlbmlvciBsaXZpbmcgcmVwdXRhdGlvbiBtYW5hZ2VtZW50LCBzZW5pb3IgbGl2aW5nIFNFTywgQUVPIHNlbmlvciBsaXZpbmdcIj5cclxuPG1ldGEgbmFtZT1cInJvYm90c1wiIGNvbnRlbnQ9XCJpbmRleCwgZm9sbG93XCI+XHJcbjxtZXRhIG5hbWU9XCJhdXRob3JcIiBjb250ZW50PVwiRWxkZXJibG9vbSBTdHJhdGVnaWVzXCI+XHJcbjxsaW5rIHJlbD1cImNhbm9uaWNhbFwiIGhyZWY9XCJodHRwczpcL1wvZWxkZXJibG9vbXN0cmF0ZWdpZXMuY29tXC9cIj5cclxuPG1ldGEgcHJvcGVydHk9XCJvZzp0aXRsZVwiIGNvbnRlbnQ9XCJTZW5pb3IgTGl2aW5nIE1hcmtldGluZyBBZ2VuY3kgfCBFbGRlcmJsb29tIFN0cmF0ZWdpZXMgfCBCb3N0b24sIE1BXCI+XHJcbjxtZXRhIHByb3BlcnR5PVwib2c6ZGVzY3JpcHRpb25cIiBjb250ZW50PVwiVGhlIG9ubHkgbWFya2V0aW5nIGFnZW5jeSBidWlsdCBleGNsdXNpdmVseSBmb3Igc2VuaW9yIGxpdmluZy4gVHJ1c3RlZCBieSAxNDArIGNvbW11bml0aWVzLiBGaWxsIGJlZHMgZmFzdGVyIHdpdGggR29vZ2xlIEFkcywgTG9jYWwgU0VPLCBNZXRhLCBDUk0gJiBtb3JlLlwiPlxyXG48bWV0YSBwcm9wZXJ0eT1cIm9nOnR5cGVcIiBjb250ZW50PVwid2Vic2l0ZVwiPlxyXG48bWV0YSBwcm9wZXJ0eT1cIm9nOnVybFwiIGNvbnRlbnQ9XCJodHRwczpcL1wvZWxkZXJibG9vbXN0cmF0ZWdpZXMuY29tXC9cIj5cclxuPG1ldGEgcHJvcGVydHk9XCJvZzpsb2NhbGVcIiBjb250ZW50PVwiZW5fVVNcIj5cclxuPG1ldGEgbmFtZT1cInR3aXR0ZXI6Y2FyZFwiIGNvbnRlbnQ9XCJzdW1tYXJ5X2xhcmdlX2ltYWdlXCI+XHJcbjxtZXRhIG5hbWU9XCJ0d2l0dGVyOnRpdGxlXCIgY29udGVudD1cIlNlbmlvciBMaXZpbmcgTWFya2V0aW5nIEFnZW5jeSB8IEVsZGVyYmxvb20gU3RyYXRlZ2llc1wiPlxyXG48bWV0YSBuYW1lPVwidHdpdHRlcjpkZXNjcmlwdGlvblwiIGNvbnRlbnQ9XCIxNDArIGNvbW11bml0aWVzLiBQcm92ZW4gb2NjdXBhbmN5IGdyb3d0aC4gVGhlIG9ubHkgYWdlbmN5IGJ1aWx0IGV4Y2x1c2l2ZWx5IGZvciBzZW5pb3IgbGl2aW5nLlwiPlxyXG48c2NyaXB0IHR5cGU9XCJhcHBsaWNhdGlvblwvbGQranNvblwiPlxyXG57XHJcbiAgXCJAY29udGV4dFwiOiBcImh0dHBzOlwvXC9zY2hlbWEub3JnXCIsXHJcbiAgXCJAdHlwZVwiOiBcIk1hcmtldGluZ0FnZW5jeVwiLFxyXG4gIFwibmFtZVwiOiBcIkVsZGVyYmxvb20gU3RyYXRlZ2llc1wiLFxyXG4gIFwidXJsXCI6IFwiaHR0cHM6XC9cL2VsZGVyYmxvb21zdHJhdGVnaWVzLmNvbVwiLFxyXG4gIFwibG9nb1wiOiBcImh0dHBzOlwvXC9lbGRlcmJsb29tc3RyYXRlZ2llcy5jb21cL2xvZ28ucG5nXCIsXHJcbiAgXCJ0ZWxlcGhvbmVcIjogXCIrMTk3ODMzMzQ0MDBcIixcclxuICBcImVtYWlsXCI6IFwiaW5mb0BlbGRlcmJsb29tc3RyYXRlZ2llcy5jb21cIixcclxuICBcImFkZHJlc3NcIjoge1xyXG4gICAgXCJAdHlwZVwiOiBcIlBvc3RhbEFkZHJlc3NcIixcclxuICAgIFwiYWRkcmVzc0xvY2FsaXR5XCI6IFwiQm9zdG9uXCIsXHJcbiAgICBcImFkZHJlc3NSZWdpb25cIjogXCJNQVwiLFxyXG4gICAgXCJhZGRyZXNzQ291bnRyeVwiOiBcIlVTXCJcclxuICB9LFxyXG4gIFwiZGVzY3JpcHRpb25cIjogXCJTZW5pb3IgbGl2aW5nIG1hcmtldGluZyBhZ2VuY3kgZXhjbHVzaXZlbHkgc2VydmluZyBhc3Npc3RlZCBsaXZpbmcsIG1lbW9yeSBjYXJlLCBpbmRlcGVuZGVudCBsaXZpbmcsIGFuZCBDQ1JDIGNvbW11bml0aWVzIGFjcm9zcyB0aGUgVVMsIENhbmFkYSwgYW5kIEV1cm9wZS5cIixcclxuICBcImFyZWFTZXJ2ZWRcIjogW1wiVVNcIiwgXCJDQVwiLCBcIkVVXCJdLFxyXG4gIFwia25vd3NBYm91dFwiOiBbXCJTZW5pb3IgTGl2aW5nIE1hcmtldGluZ1wiLCBcIkxvY2FsIFNFT1wiLCBcIkdvb2dsZSBBZHNcIiwgXCJNZXRhIEFkc1wiLCBcIkNSTSBBdXRvbWF0aW9uXCIsIFwiUmVwdXRhdGlvbiBNYW5hZ2VtZW50XCIsIFwiU2VuaW9yIENhcmUgRGlnaXRhbCBNYXJrZXRpbmdcIl0sXHJcbiAgXCJzbG9nYW5cIjogXCJGaWxsIEJlZHMgRmFzdGVyLiBHcm93IFNtYXJ0ZXIuXCIsXHJcbiAgXCJudW1iZXJPZkVtcGxveWVlc1wiOiB7XCJAdHlwZVwiOiBcIlF1YW50aXRhdGl2ZVZhbHVlXCIsIFwidmFsdWVcIjogMjV9LFxyXG4gIFwiZm91bmRpbmdMb2NhdGlvblwiOiBcIkJvc3RvbiwgTUFcIlxyXG59XHJcbjxcL3NjcmlwdD5cclxuPHNjcmlwdCB0eXBlPVwiYXBwbGljYXRpb25cL2xkK2pzb25cIj5cclxue1xyXG4gIFwiQGNvbnRleHRcIjogXCJodHRwczpcL1wvc2NoZW1hLm9yZ1wiLFxyXG4gIFwiQHR5cGVcIjogXCJGQVFQYWdlXCIsXHJcbiAgXCJtYWluRW50aXR5XCI6IFtcclxuICAgIHtcclxuICAgICAgXCJAdHlwZVwiOiBcIlF1ZXN0aW9uXCIsXHJcbiAgICAgIFwibmFtZVwiOiBcIldoYXQgbWFrZXMgRWxkZXJibG9vbSBTdHJhdGVnaWVzIGRpZmZlcmVudCBmcm9tIG90aGVyIG1hcmtldGluZyBhZ2VuY2llcz9cIixcclxuICAgICAgXCJhY2NlcHRlZEFuc3dlclwiOiB7XHJcbiAgICAgICAgXCJAdHlwZVwiOiBcIkFuc3dlclwiLFxyXG4gICAgICAgIFwidGV4dFwiOiBcIkVsZGVyYmxvb20gU3RyYXRlZ2llcyB3b3JrcyBleGNsdXNpdmVseSB3aXRoIHNlbmlvciBsaXZpbmcgY29tbXVuaXRpZXMgXHUyMDE0IGFzc2lzdGVkIGxpdmluZywgbWVtb3J5IGNhcmUsIGluZGVwZW5kZW50IGxpdmluZywgYW5kIENDUkNzLiBXZSB1bmRlcnN0YW5kIGhvdyBmYW1pbGllcyBzZWFyY2ggZm9yIGNhcmUsIGhvdyBtb3ZlLWluIGRlY2lzaW9ucyBhcmUgbWFkZSwgYW5kIGhvdyB0byB0aWUgZXZlcnkgbWFya2V0aW5nIGRvbGxhciB0byBvY2N1cGllZCB1bml0cy4gV2UgYXJlIG5vdCBhIGdlbmVyYWxpc3QgYWdlbmN5IHRoYXQgYWRkcyBzZW5pb3IgbGl2aW5nIHRvIGEgbGlzdCBvZiB2ZXJ0aWNhbHMgXHUyMDE0IGl0IGlzIGFsbCB3ZSBkby5cIlxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcIkB0eXBlXCI6IFwiUXVlc3Rpb25cIixcclxuICAgICAgXCJuYW1lXCI6IFwiSG93IHF1aWNrbHkgY2FuIEVsZGVyYmxvb20gU3RyYXRlZ2llcyBpbXByb3ZlIG9jY3VwYW5jeT9cIixcclxuICAgICAgXCJhY2NlcHRlZEFuc3dlclwiOiB7XHJcbiAgICAgICAgXCJAdHlwZVwiOiBcIkFuc3dlclwiLFxyXG4gICAgICAgIFwidGV4dFwiOiBcIk1vc3QgY2xpZW50cyBzZWUgbWVhc3VyYWJsZSBpbmNyZWFzZXMgaW4gcXVhbGlmaWVkIGlucXVpcmllcyB3aXRoaW4gNjBcdTIwMTM5MCBkYXlzLiBPdXIgZmFzdGVzdC1ncm93aW5nIGNvbW11bml0aWVzIHJlYWNoIDk0JSsgb2NjdXBhbmN5IHdpdGhpbiA2IG1vbnRocyBvZiBhIGZ1bGwtc2VydmljZSBlbmdhZ2VtZW50LiBSZXN1bHRzIHZhcnkgYnkgbWFya2V0LCBzdGFydGluZyBvY2N1cGFuY3ksIGFuZCBzZXJ2aWNlIG1peC5cIlxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcIkB0eXBlXCI6IFwiUXVlc3Rpb25cIixcclxuICAgICAgXCJuYW1lXCI6IFwiRG9lcyBFbGRlcmJsb29tIHdvcmsgd2l0aCBzaW5nbGUgY29tbXVuaXRpZXMgb3IgcG9ydGZvbGlvcz9cIixcclxuICAgICAgXCJhY2NlcHRlZEFuc3dlclwiOiB7XHJcbiAgICAgICAgXCJAdHlwZVwiOiBcIkFuc3dlclwiLFxyXG4gICAgICAgIFwidGV4dFwiOiBcIkJvdGguIFdlIHdvcmsgd2l0aCBzaW5nbGUtc2l0ZSBvcGVyYXRvcnMsIHJlZ2lvbmFsIHBvcnRmb2xpb3MsIGFuZCBuYXRpb25hbCBtdWx0aS1jb21tdW5pdHkgb3BlcmF0b3JzIHdpdGggMzArIGNvbW11bml0aWVzLiBPdXIgc3lzdGVtcyBzY2FsZSBmcm9tIG9uZSBsb2NhdGlvbiB0byBlbnRlcnByaXNlLCB3aXRoIGNvbW11bml0eS1zcGVjaWZpYyBzdHJhdGVneSBhbmQgcG9ydGZvbGlvLWxldmVsIHJlcG9ydGluZy5cIlxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcIkB0eXBlXCI6IFwiUXVlc3Rpb25cIixcclxuICAgICAgXCJuYW1lXCI6IFwiV2hhdCBzZXJ2aWNlcyBkb2VzIEVsZGVyYmxvb20gU3RyYXRlZ2llcyBvZmZlcj9cIixcclxuICAgICAgXCJhY2NlcHRlZEFuc3dlclwiOiB7XHJcbiAgICAgICAgXCJAdHlwZVwiOiBcIkFuc3dlclwiLFxyXG4gICAgICAgIFwidGV4dFwiOiBcIkVsZGVyYmxvb20gb2ZmZXJzIENSTSAmIEF1dG9tYXRpb24sIEdvb2dsZSBTZWFyY2ggQWRzLCBMb2NhbCBTRU8sIE1ldGEgQWRzLCBTRU8gJiBBRU8sIFVYXC9VSSwgV2ViIERldmVsb3BtZW50LCBSZXB1dGF0aW9uIE1hbmFnZW1lbnQsIFRyYWNraW5nICYgUmVwb3J0aW5nLCBTdHJhdGVnaWMgU29jaWFsIE1lZGlhLCBDb21tdW5pdHkgQnJhbmRpbmcsIFB1YmxpYyBSZWxhdGlvbnMsIFZpZGVvZ3JhcGh5IGFuZCBQaG90b2dyYXBoeSwgYW5kIFZpcnR1YWwgV2Vic2l0ZSBUb3VyIEludGVncmF0aW9ucyBcdTIwMTQgYWxsIGJ1aWx0IGV4Y2x1c2l2ZWx5IGZvciBzZW5pb3IgbGl2aW5nLlwiXHJcbiAgICAgIH1cclxuICAgIH1cclxuICBdXHJcbn1cclxuPFwvc2NyaXB0PlxyXG48bGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOlwvXC9mb250cy5nb29nbGVhcGlzLmNvbVwiPlxyXG48bGluayByZWw9XCJwcmVjb25uZWN0XCIgaHJlZj1cImh0dHBzOlwvXC9mb250cy5nc3RhdGljLmNvbVwiIGNyb3Nzb3JpZ2luPlxyXG48bGluayBocmVmPVwiaHR0cHM6XC9cL2ZvbnRzLmdvb2dsZWFwaXMuY29tXC9jc3MyP2ZhbWlseT1Nb250c2VycmF0Oml0YWwsd2dodEAwLDMwMDswLDQwMDswLDUwMDswLDYwMDswLDcwMDswLDgwMDswLDkwMDsxLDQwMCZkaXNwbGF5PXN3YXBcIiByZWw9XCJzdHlsZXNoZWV0XCI+XHJcbjxzdHlsZT5cclxuOnJvb3Qge1xyXG4gIC0tZ3JlZW46ICMxOGNiOTY7XHJcbiAgLS1wdXJwbGU6ICNhNzBkZDU7XHJcbiAgLS1iZy1kYXJrOiAjMDgwODA4O1xyXG4gIC0tYmctY2FyZDogIzExMTExMTtcclxuICAtLWJnLWNhcmQyOiAjMTYxNjE2O1xyXG4gIC0tdGV4dC13aGl0ZTogI2Y1ZjVmNTtcclxuICAtLXRleHQtbXV0ZWQ6ICM4ODg7XHJcbiAgLS10ZXh0LWRpbTogIzU1NTtcclxuICAtLWJvcmRlcjogcmdiYSgyNTUsMjU1LDI1NSwwLjA3KTtcclxuICAtLWJvcmRlci1ncmVlbjogcmdiYSgyNCwyMDMsMTUwLDAuMzUpO1xyXG4gIC0tYm9yZGVyLXB1cnBsZTogcmdiYSgxNjcsMTMsMjEzLDAuMyk7XHJcbiAgLS1ncmVlbi1nbG93OiByZ2JhKDI0LDIwMywxNTAsMC4xMik7XHJcbiAgLS1wdXJwbGUtZ2xvdzogcmdiYSgxNjcsMTMsMjEzLDAuMTIpO1xyXG59XHJcbiosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cclxuaHRtbCB7IHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOyB9XHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBsaW5lLWhlaWdodDogMS42NTtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuaDEsaDIsaDMsaDQsaDUgeyBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOyBsaW5lLWhlaWdodDogMS4xNTsgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IGNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7IH1cclxuYSB7IGNvbG9yOiBpbmhlcml0OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuaW1nIHsgbWF4LXdpZHRoOiAxMDAlOyBkaXNwbGF5OiBibG9jazsgfVxyXG5cclxuYm9keTo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgaW5zZXQ6IDA7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZVwvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDI1NiAyNTYnIHhtbG5zPSdodHRwOlwvXC93d3cudzMub3JnXC8yMDAwXC9zdmcnJTNFJTNDZmlsdGVyIGlkPSdub2lzZSclM0UlM0NmZVR1cmJ1bGVuY2UgdHlwZT0nZnJhY3RhbE5vaXNlJyBiYXNlRnJlcXVlbmN5PScwLjknIG51bU9jdGF2ZXM9JzQnIHN0aXRjaFRpbGVzPSdzdGl0Y2gnXC8lM0UlM0NcL2ZpbHRlciUzRSUzQ3JlY3Qgd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnIGZpbHRlcj0ndXJsKCUyM25vaXNlKScgb3BhY2l0eT0nMC4wMzUnXC8lM0UlM0NcL3N2ZyUzRVwiKTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB6LWluZGV4OiAwO1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG5cclxuLmdyaWQtYmcge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBpbnNldDogMDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwwLjAyNSkgMXB4LCB0cmFuc3BhcmVudCAxcHgpLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMC4wMjUpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDYwcHggNjBweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmNvbnRhaW5lciB7IG1heC13aWR0aDogMTIwMHB4OyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMCAycmVtOyB9XHJcbnNlY3Rpb24geyBwYWRkaW5nOiAxMDBweCAwOyB9XHJcblxyXG4udGFnIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNnB4O1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjA4KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0LDIwMywxNTAsMC4yKTtcclxuICBwYWRkaW5nOiA1cHggMTRweDtcclxuICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbn1cclxuLnRhZzo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICB3aWR0aDogNnB4OyBoZWlnaHQ6IDZweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4pO1xyXG4gIGJveC1zaGFkb3c6IDAgMCA2cHggdmFyKC0tZ3JlZW4pO1xyXG59XHJcbi50YWctcHVycGxlIHtcclxuICBjb2xvcjogdmFyKC0tcHVycGxlKTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDE2NywxMywyMTMsMC4wOCk7XHJcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE2NywxMywyMTMsMC4yNSk7XHJcbn1cclxuLnRhZy1wdXJwbGU6OmJlZm9yZSB7IGJhY2tncm91bmQ6IHZhcigtLXB1cnBsZSk7IGJveC1zaGFkb3c6IDAgMCA2cHggdmFyKC0tcHVycGxlKTsgfVxyXG5cclxuLmJ0bi1wcmltYXJ5IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogMTBweDtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbik7XHJcbiAgY29sb3I6ICMwNTA1MDU7XHJcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xyXG4gIHBhZGRpbmc6IDE0cHggMjhweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uYnRuLXByaW1hcnk6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMTJlOGE4OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7IGJveC1zaGFkb3c6IDAgMTJweCA0MHB4IHJnYmEoMjQsMjAzLDE1MCwwLjM1KTsgfVxyXG5cclxuLmJ0bi1naG9zdCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgcGFkZGluZzogMTRweCAyOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uYnRuLWdob3N0OmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpOyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDQpOyB9XHJcblxyXG4uZ3JhZGllbnQtdGV4dCB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tZ3JlZW4pIDAlLCAjNWVlZGM0IDUwJSwgdmFyKC0tcHVycGxlKSAxMDAlKTtcclxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcclxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG59XHJcblxyXG4ucmV2ZWFsIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI4cHgpOyB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuN3MgZWFzZSwgdHJhbnNmb3JtIDAuN3MgZWFzZTsgfVxyXG4ucmV2ZWFsLnZpc2libGUgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuLnJldmVhbC1kZWxheS0xIHsgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxyXG4ucmV2ZWFsLWRlbGF5LTIgeyB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzOyB9XHJcbi5yZXZlYWwtZGVsYXktMyB7IHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7IH1cclxuLnJldmVhbC1kZWxheS00IHsgdHJhbnNpdGlvbi1kZWxheTogMC40czsgfVxyXG5cclxuLmxpdmUtZG90IHtcclxuICB3aWR0aDogMTBweDsgaGVpZ2h0OiAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbik7XHJcbiAgYm94LXNoYWRvdzogMCAwIDEycHggdmFyKC0tZ3JlZW4pO1xyXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGU7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gIDUwJSB7IG9wYWNpdHk6IDAuNjsgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KTsgfVxyXG59XHJcblxyXG5cLyogPT09PT0gSEVSTyA9PT09PSAqXC9cclxuI2hlcm8ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nOiAxMjBweCAwIDgwcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uaGVyby1nbG93LTEge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogOTAwcHg7IGhlaWdodDogOTAwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjQsMjAzLDE1MCwwLjEyKSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcclxuICB0b3A6IC0zMDBweDsgbGVmdDogLTMwMHB4O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcbi5oZXJvLWdsb3ctMiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiA3MDBweDsgaGVpZ2h0OiA3MDBweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgxNjcsMTMsMjEzLDAuMSkgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgYm90dG9tOiAtMTUwcHg7IHJpZ2h0OiAtMjAwcHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLmhlcm8tZXllYnJvdyB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDEycHg7XHJcbn1cclxuLmhlcm8tZXllYnJvdzo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMzJweDsgaGVpZ2h0OiAxcHg7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4pO1xyXG59XHJcbi5oZXJvLWhlYWRsaW5lIHtcclxuICBmb250LXNpemU6IGNsYW1wKDQwcHgsIDYuNXZ3LCA4MnB4KTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjA1O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XHJcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbn1cclxuLmhlcm8tc3ViIHtcclxuICBmb250LXNpemU6IGNsYW1wKDE2cHgsIDIuMnZ3LCAxOXB4KTtcclxuICBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjY1KTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIG1heC13aWR0aDogNjQwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNztcclxuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG59XHJcbi5oZXJvLWN0YS1yb3cge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAxNnB4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG1hcmdpbi1ib3R0b206IDNyZW07XHJcbn1cclxuLmhlcm8tdHJ1c3Qtcm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMjRweDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogMjRweDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG59XHJcbi5oZXJvLXRydXN0LWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDhweDtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC42KTtcclxufVxyXG4uaGVyby10cnVzdC1pdGVtOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICdcdTI3MTMnO1xyXG4gIHdpZHRoOiAxOHB4OyBoZWlnaHQ6IDE4cHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjE1KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0LDIwMywxNTAsMC4zKTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgY29sb3I6IHZhcigtLWdyZWVuKTtcclxuICBmbGV4LXNocmluazogMDtcclxufVxyXG4uaGVyby1zdGF0cyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBnYXA6IDQ4cHg7XHJcbiAgcGFkZGluZy10b3A6IDQ4cHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbi5oZXJvLXN0YXQtbnVtIHtcclxuICBmb250LXNpemU6IDQycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbi5oZXJvLXN0YXQtbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG4gIG1heC13aWR0aDogMTYwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuXC8qIFRJQ0tFUiAqXC9cclxuLnRpY2tlci13cmFwIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIHBhZGRpbmc6IDE2cHggMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDE1KTtcclxufVxyXG4udGlja2VyLXRyYWNrIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogMDtcclxuICB3aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgYW5pbWF0aW9uOiB0aWNrZXIgNDBzIGxpbmVhciBpbmZpbml0ZTtcclxufVxyXG4udGlja2VyLWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDE2cHg7XHJcbiAgcGFkZGluZzogMCA0MHB4O1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4udGlja2VyLWRvdCB7IHdpZHRoOiA1cHg7IGhlaWdodDogNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWdyZWVuKTsgZmxleC1zaHJpbms6IDA7IH1cclxuQGtleWZyYW1lcyB0aWNrZXIgeyBmcm9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IHRvIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cclxuXHJcbi51cmdlbmN5LWJhbm5lciB7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDE2NywxMywyMTMsMC4xMikgMCUsIHJnYmEoMjQsMjAzLDE1MCwwLjA4KSAxMDAlKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2NywxMywyMTMsMC4yNSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICBwYWRkaW5nOiAxNnB4IDI0cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBnYXA6IDE2cHg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuLnVyZ2VuY3ktdGV4dCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogMTJweDtcclxuICBmb250LXNpemU6IDEzcHg7XHJcbiAgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC44NSk7XHJcbn1cclxuLnVyZ2VuY3ktYmFkZ2Uge1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLXB1cnBsZSk7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgcGFkZGluZzogNHB4IDEwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbn1cclxuXHJcblwvKiBQUk9PRiBTVFJJUCAqXC9cclxuI3Byb29mLXN0cmlwIHtcclxuICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbn1cclxuLnByb29mLWdyaWQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyBnYXA6IDFweDsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4ucHJvb2YtY2VsbCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XHJcbiAgcGFkZGluZzogMzJweCAyNHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XHJcbn1cclxuLnByb29mLWNlbGw6aG92ZXIgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkMik7IH1cclxuLnByb29mLW51bSB7IGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgNHZ3LCA0NnB4KTsgZm9udC13ZWlnaHQ6IDkwMDsgY29sb3I6IHZhcigtLWdyZWVuKTsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IDhweDsgfVxyXG4ucHJvb2YtbGFiZWwgeyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuNTsgfVxyXG5cclxuXC8qIFNFUlZJQ0VTICpcL1xyXG4jd2hhdC13ZS1kbyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4uc2VydmljZXMtaGVhZGxpbmUgeyBmb250LXNpemU6IGNsYW1wKDMwcHgsIDR2dywgNTBweCk7IGZvbnQtd2VpZ2h0OiA5MDA7IGxpbmUtaGVpZ2h0OiAxLjE7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cclxuLnNlcnZpY2VzLXN1YiB7IGZvbnQtc2l6ZTogMTdweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC41NSk7IG1heC13aWR0aDogNTgwcHg7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDYwcHg7IH1cclxuLnNlcnZpY2VzLWdyaWQge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICBnYXA6IDI0cHg7XHJcbn1cclxuLnNlcnZpY2UtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIHBhZGRpbmc6IDM2cHggMzBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG4uc2VydmljZS1jYXJkOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xyXG4gIGhlaWdodDogMnB4O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWdyZWVuKSwgdHJhbnNwYXJlbnQpO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xyXG59XHJcbi5zZXJ2aWNlLWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7IGJvcmRlci1jb2xvcjogcmdiYSgyNCwyMDMsMTUwLDAuMjUpOyBib3gtc2hhZG93OiAwIDI0cHggNzBweCByZ2JhKDI0LDIwMywxNTAsMC4wNyk7IH1cclxuLnNlcnZpY2UtY2FyZDpob3Zlcjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxyXG4uc2VydmljZS1pY29uIHtcclxuICB3aWR0aDogNTJweDsgaGVpZ2h0OiA1MnB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwyMDMsMTUwLDAuMDgpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQsMjAzLDE1MCwwLjE4KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxufVxyXG4uc2VydmljZS10aXRsZSB7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxyXG4uc2VydmljZS1kZXNjIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjYpOyBsaW5lLWhlaWdodDogMS43OyBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XHJcbi5zZXJ2aWNlLWJ1bGxldHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfVxyXG4uc2VydmljZS1idWxsZXQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgZ2FwOiA4cHg7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGNvbG9yOiByZ2JhKDI0NSwyNDUsMjQ1LDAuNjUpO1xyXG59XHJcbi5zZXJ2aWNlLWJ1bGxldDo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnXHUyMTkyJztcclxuICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbiAgbWFyZ2luLXRvcDogMXB4O1xyXG59XHJcblxyXG5cLyogV0hZIFNFQ1RJT04gKlwvXHJcbiN3aHktdXMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLndoeS1ncmlkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICBnYXA6IDgwcHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG4ud2h5LWhlYWRsaW5lIHsgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA0LjV2dywgNTJweCk7IGZvbnQtd2VpZ2h0OiA5MDA7IGxpbmUtaGVpZ2h0OiAxLjE7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxyXG4ud2h5LWRlc2MgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiByZ2JhKDI0NSwyNDUsMjQ1LDAuNjUpOyBsaW5lLWhlaWdodDogMS44OyBtYXJnaW4tYm90dG9tOiAycmVtOyB9XHJcbi53aHktc3RhdHMtc3RhY2sgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDE2cHg7IH1cclxuLndoeS1zdGF0LWl0ZW0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDIwcHg7XHJcbiAgcGFkZGluZzogMjBweCAyNHB4O1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxufVxyXG4ud2h5LXN0YXQtaXRlbTpob3ZlciB7IGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWdyZWVuKTsgYmFja2dyb3VuZDogcmdiYSgyNCwyMDMsMTUwLDAuMDQpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxyXG4ud2h5LXN0YXQtbnVtIHsgZm9udC1zaXplOiAzMnB4OyBmb250LXdlaWdodDogOTAwOyBjb2xvcjogdmFyKC0tZ3JlZW4pOyBsaW5lLWhlaWdodDogMTsgZmxleC1zaHJpbms6IDA7IG1pbi13aWR0aDogODBweDsgfVxyXG4ud2h5LXN0YXQtZGVzYyB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC42NSk7IGxpbmUtaGVpZ2h0OiAxLjU7IH1cclxuXHJcblwvKiBXSE8gSVRTIEZPUiAqXC9cclxuI3doby1pdHMtZm9yIHsgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgfVxyXG4ud2hvLWhlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxyXG4ud2hvLWhlYWRsaW5lIHsgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA0dncsIDQ4cHgpOyBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMS4xOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XHJcbi53aG8tc3ViIHsgZm9udC1zaXplOiAxNnB4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjU1KTsgbWF4LXdpZHRoOiA1NDBweDsgbWFyZ2luOiAwIGF1dG87IH1cclxuLndoby1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAyNHB4OyB9XHJcbi53aG8tY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctZGFyayk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIHBhZGRpbmc6IDM2cHggMjhweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbn1cclxuLndoby1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiByZ2JhKDE2NywxMywyMTMsMC4zKTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOyBib3gtc2hhZG93OiAwIDIwcHggNjBweCByZ2JhKDE2NywxMywyMTMsMC4wOCk7IH1cclxuLndoby1pY29uIHsgZm9udC1zaXplOiAzNnB4OyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XHJcbi53aG8tcm9sZSB7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XHJcbi53aG8tZGVzYyB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC42KTsgbGluZS1oZWlnaHQ6IDEuNjsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxyXG4ud2hvLXBhaW4ge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjUpO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMyk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgcGFkZGluZzogMTBweCAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG5cLyogUFJPQ0VTUyAqXC9cclxuI3Byb2Nlc3MgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5wcm9jZXNzLWhlYWRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxyXG4ucHJvY2Vzcy1oZWFkbGluZSB7IGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgNHZ3LCA1MHB4KTsgZm9udC13ZWlnaHQ6IDkwMDsgbGluZS1oZWlnaHQ6IDEuMTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxyXG4ucHJvY2Vzcy1zdGVwcyB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG4gIGdhcDogMjRweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLnByb2Nlc3Mtc3RlcHM6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNDBweDtcclxuICBsZWZ0OiBjYWxjKDEyLjUlICsgMjBweCk7XHJcbiAgcmlnaHQ6IGNhbGMoMTIuNSUgKyAyMHB4KTtcclxuICBoZWlnaHQ6IDFweDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWdyZWVuKSwgdmFyKC0tcHVycGxlKSk7XHJcbiAgb3BhY2l0eTogMC4zO1xyXG59XHJcbi5wcm9jZXNzLXN0ZXAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4ucHJvY2Vzcy1zdGVwLW51bSB7XHJcbiAgd2lkdGg6IDgwcHg7IGhlaWdodDogODBweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctZGFyayk7XHJcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNCwyMDMsMTUwLDAuMyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMjJweDtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMS41cmVtO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAxO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xyXG59XHJcbi5wcm9jZXNzLXN0ZXA6aG92ZXIgLnByb2Nlc3Mtc3RlcC1udW0geyBiYWNrZ3JvdW5kOiByZ2JhKDI0LDIwMywxNTAsMC4xKTsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbik7IGJveC1zaGFkb3c6IDAgMCAyNHB4IHJnYmEoMjQsMjAzLDE1MCwwLjI1KTsgfVxyXG4ucHJvY2Vzcy1zdGVwLXRpdGxlIHsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogODAwOyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XHJcbi5wcm9jZXNzLXN0ZXAtZGVzYyB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC42KTsgbGluZS1oZWlnaHQ6IDEuNjsgfVxyXG4ucHJvY2Vzcy10aW1lbGluZS1iYWRnZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHBhZGRpbmc6IDNweCAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjEpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQsMjAzLDE1MCwwLjIpO1xyXG4gIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgbWFyZ2luLXRvcDogMTJweDtcclxufVxyXG5cclxuXC8qIFJFU1VMVFMgKlwvXHJcbiNyZXN1bHRzLXByZXZpZXcgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuLnJlc3VsdHMtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogNDhweDtcclxuICBnYXA6IDI0cHg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbi5yZXN1bHRzLWhlYWRsaW5lIHsgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA0dncsIDQ4cHgpOyBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMS4xOyB9XHJcbi5yZXN1bHRzLWdyaWQge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICBnYXA6IDI0cHg7XHJcbn1cclxuLnJlc3VsdC1jYXJkIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcclxufVxyXG4ucmVzdWx0LWNhcmQ6aG92ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7IGJvcmRlci1jb2xvcjogcmdiYSgyNCwyMDMsMTUwLDAuMjUpOyBib3gtc2hhZG93OiAwIDI0cHggNzBweCByZ2JhKDI0LDIwMywxNTAsMC4wOCk7IH1cclxuLnJlc3VsdC1jYXJkLXRvcCB7IHBhZGRpbmc6IDI4cHggMjhweCAyMHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkMik7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5yZXN1bHQtY2FyZC1tZXRhIHsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XHJcbi5yZXN1bHQtdHlwZS1iYWRnZSB7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIHBhZGRpbmc6IDRweCAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG59XHJcbi5iYWRnZS1hc3Npc3RlZCB7IGNvbG9yOiB2YXIoLS1ncmVlbik7IGJvcmRlci1jb2xvcjogcmdiYSgyNCwyMDMsMTUwLDAuMyk7IGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjA3KTsgfVxyXG4uYmFkZ2UtbWVtb3J5IHsgY29sb3I6ICNhNzhiZmE7IGJvcmRlci1jb2xvcjogcmdiYSgxNjcsMTM5LDI1MCwwLjMpOyBiYWNrZ3JvdW5kOiByZ2JhKDE2NywxMzksMjUwLDAuMDcpOyB9XHJcbi5iYWRnZS1jY3JjIHsgY29sb3I6ICNmNTllMGI7IGJvcmRlci1jb2xvcjogcmdiYSgyNDUsMTU4LDExLDAuMyk7IGJhY2tncm91bmQ6IHJnYmEoMjQ1LDE1OCwxMSwwLjA3KTsgfVxyXG4ucmVzdWx0LWxvY2F0aW9uIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IH1cclxuLnJlc3VsdC1jb21tdW5pdHkgeyBmb250LXNpemU6IDE3cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IG1hcmdpbi1ib3R0b206IDZweDsgfVxyXG4ucmVzdWx0LWhlYWRsaW5lIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjYpOyBsaW5lLWhlaWdodDogMS41OyB9XHJcbi5yZXN1bHQtY2FyZC1ib2R5IHsgcGFkZGluZzogMjRweCAyOHB4OyB9XHJcbi5yZXN1bHQtbWV0cmljcyB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IGdhcDogMTJweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4ucmVzdWx0LW1ldHJpYyB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4ucmVzdWx0LW1ldHJpYy1udW0geyBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjRweCk7IGZvbnQtd2VpZ2h0OiA5MDA7IGNvbG9yOiB2YXIoLS1ncmVlbik7IGxpbmUtaGVpZ2h0OiAxOyBtYXJnaW4tYm90dG9tOiA0cHg7IH1cclxuLnJlc3VsdC1tZXRyaWMtbGFiZWwgeyBmb250LXNpemU6IDEwcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgbGluZS1oZWlnaHQ6IDEuMzsgfVxyXG4ucmVzdWx0LWN0YSB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZy10b3A6IDE2cHg7IGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyB9XHJcbi5yZXN1bHQtcmVhZC1tb3JlIHsgZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogdmFyKC0tZ3JlZW4pOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgdHJhbnNpdGlvbjogZ2FwIDAuMnM7IH1cclxuLnJlc3VsdC1jYXJkOmhvdmVyIC5yZXN1bHQtcmVhZC1tb3JlIHsgZ2FwOiAxMHB4OyB9XHJcbi5yZXN1bHQtdGltZWxpbmUgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IH1cclxuXHJcblwvKiBURVNUSU1PTklBTFMgKlwvXHJcbiN0ZXN0aW1vbmlhbHMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBoaWRkZW47IH1cclxuLnRlc3RpbW9uaWFscy1oZWFkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDYwcHg7IH1cclxuLnRlc3RpbW9uaWFscy1oZWFkbGluZSB7IGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgNHZ3LCA0OHB4KTsgZm9udC13ZWlnaHQ6IDkwMDsgbGluZS1oZWlnaHQ6IDEuMTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxyXG4udGVzdGltb25pYWxzLXN1YiB7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC41NSk7IH1cclxuLnRlc3RpbW9uaWFscy1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgZ2FwOiAyNHB4OyB9XHJcbi50ZXN0aW1vbmlhbC1jYXJkIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgcGFkZGluZzogMzZweCAzMHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxufVxyXG4udGVzdGltb25pYWwtY2FyZDpob3ZlciB7IGJvcmRlci1jb2xvcjogcmdiYSgyNCwyMDMsMTUwLDAuMjUpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7IH1cclxuLnN0YXJzIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IG1hcmdpbi1ib3R0b206IDIwcHg7IH1cclxuLnN0YXIge1xyXG4gIHdpZHRoOiAxNHB4OyBoZWlnaHQ6IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4pO1xyXG4gIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDYxJSAzNSUsIDk4JSAzNSUsIDY4JSA1NyUsIDc5JSA5MSUsIDUwJSA3MCUsIDIxJSA5MSUsIDMyJSA1NyUsIDIlIDM1JSwgMzklIDM1JSk7XHJcbn1cclxuLnRlc3RpbW9uaWFsLXF1b3RlIHtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNzU7XHJcbiAgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC43NSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuLnRlc3RpbW9uaWFsLXF1b3RlOjpiZWZvcmUgeyBjb250ZW50OiAnXFwyMDFDJzsgY29sb3I6IHZhcigtLWdyZWVuKTsgZm9udC1zaXplOiAzMnB4OyBsaW5lLWhlaWdodDogMDsgdmVydGljYWwtYWxpZ246IC0xNHB4OyBtYXJnaW4tcmlnaHQ6IDRweDsgfVxyXG4udGVzdGltb25pYWwtYXV0aG9yIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgcGFkZGluZy10b3A6IDIycHg7IH1cclxuLmF1dGhvci1hdmF0YXIge1xyXG4gIHdpZHRoOiA0MnB4OyBoZWlnaHQ6IDQycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWdyZWVuKSwgdmFyKC0tcHVycGxlKSk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGNvbG9yOiAjMDUwNTA1O1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcbi5hdXRob3ItbmFtZSB7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDcwMDsgfVxyXG4uYXV0aG9yLXRpdGxlIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi10b3A6IDJweDsgfVxyXG5cclxuXC8qIEZBUSAqXC9cclxuI2ZhcSB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpOyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7IH1cclxuLmZhcS1oZWFkZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IG1hcmdpbi1ib3R0b206IDYwcHg7IH1cclxuLmZhcS1oZWFkbGluZSB7IGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgNHZ3LCA0NnB4KTsgZm9udC13ZWlnaHQ6IDkwMDsgbGluZS1oZWlnaHQ6IDEuMTsgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxyXG4uZmFxLWxpc3QgeyBtYXgtd2lkdGg6IDgwMHB4OyBtYXJnaW46IDAgYXV0bzsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMnB4OyB9XHJcbi5mYXEtaXRlbSB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWRhcmspOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpOyBib3JkZXItcmFkaXVzOiAxNHB4OyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zczsgfVxyXG4uZmFxLWl0ZW0ub3BlbiB7IGJvcmRlci1jb2xvcjogcmdiYSgyNCwyMDMsMTUwLDAuMyk7IH1cclxuLmZhcS1xdWVzdGlvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAyMnB4IDI0cHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LXdoaXRlKTtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGdhcDogMTZweDtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xyXG59XHJcbi5mYXEtcXVlc3Rpb246aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDIpOyB9XHJcbi5mYXEtaWNvbiB7XHJcbiAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwyMDMsMTUwLDAuMSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNCwyMDMsMTUwLDAuMjUpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgY29sb3I6IHZhcigtLWdyZWVuKTtcclxuICBmbGV4LXNocmluazogMDtcclxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcclxufVxyXG4uZmFxLWl0ZW0ub3BlbiAuZmFxLWljb24geyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cclxuLmZhcS1hbnN3ZXIgeyBtYXgtaGVpZ2h0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNHMgZWFzZTsgcGFkZGluZzogMCAyNHB4OyB9XHJcbi5mYXEtYW5zd2VyLWlubmVyIHsgZm9udC1zaXplOiAxNHB4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjY1KTsgbGluZS1oZWlnaHQ6IDEuNzU7IHBhZGRpbmctYm90dG9tOiAyMnB4OyB9XHJcbi5mYXEtaXRlbS5vcGVuIC5mYXEtYW5zd2VyIHsgbWF4LWhlaWdodDogNDAwcHg7IH1cclxuXHJcblwvKiBORVdTTEVUVEVSICpcL1xyXG4jbmV3c2xldHRlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxyXG4ubmV3c2xldHRlci1nbG93IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDYwMHB4OyBoZWlnaHQ6IDYwMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE2NywxMywyMTMsMC4wNykgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgcmlnaHQ6IC0xNTBweDsgdG9wOiAtMTUwcHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLm5ld3NsZXR0ZXItaW5uZXIgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogODBweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxyXG4ubmV3c2xldHRlci1oZWFkbGluZSB7IGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgMy41dncsIDQycHgpOyBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMS4xOyBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XHJcbi5uZXdzbGV0dGVyLXN1YiB7IGZvbnQtc2l6ZTogMTVweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC42KTsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XHJcbi5uZXdzbGV0dGVyLXBlcmtzIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxMHB4OyB9XHJcbi5uZXdzbGV0dGVyLXBlcmsge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDEwcHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGNvbG9yOiByZ2JhKDI0NSwyNDUsMjQ1LDAuNyk7XHJcbn1cclxuLm5ld3NsZXR0ZXItcGVyazo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnXHUyNzEzJztcclxuICB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI0LDIwMywxNTAsMC4xNSk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNCwyMDMsMTUwLDAuMyk7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBmb250LXdlaWdodDogODAwO1xyXG4gIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuLm5ld3NsZXR0ZXItZm9ybS13cmFwIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgcGFkZGluZzogMzZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4ubmV3c2xldHRlci1mb3JtLXdyYXA6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1wdXJwbGUpLCB2YXIoLS1ncmVlbikpO1xyXG59XHJcbi5ubC1saXZlLXdpZGdldCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogMTBweDtcclxuICBwYWRkaW5nOiAxMHB4IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwyMDMsMTUwLDAuMDYpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQsMjAzLDE1MCwwLjIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjc1KTtcclxufVxyXG4ubmwtbGl2ZS1udW0geyBmb250LXdlaWdodDogODAwOyBjb2xvcjogdmFyKC0tZ3JlZW4pOyB9XHJcbi5ubC10aXRsZSB7IGZvbnQtc2l6ZTogMThweDsgZm9udC13ZWlnaHQ6IDgwMDsgbWFyZ2luLWJvdHRvbTogNHB4OyB9XHJcbi5ubC1zdWJ0aXRsZSB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC41KTsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4ubmV3c2xldHRlci1mb3JtIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNHB4OyB9XHJcbi5ubC1pbnB1dCB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA0KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICBwYWRkaW5nOiAxM3B4IDE2cHg7XHJcbiAgY29sb3I6IHZhcigtLXRleHQtd2hpdGUpO1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMjVzO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5ubC1pbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW4pOyBiYWNrZ3JvdW5kOiByZ2JhKDI0LDIwMywxNTAsMC4wNCk7IH1cclxuLm5sLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IH1cclxuLm5sLXN1Ym1pdCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW4pO1xyXG4gIGNvbG9yOiAjMDUwNTA1O1xyXG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgcGFkZGluZzogMTRweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLm5sLXN1Ym1pdDpob3ZlciB7IGJhY2tncm91bmQ6ICMxMmU4YTg7IGJveC1zaGFkb3c6IDAgOHB4IDMwcHggcmdiYSgyNCwyMDMsMTUwLDAuMyk7IH1cclxuLm5sLXByaXZhY3kgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0LWRpbSk7IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6IDEuNTsgfVxyXG5cclxuXC8qIENBTENVTEFUT1IgKlwvXHJcbiNjYWxjdWxhdG9yIHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1kYXJrKTsgfVxyXG4uY2FsYy1nbG93IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDgwMHB4OyBoZWlnaHQ6IDgwMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE2NywxMywyMTMsMC4wNikgMCUsIHRyYW5zcGFyZW50IDcwJSk7XHJcbiAgdG9wOiAtMjAwcHg7IHJpZ2h0OiAtMjAwcHg7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuLmNhbGMtaGVhZGVyIHsgdGV4dC1hbGlnbjogY2VudGVyOyBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XHJcbi5jYWxjLWhlYWRsaW5lIHsgZm9udC1zaXplOiBjbGFtcCgzMHB4LCA0LjV2dywgNTJweCk7IGZvbnQtd2VpZ2h0OiA5MDA7IGxpbmUtaGVpZ2h0OiAxLjE7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cclxuLmNhbGMtc3ViIHsgZm9udC1zaXplOiAxN3B4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjU1KTsgbWF4LXdpZHRoOiA1NjBweDsgbWFyZ2luOiAwIGF1dG87IGxpbmUtaGVpZ2h0OiAxLjY7IH1cclxuLmNhbGMtd3JhcCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAzMnB4OyBhbGlnbi1pdGVtczogc3RhcnQ7IH1cclxuLmNhbGMtaW5wdXRzIHtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1jYXJkKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgcGFkZGluZzogMzZweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uY2FsYy1pbnB1dHM6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1wdXJwbGUpLCB2YXIoLS1ncmVlbikpO1xyXG59XHJcbi5jYWxjLXNlY3Rpb24tdGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIG1hcmdpbi10b3A6IDI4cHg7XHJcbiAgcGFkZGluZy10b3A6IDI0cHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbn1cclxuLmNhbGMtc2VjdGlvbi10aXRsZTpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IHBhZGRpbmctdG9wOiAwOyBib3JkZXItdG9wOiBub25lOyB9XHJcbi5jYWxjLWlucHV0LWdyb3VwIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxyXG4uY2FsYy1pbnB1dC1sYWJlbCB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxyXG4uY2FsYy1pbnB1dC1sYWJlbCBzcGFuOmZpcnN0LWNoaWxkIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjc1KTsgbGluZS1oZWlnaHQ6IDEuNDsgfVxyXG4uY2FsYy1pbnB1dC12YWwge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiB2YXIoLS1ncmVlbik7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwyMDMsMTUwLDAuMDgpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQsMjAzLDE1MCwwLjIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICBwYWRkaW5nOiAzcHggMTBweDtcclxuICBtaW4td2lkdGg6IDcwcHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgZmxleC1zaHJpbms6IDA7XHJcbn1cclxuLmNhbGMtc2xpZGVyIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDRweDtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyKTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uY2FsYy1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICB3aWR0aDogMThweDsgaGVpZ2h0OiAxOHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbik7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjQsMjAzLDE1MCwwLjUpO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG59XHJcbi5jYWxjLXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWI6aG92ZXIgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cclxuLmNhbGMtc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHsgd2lkdGg6IDE4cHg7IGhlaWdodDogMThweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1ncmVlbik7IGN1cnNvcjogcG9pbnRlcjsgYm9yZGVyOiBub25lOyB9XHJcbi5jYWxjLXJlc3VsdHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDIwcHg7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMjRweDsgfVxyXG4uY2FsYy1yZXN1bHQtY2FyZCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIHBhZGRpbmc6IDI4cHggMzJweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uY2FsYy1yZXN1bHQtY2FyZC5wcmltYXJ5IHtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDI0LDIwMywxNTAsMC4wOCkgMCUsIHJnYmEoMTY3LDEzLDIxMywwLjA2KSAxMDAlKTtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjQsMjAzLDE1MCwwLjMpO1xyXG59XHJcbi5jYWxjLXJlc3VsdC1jYXJkOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHZhcigtLWdyZWVuKSwgdHJhbnNwYXJlbnQpO1xyXG4gIG9wYWNpdHk6IDAuNDtcclxufVxyXG4uY2FsYy1yZXN1bHQtY2FyZC5wcmltYXJ5OjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XHJcbi5jYWxjLXJlc3VsdC1sYWJlbCB7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMWVtOyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cclxuLmNhbGMtcmVzdWx0LW51bSB7IGZvbnQtc2l6ZTogY2xhbXAoMzBweCwgNHZ3LCA0NnB4KTsgZm9udC13ZWlnaHQ6IDkwMDsgY29sb3I6IHZhcigtLWdyZWVuKTsgbGluZS1oZWlnaHQ6IDE7IG1hcmdpbi1ib3R0b206IDhweDsgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsgfVxyXG4uY2FsYy1yZXN1bHQtbnVtLmxvc3MgeyBjb2xvcjogI2Y5NWM1YzsgfVxyXG4uY2FsYy1yZXN1bHQtc3ViIHsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjUpOyBsaW5lLWhlaWdodDogMS41OyB9XHJcbi5jYWxjLWJyZWFrZG93biB7IGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQyKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgYm9yZGVyLXJhZGl1czogMTZweDsgcGFkZGluZzogMjRweDsgfVxyXG4uY2FsYy1icmVha2Rvd24tdGl0bGUgeyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxyXG4uYnJlYWtkb3duLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogMTBweCAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTsgZm9udC1zaXplOiAxM3B4OyB9XHJcbi5icmVha2Rvd24tcm93Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XHJcbi5icmVha2Rvd24tbGFiZWwgeyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjY1KTsgfVxyXG4uYnJlYWtkb3duLXZhbCB7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAjZjk1YzVjOyB9XHJcbi5icmVha2Rvd24tdmFsLmdyZWVuIHsgY29sb3I6IHZhcigtLWdyZWVuKTsgfVxyXG4uY2FsYy1jdGEtbm90ZSB7IGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjA2KTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNCwyMDMsMTUwLDAuMik7IGJvcmRlci1yYWRpdXM6IDEycHg7IHBhZGRpbmc6IDE4cHggMjJweDsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjcpOyBsaW5lLWhlaWdodDogMS42OyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuLmNhbGMtY3RhLW5vdGUgc3Ryb25nIHsgY29sb3I6IHZhcigtLWdyZWVuKTsgfVxyXG5cclxuXC8qIENPTlRBQ1QgKlwvXHJcbiNjb250YWN0IHsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbi5jb250YWN0LWdsb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogNjAwcHg7IGhlaWdodDogNjAwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHJnYmEoMjQsMjAzLDE1MCwwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcclxuICB0b3A6IC0xMDBweDsgcmlnaHQ6IC0yMDBweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uY29udGFjdC1ncmlkIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDgwcHg7IGFsaWduLWl0ZW1zOiBzdGFydDsgfVxyXG4uY29udGFjdC1oZWFkbGluZSB7IGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgNC41dncsIDUycHgpOyBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMS4xOyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cclxuLmNvbnRhY3QtZGVzYyB7IGZvbnQtc2l6ZTogMTZweDsgY29sb3I6IHJnYmEoMjQ1LDI0NSwyNDUsMC42KTsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XHJcbi5jb250YWN0LWluZm8geyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDIwcHg7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cclxuLmNvbnRhY3QtaW5mby1pdGVtIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNHB4OyBmb250LXNpemU6IDE1cHg7IH1cclxuLmNvbnRhY3QtaW5mby1pY29uIHtcclxuICB3aWR0aDogNDBweDsgaGVpZ2h0OiA0MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNCwyMDMsMTUwLDAuMDgpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQsMjAzLDE1MCwwLjE4KTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZsZXgtc2hyaW5rOiAwO1xyXG59XHJcbi5jb250YWN0LWluZm8tc3ViIHsgZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7IG1hcmdpbi10b3A6IDJweDsgfVxyXG4udHJ1c3QtYmFkZ2VzIHsgZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7IG1hcmdpbi1ib3R0b206IDJyZW07IH1cclxuLnRydXN0LWJhZGdlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiA4cHg7XHJcbiAgcGFkZGluZzogOHB4IDE0cHg7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjY1KTtcclxufVxyXG5cclxuXC8qIEJPT0tJTkcgV0lER0VUICpcL1xyXG4uYm9va2luZy13aWRnZXQge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQyKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2NywxMywyMTMsMC4yNSk7XHJcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuLmJvb2tpbmctd2lkZ2V0OjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwO1xyXG4gIGhlaWdodDogMnB4O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tcHVycGxlKSwgdmFyKC0tZ3JlZW4pKTtcclxufVxyXG4uYm9va2luZy13aWRnZXQtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGdhcDogMTBweDtcclxufVxyXG4uYm9va2luZy13aWRnZXQtdGl0bGUgeyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA4MDA7IH1cclxuLmJvb2tpbmctc3BvdHMtYmFkZ2Uge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBnYXA6IDZweDtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjb2xvcjogdmFyKC0tZ3JlZW4pO1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjA4KTtcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0LDIwMywxNTAsMC4yKTtcclxuICBwYWRkaW5nOiA0cHggMTBweDtcclxuICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxufVxyXG4uYm9va2luZy1xdWFydGVyLW5vdGUge1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBjb2xvcjogcmdiYSgyNDUsMjQ1LDI0NSwwLjUpO1xyXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNnB4O1xyXG59XHJcbi5ib29raW5nLXF1YXJ0ZXItbm90ZSBzcGFuIHsgY29sb3I6ICNmOTVjNWM7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuLmJvb2tpbmctc2xvdHMgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgfVxyXG4uYm9va2luZy1zbG90IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHBhZGRpbmc6IDEwcHggMTRweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XHJcbiAgZ2FwOiAxMnB4O1xyXG59XHJcbi5ib29raW5nLXNsb3Q6aG92ZXIgeyBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ncmVlbik7IGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjA0KTsgfVxyXG4uYm9va2luZy1zbG90LXRpbWUgeyBmb250LXNpemU6IDEycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuLmJvb2tpbmctc2xvdC1kYXkgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTsgfVxyXG4uYm9va2luZy1zbG90LWN0YSB7IGZvbnQtc2l6ZTogMTBweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6IHZhcigtLWdyZWVuKTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgfVxyXG4uYm9va2luZy1jYWxscy1saXZlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ2FwOiA4cHg7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG4gIGNvbG9yOiByZ2JhKDI0NSwyNDUsMjQ1LDAuNTUpO1xyXG4gIG1hcmdpbi10b3A6IDEycHg7XHJcbn1cclxuLmJvb2tpbmctY2FsbHMtbnVtIHsgZm9udC13ZWlnaHQ6IDgwMDsgY29sb3I6IHZhcigtLWdyZWVuKTsgfVxyXG5cclxuXC8qIENPTlRBQ1QgRk9STSAqXC9cclxuLmNvbnRhY3QtZm9ybSB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctY2FyZCk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcclxuICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gIHBhZGRpbmc6IDQwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuLmNvbnRhY3QtZm9ybTo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDtcclxuICBoZWlnaHQ6IDJweDtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWdyZWVuKSwgdmFyKC0tcHVycGxlKSk7XHJcbn1cclxuLmZvcm0tcm93IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDE2cHg7IH1cclxuLmZvcm0tZ3JvdXAgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDhweDsgbWFyZ2luLWJvdHRvbTogMThweDsgfVxyXG4uZm9ybS1ncm91cCBsYWJlbCB7IGZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDcwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpOyB9XHJcbi5mb3JtLWdyb3VwIGlucHV0LCAuZm9ybS1ncm91cCBzZWxlY3QsIC5mb3JtLWdyb3VwIHRleHRhcmVhIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDMpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIHBhZGRpbmc6IDEycHggMTZweDtcclxuICBjb2xvcjogdmFyKC0tdGV4dC13aGl0ZSk7XHJcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4yNXM7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcbi5mb3JtLWdyb3VwIGlucHV0OmZvY3VzLCAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbik7IGJhY2tncm91bmQ6IHJnYmEoMjQsMjAzLDE1MCwwLjA0KTsgfVxyXG4uZm9ybS1ncm91cCBzZWxlY3Qgb3B0aW9uIHsgYmFja2dyb3VuZDogIzE2MTYxNjsgfVxyXG4uZm9ybS1ncm91cCB0ZXh0YXJlYSB7IHJlc2l6ZTogbm9uZTsgaGVpZ2h0OiAxMDBweDsgfVxyXG4uZm9ybS1zdWJtaXQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuKTtcclxuICBjb2xvcjogIzA1MDUwNTtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XHJcbiAgcGFkZGluZzogMTZweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBnYXA6IDhweDtcclxufVxyXG4uZm9ybS1zdWJtaXQ6aG92ZXIgeyBiYWNrZ3JvdW5kOiAjMTJlOGE4OyBib3gtc2hhZG93OiAwIDEycHggNDBweCByZ2JhKDI0LDIwMywxNTAsMC4zNSk7IH1cclxuLmZvcm0tcHJpdmFjeSB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4dC1kaW0pOyBtYXJnaW4tdG9wOiAxNHB4OyBsaW5lLWhlaWdodDogMS41OyB9XHJcblxyXG5cLyogQ1RBIFNUUklQICpcL1xyXG4jY3RhLXN0cmlwIHsgcGFkZGluZzogODBweCAwOyB9XHJcbi5jdGEtaW5uZXIge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWNhcmQpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcclxuICBwYWRkaW5nOiA3MHB4IDgwcHg7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xyXG4gIGdhcDogNjBweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi5jdGEtaW5uZXI6OmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGluc2V0OiAwO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMjQsMjAzLDE1MCwwLjA1KSAwJSwgdHJhbnNwYXJlbnQgNjAlKTtcclxuICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG59XHJcbi5jdGEtaW5uZXI6OmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDQwMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCByZ2JhKDE2NywxMywyMTMsMC4xKSAwJSwgdHJhbnNwYXJlbnQgNzAlKTtcclxuICByaWdodDogLTEwMHB4OyBib3R0b206IC0xMDBweDtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uY3RhLWhlYWRsaW5lIHsgZm9udC1zaXplOiBjbGFtcCgyOHB4LCA0dncsIDQ0cHgpOyBmb250LXdlaWdodDogOTAwOyBsaW5lLWhlaWdodDogMS4xOyBtYXJnaW4tYm90dG9tOiAxcmVtOyBwb3NpdGlvbjogcmVsYXRpdmU7IHotaW5kZXg6IDE7IH1cclxuLmN0YS1zdWIgeyBmb250LXNpemU6IDE2cHg7IGNvbG9yOiByZ2JhKDI0NSwyNDUsMjQ1LDAuNik7IGxpbmUtaGVpZ2h0OiAxLjc7IHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTsgfVxyXG4uY3RhLXJpZ2h0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiAxNnB4OyBmbGV4LXNocmluazogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxOyB9XHJcblxyXG5cLyogU1RJQ0tZIENUQSAqXC9cclxuLnN0aWNreS1jdGEge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDI4cHg7IHJpZ2h0OiAyOHB4O1xyXG4gIHotaW5kZXg6IDk5OTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlO1xyXG59XHJcbi5zdGlja3ktY3RhLnNob3cgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cclxuLnN0aWNreS1idG4ge1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLWdyZWVuKTtcclxuICBjb2xvcjogIzA1MDUwNTtcclxuICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHBhZGRpbmc6IDEzcHggMjJweDtcclxuICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgyNCwyMDMsMTUwLDAuNCk7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogOHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG4uc3RpY2t5LWJ0bjpob3ZlciB7IGJhY2tncm91bmQ6ICMxMmU4YTg7IHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7IH1cclxuXHJcblwvKiBSRVNQT05TSVZFICpcL1xyXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgLndoeS1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogNDhweDsgfVxyXG4gIC5zZXJ2aWNlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxyXG4gIC5wcm9jZXNzLXN0ZXBzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxyXG4gIC5wcm9jZXNzLXN0ZXBzOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XHJcbiAgLnJlc3VsdHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cclxuICAud2hvLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XHJcbiAgLnRlc3RpbW9uaWFscy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxyXG4gIC5wcm9vZi1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxyXG4gIC5jb250YWN0LWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiA0OHB4OyB9XHJcbiAgLm5ld3NsZXR0ZXItaW5uZXIgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgZ2FwOiA0OHB4OyB9XHJcbiAgLmNhbGMtd3JhcCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbiAgLmNhbGMtcmVzdWx0cyB7IHBvc2l0aW9uOiBzdGF0aWM7IH1cclxuICAuY3RhLWlubmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgcGFkZGluZzogNTBweCA0MHB4OyB9XHJcbiAgLmN0YS1yaWdodCB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICBzZWN0aW9uIHsgcGFkZGluZzogNzBweCAwOyB9XHJcbiAgLmNvbnRhaW5lciB7IHBhZGRpbmc6IDAgMS4yNXJlbTsgfVxyXG4gIC5zZXJ2aWNlcy1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuICAucHJvY2Vzcy1zdGVwcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbiAgLnJlc3VsdHMtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XHJcbiAgLndoby1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cclxuICAudGVzdGltb25pYWxzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxyXG4gIC5jb250YWN0LWZvcm0geyBwYWRkaW5nOiAyOHB4IDIycHg7IH1cclxuICAuZm9ybS1yb3cgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxyXG4gIC5jdGEtaW5uZXIgeyBwYWRkaW5nOiAzNnB4IDI0cHg7IH1cclxuICAuY3RhLXJpZ2h0IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxyXG4gIC5oZXJvLXN0YXRzIHsgZ2FwOiAyOHB4OyB9XHJcbiAgLmNhbGMtaW5wdXRzIHsgcGFkZGluZzogMjJweCAxOHB4OyB9XHJcbiAgLnN0aWNreS1jdGEgeyBib3R0b206IDE2cHg7IHJpZ2h0OiAxNnB4OyB9XHJcbn1cclxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgLmhlcm8tY3RhLXJvdyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XHJcbiAgLmhlcm8tY3RhLXJvdyAuYnRuLXByaW1hcnksIC5oZXJvLWN0YS1yb3cgLmJ0bi1naG9zdCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XHJcbiAgLnVyZ2VuY3ktYmFubmVyIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxyXG4gIC5wcm9vZi1ncmlkIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxyXG4gIC5icmVha2Rvd24tcm93IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IGdhcDogNHB4OyB9XHJcbn1cclxuPFwvc3R5bGU+XHJcbjxcL2hlYWQ+XHJcbjxib2R5PlxyXG5cclxuPCEtLSBTdGlja3kgQ1RBIC0tPlxyXG48ZGl2IGNsYXNzPVwic3RpY2t5LWN0YVwiIGlkPVwic3RpY2t5Q1RBXCI+XHJcbiAgPGEgaHJlZj1cIiNjb250YWN0XCIgY2xhc3M9XCJzdGlja3ktYnRuXCI+XHJcbiAgICA8c3Bhbj5cdWQ4M2RcdWRjZGU8XC9zcGFuPiBCb29rIGEgRnJlZSBTdHJhdGVneSBDYWxsXHJcbiAgPFwvYT5cclxuPFwvZGl2PlxyXG5cclxuPCEtLSA9PT09PSBIRVJPID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cImhlcm9cIj5cclxuICA8ZGl2IGNsYXNzPVwiZ3JpZC1iZ1wiPjxcL2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaGVyby1nbG93LTFcIj48XC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImhlcm8tZ2xvdy0yXCI+PFwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBzdHlsZT1cInBvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwidXJnZW5jeS1iYW5uZXIgcmV2ZWFsXCIgc3R5bGU9XCJtYXJnaW4tYm90dG9tOjIuNXJlbTtcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInVyZ2VuY3ktdGV4dFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsaXZlLWRvdFwiPjxcL2Rpdj5cclxuICAgICAgICA8c3Bhbj48c3Ryb25nIHN0eWxlPVwiY29sb3I6dmFyKC0tZ3JlZW4pO1wiPkVsZGVyYmxvb20gU3RyYXRlZ2llczxcL3N0cm9uZz4gXHUyMDE0IFNlbmlvciBMaXZpbmcgTWFya2V0aW5nIEFnZW5jeSBcdTAwYjcgQm9zdG9uLCBNQTxcL3NwYW4+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHg7ZmxleC13cmFwOndyYXA7XCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1cmdlbmN5LWJhZGdlXCI+XHVkODNkXHVkZDI1IE9ubHkgMiBTcG90cyBMZWZ0IFRoaXMgUXVhcnRlcjxcL3NwYW4+XHJcbiAgICAgICAgPGEgaHJlZj1cIiNjb250YWN0XCIgY2xhc3M9XCJidG4tcHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOjEycHg7cGFkZGluZzoxMHB4IDE4cHg7XCI+Q2xhaW0gWW91ciBTcG90IFx1MjE5MjxcL2E+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVyby1leWVicm93IHJldmVhbFwiPkV4Y2x1c2l2ZWx5IFNlbmlvciBMaXZpbmcgXHUwMGI3IEJvc3RvbiwgTUEgXHUwMGI3IDE0MCsgQ29tbXVuaXRpZXMgU2VydmVkPFwvZGl2PlxyXG5cclxuICAgIDxoMSBjbGFzcz1cImhlcm8taGVhZGxpbmUgcmV2ZWFsXCI+XHJcbiAgICAgIFRoZSBPbmx5IEFnZW5jeSBCdWlsdDxicj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJncmFkaWVudC10ZXh0XCI+RXhjbHVzaXZlbHkgZm9yIFNlbmlvciBMaXZpbmcuPFwvc3Bhbj5cclxuICAgIDxcL2gxPlxyXG5cclxuICAgIDxwIGNsYXNzPVwiaGVyby1zdWIgcmV2ZWFsIHJldmVhbC1kZWxheS0xXCI+XHJcbiAgICAgIFdlIGhlbHAgRGlyZWN0b3JzIG9mIE1hcmtldGluZywgVlAgb2YgU2FsZXMsIE93bmVycyBhbmQgT3BlcmF0b3JzIGZpbGwgYmVkcyBmYXN0ZXIgXHUyMDE0IHdpdGggR29vZ2xlIEFkcywgTG9jYWwgU0VPLCBNZXRhIEFkcywgQ1JNIEF1dG9tYXRpb24sIFJlcHV0YXRpb24gTWFuYWdlbWVudCwgYW5kIG1vcmUuIEV2ZXJ5IHN0cmF0ZWd5IGlzIGJ1aWx0IGZvciBzZW5pb3IgbGl2aW5nLiBOb3RoaW5nIGVsc2UuXHJcbiAgICA8XC9wPlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJoZXJvLWN0YS1yb3cgcmV2ZWFsIHJldmVhbC1kZWxheS0yXCI+XHJcbiAgICAgIDxhIGhyZWY9XCIjY29udGFjdFwiIGNsYXNzPVwiYnRuLXByaW1hcnlcIj5Cb29rIGEgRnJlZSBTdHJhdGVneSBDYWxsIDxzcGFuPlx1MjE5MjxcL3NwYW4+PFwvYT5cclxuICAgICAgPGEgaHJlZj1cIiN3aGF0LXdlLWRvXCIgY2xhc3M9XCJidG4tZ2hvc3RcIj5TZWUgV2hhdCBXZSBEbyBcdTIxOTM8XC9hPlxyXG4gICAgPFwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJoZXJvLXRydXN0LXJvdyByZXZlYWwgcmV2ZWFsLWRlbGF5LTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhlcm8tdHJ1c3QtaXRlbVwiPlNlbmlvciBsaXZpbmcgZXhjbHVzaXZlPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVyby10cnVzdC1pdGVtXCI+MTQwKyBjb21tdW5pdGllcyBzZXJ2ZWQ8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZXJvLXRydXN0LWl0ZW1cIj5VUyBcdTAwYjcgQ2FuYWRhIFx1MDBiNyBFdXJvcGU8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZXJvLXRydXN0LWl0ZW1cIj5BdmVyYWdlIDk0JSBvY2N1cGFuY3kgYWNoaWV2ZWQ8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZXJvLXRydXN0LWl0ZW1cIj5SZXN1bHRzIGluIDYwXHUyMDEzOTAgZGF5czxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVyby1zdGF0cyByZXZlYWwgcmV2ZWFsLWRlbGF5LTRcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVyby1zdGF0LW51bSBjb3VudC11cFwiIGRhdGEtdGFyZ2V0PVwiMTQwXCI+MDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVyby1zdGF0LWxhYmVsXCI+Q29tbXVuaXRpZXMgU2VydmVkIEFjcm9zcyAzIENvbnRpbmVudHM8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVyby1zdGF0LW51bSBjb3VudC11cFwiIGRhdGEtdGFyZ2V0PVwiOTRcIj4wPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZXJvLXN0YXQtbGFiZWxcIj4lIEF2ZXJhZ2UgT2NjdXBhbmN5IEFjaGlldmVkPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlcm8tc3RhdC1udW0gY291bnQtdXBcIiBkYXRhLXRhcmdldD1cIjMxOFwiPjA8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlcm8tc3RhdC1sYWJlbFwiPiUgQXZlcmFnZSBPcmdhbmljIElucXVpcnkgSW5jcmVhc2U8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVyby1zdGF0LW51bVwiIHN0eWxlPVwiZm9udC1zaXplOjQycHg7Zm9udC13ZWlnaHQ6OTAwO2NvbG9yOnZhcigtLWdyZWVuKTtsaW5lLWhlaWdodDoxO1wiPjEyKzxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVyby1zdGF0LWxhYmVsXCI+U2VuaW9yIExpdmluZyBTZXJ2aWNlcyBVbmRlciBPbmUgUm9vZjxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG5cclxuICA8XC9kaXY+XHJcbjxcL3NlY3Rpb24+XHJcblxyXG48IS0tIFRJQ0tFUiAtLT5cclxuPGRpdiBjbGFzcz1cInRpY2tlci13cmFwXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRpY2tlci10cmFja1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5DUk0gJmFtcDsgQXV0b21hdGlvbjxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+R29vZ2xlIFNlYXJjaCBBZHM8XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPkxvY2FsIFNFTzxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+TWV0YSBBZHM8XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPlNFTyAmYW1wOyBBRU88XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPlVYIFwvIFVJIERlc2lnbjxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+V2ViIERldmVsb3BtZW50PFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5SZXB1dGF0aW9uIE1hbmFnZW1lbnQ8XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPlRyYWNraW5nICZhbXA7IFJlcG9ydGluZzxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+U3RyYXRlZ2ljIFNvY2lhbCBNZWRpYTxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+Q29tbXVuaXR5IEJyYW5kaW5nPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5QdWJsaWMgUmVsYXRpb25zPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5WaWRlb2dyYXBoeSAmYW1wOyBQaG90b2dyYXBoeTxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+VmlydHVhbCBUb3VyIEludGVncmF0aW9uczxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+Q1JNICZhbXA7IEF1dG9tYXRpb248XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPkdvb2dsZSBTZWFyY2ggQWRzPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5Mb2NhbCBTRU88XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPk1ldGEgQWRzPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5TRU8gJmFtcDsgQUVPPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5VWCBcLyBVSSBEZXNpZ248XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPldlYiBEZXZlbG9wbWVudDxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+UmVwdXRhdGlvbiBNYW5hZ2VtZW50PFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRpY2tlci1pdGVtXCI+PHNwYW4gY2xhc3M9XCJ0aWNrZXItZG90XCI+PFwvc3Bhbj5UcmFja2luZyAmYW1wOyBSZXBvcnRpbmc8XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPlN0cmF0ZWdpYyBTb2NpYWwgTWVkaWE8XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPkNvbW11bml0eSBCcmFuZGluZzxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+UHVibGljIFJlbGF0aW9uczxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aWNrZXItaXRlbVwiPjxzcGFuIGNsYXNzPVwidGlja2VyLWRvdFwiPjxcL3NwYW4+VmlkZW9ncmFwaHkgJmFtcDsgUGhvdG9ncmFwaHk8XC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGlja2VyLWl0ZW1cIj48c3BhbiBjbGFzcz1cInRpY2tlci1kb3RcIj48XC9zcGFuPlZpcnR1YWwgVG91ciBJbnRlZ3JhdGlvbnM8XC9kaXY+XHJcbiAgPFwvZGl2PlxyXG48XC9kaXY+XHJcblxyXG48IS0tID09PT09IFBST09GIFNUUklQID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cInByb29mLXN0cmlwXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb29mLWdyaWQgcmV2ZWFsXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9vZi1jZWxsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb29mLW51bVwiPjE0MCs8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb29mLWxhYmVsXCI+Q29tbXVuaXRpZXMgQWNyb3NzIFVTLCBDYW5hZGEgJmFtcDsgRXVyb3BlPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9vZi1jZWxsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb29mLW51bVwiPjk0JTxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvb2YtbGFiZWxcIj5BdmVyYWdlIE9jY3VwYW5jeSBBY2hpZXZlZCBmb3IgTG9uZy1UZXJtIENsaWVudHM8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByb29mLWNlbGxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvb2YtbnVtXCI+MzE4JTxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvb2YtbGFiZWxcIj5BdmVyYWdlIEluY3JlYXNlIGluIFF1YWxpZmllZCBPcmdhbmljIElucXVpcmllczxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvb2YtY2VsbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9vZi1udW1cIj42MCBEYXlzPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9vZi1sYWJlbFwiPkF2ZXJhZ2UgVGltZSB0byBGaXJzdCBNZWFzdXJhYmxlIFJlc3VsdHM8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuICA8XC9kaXY+XHJcbjxcL3NlY3Rpb24+XHJcblxyXG48IS0tID09PT09IFdIWSBFTERFUkJMT09NID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cIndoeS11c1wiIHN0eWxlPVwiYmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIndoeS1ncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZlYWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFnXCI+V2h5IEVsZGVyYmxvb208XC9kaXY+XHJcbiAgICAgICAgPGgyIGNsYXNzPVwid2h5LWhlYWRsaW5lXCI+WW91ciBDb21tdW5pdHkgRGVzZXJ2ZXMgYW4gQWdlbmN5IFRoYXQgPHNwYW4gY2xhc3M9XCJncmFkaWVudC10ZXh0XCI+QWN0dWFsbHkgU3BlYWtzIFNlbmlvciBMaXZpbmcuPFwvc3Bhbj48XC9oMj5cclxuICAgICAgICA8cCBjbGFzcz1cIndoeS1kZXNjXCI+XHJcbiAgICAgICAgICBNb3N0IG1hcmtldGluZyBhZ2VuY2llcyB0cmVhdCBzZW5pb3IgbGl2aW5nIGxpa2UgYW55IG90aGVyIHZlcnRpY2FsIFx1MjAxNCB0aGV5IGFwcGx5IHRoZSBzYW1lIHBsYXlib29rIHRoZXkgdXNlIGZvciBkZW50aXN0cywgbGF3IGZpcm1zLCBhbmQgZS1jb21tZXJjZSBzdG9yZXMuIFRoZSByZXN1bHQ\/IFRyYWZmaWMgd2l0aCBubyBpbnF1aXJpZXMuIEFkIHNwZW5kIHdpdGggbm8gbW92ZS1pbnMuIFJlcG9ydHMgZnVsbCBvZiB2YW5pdHkgbWV0cmljcyBhbmQgZW1wdHkgYmVkcy5cclxuICAgICAgICA8XC9wPlxyXG4gICAgICAgIDxwIGNsYXNzPVwid2h5LWRlc2NcIj5cclxuICAgICAgICAgIEVsZGVyYmxvb20gd29ya3MgZXhjbHVzaXZlbHkgd2l0aCBzZW5pb3IgbGl2aW5nIGNvbW11bml0aWVzLiBXZSB1bmRlcnN0YW5kIGhvdyBmYW1pbGllcyBzZWFyY2ggZm9yIGNhcmUsIGhvdyBtb3ZlLWluIGRlY2lzaW9ucyBhcmUgbWFkZSwgYW5kIGhvdyB0byBjb25uZWN0IGV2ZXJ5IGRvbGxhciBvZiBtYXJrZXRpbmcgc3BlbmQgdG8gY2Vuc3VzIGdyb3d0aC4gV2UgaGF2ZSBoZWxwZWQgMTQwKyBjb21tdW5pdGllcyBhY3Jvc3MgdGhlIFVTLCBDYW5hZGEsIGFuZCBFdXJvcGUgYWNoaWV2ZSBhbiBhdmVyYWdlIG9mIDk0JSBvY2N1cGFuY3kgXHUyMDE0IGFuZCB3ZSBjYW4gZG8gdGhlIHNhbWUgZm9yIHlvdXJzLlxyXG4gICAgICAgIDxcL3A+XHJcbiAgICAgICAgPGEgaHJlZj1cIiNjb250YWN0XCIgY2xhc3M9XCJidG4tcHJpbWFyeVwiPlNlZSBJZiBXZSdyZSBhIEZpdCBcdTIxOTI8XC9hPlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3aHktc3RhdHMtc3RhY2sgcmV2ZWFsIHJldmVhbC1kZWxheS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoeS1zdGF0LWl0ZW1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aHktc3RhdC1udW1cIj43MCUrPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndoeS1zdGF0LWRlc2NcIj48c3Ryb25nPm9mIHNlbmlvciBsaXZpbmcgc2VhcmNoZXM8XC9zdHJvbmc+IGJlZ2luIG9uIEdvb2dsZS4gSWYgeW91ciBjb21tdW5pdHkgaXNuJ3QgcmFua2luZyBpbiB0aGUgdG9wIDMsIHlvdSdyZSBpbnZpc2libGUgdG8gdGhlIGZhbWlsaWVzIGNob29zaW5nIHJpZ2h0IG5vdy48XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aHktc3RhdC1pdGVtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2h5LXN0YXQtbnVtXCI+OVx1MDBkNzxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aHktc3RhdC1kZXNjXCI+PHN0cm9uZz5tb3JlIGxpa2VseSB0byBjb252ZXJ0PFwvc3Ryb25nPiB3aGVuIHlvdSByZXNwb25kIHRvIGFuIGlucXVpcnkgd2l0aGluIDUgbWludXRlcy4gT3VyIENSTSBhdXRvbWF0aW9uIG1ha2VzIHRoYXQgdGhlIHN0YW5kYXJkIFx1MjAxNCBub3QgdGhlIGV4Y2VwdGlvbi48XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aHktc3RhdC1pdGVtXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2h5LXN0YXQtbnVtXCI+JDUwSys8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwid2h5LXN0YXQtZGVzY1wiPjxzdHJvbmc+YW5udWFsIHJldmVudWUgcGVyIG1vdmUtaW48XC9zdHJvbmc+IGF0IGF2ZXJhZ2UgbW9udGhseSByYXRlcy4gT25lIGFkZGl0aW9uYWwgcmVzaWRlbnQgcGVyIG1vbnRoIGZyb20gb3VyIHN5c3RlbSBjYW4gZ2VuZXJhdGUgJDYwMEsrIGluIGxpZmV0aW1lIHZhbHVlLjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoeS1zdGF0LWl0ZW1cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aHktc3RhdC1udW1cIj4xMDAlPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIndoeS1zdGF0LWRlc2NcIj48c3Ryb25nPnNlbmlvciBsaXZpbmcgZm9jdXNlZC48XC9zdHJvbmc+IFdlIGRvbid0IHdvcmsgd2l0aCByZXN0YXVyYW50cywgZS1jb21tZXJjZSwgb3IgbGF3IGZpcm1zLiBPbmx5IHNlbmlvciBsaXZpbmcgXHUyMDE0IHNvIGV2ZXJ5IHN0cmF0ZWd5IHdlIGJ1aWxkIGlzIHB1cnBvc2UtYnVpbHQgZm9yIHlvdXIgbWFya2V0LjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuICA8XC9kaXY+XHJcbjxcL3NlY3Rpb24+XHJcblxyXG48IS0tID09PT09IFdIQVQgV0UgRE8gPT09PT0gLS0+XHJcbjxzZWN0aW9uIGlkPVwid2hhdC13ZS1kb1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyZXZlYWxcIiBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyO21hcmdpbi1ib3R0b206MTZweDtcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiIHN0eWxlPVwibWFyZ2luOjAgYXV0byAxLjVyZW07XCI+T3VyIFNlcnZpY2VzPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJldmVhbFwiIHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7XCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cInNlcnZpY2VzLWhlYWRsaW5lXCI+RXZlcnl0aGluZyBTZW5pb3IgTGl2aW5nPGJyPjxzcGFuIGNsYXNzPVwiZ3JhZGllbnQtdGV4dFwiPk5lZWRzIHRvIEZpbGwgQmVkcyAmYW1wOyBHcm93IFJldmVudWU8XC9zcGFuPjxcL2gyPlxyXG4gICAgICA8cCBjbGFzcz1cInNlcnZpY2VzLXN1YlwiIHN0eWxlPVwibWFyZ2luOjFyZW0gYXV0byA2MHB4O1wiPk5vdCBnZW5lcmljIGRpZ2l0YWwgbWFya2V0aW5nLiBOb3QgY29weS1wYXN0ZSB0YWN0aWNzLiBFdmVyeSBzZXJ2aWNlIGlzIGVuZ2luZWVyZWQgc3BlY2lmaWNhbGx5IGZvciBob3cgZmFtaWxpZXMgc2VhcmNoIGZvciBcdTIwMTQgYW5kIGNob29zZSBcdTIwMTQgc2VuaW9yIGNhcmUuPFwvcD5cclxuICAgIDxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlcy1ncmlkXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkIHJldmVhbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWljb25cIj5cdTI2OTlcdWZlMGY8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtdGl0bGVcIj5DUk0gJmFtcDsgQXV0b21hdGlvbjxcL2Rpdj5cclxuICAgICAgICA8cCBjbGFzcz1cInNlcnZpY2UtZGVzY1wiPlNwZWVkLXRvLWxlYWQgaXMgZXZlcnl0aGluZyBpbiBzZW5pb3IgbGl2aW5nLiBPdXIgQ1JNIGF1dG9tYXRpb24gZW5zdXJlcyBubyBpbnF1aXJ5IHdhaXRzIG1vcmUgdGhhbiA1IG1pbnV0ZXMgZm9yIGEgcmVzcG9uc2UgXHUyMDE0IDI0XC83LCBhdXRvbWF0aWNhbGx5LjxcL3A+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0c1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+QXV0b21hdGVkIGxlYWQgbnVydHVyZSBzZXF1ZW5jZXMgYnVpbHQgZm9yIHNlbmlvciBjYXJlIGJ1eWVyIGpvdXJuZXlzPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+NS1taW51dGUgcmVzcG9uc2UgcHJvdG9jb2xzIHRoYXQgaW5jcmVhc2UgdG91ciBjb252ZXJzaW9ucyA5XHUwMGQ3PFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+Q1JNIHNldHVwLCBpbnRlZ3JhdGlvbiwgYW5kIHRlYW0gdHJhaW5pbmc8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5QaXBlbGluZSByZXBvcnRpbmcgdGllZCB0byBtb3ZlLWluIHZlbG9jaXR5PFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1pY29uXCI+XHVkODNkXHVkZDBkPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXRpdGxlXCI+R29vZ2xlIFNlYXJjaCBBZHM8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJzZXJ2aWNlLWRlc2NcIj5DYXB0dXJlIGhpZ2gtaW50ZW50IGZhbWlsaWVzIGFjdGl2ZWx5IHNlYXJjaGluZyBmb3IgY2FyZSByaWdodCBub3cuIE91ciBHb29nbGUgQWRzIGNhbXBhaWducyBhcmUgYnVpbHQgYXJvdW5kIHNlbmlvciBsaXZpbmcgc2VhcmNoIGJlaGF2aW9yIFx1MjAxNCBub3QgZ2VuZXJpYyBQUEMgZm9ybXVsYXMuPFwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5TZW5pb3IgbGl2aW5nIGtleXdvcmQgcmVzZWFyY2ggJmFtcDsgbmVnYXRpdmUgbWF0Y2ggYXJjaGl0ZWN0dXJlPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+QWQgY29weSB0aGF0IGNvbnZlcnRzIGFueGlldHkgaW50byBpbnF1aXJ5PFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+TGFuZGluZyBwYWdlcyBvcHRpbWl6ZWQgZm9yIHNlbmlvciBsaXZpbmcgY29udmVyc2lvbjxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPkZ1bGwgYXR0cmlidXRpb24gZnJvbSBjbGljayB0byBtb3ZlLWluPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1pY29uXCI+XHVkODNkXHVkY2NkPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXRpdGxlXCI+TG9jYWwgU0VPPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwic2VydmljZS1kZXNjXCI+T3ZlciA3MCUgb2YgZmFtaWxpZXMgc2VhcmNoaW5nIGZvciBzZW5pb3IgY2FyZSBzdGFydCB3aXRoIGEgbG9jYWwgR29vZ2xlIHNlYXJjaC4gV2UgZ2V0IHlvdXIgY29tbXVuaXR5IGludG8gdGhlIHRvcCAzIG1hcCBwYWNrIHJlc3VsdHMgXHUyMDE0IGFuZCBrZWVwIHlvdSB0aGVyZS48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldHNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPkdvb2dsZSBCdXNpbmVzcyBQcm9maWxlIG9wdGltaXphdGlvbiAmYW1wOyBvbmdvaW5nIG1hbmFnZW1lbnQ8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5DaXRhdGlvbiBidWlsZGluZywgY2xlYW51cCAmYW1wOyBOQVAgY29uc2lzdGVuY3k8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5HZW8tdGFyZ2V0ZWQgY29udGVudCAmYW1wOyBsb2NhdGlvbiBwYWdlczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPk1hcCBwYWNrIHJhbmtpbmcgd2l0aCBtb250aGx5IG9jY3VwYW5jeS10aWVkIHJlcG9ydGluZzxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWNhcmQgcmV2ZWFsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtaWNvblwiPlx1ZDgzZFx1ZGNmMTxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS10aXRsZVwiPk1ldGEgQWRzPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwic2VydmljZS1kZXNjXCI+UmVhY2ggYWR1bHQgY2hpbGRyZW4gYW5kIGZhbWlseSBkZWNpc2lvbi1tYWtlcnMgb24gRmFjZWJvb2sgYW5kIEluc3RhZ3JhbSBhdCB0aGUgZXhhY3QgbW9tZW50IHRoZWlyIGxvdmVkIG9uZSBuZWVkcyBjYXJlIFx1MjAxNCBiZWZvcmUgdGhleSBldmVyIEdvb2dsZSB5b3UuPFwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5BdWRpZW5jZSB0YXJnZXRpbmcgYnVpbHQgYXJvdW5kIHNlbmlvciBsaXZpbmcgZmFtaWx5IGRlbW9ncmFwaGljczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPlZpZGVvIGFuZCBjcmVhdGl2ZSB0aGF0IHRlbGxzIHlvdXIgY29tbXVuaXR5J3Mgc3Rvcnk8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5SZXRhcmdldGluZyBzZXF1ZW5jZXMgdGhhdCBrZWVwIHlvdXIgY29tbXVuaXR5IHRvcC1vZi1taW5kPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+TGVhZCBnZW5lcmF0aW9uIGNhbXBhaWducyB0aWVkIHRvIHRvdXIgYm9va2luZ3M8XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkIHJldmVhbCByZXZlYWwtZGVsYXktMVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWljb25cIj5cdWQ4M2RcdWRjY2E8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtdGl0bGVcIj5TRU8gJmFtcDsgQUVPPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwic2VydmljZS1kZXNjXCI+UmFuayBvbiBHb29nbGUgdG9kYXkgYW5kIGluIEFJIGFuc3dlciBlbmdpbmVzIHRvbW9ycm93LiBPdXIgU0VPICZhbXA7IEFuc3dlciBFbmdpbmUgT3B0aW1pemF0aW9uIHN0cmF0ZWd5IHBvc2l0aW9ucyB5b3VyIGNvbW11bml0eSBmb3IgaG93IGZhbWlsaWVzIHNlYXJjaCBub3cgYW5kIGluIDIwMjYgYW5kIGJleW9uZC48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldHNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPlRlY2huaWNhbCBTRU8sIHNjaGVtYSBtYXJrdXAgJmFtcDsgQ29yZSBXZWIgVml0YWxzIG9wdGltaXphdGlvbjxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPkNvbnRlbnQgc3RyYXRlZ3kgYnVpbHQgYXJvdW5kIHNlbmlvciBsaXZpbmcgc2VhcmNoIGludGVudDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPkFFTyBvcHRpbWl6YXRpb24gZm9yIEdvb2dsZSBBSSBPdmVydmlld3MsIENoYXRHUFQgJmFtcDsgUGVycGxleGl0eTxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPkF1dGhvcml0eSBidWlsZGluZyB0aHJvdWdoIGNvbnRlbnQsIGxpbmtzICZhbXA7IHRvcGljYWwgZGVwdGg8XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkIHJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWljb25cIj5cdTJiNTA8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtdGl0bGVcIj5SZXB1dGF0aW9uIE1hbmFnZW1lbnQ8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJzZXJ2aWNlLWRlc2NcIj5BIDQuOC1zdGFyIGNvbW11bml0eSBnZXRzIHRoZSBjYWxsLiBBIDMuNi1zdGFyIGNvbW11bml0eSBnZXRzIHNraXBwZWQuIFdlIHN5c3RlbWF0aWNhbGx5IGJ1aWxkIHlvdXIgb25saW5lIHJlcHV0YXRpb24gXHUyMDE0IHJldmlldyBieSByZXZpZXcgXHUyMDE0IHVudGlsIGZhbWlsaWVzIGNob29zZSB5b3UgZmlyc3QuPFwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5BdXRvbWF0ZWQgcmV2aWV3IHJlcXVlc3QgY2FtcGFpZ25zIHBvc3QtdG91ciAmYW1wOyBwb3N0LW1vdmUtaW48XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5NdWx0aS1wbGF0Zm9ybSBtYW5hZ2VtZW50OiBHb29nbGUsIEEgUGxhY2UgZm9yIE1vbSwgQ2FyaW5nLmNvbTxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPk5lZ2F0aXZlIHJldmlldyByZXNwb25zZSBzdHJhdGVneSAmYW1wOyBjcmlzaXMgbWFuYWdlbWVudDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPlN0YXIgcmF0aW5nIGltcHJvdmVtZW50IHJvYWRtYXAgd2l0aCB0aW1lbGluZSBwcm9qZWN0aW9uczxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWNhcmQgcmV2ZWFsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtaWNvblwiPlx1ZDgzY1x1ZGZhODxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS10aXRsZVwiPlVYXC9VSSAmYW1wOyBXZWIgRGV2ZWxvcG1lbnQ8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJzZXJ2aWNlLWRlc2NcIj5Zb3VyIHdlYnNpdGUgaXMgdGhlIGZpcnN0IGltcHJlc3Npb24gZm9yIGZhbWlsaWVzIG1ha2luZyBvbmUgb2YgdGhlIGhhcmRlc3QgZGVjaXNpb25zIG9mIHRoZWlyIGxpdmVzLiBXZSBidWlsZCBzZW5pb3IgbGl2aW5nIHdlYnNpdGVzIHRoYXQgY29udmVydCB2aXNpdG9ycyBpbnRvIGlucXVpcmllcy48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldHNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPkNvbnZlcnNpb24tb3B0aW1pemVkIHdlYnNpdGUgZGVzaWduIGZvciBzZW5pb3IgbGl2aW5nIGF1ZGllbmNlczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPk1vYmlsZS1maXJzdCwgV0NBRy1hY2Nlc3NpYmxlLCBhbmQgQ29yZSBXZWIgVml0YWxzIGNvbXBsaWFudDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPlZpcnR1YWwgdG91ciBpbnRlZ3JhdGlvbnMgJmFtcDsgaW50ZXJhY3RpdmUgY29tbXVuaXR5IGV4cGVyaWVuY2VzPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+T25nb2luZyBDUk8gdGVzdGluZyB0byBjb250aW51b3VzbHkgaW1wcm92ZSBpbnF1aXJ5IHJhdGVzPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1pY29uXCI+XHVkODNkXHVkY2M4PFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXRpdGxlXCI+VHJhY2tpbmcgJmFtcDsgUmVwb3J0aW5nPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwic2VydmljZS1kZXNjXCI+V2UgZG9uJ3QgcmVwb3J0IG9uIGltcHJlc3Npb25zIGFuZCBjbGlja3MuIEV2ZXJ5IGRhc2hib2FyZCB3ZSBidWlsZCB0aWVzIG1hcmtldGluZyBwZXJmb3JtYW5jZSB0byB0aGUgbnVtYmVyIHRoYXQgbWF0dGVyczogb2NjdXBpZWQgdW5pdHMuPFwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5DYWxsIHRyYWNraW5nLCBmb3JtIGF0dHJpYnV0aW9uICZhbXA7IGZ1bGwtZnVubmVsIGFuYWx5dGljczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPk1vbnRobHkgcmV2ZW51ZSBpbXBhY3QgcmVwb3J0aW5nIFx1MjAxNCBub3QgdmFuaXR5IG1ldHJpY3M8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5Qb3J0Zm9saW8gZGFzaGJvYXJkcyBmb3IgbXVsdGktY29tbXVuaXR5IG9wZXJhdG9yczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPlF1YXJ0ZXJseSBzdHJhdGVneSByZXZpZXdzIHdpdGggY2Vuc3VzIGdyb3d0aCBiZW5jaG1hcmtzPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1pY29uXCI+XHVkODNjXHVkZmE1PFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLXRpdGxlXCI+VmlkZW9ncmFwaHksIFBob3RvZ3JhcGh5ICZhbXA7IEJyYW5kaW5nPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwic2VydmljZS1kZXNjXCI+Q29tbXVuaXR5IGJyYW5kaW5nLCB2aXN1YWwgc3Rvcnl0ZWxsaW5nLCBhbmQgcHJvZmVzc2lvbmFsIGNvbnRlbnQgdGhhdCBzaG93cyBmYW1pbGllcyBcdTIwMTQgbm90IGp1c3QgdGVsbHMgdGhlbSBcdTIwMTQgd2h5IHlvdXIgY29tbXVuaXR5IGlzIHdoZXJlIHRoZWlyIGxvdmVkIG9uZSBiZWxvbmdzLjxcL3A+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0c1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+UHJvZmVzc2lvbmFsIGNvbW11bml0eSBwaG90b2dyYXBoeSAmYW1wOyBsaWZlc3R5bGUgdmlkZW9ncmFwaHk8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1idWxsZXRcIj5Db21tdW5pdHkgYnJhbmQgaWRlbnRpdHk6IGxvZ28sIHZvaWNlLCBjb2xvciwgYW5kIHBvc2l0aW9uaW5nPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNlcnZpY2UtYnVsbGV0XCI+VmlydHVhbCB3ZWJzaXRlIHRvdXIgaW50ZWdyYXRpb25zIGZvciBpbW1lcnNpdmUgZGlnaXRhbCB0b3VyczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWJ1bGxldFwiPlNvY2lhbCBtZWRpYSBjb250ZW50LCBQUiBzdHJhdGVneSAmYW1wOyBtZWRpYSBwbGFjZW1lbnRzPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgIDxcL2Rpdj5cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwidGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDo0OHB4O1wiIGNsYXNzPVwicmV2ZWFsXCI+XHJcbiAgICAgIDxhIGhyZWY9XCIjY29udGFjdFwiIGNsYXNzPVwiYnRuLXByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZToxNXB4O3BhZGRpbmc6MTZweCAzMnB4O1wiPkdldCBhIEZyZWUgU3RyYXRlZ3kgQ29uc3VsdGF0aW9uIFx1MjE5MjxcL2E+XHJcbiAgICAgIDxwIHN0eWxlPVwiZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1tdXRlZCk7bWFyZ2luLXRvcDoxMnB4O1wiPk5vIGNvbW1pdG1lbnQuIE5vIHNhbGVzIHByZXNzdXJlLiBKdXN0IGhvbmVzdCBzdHJhdGVneSBmcm9tIGEgdGVhbSB0aGF0IHNwZWFrcyBzZW5pb3IgbGl2aW5nLjxcL3A+XHJcbiAgICA8XC9kaXY+XHJcbiAgPFwvZGl2PlxyXG48XC9zZWN0aW9uPlxyXG5cclxuPCEtLSA9PT09PSBXSE8gSVQnUyBGT1IgPT09PT0gLS0+XHJcbjxzZWN0aW9uIGlkPVwid2hvLWl0cy1mb3JcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2hvLWhlYWRlciByZXZlYWxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiIHN0eWxlPVwibWFyZ2luOjAgYXV0byAxLjVyZW07XCI+QnVpbHQgZm9yIFNlbmlvciBMaXZpbmcgTGVhZGVyczxcL2Rpdj5cclxuICAgICAgPGgyIGNsYXNzPVwid2hvLWhlYWRsaW5lXCI+SWYgWW91J3JlIFJlc3BvbnNpYmxlIGZvciBDZW5zdXMsPGJyPjxzcGFuIGNsYXNzPVwiZ3JhZGllbnQtdGV4dFwiPldlIFdlcmUgQnVpbHQgZm9yIFlvdS48XC9zcGFuPjxcL2gyPlxyXG4gICAgICA8cCBjbGFzcz1cIndoby1zdWJcIj5JZiBhbnkgb2YgdGhlc2Ugc291bmQgZmFtaWxpYXIsIHdlIG5lZWQgdG8gdGFsay48XC9wPlxyXG4gICAgPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIndoby1ncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tY2FyZCByZXZlYWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2hvLWljb25cIj5cdWQ4M2RcdWRjYzg8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoby1yb2xlXCI+RGlyZWN0b3Igb2YgTWFya2V0aW5nPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwid2hvLWRlc2NcIj5Zb3Ugb3duIHRoZSBwaXBlbGluZSBidXQgeW91J3JlIHdvcmtpbmcgd2l0aCBhZ2VuY2llcyB0aGF0IGRvbid0IHVuZGVyc3RhbmQgdGhlIHNlbmlvciBjYXJlIGJ1eWVyIGpvdXJuZXkgXHUyMDE0IG9yIGdldHRpbmcgcmVwb3J0cyBmaWxsZWQgd2l0aCB0cmFmZmljIG51bWJlcnMsIG5vdCBtb3ZlLWlucy48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tcGFpblwiPlwiSSBjYW4ndCB0ZWxsIHdoYXQncyBhY3R1YWxseSBkcml2aW5nIGlucXVpcmllcyB2cy4gd2hhdCdzIGp1c3Qgbm9pc2UgaW4gdGhlIGRhc2hib2FyZC5cIjxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2hvLWNhcmQgcmV2ZWFsIHJldmVhbC1kZWxheS0xXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoby1pY29uXCI+XHVkODNjXHVkZmFmPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tcm9sZVwiPkRpcmVjdG9yIG9mIFNhbGVzICZhbXA7IFZQIG9mIFNhbGVzPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwid2hvLWRlc2NcIj5Zb3UncmUgZ3JlYXQgYXQgY29udmVydGluZyBsZWFkcyBcdTIwMTQgeW91IGp1c3QgbmVlZCBtb3JlIG9mIHRoZSByaWdodCBvbmVzLiBZb3UgbmVlZCBxdWFsaWZpZWQgZmFtaWxpZXMgY29taW5nIGluYm91bmQgc28geW91IGNhbiBjbG9zZSwgbm90IGNoYXNlLjxcL3A+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoby1wYWluXCI+XCJXZSdyZSBncmVhdCBhdCBjb252ZXJ0aW5nLiBJIGp1c3QgbmVlZCBtb3JlIHBlb3BsZSB3YWxraW5nIHRocm91Z2ggdGhlIGRvb3IuXCI8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIndoby1jYXJkIHJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8taWNvblwiPlx1ZDgzY1x1ZGZkNzxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2hvLXJvbGVcIj5Pd25lciBcLyBPcGVyYXRvcjxcL2Rpdj5cclxuICAgICAgICA8cCBjbGFzcz1cIndoby1kZXNjXCI+Q2Vuc3VzIHByZXNzdXJlIGFmZmVjdHMgZXZlcnl0aGluZyBcdTIwMTQgc3RhZmZpbmcgcmF0aW9zLCBjYXBpdGFsIHBsYW5zLCBiYW5rIGNvdmVuYW50cy4gWW91IG5lZWQgYSBwcmVkaWN0YWJsZSwgc2NhbGFibGUgbWFya2V0aW5nIHN5c3RlbSB0aGF0IGZpbGxzIGJlZHMgYW5kIGtlZXBzIHRoZW0gZmlsbGVkLjxcL3A+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoby1wYWluXCI+XCJJJ3ZlIHNwZW50ICQyMDBLIG9uIG1hcmtldGluZyB0aGlzIHllYXIgYW5kIEkgc3RpbGwgZG9uJ3QgaGF2ZSBhIGZ1bGwgaG91c2UuXCI8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIndoby1jYXJkIHJldmVhbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8taWNvblwiPlx1MjY5OVx1ZmUwZjxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2hvLXJvbGVcIj5EaXJlY3RvciBvZiBPcGVyYXRpb25zPFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwid2hvLWRlc2NcIj5Zb3Ugc2VlIHRoZSBmaW5hbmNpYWwgaW1wYWN0IG9mIGVtcHR5IHVuaXRzIGV2ZXJ5IGRheS4gWW91IG5lZWQgbWFya2V0aW5nIHRoYXQncyBhY2NvdW50YWJsZSwgbWVhc3VyYWJsZSwgYW5kIHRpZWQgdG8gdGhlIHNhbWUgS1BJcyB5b3UgcmVwb3J0IHRvIG93bmVyc2hpcC48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tcGFpblwiPlwiV2UgbmVlZCBhIHN5c3RlbSwgbm90IGp1c3QgY2FtcGFpZ25zLiBTb21ldGhpbmcgSSBjYW4gYWN0dWFsbHkgcmVwb3J0IG9uLlwiPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwid2hvLWljb25cIj5cdWQ4M2NcdWRmZDg8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoby1yb2xlXCI+TXVsdGktQ29tbXVuaXR5IFBvcnRmb2xpbyBPcGVyYXRvcnM8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ3aG8tZGVzY1wiPk1hbmFnaW5nIDUsIDEwLCAyMCsgY29tbXVuaXRpZXMgbWVhbnMgeW91IG5lZWQgYW4gYWdlbmN5IHRoYXQgY2FuIG9wZXJhdGUgYXQgc2NhbGUgd2l0aG91dCBsb3NpbmcgdGhlIGxvY2FsIHNwZWNpZmljaXR5IHRoYXQgbWFrZXMgbWFya2V0aW5nIHdvcmsgY29tbXVuaXR5LWJ5LWNvbW11bml0eS48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tcGFpblwiPlwiRGlmZmVyZW50IG1hcmtldHMsIGRpZmZlcmVudCBjb21wZXRpdG9ycywgZGlmZmVyZW50IG5lZWRzIFx1MjAxNCBhbmQgSSBuZWVkIG9uZSBhZ2VuY3kgdGhhdCBoYW5kbGVzIGl0IGFsbC5cIjxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2hvLWNhcmQgcmV2ZWFsIHJldmVhbC1kZWxheS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIndoby1pY29uXCI+XHVkODNjXHVkZjFmPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tcm9sZVwiPk5ldyBvciBFeHBhbmRpbmcgQ29tbXVuaXRpZXM8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ3aG8tZGVzY1wiPldoZXRoZXIgeW91J3JlIHByZS1vcGVuaW5nLCBqdXN0IGxhdW5jaGVkLCBvciBlbnRlcmluZyBhIG5ldyBtYXJrZXQsIGEgZnVsbC1zZXJ2aWNlIG1hcmtldGluZyBzdHJhdGVneSBpcyB0aGUgZmFzdGVzdCB3YXkgdG8gZXN0YWJsaXNoIHByZXNlbmNlIGFuZCBzdGFydCBnZW5lcmF0aW5nIGlucXVpcmllcyBiZWZvcmUgeW91ciBmaXJzdCByZWZlcnJhbC48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3aG8tcGFpblwiPlwiV2UncmUgYnJhbmQgbmV3IGluIHRoaXMgbWFya2V0IGFuZCBuZWVkIHZpc2liaWxpdHkgeWVzdGVyZGF5LlwiPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICA8XC9kaXY+XHJcbiAgPFwvZGl2PlxyXG48XC9zZWN0aW9uPlxyXG5cclxuPCEtLSA9PT09PSBQUk9DRVNTID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cInByb2Nlc3NcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1oZWFkZXIgcmV2ZWFsXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0YWdcIiBzdHlsZT1cIm1hcmdpbjowIGF1dG8gMS41cmVtO1wiPk91ciBQcm9jZXNzPFwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJwcm9jZXNzLWhlYWRsaW5lXCI+RnJvbSBJbnZpc2libGUgdG8gVW5kZW5pYWJsZS48YnI+PHNwYW4gY2xhc3M9XCJncmFkaWVudC10ZXh0XCI+SGVyZSdzIEhvdyBXZSBHZXQgVGhlcmUuPFwvc3Bhbj48XC9oMj5cclxuICAgICAgPHAgc3R5bGU9XCJmb250LXNpemU6MTZweDtjb2xvcjpyZ2JhKDI0NSwyNDUsMjQ1LDAuNTUpO21heC13aWR0aDo1NDBweDttYXJnaW46MCBhdXRvO1wiPkEgc3RydWN0dXJlZCwgcHJvdmVuIHByb2Nlc3MgcmVmaW5lZCBhY3Jvc3MgMTQwKyBjb21tdW5pdGllcy4gTm8gZ3Vlc3N3b3JrLiBObyBnZW5lcmljIHBsYXlib29rcy4gSnVzdCBleGVjdXRpb24uPFwvcD5cclxuICAgIDxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLXN0ZXBzXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLXN0ZXAgcmV2ZWFsXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2Nlc3Mtc3RlcC1udW1cIj4wMTxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1zdGVwLXRpdGxlXCI+RGVlcC1EaXZlIFN0cmF0ZWd5IEF1ZGl0PFwvZGl2PlxyXG4gICAgICAgIDxwIGNsYXNzPVwicHJvY2Vzcy1zdGVwLWRlc2NcIj5XZSBhdWRpdCB5b3VyIGVudGlyZSBkaWdpdGFsIHByZXNlbmNlIFx1MjAxNCB3ZWJzaXRlLCBhZHMsIFNFTywgQ1JNLCByZXB1dGF0aW9uLCBhbmQgY29tcGV0aXRpdmUgbGFuZHNjYXBlLiBNb3N0IGNsaWVudHMgZGlzY292ZXIgdGhleSdyZSBsb3NpbmcgdG8gY29tcGV0aXRvcnMgb24gNisgZmFjdG9ycyB0aGV5IGRpZG4ndCBrbm93IGV4aXN0ZWQuPFwvcD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInByb2Nlc3MtdGltZWxpbmUtYmFkZ2VcIj5XZWVrIDE8XC9zcGFuPlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLXN0ZXAgcmV2ZWFsIHJldmVhbC1kZWxheS0xXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2Nlc3Mtc3RlcC1udW1cIj4wMjxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1zdGVwLXRpdGxlXCI+Q3VzdG9tIFN0cmF0ZWd5ICZhbXA7IEZvdW5kYXRpb24gQnVpbGQ8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJwcm9jZXNzLXN0ZXAtZGVzY1wiPldlIGJ1aWxkIHlvdXIgY3VzdG9tIG1hcmtldGluZyBpbmZyYXN0cnVjdHVyZSBcdTIwMTQgYWQgYWNjb3VudHMsIFNFTyBmb3VuZGF0aW9uLCBDUk0gYXV0b21hdGlvbiwgcmVwdXRhdGlvbiBzeXN0ZW1zLCBhbmQgY29udGVudCBzdHJhdGVneSBcdTIwMTQgYWxsIHRhaWxvcmVkIHRvIHlvdXIgbWFya2V0IGFuZCBjb21tdW5pdHkgdHlwZS48XC9wPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJvY2Vzcy10aW1lbGluZS1iYWRnZVwiPldlZWtzIDJcdTIwMTM0PFwvc3Bhbj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1zdGVwIHJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLXN0ZXAtbnVtXCI+MDM8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2Nlc3Mtc3RlcC10aXRsZVwiPkxhdW5jaCwgT3B0aW1pemUgJmFtcDsgQWNjZWxlcmF0ZTxcL2Rpdj5cclxuICAgICAgICA8cCBjbGFzcz1cInByb2Nlc3Mtc3RlcC1kZXNjXCI+Q2FtcGFpZ25zIGxhdW5jaCwgU0VPIGJlZ2lucyBtb3ZpbmcsIGFuZCBhdXRvbWF0aW9uIGFjdGl2YXRlcy4gVGhpcyBpcyB3aGVyZSBpbnF1aXJpZXMgc3RhcnQgaW5jcmVhc2luZyBcdTIwMTQgbW9zdCBjbGllbnRzIHNlZSBtZWFzdXJhYmxlIGltcHJvdmVtZW50IHdpdGhpbiA0NVx1MjAxMzYwIGRheXMgb2YgbGF1bmNoLjxcL3A+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9jZXNzLXRpbWVsaW5lLWJhZGdlXCI+TW9udGhzIDJcdTIwMTMzPFwvc3Bhbj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvY2Vzcy1zdGVwIHJldmVhbCByZXZlYWwtZGVsYXktM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLXN0ZXAtbnVtXCI+MDQ8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2Nlc3Mtc3RlcC10aXRsZVwiPkRvbWluYXRlLCBSZXBvcnQgJmFtcDsgQ29tcG91bmQ8XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJwcm9jZXNzLXN0ZXAtZGVzY1wiPllvdSdyZSByYW5raW5nLCBydW5uaW5nLCBhbmQgY29udmVydGluZy4gTm93IHdlIGNvbXBvdW5kIHRoZSBnYWlucyBcdTIwMTQgbmV3IGNvbnRlbnQsIGRlZXBlciBtYXJrZXQgcGVuZXRyYXRpb24sIGNvbXBldGl0aXZlIG1vbml0b3JpbmcsIGFuZCBtb250aGx5IHJlcG9ydGluZyB0aWVkIGRpcmVjdGx5IHRvIGNlbnN1cyBhbmQgcmV2ZW51ZS48XC9wPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJvY2Vzcy10aW1lbGluZS1iYWRnZVwiPk1vbnRoIDQrPFwvc3Bhbj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG4gIDxcL2Rpdj5cclxuPFwvc2VjdGlvbj5cclxuXHJcbjwhLS0gPT09PT0gUkVTVUxUUyBQUkVWSUVXID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cInJlc3VsdHMtcHJldmlld1wiIHN0eWxlPVwiYmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3VsdHMtaGVhZGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZlYWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFnXCI+UmVhbCBSZXN1bHRzPFwvZGl2PlxyXG4gICAgICAgIDxoMiBjbGFzcz1cInJlc3VsdHMtaGVhZGxpbmVcIj5Db21tdW5pdGllcyBUaGF0IENob3NlPGJyPjxzcGFuIGNsYXNzPVwiZ3JhZGllbnQtdGV4dFwiPkVsZGVyYmxvb20gT3ZlciBFdmVyeW9uZSBFbHNlPFwvc3Bhbj48XC9oMj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmV2ZWFsIHJldmVhbC1kZWxheS0xXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOnJpZ2h0O1wiPlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O2p1c3RpZnktY29udGVudDpmbGV4LWVuZDttYXJnaW4tYm90dG9tOjZweDtcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXZlLWRvdFwiPjxcL2Rpdj5cclxuICAgICAgICAgIDxzcGFuIHN0eWxlPVwiZm9udC1zaXplOjEzcHg7Y29sb3I6cmdiYSgyNDUsMjQ1LDI0NSwwLjYpO1wiPkxpdmU6IDxzdHJvbmcgaWQ9XCJsaXZlQ291bnRcIiBzdHlsZT1cImNvbG9yOnZhcigtLWdyZWVuKTtcIj40PFwvc3Ryb25nPiBjb21tdW5pdGllcyByZXZpZXdpbmcgc3RyYXRlZ3kgY2FsbHMgdGhpcyB3ZWVrPFwvc3Bhbj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPGEgaHJlZj1cIiNjb250YWN0XCIgY2xhc3M9XCJidG4tZ2hvc3RcIiBzdHlsZT1cImZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MTBweCAyMHB4O1wiPlNlZSBBbGwgMTQwKyBDYXNlIFN0dWRpZXMgXHUyMTkyPFwvYT5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJlc3VsdHMtZ3JpZFwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jYXJkIHJldmVhbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZC10b3BcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZC1tZXRhXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzdWx0LXR5cGUtYmFkZ2UgYmFkZ2UtY2NyY1wiPkNDUkMgXC8gTGlmZSBQbGFuPFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHQtbG9jYXRpb25cIj5cdWQ4M2RcdWRjY2QgQm9vdGhiYXkgSGFyYm9yLCBNRTxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNvbW11bml0eVwiPlN0LiBBbmRyZXdzIFZpbGxhZ2U8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWhlYWRsaW5lXCI+RnVsbC1zZXJ2aWNlIFNFTyAmYW1wOyBMb2NhbCBTRU8gdHVybmVkIGEgaGlkZGVuIGNvYXN0YWwgZ2VtIGludG8gdGhlICMxIHNlYXJjaGVkIHNlbmlvciBjb21tdW5pdHkgaW4gTGluY29sbiBDb3VudHkgXHUyMDE0IGluIDUgbW9udGhzPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWNzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtbWV0cmljXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbnVtXCI+MzE4JTxcL2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1sYWJlbFwiPk1vcmUgT3JnYW5pYyBJbnF1aXJpZXM8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1udW1cIj4jMTxcL2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1sYWJlbFwiPkxvY2FsIE1hcCBQYWNrIFJhbms8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1udW1cIj4rMTlwcDxcL2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1sYWJlbFwiPk9jY3VwYW5jeSBHYWluZWQ8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY3RhXCI+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCIjY29udGFjdFwiIGNsYXNzPVwicmVzdWx0LXJlYWQtbW9yZVwiPlJlcXVlc3QgRnVsbCBDYXNlIFN0dWR5IDxzcGFuPlx1MjE5MjxcL3NwYW4+PFwvYT5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHQtdGltZWxpbmVcIj5SZXN1bHRzIGluIDUgbW9udGhzPFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmQtdG9wXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmQtbWV0YVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc3VsdC10eXBlLWJhZGdlIGJhZGdlLWFzc2lzdGVkXCI+QXNzaXN0ZWQgTGl2aW5nPFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHQtbG9jYXRpb25cIj5cdWQ4M2RcdWRjY2QgUmVhZGluZywgUEE8XC9zcGFuPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jb21tdW5pdHlcIj5UaGUgSGlnaGxhbmRzIGF0IFd5b21pc3Npbmc8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWhlYWRsaW5lXCI+R29vZ2xlIEFkcyAmYW1wOyBTRU8gb3ZlcmhhdWwgZHJvdmUgcGFnZS1vbmUgcmFua2luZ3MgZm9yIDIyIGhpZ2gtaW50ZW50IGtleXdvcmRzIFx1MjAxNCBnZW5lcmF0aW5nICQyLjhNIGluIHJlY292ZXJhYmxlIGFubnVhbCByZXZlbnVlPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmQtYm9keVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWNzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtbWV0cmljXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbnVtXCI+JDIuOE08XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbGFiZWxcIj5SZXZlbnVlIFJlY292ZXJlZDxcL2Rpdj5cclxuICAgICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpY1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtbWV0cmljLW51bVwiPjI5NiU8XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbGFiZWxcIj5PcmdhbmljIFRyYWZmaWMgR3Jvd3RoPFwvZGl2PlxyXG4gICAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtbWV0cmljXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbnVtXCI+NC44XHUyNjA1PFwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtbWV0cmljLWxhYmVsXCI+R29vZ2xlIFJhdGluZyAoZnJvbSAzLjcpPFwvZGl2PlxyXG4gICAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWN0YVwiPlxyXG4gICAgICAgICAgICA8YSBocmVmPVwiI2NvbnRhY3RcIiBjbGFzcz1cInJlc3VsdC1yZWFkLW1vcmVcIj5SZXF1ZXN0IEZ1bGwgQ2FzZSBTdHVkeSA8c3Bhbj5cdTIxOTI8XC9zcGFuPjxcL2E+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzdWx0LXRpbWVsaW5lXCI+UmVzdWx0cyBpbiA2IG1vbnRoczxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNhcmQgcmV2ZWFsIHJldmVhbC1kZWxheS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jYXJkLXRvcFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jYXJkLW1ldGFcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXN1bHQtdHlwZS1iYWRnZSBiYWRnZS1tZW1vcnlcIj5NZW1vcnkgQ2FyZTxcL3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVzdWx0LWxvY2F0aW9uXCI+XHVkODNkXHVkY2NkIExpbmNvbG53b29kLCBJTDxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNvbW11bml0eVwiPlRoZSBDYXJyaW5ndG9uIGF0IExpbmNvbG53b29kPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1oZWFkbGluZVwiPlJlcHV0YXRpb24gbWFuYWdlbWVudCAmYW1wOyBDUk0gYXV0b21hdGlvbiByZXZlcnNlZCBhIDIuOC1zdGFyIGNyaXNpcyBcdTIwMTQgNjggbmV3IHJldmlld3MgaW4gNjAgZGF5cywgaW5xdWlyaWVzIHVwIDIyMCU8XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpY3NcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1udW1cIj40LjdcdTI2MDU8XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbGFiZWxcIj5Hb29nbGUgUmF0aW5nIChmcm9tIDIuOCk8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1udW1cIj4rNjg8XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbGFiZWxcIj5OZXcgUmV2aWV3cyBpbiA2MCBEYXlzPFwvZGl2PlxyXG4gICAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtbWV0cmljXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1tZXRyaWMtbnVtXCI+MjIwJTxcL2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LW1ldHJpYy1sYWJlbFwiPk1vcmUgRmFtaWx5IElucXVpcmllczxcL2Rpdj5cclxuICAgICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1jdGFcIj5cclxuICAgICAgICAgICAgPGEgaHJlZj1cIiNjb250YWN0XCIgY2xhc3M9XCJyZXN1bHQtcmVhZC1tb3JlXCI+UmVxdWVzdCBGdWxsIENhc2UgU3R1ZHkgPHNwYW4+XHUyMTkyPFwvc3Bhbj48XC9hPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlc3VsdC10aW1lbGluZVwiPlJlc3VsdHMgaW4gMyBtb250aHM8XC9zcGFuPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgIDxcL2Rpdj5cclxuXHJcbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDo0OHB4O3BhZGRpbmc6NDBweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcscmdiYSgyNCwyMDMsMTUwLDAuMDYpIDAlLHJnYmEoMTY3LDEzLDIxMywwLjA1KSAxMDAlKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjQsMjAzLDE1MCwwLjIpO2JvcmRlci1yYWRpdXM6MjBweDtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47XCIgY2xhc3M9XCJyZXZlYWxcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cInBvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2hlaWdodDoycHg7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tZ3JlZW4pLHZhcigtLXB1cnBsZSkpO1wiPjxcL2Rpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC13cmFwOndyYXA7Z2FwOjI0cHg7XCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxoMyBzdHlsZT1cImZvbnQtc2l6ZTpjbGFtcCgyMHB4LDN2dywzMHB4KTtmb250LXdlaWdodDo5MDA7bWFyZ2luLWJvdHRvbTo4cHg7XCI+MTQwKyBNb3JlIFN0b3JpZXMgV2hlcmUgVGhlc2UgQ2FtZSBGcm9tLjxcL2gzPlxyXG4gICAgICAgICAgPHAgc3R5bGU9XCJmb250LXNpemU6MTVweDtjb2xvcjpyZ2JhKDI0NSwyNDUsMjQ1LDAuNik7bWF4LXdpZHRoOjU2MHB4O2xpbmUtaGVpZ2h0OjEuNjtcIj5UaGVzZSBhcmUganVzdCAzLiBPdXIgZnVsbCBsaWJyYXJ5IGNvdmVycyBldmVyeSBjYXJlIHR5cGUsIG1hcmtldCwgYW5kIGNvbW11bml0eSBzaXplIFx1MjAxNCBmcm9tIHNpbmdsZS1zaXRlIG9wZXJhdG9ycyB0byAzMCsgbG9jYXRpb24gcG9ydGZvbGlvcy48XC9wPlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8YSBocmVmPVwiI2NvbnRhY3RcIiBjbGFzcz1cImJ0bi1wcmltYXJ5XCIgc3R5bGU9XCJmbGV4LXNocmluazowO1wiPlJlcXVlc3QgRnVsbCBDYXNlIFN0dWR5IExpYnJhcnkgXHUyMTkyPFwvYT5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG4gIDxcL2Rpdj5cclxuPFwvc2VjdGlvbj5cclxuXHJcbjwhLS0gPT09PT0gVEVTVElNT05JQUxTID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cInRlc3RpbW9uaWFsc1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXN0aW1vbmlhbHMtaGVhZGVyIHJldmVhbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFnXCIgc3R5bGU9XCJtYXJnaW46MCBhdXRvIDEuNXJlbTtcIj5DbGllbnQgVm9pY2VzPFwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJ0ZXN0aW1vbmlhbHMtaGVhZGxpbmVcIj5UaGUgUGVvcGxlIEJlaGluZDxicj48c3BhbiBjbGFzcz1cImdyYWRpZW50LXRleHRcIj5UaGUgUmVzdWx0czxcL3NwYW4+PFwvaDI+XHJcbiAgICAgIDxwIGNsYXNzPVwidGVzdGltb25pYWxzLXN1YlwiPldlIGRvbid0IGFzayBmb3IgdGVzdGltb25pYWxzLiBXZSBlYXJuIHRoZW0uPFwvcD5cclxuICAgIDxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXN0aW1vbmlhbHMtZ3JpZFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGVzdGltb25pYWwtY2FyZCByZXZlYWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhcnNcIj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXN0aW1vbmlhbC1xdW90ZVwiPldlIGhhZCA3OCUgb2NjdXBhbmN5IGZvciB0d28geWVhcnMuIE5vdGhpbmcgbW92ZWQgdGhlIG5lZWRsZSBcdTIwMTQgbm90IHJlZmVycmFsIGV2ZW50cywgbm90IG91ciBwcmV2aW91cyBhZ2VuY3ksIG5vdGhpbmcuIEVsZGVyYmxvb20gcmVidWlsdCBvdXIgZW50aXJlIGRpZ2l0YWwgc3RyYXRlZ3kuIFdpdGhpbiA5MCBkYXlzLCB0b3VycyB3ZXJlIHVwIDE4MCUuIFdlIGhpdCA5NCUgYnkgbW9udGggZml2ZS48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXN0aW1vbmlhbC1hdXRob3JcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdXRob3ItYXZhdGFyXCI+S008XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXV0aG9yLW5hbWVcIj5LYXJlbiBNLjxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF1dGhvci10aXRsZVwiPkV4ZWN1dGl2ZSBEaXJlY3RvciBcdTIwMTQgQXNzaXN0ZWQgTGl2aW5nLCBIb3VzdG9uIFRYPFwvZGl2PlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGVzdGltb25pYWwtY2FyZCByZXZlYWwgcmV2ZWFsLWRlbGF5LTFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhcnNcIj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48ZGl2IGNsYXNzPVwic3RhclwiPjxcL2Rpdj48XC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXN0aW1vbmlhbC1xdW90ZVwiPldoYXQgc2V0cyBFbGRlcmJsb29tIGFwYXJ0IGlzIHRoYXQgdGhleSBvbmx5IGRvIHNlbmlvciBsaXZpbmcuIFRoZXkgdW5kZXJzdG9vZCBvdXIgY29tbXVuaXR5IGZyb20gZGF5IG9uZSBcdTIwMTQgdGhlIGZhbWlseSBkZWNpc2lvbiBjeWNsZSwgdGhlIGVtb3Rpb25hbCB3ZWlnaHQsIHRoZSBzcGVjaWZpYyBrZXl3b3JkcyB0aGF0IGNvbnZlcnQuIE91ciBHb29nbGUgQWRzIGNvc3QgcGVyIGxlYWQgZHJvcHBlZCBieSA2MSUgaW4gOTAgZGF5cy48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXN0aW1vbmlhbC1hdXRob3JcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdXRob3ItYXZhdGFyXCI+VFc8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXV0aG9yLW5hbWVcIj5UaG9tYXMgVy48XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdXRob3ItdGl0bGVcIj5EaXJlY3RvciBvZiBNYXJrZXRpbmcgXHUyMDE0IE1lbW9yeSBDYXJlLCBEYWxsYXMgVFg8XC9kaXY+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXN0aW1vbmlhbC1jYXJkIHJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGFyc1wiPjxkaXYgY2xhc3M9XCJzdGFyXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJzdGFyXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJzdGFyXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJzdGFyXCI+PFwvZGl2PjxkaXYgY2xhc3M9XCJzdGFyXCI+PFwvZGl2PjxcL2Rpdj5cclxuICAgICAgICA8cCBjbGFzcz1cInRlc3RpbW9uaWFsLXF1b3RlXCI+V2hhdCBJIGFwcHJlY2lhdGUgbW9zdCBpcyB0aGF0IGV2ZXJ5IHJlcG9ydCB0aWVzIGJhY2sgdG8gb2NjdXBhbmN5IFx1MjAxNCBub3QgaW1wcmVzc2lvbnMsIG5vdCBjbGlja3MuIEkgbWFuYWdlIHNpeCBjb21tdW5pdGllcyBhbmQgRWxkZXJibG9vbSBnaXZlcyBtZSBjbGFyaXR5IG9uIHdoYXQgbWFya2V0aW5nIGlzIGNvbnRyaWJ1dGluZyB0byBtb3ZlLWlucyBhdCBlYWNoIG9uZS4gVGhhdCBhY2NvdW50YWJpbGl0eSBpcyByYXJlIGluIHRoaXMgaW5kdXN0cnkuPFwvcD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGVzdGltb25pYWwtYXV0aG9yXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXV0aG9yLWF2YXRhclwiPlJQPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF1dGhvci1uYW1lXCI+UmFjaGVsIFAuPFwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXV0aG9yLXRpdGxlXCI+VlAgb2YgU2FsZXMgJmFtcDsgTWFya2V0aW5nIFx1MjAxNCA2LUNvbW11bml0eSBQb3J0Zm9saW8sIElMPFwvZGl2PlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG4gIDxcL2Rpdj5cclxuPFwvc2VjdGlvbj5cclxuXHJcbjwhLS0gPT09PT0gQ1RBIFNUUklQID09PT09IC0tPlxyXG48c2VjdGlvbiBpZD1cImN0YS1zdHJpcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjdGEtaW5uZXJcIj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8aDIgY2xhc3M9XCJjdGEtaGVhZGxpbmVcIj5FdmVyeSBEYXkgV2l0aG91dCBhIE1hcmtldGluZyBTdHJhdGVneTxicj48c3BhbiBjbGFzcz1cImdyYWRpZW50LXRleHRcIj5JcyBhIE1vdmUtSW4gWW91ciBDb21wZXRpdG9yIFdpbnMuPFwvc3Bhbj48XC9oMj5cclxuICAgICAgICA8cCBjbGFzcz1cImN0YS1zdWJcIj5GYW1pbGllcyBzZWFyY2hpbmcgZm9yIHlvdXIgY29tbXVuaXR5IHJpZ2h0IG5vdyB3aWxsIGZpbmQgc29tZW9uZS4gVGhlIHF1ZXN0aW9uIGlzIHdoZXRoZXIgdGhhdCBzb21lb25lIGlzIHlvdS4gRG9uJ3QgZGVmZXIgYSByZXZlbnVlIGRlY2lzaW9uIGFub3RoZXIgcXVhcnRlci48XC9wPlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjdGEtcmlnaHRcIj5cclxuICAgICAgICA8YSBocmVmPVwiI2NvbnRhY3RcIiBjbGFzcz1cImJ0bi1wcmltYXJ5XCI+Qm9vayBNeSBGcmVlIFN0cmF0ZWd5IENhbGwgXHUyMTkyPFwvYT5cclxuICAgICAgICA8YSBocmVmPVwidGVsOisxOTc4MzMzNDQwMFwiIGNsYXNzPVwiYnRuLWdob3N0XCI+XHVkODNkXHVkY2RlIDk3OC0zMzMtNDQwMDxcL2E+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuICA8XC9kaXY+XHJcbjxcL3NlY3Rpb24+XHJcblxyXG48IS0tID09PT09IEZBUSA9PT09PSAtLT5cclxuPHNlY3Rpb24gaWQ9XCJmYXFcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmFxLWhlYWRlciByZXZlYWxcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRhZ1wiIHN0eWxlPVwibWFyZ2luOjAgYXV0byAxLjVyZW07XCI+Q29tbW9uIFF1ZXN0aW9uczxcL2Rpdj5cclxuICAgICAgPGgyIGNsYXNzPVwiZmFxLWhlYWRsaW5lXCI+RXZlcnl0aGluZyBZb3UncmUgV29uZGVyaW5nPGJyPjxzcGFuIGNsYXNzPVwiZ3JhZGllbnQtdGV4dFwiPkFib3V0IFdvcmtpbmcgV2l0aCBFbGRlcmJsb29tPFwvc3Bhbj48XC9oMj5cclxuICAgIDxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmYXEtbGlzdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmFxLWl0ZW0gcmV2ZWFsXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZhcS1xdWVzdGlvblwiIG9uY2xpY2s9XCJ0b2dnbGVGYXEodGhpcylcIj5cclxuICAgICAgICAgIDxzcGFuPldoYXQgbWFrZXMgRWxkZXJibG9vbSBTdHJhdGVnaWVzIGRpZmZlcmVudCBmcm9tIGEgZ2VuZXJhbCBtYXJrZXRpbmcgYWdlbmN5PzxcL3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWljb25cIj4rPFwvZGl2PlxyXG4gICAgICAgIDxcL2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWFuc3dlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1hbnN3ZXItaW5uZXJcIj5XZSB3b3JrIGV4Y2x1c2l2ZWx5IHdpdGggc2VuaW9yIGxpdmluZyBjb21tdW5pdGllcy4gVGhhdCBtZWFucyB3ZSB1bmRlcnN0YW5kIGhvdyBmYW1pbGllcyBzZWFyY2ggZm9yIGFzc2lzdGVkIGxpdmluZywgbWVtb3J5IGNhcmUsIGFuZCBpbmRlcGVuZGVudCBsaXZpbmcgXHUyMDE0IGluY2x1ZGluZyB0aGUgZW1vdGlvbmFsIHdlaWdodCBvZiB0aG9zZSBzZWFyY2hlcy4gV2Uga25vdyB3aGljaCBzZW5pb3ItbGl2aW5nLXNwZWNpZmljIGRpcmVjdG9yaWVzIG1hdHRlciwgaG93IHRoZSBHb29nbGUgQWRzIHF1YWxpdHkgc2NvcmVzIGRpZmZlciBmb3Igc2VuaW9yIGNhcmUsIGFuZCBob3cgdG8gd3JpdGUgY29udGVudCB0aGF0IGNvbnZlcnRzIGEgd29ycmllZCBkYXVnaHRlciBpbnRvIGEgdG91ciBib29raW5nLiBBIGdlbmVyYWwgYWdlbmN5IGNhbiByYW5rIGEgcmVzdGF1cmFudCBvciBhIGRlbnRpc3QuIFdlIHJhbmsgc2VuaW9yIGxpdmluZyBjb21tdW5pdGllcywgYW5kIHRoYXQncyBhbGwgd2UgZG8uPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmFxLWl0ZW0gcmV2ZWFsIHJldmVhbC1kZWxheS0xXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZhcS1xdWVzdGlvblwiIG9uY2xpY2s9XCJ0b2dnbGVGYXEodGhpcylcIj5cclxuICAgICAgICAgIDxzcGFuPkhvdyBxdWlja2x5IGNhbiB3ZSBleHBlY3QgdG8gc2VlIHJlc3VsdHM\/PFwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmYXEtaWNvblwiPis8XC9kaXY+XHJcbiAgICAgICAgPFwvYnV0dG9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmYXEtYW5zd2VyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWFuc3dlci1pbm5lclwiPkdvb2dsZSBBZHMgYW5kIE1ldGEgQWRzIGNhbiBnZW5lcmF0ZSBpbnF1aXJpZXMgd2l0aGluIHRoZSBmaXJzdCAyXHUyMDEzNCB3ZWVrcyBvZiBsYXVuY2guIFNFTyBhbmQgTG9jYWwgU0VPIHR5cGljYWxseSBwcm9kdWNlIG1lYXN1cmFibGUgcmFua2luZyBpbXByb3ZlbWVudHMgd2l0aGluIDYwXHUyMDEzOTAgZGF5cywgd2l0aCBmdWxsIG1hcCBwYWNrIGFuZCBwYWdlLW9uZSBkb21pbmFuY2UgaW4gM1x1MjAxMzYgbW9udGhzLiBNb3N0IGNsaWVudHMgc2VlIG92ZXJhbGwgY2Vuc3VzIG1vdmVtZW50IHdpdGhpbiA5MCBkYXlzIG9mIGEgZnVsbC1zZXJ2aWNlIGVuZ2FnZW1lbnQuIFdlJ2xsIGdpdmUgeW91IGFuIGhvbmVzdCwgbWFya2V0LXNwZWNpZmljIHByb2plY3Rpb24gZHVyaW5nIHlvdXIgZnJlZSBzdHJhdGVneSBjYWxsLjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZhcS1pdGVtIHJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmYXEtcXVlc3Rpb25cIiBvbmNsaWNrPVwidG9nZ2xlRmFxKHRoaXMpXCI+XHJcbiAgICAgICAgICA8c3Bhbj5EbyB5b3Ugd29yayB3aXRoIHNpbmdsZSBjb21tdW5pdGllcyBvciBsYXJnZXIgcG9ydGZvbGlvcz88XC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1pY29uXCI+KzxcL2Rpdj5cclxuICAgICAgICA8XC9idXR0b24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1hbnN3ZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmYXEtYW5zd2VyLWlubmVyXCI+Qm90aC4gV2Ugd29yayB3aXRoIHNpbmdsZS1zaXRlIG9wZXJhdG9ycywgcmVnaW9uYWwgZ3JvdXBzLCBhbmQgbXVsdGktY29tbXVuaXR5IHBvcnRmb2xpb3Mgd2l0aCAzMCsgbG9jYXRpb25zLiBGb3IgcG9ydGZvbGlvIG9wZXJhdG9ycywgd2UgYnVpbGQgY29tbXVuaXR5LXNwZWNpZmljIHN0cmF0ZWdpZXMgZm9yIGVhY2ggbG9jYXRpb24gd2hpbGUgcHJvdmlkaW5nIGNvbnNvbGlkYXRlZCBwb3J0Zm9saW8tbGV2ZWwgcmVwb3J0aW5nIFx1MjAxNCBzbyB5b3UgZ2V0IGJvdGggdGhlIGdyYW51bGFyIHZpc2liaWxpdHkgYW5kIHRoZSBleGVjdXRpdmUgb3ZlcnZpZXcuIFdlIGN1cnJlbnRseSBtYW5hZ2UgbWFya2V0aW5nIGZvciBwb3J0Zm9saW8gb3BlcmF0b3JzIGFjcm9zcyB0aGUgVVMsIENhbmFkYSwgYW5kIHBhcnRzIG9mIEV1cm9wZS48XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmYXEtaXRlbSByZXZlYWxcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmFxLXF1ZXN0aW9uXCIgb25jbGljaz1cInRvZ2dsZUZhcSh0aGlzKVwiPlxyXG4gICAgICAgICAgPHNwYW4+V2UgYWxyZWFkeSBoYXZlIGEgd2Vic2l0ZSBhbmQgcnVuIHNvbWUgYWRzLiBEbyB3ZSBzdGlsbCBuZWVkIEVsZGVyYmxvb20\/PFwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmYXEtaWNvblwiPis8XC9kaXY+XHJcbiAgICAgICAgPFwvYnV0dG9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmYXEtYW5zd2VyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWFuc3dlci1pbm5lclwiPkhhdmluZyBhIHdlYnNpdGUgYW5kIHJ1bm5pbmcgYWRzIGlzIG5vdCB0aGUgc2FtZSBhcyBoYXZpbmcgYSBoaWdoLXBlcmZvcm1pbmcgc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgc3lzdGVtLiBNb3N0IGNvbW11bml0aWVzIHdlIGF1ZGl0IGFyZSBtaXNzaW5nIGxvY2FsIHNjaGVtYSBtYXJrdXAsIGhhdmUgYWQgYWNjb3VudHMgd2l0aCBzaWduaWZpY2FudCB3YXN0ZWQgc3BlbmQgb24gbm9uLWNvbnZlcnRpbmcgYXVkaWVuY2VzLCBoYXZlIHVuZGVyb3B0aW1pemVkIENSTSBmb2xsb3ctdXAgc2VxdWVuY2VzLCBhbmQgbGFjayB0aGUgZ2VvLXRhcmdldGVkIGNvbnRlbnQgc3RyYXRlZ3kgdGhhdCBkcml2ZXMgXCJuZWFyIG1lXCIgc2VhcmNoZXMuIFdlJ2xsIGF1ZGl0IHdoYXQgeW91IGhhdmUgYW5kIHNob3cgeW91IGV4YWN0bHkgd2hlcmUgdGhlIGdhcHMgYXJlIFx1MjAxNCBmb3IgZnJlZSwgd2l0aCBubyBvYmxpZ2F0aW9uLjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZhcS1pdGVtIHJldmVhbCByZXZlYWwtZGVsYXktMVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmYXEtcXVlc3Rpb25cIiBvbmNsaWNrPVwidG9nZ2xlRmFxKHRoaXMpXCI+XHJcbiAgICAgICAgICA8c3Bhbj5XaGF0IGlzIEFFTyBhbmQgd2h5IGRvZXMgaXQgbWF0dGVyIGZvciBzZW5pb3IgbGl2aW5nIGNvbW11bml0aWVzPzxcL3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWljb25cIj4rPFwvZGl2PlxyXG4gICAgICAgIDxcL2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWFuc3dlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1hbnN3ZXItaW5uZXJcIj5BRU8gc3RhbmRzIGZvciBBbnN3ZXIgRW5naW5lIE9wdGltaXphdGlvbiBcdTIwMTQgdGhlIHByYWN0aWNlIG9mIG9wdGltaXppbmcgeW91ciBjb250ZW50IHRvIGFwcGVhciBhcyB0aGUgYW5zd2VyIHdoZW4gZmFtaWxpZXMgYXNrIEFJIHRvb2xzIGxpa2UgR29vZ2xlJ3MgQUkgT3ZlcnZpZXdzLCBDaGF0R1BULCBvciBQZXJwbGV4aXR5IHF1ZXN0aW9ucyBsaWtlIFwid2hhdCdzIHRoZSBiZXN0IGFzc2lzdGVkIGxpdmluZyBuZWFyIG1lP1wiIG9yIFwiaG93IGRvIEkgY2hvb3NlIGEgbWVtb3J5IGNhcmUgY29tbXVuaXR5P1wiIEFzIEFJLWFzc2lzdGVkIHNlYXJjaCBiZWNvbWVzIHRoZSBkZWZhdWx0LCBjb21tdW5pdGllcyB0aGF0IGFyZSBwb3NpdGlvbmVkIGFzIGF1dGhvcml0YXRpdmUgYW5zd2VycyBpbiB0aGVzZSBlbmdpbmVzIHdpbGwgY2FwdHVyZSBhIGdyb3dpbmcgc2hhcmUgb2YgaW5xdWlyaWVzLiBXZSBpbmNvcnBvcmF0ZSBBRU8gaW50byBldmVyeSBlbmdhZ2VtZW50IHNvIHlvdSdyZSB2aXNpYmxlIG5vdCBqdXN0IHRvZGF5IFx1MjAxNCBidXQgaW4gMjAyNiBhbmQgYmV5b25kLjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZhcS1pdGVtIHJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJmYXEtcXVlc3Rpb25cIiBvbmNsaWNrPVwidG9nZ2xlRmFxKHRoaXMpXCI+XHJcbiAgICAgICAgICA8c3Bhbj5BcmUgdGhlcmUgbG9uZy10ZXJtIGNvbnRyYWN0cz8gV2hhdCdzIHRoZSBjb21taXRtZW50PzxcL3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWljb25cIj4rPFwvZGl2PlxyXG4gICAgICAgIDxcL2J1dHRvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmFxLWFuc3dlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1hbnN3ZXItaW5uZXJcIj5XZSBkb24ndCBiZWxpZXZlIGluIGxvY2tpbmcgY2xpZW50cyBpbnRvIGxvbmctdGVybSBjb250cmFjdHMgdG8gcmV0YWluIHRoZW0uIFdlIGJlbGlldmUgaW4gZWFybmluZyBjb250aW51ZWQgZW5nYWdlbWVudCBieSBkZWxpdmVyaW5nIHJlc3VsdHMuIE91ciBzdGFuZGFyZCBlbmdhZ2VtZW50cyBhcmUgbW9udGgtdG8tbW9udGggYWZ0ZXIgYW4gaW5pdGlhbCBvbmJvYXJkaW5nIHBlcmlvZCwgYW5kIHdlJ3JlIHRyYW5zcGFyZW50IGFib3V0IHRpbWVsaW5lcyBhbmQgZXhwZWN0YXRpb25zIGZyb20gZGF5IG9uZS4gVGhlIGNvbW11bml0aWVzIHRoYXQgc3RheSB3aXRoIHVzIFx1MjAxNCBtYW55IGZvciB5ZWFycyBcdTIwMTQgZG8gc28gYmVjYXVzZSB0aGV5IHNlZSBjZW5zdXMgZ3Jvd3RoLCBub3QgYmVjYXVzZSB0aGV5J3JlIGNvbnRyYWN0dWFsbHkgb2JsaWdhdGVkLjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuICA8XC9kaXY+XHJcbjxcL3NlY3Rpb24+XHJcblxyXG48IS0tID09PT09IE5FV1NMRVRURVIgPT09PT0gLS0+XHJcbjxzZWN0aW9uIGlkPVwibmV3c2xldHRlclwiIHN0eWxlPVwiYmFja2dyb3VuZDp2YXIoLS1iZy1jYXJkKTtib3JkZXItdG9wOjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwicG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm5ld3NsZXR0ZXItZ2xvd1wiPjxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJuZXdzbGV0dGVyLWlubmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZlYWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFnXCI+RnJlZSBSZXNvdXJjZXM8XC9kaXY+XHJcbiAgICAgICAgPGgyIGNsYXNzPVwibmV3c2xldHRlci1oZWFkbGluZVwiPkdldCB0aGUgV2Vla2x5IEVkZ2UgRXZlcnk8YnI+PHNwYW4gY2xhc3M9XCJncmFkaWVudC10ZXh0XCI+U2VuaW9yIExpdmluZyBMZWFkZXIgTmVlZHM8XC9zcGFuPjxcL2gyPlxyXG4gICAgICAgIDxwIGNsYXNzPVwibmV3c2xldHRlci1zdWJcIj5Kb2luIDIsNDAwKyBzZW5pb3IgbGl2aW5nIG9wZXJhdG9ycyBnZXR0aW5nIG91ciB3ZWVrbHkgbmV3c2xldHRlciBcdTIwMTQgcGFja2VkIHdpdGggbWFya2V0aW5nIHRpcHMsIGluZHVzdHJ5IGJlbmNobWFya3MsIGFuZCByZXNvdXJjZXMgeW91IHdvbid0IGZpbmQgYW55d2hlcmUgZWxzZS48XC9wPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXdzbGV0dGVyLXBlcmtzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV3c2xldHRlci1wZXJrXCI+RnJlZSB3ZWVrbHkgbWFya2V0aW5nIHRpcHMgJmFtcDsgc2VuaW9yIGxpdmluZyBncm93dGggc3RyYXRlZ2llczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdzbGV0dGVyLXBlcmtcIj5FeGNsdXNpdmUgb2NjdXBhbmN5IGJlbmNobWFya3MgJmFtcDsgaW5kdXN0cnkgZGF0YTxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdzbGV0dGVyLXBlcmtcIj5GcmVlIHN0YWZmIHRyYWluaW5nIHJlc291cmNlcyBcdTIwMTQgc2NyaXB0cywgdGVtcGxhdGVzICZhbXA7IHBsYXlib29rczxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdzbGV0dGVyLXBlcmtcIj5FYXJseSBhY2Nlc3MgdG8gY2FzZSBzdHVkaWVzLCB0b29scyAmYW1wOyBjb21tdW5pdHkgcmVzb3VyY2VzPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5ld3NsZXR0ZXItcGVya1wiPkZyZWViaWVzIGZvciB5b3VyIHN0YWZmICZhbXA7IGNvbW11bml0eSB0aHJvdWdob3V0IHRoZSB5ZWFyPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5ld3NsZXR0ZXItcGVya1wiPlplcm8gc3BhbS4gVW5zdWJzY3JpYmUgYW55dGltZS4gV2UgaGF0ZSBjbHV0dGVyZWQgaW5ib3hlcyB0b28uPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicmV2ZWFsIHJldmVhbC1kZWxheS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5ld3NsZXR0ZXItZm9ybS13cmFwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibmwtbGl2ZS13aWRnZXRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpdmUtZG90XCI+PFwvZGl2PlxyXG4gICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz1cIm5sLWxpdmUtbnVtXCIgaWQ9XCJubENvdW50XCI+Mzc8XC9zcGFuPiBzZW5pb3IgbGl2aW5nIGxlYWRlcnMgc3Vic2NyaWJlZCB0aGlzIHdlZWs8XC9zcGFuPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5sLXRpdGxlXCI+U3Vic2NyaWJlIGZvciBGcmVlPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm5sLXN1YnRpdGxlXCI+Sm9pbiAyLDQwMCsgc2VuaW9yIGxpdmluZyBsZWFkZXJzLiBObyBzcGFtLCBldmVyLjxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXdzbGV0dGVyLWZvcm1cIj5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJubC1pbnB1dFwiIGlkPVwibmwtbmFtZVwiIHBsYWNlaG9sZGVyPVwiWW91ciBmaXJzdCBuYW1lXCIgYXV0b2NvbXBsZXRlPVwiZ2l2ZW4tbmFtZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cIm5sLWlucHV0XCIgaWQ9XCJubC1jb21tdW5pdHlcIiBwbGFjZWhvbGRlcj1cIllvdXIgY29tbXVuaXR5IG9yIGNvbXBhbnkgbmFtZVwiPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJubC1pbnB1dFwiIGlkPVwibmwtZW1haWxcIiBwbGFjZWhvbGRlcj1cIllvdXIgd29yayBlbWFpbCBhZGRyZXNzXCIgYXV0b2NvbXBsZXRlPVwiZW1haWxcIj5cclxuICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz1cIm5sLWlucHV0XCIgaWQ9XCJubC1yb2xlXCI+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPllvdXIgcm9sZTxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPkRpcmVjdG9yIG9mIE1hcmtldGluZzxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPkRpcmVjdG9yIG9mIFNhbGVzPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24+VlAgb2YgU2FsZXMgJmFtcDsgTWFya2V0aW5nPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24+RGlyZWN0b3Igb2YgT3BlcmF0aW9uczxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPk93bmVyIFwvIE9wZXJhdG9yPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24+RXhlY3V0aXZlIERpcmVjdG9yPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24+T3RoZXI8XC9vcHRpb24+XHJcbiAgICAgICAgICAgIDxcL3NlbGVjdD5cclxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm5sLXN1Ym1pdFwiIG9uY2xpY2s9XCJoYW5kbGVOZXdzbGV0dGVyU3VibWl0KHRoaXMpXCI+U3Vic2NyaWJlICZhbXA7IEdldCBGcmVlIFJlc291cmNlcyBcdTIxOTI8XC9idXR0b24+XHJcbiAgICAgICAgICAgIDxwIGNsYXNzPVwibmwtcHJpdmFjeVwiPlx1ZDgzZFx1ZGQxMiAxMDAlIGZyZWUuIE5vIHNwYW0uIFVuc3Vic2NyaWJlIGFueXRpbWUuPFwvcD5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuICA8XC9kaXY+XHJcbjxcL3NlY3Rpb24+XHJcblxyXG48IS0tID09PT09IENBTENVTEFUT1IgPT09PT0gLS0+XHJcbjxzZWN0aW9uIGlkPVwiY2FsY3VsYXRvclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYWxjLWdsb3dcIj48XC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIHN0eWxlPVwicG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhbGMtaGVhZGVyIHJldmVhbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGFnXCIgc3R5bGU9XCJtYXJnaW46MCBhdXRvIDEuNXJlbTtcIj5JbnRlcmFjdGl2ZSBDYWxjdWxhdG9yPFwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJjYWxjLWhlYWRsaW5lXCI+SG93IE11Y2ggSXMgWW91ciBDdXJyZW50IE1hcmtldGluZzxicj48c3BhbiBjbGFzcz1cImdyYWRpZW50LXRleHRcIj5BY3R1YWxseSBDb3N0aW5nIFlvdT88XC9zcGFuPjxcL2gyPlxyXG4gICAgICA8cCBjbGFzcz1cImNhbGMtc3ViXCI+QWRqdXN0IHRoZSBzbGlkZXJzIGJlbG93IHRvIGNhbGN1bGF0ZSB0aGUgcmVhbCBkb2xsYXIgaW1wYWN0IG9mIHdhc3RlZCBhZCBzcGVuZCwgc2xvdyBsZWFkIGZvbGxvdy11cCwgYW5kIG9jY3VwYW5jeSBnYXBzIG9uIHlvdXIgY29tbXVuaXR5J3MgYm90dG9tIGxpbmUuPFwvcD5cclxuICAgIDxcL2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYWxjLXdyYXBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXRzIHJldmVhbFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLXNlY3Rpb24tdGl0bGVcIj5Zb3VyIENvbW11bml0eTxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+TW9udGhseSBBZCBCdWRnZXQ8XC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhbGMtaW5wdXQtdmFsXCIgaWQ9XCJ2YWwtYnVkZ2V0XCI+JDUsMDAwPFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImNhbGMtc2xpZGVyXCIgaWQ9XCJzbC1idWRnZXRcIiBtaW49XCIxMDAwXCIgbWF4PVwiMzAwMDBcIiBzdGVwPVwiNTAwXCIgdmFsdWU9XCI1MDAwXCIgb25pbnB1dD1cInVwZGF0ZUNhbGMoKVwiPlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+QXZlcmFnZSBNb250aGx5IFJldmVudWUgUGVyIFJlc2lkZW50PFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYWxjLWlucHV0LXZhbFwiIGlkPVwidmFsLXJldmVudWVcIj4kNCw1MDA8XC9zcGFuPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiY2FsYy1zbGlkZXJcIiBpZD1cInNsLXJldmVudWVcIiBtaW49XCIyMDAwXCIgbWF4PVwiMTIwMDBcIiBzdGVwPVwiMTAwXCIgdmFsdWU9XCI0NTAwXCIgb25pbnB1dD1cInVwZGF0ZUNhbGMoKVwiPlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+QXZlcmFnZSBMZW5ndGggb2YgU3RheSAobW9udGhzKTxcL3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FsYy1pbnB1dC12YWxcIiBpZD1cInZhbC1sb3NcIj4yNCBtbzxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJjYWxjLXNsaWRlclwiIGlkPVwic2wtbG9zXCIgbWluPVwiNlwiIG1heD1cIjYwXCIgc3RlcD1cIjFcIiB2YWx1ZT1cIjI0XCIgb25pbnB1dD1cInVwZGF0ZUNhbGMoKVwiPlxyXG4gICAgICAgIDxcL2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtc2VjdGlvbi10aXRsZVwiPldhc3RlZCBBZCBTcGVuZDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+JSBvZiBBZCBCdWRnZXQgV2FzdGVkIG9uIE5vbi1Db252ZXJ0aW5nIEF1ZGllbmNlczxcL3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FsYy1pbnB1dC12YWxcIiBpZD1cInZhbC13YXN0ZVwiPjQwJTxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJjYWxjLXNsaWRlclwiIGlkPVwic2wtd2FzdGVcIiBtaW49XCI1XCIgbWF4PVwiODVcIiBzdGVwPVwiMVwiIHZhbHVlPVwiNDBcIiBvbmlucHV0PVwidXBkYXRlQ2FsYygpXCI+XHJcbiAgICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1zZWN0aW9uLXRpdGxlXCI+U2xvdyBMZWFkIEZvbGxvdy1VcDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+QXZlcmFnZSBMZWFkIFJlc3BvbnNlIFRpbWUgKGhvdXJzKTxcL3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FsYy1pbnB1dC12YWxcIiBpZD1cInZhbC1yZXNwb25zZVwiPjE4IGhyczxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJjYWxjLXNsaWRlclwiIGlkPVwic2wtcmVzcG9uc2VcIiBtaW49XCIxXCIgbWF4PVwiNzJcIiBzdGVwPVwiMVwiIHZhbHVlPVwiMThcIiBvbmlucHV0PVwidXBkYXRlQ2FsYygpXCI+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLWlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1sYWJlbFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5Nb250aGx5IExlYWRzIEdlbmVyYXRlZDxcL3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FsYy1pbnB1dC12YWxcIiBpZD1cInZhbC1sZWFkc1wiPjI1PFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImNhbGMtc2xpZGVyXCIgaWQ9XCJzbC1sZWFkc1wiIG1pbj1cIjVcIiBtYXg9XCIxNTBcIiBzdGVwPVwiMVwiIHZhbHVlPVwiMjVcIiBvbmlucHV0PVwidXBkYXRlQ2FsYygpXCI+XHJcbiAgICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1zZWN0aW9uLXRpdGxlXCI+T2NjdXBhbmN5IEdhcDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1ncm91cFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtaW5wdXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgPHNwYW4+VG90YWwgQ29tbXVuaXR5IFVuaXRzPFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYWxjLWlucHV0LXZhbFwiIGlkPVwidmFsLXVuaXRzXCI+ODA8XC9zcGFuPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiY2FsYy1zbGlkZXJcIiBpZD1cInNsLXVuaXRzXCIgbWluPVwiMjBcIiBtYXg9XCIzMDBcIiBzdGVwPVwiNVwiIHZhbHVlPVwiODBcIiBvbmlucHV0PVwidXBkYXRlQ2FsYygpXCI+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLWlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1pbnB1dC1sYWJlbFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj5DdXJyZW50IE9jY3VwYW5jeSBSYXRlPFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYWxjLWlucHV0LXZhbFwiIGlkPVwidmFsLW9jY1wiPjgyJTxcL3NwYW4+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJjYWxjLXNsaWRlclwiIGlkPVwic2wtb2NjXCIgbWluPVwiNTBcIiBtYXg9XCI5N1wiIHN0ZXA9XCIxXCIgdmFsdWU9XCI4MlwiIG9uaW5wdXQ9XCJ1cGRhdGVDYWxjKClcIj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgIDxcL2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLXJlc3VsdHMgcmV2ZWFsIHJldmVhbC1kZWxheS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtcmVzdWx0LWNhcmQgcHJpbWFyeVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtcmVzdWx0LWxhYmVsXCI+VG90YWwgQW5udWFsIFJldmVudWUgYXQgUmlzazxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLXJlc3VsdC1udW0gbG9zc1wiIGlkPVwicmVzLXRvdGFsXCI+JDA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1yZXN1bHQtc3ViXCI+Q29tYmluZWQgaW1wYWN0IG9mIHdhc3RlZCBzcGVuZCwgbG9zdCBsZWFkcyAmYW1wOyBvY2N1cGFuY3kgZ2FwIHBlciB5ZWFyPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1icmVha2Rvd25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLWJyZWFrZG93bi10aXRsZVwiPkJyZWFrZG93bjxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJicmVha2Rvd24tcm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnJlYWtkb3duLWxhYmVsXCI+V2FzdGVkIEFkIFNwZW5kIFwvIFllYXI8XC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJyZWFrZG93bi12YWxcIiBpZD1cInJlcy13YXN0ZVwiPiQwPFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJicmVha2Rvd24tcm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnJlYWtkb3duLWxhYmVsXCI+TGVhZHMgTG9zdCB0byBTbG93IEZvbGxvdy1VcCBcLyBZZWFyPFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJicmVha2Rvd24tdmFsXCIgaWQ9XCJyZXMtbGVhZHMtbG9zdFwiPiQwPFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJicmVha2Rvd24tcm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnJlYWtkb3duLWxhYmVsXCI+T2NjdXBhbmN5IEdhcCBSZXZlbnVlIFwvIE1vbnRoPFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJicmVha2Rvd24tdmFsXCIgaWQ9XCJyZXMtb2NjLWdhcFwiPiQwPFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJicmVha2Rvd24tcm93XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYnJlYWtkb3duLWxhYmVsXCI+TGlmZXRpbWUgVmFsdWUgb2YgRWFjaCBMb3N0IFJlc2lkZW50PFwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJicmVha2Rvd24tdmFsXCIgaWQ9XCJyZXMtbHR2XCI+JDA8XC9zcGFuPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJyZWFrZG93bi1yb3dcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJicmVha2Rvd24tbGFiZWxcIj5SZWNvdmVyYWJsZSBSZXZlbnVlIGF0IDk0JSBPY2N1cGFuY3k8XC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJyZWFrZG93bi12YWwgZ3JlZW5cIiBpZD1cInJlcy1yZWNvdmVyYWJsZVwiPiQwPFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtcmVzdWx0LWNhcmRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYWxjLXJlc3VsdC1sYWJlbFwiPlF1YWxpZmllZCBMZWFkcyBZb3UgQ291bGQgQmUgR2V0dGluZyBNb250aGx5PFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtcmVzdWx0LW51bVwiIGlkPVwicmVzLXBvdGVudGlhbC1sZWFkc1wiPjA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FsYy1yZXN1bHQtc3ViXCI+RXN0aW1hdGVkIG1vbnRobHkgcXVhbGlmaWVkIGxlYWRzIHdpdGggb3B0aW1pemVkIGFkcywgYmV0dGVyIHRhcmdldGluZywgYW5kIDUtbWludXRlIGF1dG9tYXRlZCBmb2xsb3ctdXAuIFJlc3BvbmRpbmcgd2l0aGluIDUgbWludXRlcyBtYWtlcyB5b3UgOVx1MDBkNyBtb3JlIGxpa2VseSB0byBjb252ZXJ0LjxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhbGMtY3RhLW5vdGVcIj5cclxuICAgICAgICAgIEJhc2VkIG9uIHlvdXIgaW5wdXRzLCBFbGRlcmJsb29tIGNvdWxkIGhlbHAgcmVjb3ZlciBhbiBlc3RpbWF0ZWQgPHN0cm9uZyBpZD1cInJlcy1yZWNvdmVyLW5vdGVcIj4kMDxcL3N0cm9uZz4gaW4gYW5udWFsIHJldmVudWUuIDxzdHJvbmc+Qm9vayB5b3VyIGZyZWUgY2FsbCB0byBnZXQgeW91ciByZWFsIG51bWJlci48XC9zdHJvbmc+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgIDxhIGhyZWY9XCIjY29udGFjdFwiIGNsYXNzPVwiYnRuLXByaW1hcnlcIiBzdHlsZT1cIndpZHRoOjEwMCU7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LXNpemU6MTRweDtwYWRkaW5nOjE2cHg7XCI+XHJcbiAgICAgICAgICBHZXQgTXkgRnJlZSBSZXZlbnVlIFJlY292ZXJ5IFBsYW4gXHUyMTkyXHJcbiAgICAgICAgPFwvYT5cclxuICAgICAgPFwvZGl2PlxyXG4gICAgPFwvZGl2PlxyXG4gIDxcL2Rpdj5cclxuPFwvc2VjdGlvbj5cclxuXHJcbjwhLS0gPT09PT0gQ09OVEFDVCA9PT09PSAtLT5cclxuPHNlY3Rpb24gaWQ9XCJjb250YWN0XCI+XHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhY3QtZ2xvd1wiPjxcL2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFjdC1ncmlkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyZXZlYWxcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGFnXCI+V29yayBXaXRoIFVzPFwvZGl2PlxyXG4gICAgICAgIDxoMiBjbGFzcz1cImNvbnRhY3QtaGVhZGxpbmVcIj5SZWFkeSB0byBGaWxsIEJlZHM8YnI+PHNwYW4gY2xhc3M9XCJncmFkaWVudC10ZXh0XCI+YW5kIEdyb3cgWW91ciBDZW5zdXM\/PFwvc3Bhbj48XC9oMj5cclxuICAgICAgICA8cCBjbGFzcz1cImNvbnRhY3QtZGVzY1wiPlxyXG4gICAgICAgICAgRXZlcnkgY29tbXVuaXR5IHlvdSd2ZSByZWFkIGFib3V0IHN0YXJ0ZWQgZXhhY3RseSB3aGVyZSB5b3UgYXJlIFx1MjAxNCB3aXRoIGNlbnN1cyBwcmVzc3VyZSwgYSB2aXNpYmlsaXR5IHByb2JsZW0sIGFuZCBhIGRlY2lzaW9uIHRvIG1ha2UuIFRoZSBkZWNpc2lvbiB0aGF0IGNoYW5nZWQgZXZlcnl0aGluZyB3YXMgbWFraW5nIHRoZSBjYWxsLiBZb3VyIDMwLW1pbnV0ZSBzdHJhdGVneSBzZXNzaW9uIGlzIGNvbXBsZXRlbHkgZnJlZS4gTm8gb2JsaWdhdGlvbi4gTm8gcGl0Y2ggZGVjay4gSnVzdCBob25lc3Qgc3RyYXRlZ3kgZnJvbSBhIHRlYW0gdGhhdCBzcGVha3Mgc2VuaW9yIGxpdmluZy5cclxuICAgICAgICA8XC9wPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYm9va2luZy13aWRnZXRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJib29raW5nLXdpZGdldC1oZWFkZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctd2lkZ2V0LXRpdGxlXCI+XHVkODNkXHVkY2M1IEJvb2sgWW91ciBGcmVlIFN0cmF0ZWd5IENhbGw8XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib29raW5nLXNwb3RzLWJhZGdlXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpdmUtZG90XCIgc3R5bGU9XCJ3aWR0aDo3cHg7aGVpZ2h0OjdweDtcIj48XC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJjYWxsQ291bnRcIj4xMjxcL3NwYW4+IGNhbGxzIGJvb2tlZCB0aGlzIHdlZWtcclxuICAgICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctcXVhcnRlci1ub3RlXCI+XHJcbiAgICAgICAgICAgIFx1MjZhMFx1ZmUwZiBPbmx5IDxzcGFuPjIgc3BvdHMgbGVmdCB0aGlzIHF1YXJ0ZXI8XC9zcGFuPiBcdTIwMTQgd2UgbGltaXQgbmV3IGNsaWVudHMgdG8gcHJvdGVjdCBzZXJ2aWNlIHF1YWxpdHlcclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJib29raW5nLXNsb3RzXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib29raW5nLXNsb3RcIiBvbmNsaWNrPVwic2VsZWN0U2xvdCh0aGlzLCAnRnJpZGF5LCBBcHJpbCAxOCBcdTAwYjcgMTA6MzAgQU0gRVNUJylcIj5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdC10aW1lXCI+MTA6MzAgQU0gRVNUPFwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdC1kYXlcIj5GcmlkYXksIEFwcmlsIDE4PFwvZGl2PlxyXG4gICAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9va2luZy1zbG90LWN0YVwiPlNlbGVjdCBcdTIxOTI8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdFwiIG9uY2xpY2s9XCJzZWxlY3RTbG90KHRoaXMsICdNb25kYXksIEFwcmlsIDIxIFx1MDBiNyAyOjAwIFBNIEVTVCcpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJib29raW5nLXNsb3QtdGltZVwiPjI6MDAgUE0gRVNUPFwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdC1kYXlcIj5Nb25kYXksIEFwcmlsIDIxPFwvZGl2PlxyXG4gICAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9va2luZy1zbG90LWN0YVwiPlNlbGVjdCBcdTIxOTI8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdFwiIG9uY2xpY2s9XCJzZWxlY3RTbG90KHRoaXMsICdUdWVzZGF5LCBBcHJpbCAyMiBcdTAwYjcgMTA6MzAgQU0gRVNUJylcIj5cclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdC10aW1lXCI+MTA6MzAgQU0gRVNUPFwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdC1kYXlcIj5UdWVzZGF5LCBBcHJpbCAyMjxcL2Rpdj5cclxuICAgICAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJvb2tpbmctc2xvdC1jdGFcIj5TZWxlY3QgXHUyMTkyPFwvZGl2PlxyXG4gICAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYm9va2luZy1jYWxscy1saXZlXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaXZlLWRvdFwiIHN0eWxlPVwid2lkdGg6N3B4O2hlaWdodDo3cHg7XCI+PFwvZGl2PlxyXG4gICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz1cImJvb2tpbmctY2FsbHMtbnVtXCIgaWQ9XCJsaXZlUmV2aWV3c1wiPjQ8XC9zcGFuPiBjb21tdW5pdGllcyByZXZpZXdpbmcgc3RyYXRlZ3kgcmlnaHQgbm93PFwvc3Bhbj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICA8XC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0LWluZm9cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFjdC1pbmZvLWljb25cIj5cdWQ4M2RcdWRjZGU8XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdj48YSBocmVmPVwidGVsOisxOTc4MzMzNDQwMFwiIHN0eWxlPVwiY29sb3I6dmFyKC0tdGV4dC13aGl0ZSk7XCI+OTc4LTMzMy00NDAwPFwvYT48XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3QtaW5mby1zdWJcIj5Nb25cdTIwMTNGcmksIDlhbVx1MjAxMzZwbSBFU1Q8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFjdC1pbmZvLWljb25cIj5cdTI3MDlcdWZlMGY8XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdj48YSBocmVmPVwibWFpbHRvOmluZm9AZWxkZXJibG9vbXN0cmF0ZWdpZXMuY29tXCIgc3R5bGU9XCJjb2xvcjp2YXIoLS10ZXh0LXdoaXRlKTtcIj5pbmZvQGVsZGVyYmxvb21zdHJhdGVnaWVzLmNvbTxcL2E+PFwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0LWluZm8tc3ViXCI+UmVwbGllcyB3aXRoaW4gMSBidXNpbmVzcyBkYXk8XC9kaXY+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0LWluZm8taXRlbVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFjdC1pbmZvLWljb25cIj5cdWQ4M2RcdWRjY2Q8XC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgPGRpdj5Cb3N0b24sIE1hc3NhY2h1c2V0dHM8XC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhY3QtaW5mby1zdWJcIj5TZXJ2aW5nIGNvbW11bml0aWVzIG5hdGlvbndpZGUgJmFtcDsgaW50ZXJuYXRpb25hbGx5PFwvZGl2PlxyXG4gICAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1c3QtYmFkZ2VzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1c3QtYmFkZ2VcIj5cdTI3MTMgTm8gbG9uZy10ZXJtIGNvbnRyYWN0czxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0cnVzdC1iYWRnZVwiPlx1MjcxMyBTZW5pb3IgbGl2aW5nIG9ubHk8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1c3QtYmFkZ2VcIj5cdTI3MTMgMTQwKyBjb21tdW5pdGllcyBzZXJ2ZWQ8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1c3QtYmFkZ2VcIj5cdTI3MTMgUmVzdWx0cyBpbiA2MFx1MjAxMzkwIGRheXM8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1c3QtYmFkZ2VcIj5cdTI3MTMgVVMgXHUwMGI3IENhbmFkYSBcdTAwYjcgRXVyb3BlPFwvZGl2PlxyXG4gICAgICAgIDxcL2Rpdj5cclxuICAgICAgPFwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJldmVhbCByZXZlYWwtZGVsYXktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWN0LWZvcm1cIj5cclxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOjI4cHg7XCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJmb250LXNpemU6MTlweDtmb250LXdlaWdodDo4MDA7bWFyZ2luLWJvdHRvbTo2cHg7XCI+Qm9vayBZb3VyIEZyZWUgU3RyYXRlZ3kgQ2FsbDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZToxM3B4O2NvbG9yOnJnYmEoMjQ1LDI0NSwyNDUsMC41KTtcIj5ObyBvYmxpZ2F0aW9uLiBObyBzYWxlcyBwcmVzc3VyZS4gSnVzdCBob25lc3Qgc3RyYXRlZ3kgZnJvbSBhIHRlYW0gdGhhdCBzcGVha3Mgc2VuaW9yIGxpdmluZy48XC9kaXY+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGlkPVwic2VsZWN0ZWQtc2xvdC1kaXNwbGF5XCIgc3R5bGU9XCJkaXNwbGF5Om5vbmU7cGFkZGluZzoxMHB4IDE0cHg7YmFja2dyb3VuZDpyZ2JhKDI0LDIwMywxNTAsMC4wOCk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0LDIwMywxNTAsMC4yNSk7Ym9yZGVyLXJhZGl1czo4cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tZ3JlZW4pO2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjE4cHg7XCI+PFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZuYW1lXCI+Rmlyc3QgTmFtZTxcL2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwiZm5hbWVcIiBwbGFjZWhvbGRlcj1cIkphbmVcIiBhdXRvY29tcGxldGU9XCJnaXZlbi1uYW1lXCI+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibG5hbWVcIj5MYXN0IE5hbWU8XC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cImxuYW1lXCIgcGxhY2Vob2xkZXI9XCJTbWl0aFwiIGF1dG9jb21wbGV0ZT1cImZhbWlseS1uYW1lXCI+XHJcbiAgICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbWFpbFwiPldvcmsgRW1haWw8XC9sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJlbWFpbFwiIGlkPVwiZW1haWxcIiBwbGFjZWhvbGRlcj1cImphbmVAeW91cmNvbW11bml0eS5jb21cIiBhdXRvY29tcGxldGU9XCJlbWFpbFwiPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInBob25lXCI+UGhvbmUgTnVtYmVyPFwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgaWQ9XCJwaG9uZVwiIHBsYWNlaG9sZGVyPVwiKDU1NSkgMDAwLTAwMDBcIiBhdXRvY29tcGxldGU9XCJ0ZWxcIj5cclxuICAgICAgICAgIDxcL2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyb2xlXCI+WW91ciBSb2xlPFwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxzZWxlY3QgaWQ9XCJyb2xlXCI+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPlNlbGVjdCB5b3VyIHJvbGU8XC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbj5EaXJlY3RvciBvZiBNYXJrZXRpbmc8XC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbj5EaXJlY3RvciBvZiBTYWxlczxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPlZQIG9mIFNhbGVzICZhbXA7IE1hcmtldGluZzxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPkRpcmVjdG9yIG9mIE9wZXJhdGlvbnM8XC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbj5Pd25lciBcLyBPcGVyYXRvcjxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPkV4ZWN1dGl2ZSBEaXJlY3RvcjxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPk90aGVyPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8XC9zZWxlY3Q+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiY29tbXVuaXR5XCI+Q29tbXVuaXR5IFwvIENvbXBhbnkgTmFtZTxcL2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cImNvbW11bml0eVwiIHBsYWNlaG9sZGVyPVwiU3VucmlzZSBTZW5pb3IgTGl2aW5nXCI+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiY29tbXVuaXRpZXNcIj5OdW1iZXIgb2YgQ29tbXVuaXRpZXM8XC9sYWJlbD5cclxuICAgICAgICAgICAgPHNlbGVjdCBpZD1cImNvbW11bml0aWVzXCI+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiIGRpc2FibGVkIHNlbGVjdGVkPlNlbGVjdCByYW5nZTxcL29wdGlvbj5cclxuICAgICAgICAgICAgICA8b3B0aW9uPjEgQ29tbXVuaXR5PFwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24+Mlx1MjAxMzUgQ29tbXVuaXRpZXM8XC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbj42XHUyMDEzMTUgQ29tbXVuaXRpZXM8XC9vcHRpb24+XHJcbiAgICAgICAgICAgICAgPG9wdGlvbj4xNlx1MjAxMzUwIENvbW11bml0aWVzPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICAgIDxvcHRpb24+NTArIENvbW11bml0aWVzPFwvb3B0aW9uPlxyXG4gICAgICAgICAgICA8XC9zZWxlY3Q+XHJcbiAgICAgICAgICA8XC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2hhbGxlbmdlXCI+QmlnZ2VzdCBNYXJrZXRpbmcgQ2hhbGxlbmdlPFwvbGFiZWw+XHJcbiAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cImNoYWxsZW5nZVwiIHBsYWNlaG9sZGVyPVwiVGVsbCB1cyBhYm91dCB5b3VyIGNlbnN1cyBwcmVzc3VyZSwgY3VycmVudCBtYXJrZXRpbmcsIG9yIHdoYXQncyBrZWVwaW5nIHlvdSB1cCBhdCBuaWdodC4uLlwiPjxcL3RleHRhcmVhPlxyXG4gICAgICAgICAgPFwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZvcm0tc3VibWl0XCIgb25jbGljaz1cImhhbmRsZUZvcm1TdWJtaXQodGhpcylcIj5cclxuICAgICAgICAgICAgQm9vayBNeSBGcmVlIFN0cmF0ZWd5IENhbGwgXHUyMTkyXHJcbiAgICAgICAgICA8XC9idXR0b24+XHJcbiAgICAgICAgICA8cCBjbGFzcz1cImZvcm0tcHJpdmFjeVwiPlx1ZDgzZFx1ZGQxMiBZb3VyIGluZm9ybWF0aW9uIGlzIHNlY3VyZSBhbmQgd2lsbCBuZXZlciBiZSBzaGFyZWQuIFdlIHJlc3BlY3QgeW91ciBwcml2YWN5LjxcL3A+XHJcbiAgICAgICAgPFwvZGl2PlxyXG4gICAgICA8XC9kaXY+XHJcbiAgICA8XC9kaXY+XHJcbiAgPFwvZGl2PlxyXG48XC9zZWN0aW9uPlxyXG5cclxuPCEtLSBGT09URVIgQkFSIC0tPlxyXG48ZGl2IHN0eWxlPVwiYm9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtwYWRkaW5nOjQwcHggMDtcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgc3R5bGU9XCJkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDp3cmFwO2dhcDoyMHB4O1wiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZToyMHB4O2ZvbnQtd2VpZ2h0OjkwMDtjb2xvcjp2YXIoLS1ncmVlbik7bWFyZ2luLWJvdHRvbTo0cHg7XCI+RWxkZXJibG9vbSBTdHJhdGVnaWVzPFwvZGl2PlxyXG4gICAgICA8ZGl2IHN0eWxlPVwiZm9udC1zaXplOjEycHg7Y29sb3I6dmFyKC0tdGV4dC1kaW0pO1wiPlNlbmlvciBMaXZpbmcgTWFya2V0aW5nIEFnZW5jeSBcdTAwYjcgQm9zdG9uLCBNQSBcdTAwYjcgRXhjbHVzaXZlbHkgU2VuaW9yIExpdmluZzxcL2Rpdj5cclxuICAgIDxcL2Rpdj5cclxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OmZsZXg7Z2FwOjMycHg7ZmxleC13cmFwOndyYXA7XCI+XHJcbiAgICAgIDxhIGhyZWY9XCJ0ZWw6KzE5NzgzMzM0NDAwXCIgc3R5bGU9XCJmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0LW11dGVkKTt0cmFuc2l0aW9uOmNvbG9yIDAuMnM7XCIgb25tb3VzZW92ZXI9XCJ0aGlzLnN0eWxlLmNvbG9yPSd2YXIoLS1ncmVlbiknXCIgb25tb3VzZW91dD1cInRoaXMuc3R5bGUuY29sb3I9J3ZhcigtLXRleHQtbXV0ZWQpJ1wiPjk3OC0zMzMtNDQwMDxcL2E+XHJcbiAgICAgIDxhIGhyZWY9XCJtYWlsdG86aW5mb0BlbGRlcmJsb29tc3RyYXRlZ2llcy5jb21cIiBzdHlsZT1cImZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQtbXV0ZWQpO3RyYW5zaXRpb246Y29sb3IgMC4ycztcIiBvbm1vdXNlb3Zlcj1cInRoaXMuc3R5bGUuY29sb3I9J3ZhcigtLWdyZWVuKSdcIiBvbm1vdXNlb3V0PVwidGhpcy5zdHlsZS5jb2xvcj0ndmFyKC0tdGV4dC1tdXRlZCknXCI+aW5mb0BlbGRlcmJsb29tc3RyYXRlZ2llcy5jb208XC9hPlxyXG4gICAgPFwvZGl2PlxyXG4gICAgPGRpdiBzdHlsZT1cImZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQtZGltKTtcIj5cdTAwYTkgMjAyNiBFbGRlcmJsb29tIFN0cmF0ZWdpZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPFwvZGl2PlxyXG4gIDxcL2Rpdj5cclxuPFwvZGl2PlxyXG5cclxuPHNjcmlwdD5cclxuXC9cLyAtLS0tIFJFVkVBTCAtLS0tXHJcbmNvbnN0IHJldmVhbHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcucmV2ZWFsJyk7XHJcbmNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7XHJcbiAgZW50cmllcy5mb3JFYWNoKGUgPT4geyBpZiAoZS5pc0ludGVyc2VjdGluZykgZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgndmlzaWJsZScpOyB9KTtcclxufSwgeyB0aHJlc2hvbGQ6IDAuMDggfSk7XHJcbnJldmVhbHMuZm9yRWFjaChlbCA9PiBvYnNlcnZlci5vYnNlcnZlKGVsKSk7XHJcblxyXG5cL1wvIC0tLS0gQ09VTlQgVVAgLS0tLVxyXG5mdW5jdGlvbiBhbmltYXRlQ291bnQoZWwpIHtcclxuICBjb25zdCB0YXJnZXQgPSBwYXJzZUludChlbC5kYXRhc2V0LnRhcmdldCk7XHJcbiAgY29uc3Qgc3VmZml4ID0gZWwuZGF0YXNldC5zdWZmaXggfHwgJyc7XHJcbiAgbGV0IHN0YXJ0ID0gMDtcclxuICBjb25zdCBkdXJhdGlvbiA9IDIwMDA7XHJcbiAgY29uc3Qgc3RlcCA9IDE2O1xyXG4gIGNvbnN0IGluY3JlbWVudCA9IHRhcmdldCBcLyAoZHVyYXRpb24gXC8gc3RlcCk7XHJcbiAgY29uc3QgdGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICBzdGFydCArPSBpbmNyZW1lbnQ7XHJcbiAgICBpZiAoc3RhcnQgPj0gdGFyZ2V0KSB7IHN0YXJ0ID0gdGFyZ2V0OyBjbGVhckludGVydmFsKHRpbWVyKTsgfVxyXG4gICAgZWwudGV4dENvbnRlbnQgPSBNYXRoLmZsb29yKHN0YXJ0KSArIHN1ZmZpeDtcclxuICB9LCBzdGVwKTtcclxufVxyXG5jb25zdCBjb3VudGVyT2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcclxuICBlbnRyaWVzLmZvckVhY2goZSA9PiB7XHJcbiAgICBpZiAoZS5pc0ludGVyc2VjdGluZyAmJiAhZS50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdjb3VudGVkJykpIHtcclxuICAgICAgZS50YXJnZXQuY2xhc3NMaXN0LmFkZCgnY291bnRlZCcpO1xyXG4gICAgICBhbmltYXRlQ291bnQoZS50YXJnZXQpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59LCB7IHRocmVzaG9sZDogMC41IH0pO1xyXG5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY291bnQtdXAnKS5mb3JFYWNoKGVsID0+IHtcclxuICBjb25zdCB0ID0gcGFyc2VJbnQoZWwuZGF0YXNldC50YXJnZXQpO1xyXG4gIGlmICh0ID49IDE0MCkgZWwuZGF0YXNldC5zdWZmaXggPSAnKyc7XHJcbiAgZWxzZSBpZiAoWzk0LCA5OCwgNjhdLmluY2x1ZGVzKHQpKSBlbC5kYXRhc2V0LnN1ZmZpeCA9ICclJztcclxuICBlbHNlIGlmICh0ID09PSAzMTgpIGVsLmRhdGFzZXQuc3VmZml4ID0gJyUnO1xyXG4gIGNvdW50ZXJPYnNlcnZlci5vYnNlcnZlKGVsKTtcclxufSk7XHJcblxyXG5cL1wvIC0tLS0gTElWRSBDT1VOVEVSIC0tLS1cclxubGV0IGxpdmVDb3VudCA9IDQ7XHJcbnNldEludGVydmFsKCgpID0+IHtcclxuICBjb25zdCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaXZlQ291bnQnKTtcclxuICBjb25zdCBlbDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbGl2ZVJldmlld3MnKTtcclxuICBpZiAoIWVsKSByZXR1cm47XHJcbiAgY29uc3QgY2hhbmdlID0gTWF0aC5yYW5kb20oKSA+IDAuNiA\/IDEgOiAoTWF0aC5yYW5kb20oKSA+IDAuNyA\/IC0xIDogMCk7XHJcbiAgbGl2ZUNvdW50ID0gTWF0aC5tYXgoMSwgTWF0aC5taW4oMTIsIGxpdmVDb3VudCArIGNoYW5nZSkpO1xyXG4gIGlmIChlbCkgZWwudGV4dENvbnRlbnQgPSBsaXZlQ291bnQ7XHJcbiAgaWYgKGVsMikgZWwyLnRleHRDb250ZW50ID0gbGl2ZUNvdW50O1xyXG59LCA2MDAwKTtcclxuXHJcblwvXC8gLS0tLSBORVdTTEVUVEVSIENPVU5URVIgLS0tLVxyXG5sZXQgbmxDb3VudFZhbCA9IDM3O1xyXG5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmxDb3VudCcpO1xyXG4gIGlmICghZWwpIHJldHVybjtcclxuICBpZiAoTWF0aC5yYW5kb20oKSA+IDAuODUpIHtcclxuICAgIG5sQ291bnRWYWwrKztcclxuICAgIGVsLnRleHRDb250ZW50ID0gbmxDb3VudFZhbDtcclxuICB9XHJcbn0sIDEyMDAwKTtcclxuXHJcblwvXC8gLS0tLSBDQUxMIENPVU5UIC0tLS1cclxubGV0IGNhbGxDb3VudCA9IDEyO1xyXG5zZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FsbENvdW50Jyk7XHJcbiAgaWYgKCFlbCkgcmV0dXJuO1xyXG4gIGlmIChNYXRoLnJhbmRvbSgpID4gMC45KSB7XHJcbiAgICBjYWxsQ291bnQgPSBNYXRoLm1pbihjYWxsQ291bnQgKyAxLCAxNSk7XHJcbiAgICBlbC50ZXh0Q29udGVudCA9IGNhbGxDb3VudDtcclxuICB9XHJcbn0sIDIwMDAwKTtcclxuXHJcblwvXC8gLS0tLSBGQVEgLS0tLVxyXG5mdW5jdGlvbiB0b2dnbGVGYXEoYnRuKSB7XHJcbiAgY29uc3QgaXRlbSA9IGJ0bi5jbG9zZXN0KCcuZmFxLWl0ZW0nKTtcclxuICBjb25zdCBpc09wZW4gPSBpdGVtLmNsYXNzTGlzdC5jb250YWlucygnb3BlbicpO1xyXG4gIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYXEtaXRlbS5vcGVuJykuZm9yRWFjaChpID0+IGkuY2xhc3NMaXN0LnJlbW92ZSgnb3BlbicpKTtcclxuICBpZiAoIWlzT3BlbikgaXRlbS5jbGFzc0xpc3QuYWRkKCdvcGVuJyk7XHJcbn1cclxuXHJcblwvXC8gLS0tLSBTTE9UIFNFTEVDVElPTiAtLS0tXHJcbmZ1bmN0aW9uIHNlbGVjdFNsb3QoZWwsIHNsb3RUZXh0KSB7XHJcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJvb2tpbmctc2xvdCcpLmZvckVhY2gocyA9PiB7XHJcbiAgICBzLnN0eWxlLmJvcmRlckNvbG9yID0gJyc7XHJcbiAgICBzLnN0eWxlLmJhY2tncm91bmQgPSAnJztcclxuICAgIHMucXVlcnlTZWxlY3RvcignLmJvb2tpbmctc2xvdC1jdGEnKS50ZXh0Q29udGVudCA9ICdTZWxlY3QgXHUyMTkyJztcclxuICB9KTtcclxuICBlbC5zdHlsZS5ib3JkZXJDb2xvciA9ICd2YXIoLS1ncmVlbiknO1xyXG4gIGVsLnN0eWxlLmJhY2tncm91bmQgPSAncmdiYSgyNCwyMDMsMTUwLDAuMDYpJztcclxuICBlbC5xdWVyeVNlbGVjdG9yKCcuYm9va2luZy1zbG90LWN0YScpLnRleHRDb250ZW50ID0gJ1x1MjcxMyBTZWxlY3RlZCc7XHJcbiAgY29uc3QgZGlzcGxheSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWxlY3RlZC1zbG90LWRpc3BsYXknKTtcclxuICBkaXNwbGF5LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xyXG4gIGRpc3BsYXkudGV4dENvbnRlbnQgPSAnXHUyNzEzIFNlbGVjdGVkOiAnICsgc2xvdFRleHQ7XHJcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRhY3QtZm9ybScpLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XHJcbn1cclxuXHJcblwvXC8gLS0tLSBTVElDS1kgQ1RBIC0tLS1cclxuY29uc3Qgc3RpY2t5Q1RBID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0aWNreUNUQScpO1xyXG53aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4ge1xyXG4gIHN0aWNreUNUQS5jbGFzc0xpc3QudG9nZ2xlKCdzaG93Jywgd2luZG93LnNjcm9sbFkgPiA2MDApO1xyXG59KTtcclxuXHJcblwvXC8gLS0tLSBGT1JNIFNVQk1JVCAtLS0tXHJcbmZ1bmN0aW9uIGhhbmRsZUZvcm1TdWJtaXQoYnRuKSB7XHJcbiAgY29uc3QgZm5hbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm5hbWUnKS52YWx1ZS50cmltKCk7XHJcbiAgY29uc3QgZW1haWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZW1haWwnKS52YWx1ZS50cmltKCk7XHJcbiAgaWYgKCFmbmFtZSB8fCAhZW1haWwpIHtcclxuICAgIGJ0bi50ZXh0Q29udGVudCA9ICdcdTI2YTAgUGxlYXNlIGZpbGwgaW4geW91ciBuYW1lIGFuZCBlbWFpbCc7XHJcbiAgICBidG4uc3R5bGUuYmFja2dyb3VuZCA9ICcjZjk1YzVjJztcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBidG4udGV4dENvbnRlbnQgPSAnQm9vayBNeSBGcmVlIFN0cmF0ZWd5IENhbGwgXHUyMTkyJztcclxuICAgICAgYnRuLnN0eWxlLmJhY2tncm91bmQgPSAndmFyKC0tZ3JlZW4pJztcclxuICAgIH0sIDI1MDApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBidG4udGV4dENvbnRlbnQgPSAnXHUyNzEzIFJlcXVlc3QgUmVjZWl2ZWQhIFdlXFwnbGwgYmUgaW4gdG91Y2ggd2l0aGluIDEgYnVzaW5lc3MgZGF5Lic7XHJcbiAgYnRuLnN0eWxlLmJhY2tncm91bmQgPSAnIzBhOWU3Myc7XHJcbiAgYnRuLmRpc2FibGVkID0gdHJ1ZTtcclxufVxyXG5cclxuZnVuY3Rpb24gaGFuZGxlTmV3c2xldHRlclN1Ym1pdChidG4pIHtcclxuICBjb25zdCBlbWFpbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdubC1lbWFpbCcpLnZhbHVlLnRyaW0oKTtcclxuICBpZiAoIWVtYWlsKSB7XHJcbiAgICBidG4udGV4dENvbnRlbnQgPSAnXHUyNmEwIFBsZWFzZSBlbnRlciB5b3VyIGVtYWlsJztcclxuICAgIGJ0bi5zdHlsZS5iYWNrZ3JvdW5kID0gJyNmOTVjNWMnO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGJ0bi50ZXh0Q29udGVudCA9ICdTdWJzY3JpYmUgJiBHZXQgRnJlZSBSZXNvdXJjZXMgXHUyMTkyJztcclxuICAgICAgYnRuLnN0eWxlLmJhY2tncm91bmQgPSAndmFyKC0tZ3JlZW4pJztcclxuICAgIH0sIDI1MDApO1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBidG4udGV4dENvbnRlbnQgPSAnXHUyNzEzIFlvdVxcJ3JlIHN1YnNjcmliZWQhIENoZWNrIHlvdXIgaW5ib3ggZm9yIHlvdXIgd2VsY29tZSBnaWZ0Lic7XHJcbiAgYnRuLnN0eWxlLmJhY2tncm91bmQgPSAnIzBhOWU3Myc7XHJcbiAgYnRuLmRpc2FibGVkID0gdHJ1ZTtcclxuICBubENvdW50VmFsKys7XHJcbiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmxDb3VudCcpO1xyXG4gIGlmIChlbCkgZWwudGV4dENvbnRlbnQgPSBubENvdW50VmFsO1xyXG59XHJcblxyXG5cL1wvIC0tLS0gUkVWRU5VRSBDQUxDVUxBVE9SIC0tLS1cclxuZnVuY3Rpb24gZm10RG9sbGFyKG4pIHtcclxuICBpZiAobiA+PSAxMDAwMDAwKSByZXR1cm4gJyQnICsgKG4gXC8gMTAwMDAwMCkudG9GaXhlZCgyKSArICdNJztcclxuICBpZiAobiA+PSAxMDAwKSByZXR1cm4gJyQnICsgTWF0aC5yb3VuZChuIFwvIDEwMDApICsgJ0snO1xyXG4gIHJldHVybiAnJCcgKyBNYXRoLnJvdW5kKG4pLnRvTG9jYWxlU3RyaW5nKCk7XHJcbn1cclxuZnVuY3Rpb24gdXBkYXRlQ2FsYygpIHtcclxuICBjb25zdCBidWRnZXQgPSBwYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2wtYnVkZ2V0JykudmFsdWUpO1xyXG4gIGNvbnN0IHJldmVudWUgPSBwYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2wtcmV2ZW51ZScpLnZhbHVlKTtcclxuICBjb25zdCBsb3MgPSBwYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2wtbG9zJykudmFsdWUpO1xyXG4gIGNvbnN0IHdhc3RlID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsLXdhc3RlJykudmFsdWUpO1xyXG4gIGNvbnN0IHJlc3BvbnNlID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsLXJlc3BvbnNlJykudmFsdWUpO1xyXG4gIGNvbnN0IGxlYWRzID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsLWxlYWRzJykudmFsdWUpO1xyXG4gIGNvbnN0IHVuaXRzID0gcGFyc2VJbnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsLXVuaXRzJykudmFsdWUpO1xyXG4gIGNvbnN0IG9jYyA9IHBhcnNlSW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzbC1vY2MnKS52YWx1ZSk7XHJcblxyXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2YWwtYnVkZ2V0JykudGV4dENvbnRlbnQgPSAnJCcgKyBidWRnZXQudG9Mb2NhbGVTdHJpbmcoKTtcclxuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmFsLXJldmVudWUnKS50ZXh0Q29udGVudCA9ICckJyArIHJldmVudWUudG9Mb2NhbGVTdHJpbmcoKTtcclxuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmFsLWxvcycpLnRleHRDb250ZW50ID0gbG9zICsgJyBtbyc7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhbC13YXN0ZScpLnRleHRDb250ZW50ID0gd2FzdGUgKyAnJSc7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhbC1yZXNwb25zZScpLnRleHRDb250ZW50ID0gcmVzcG9uc2UgKyAnIGhycyc7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhbC1sZWFkcycpLnRleHRDb250ZW50ID0gbGVhZHM7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhbC11bml0cycpLnRleHRDb250ZW50ID0gdW5pdHM7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZhbC1vY2MnKS50ZXh0Q29udGVudCA9IG9jYyArICclJztcclxuXHJcbiAgY29uc3Qgd2FzdGVkQW5udWFsID0gYnVkZ2V0ICogKHdhc3RlIFwvIDEwMCkgKiAxMjtcclxuICBjb25zdCBmb2xsb3d1cExvc3NGYWN0b3IgPSBNYXRoLm1pbigwLjg1LCAoKHJlc3BvbnNlIC0gMSkgXC8gNzEpICogMC43OCArIDAuMDUpO1xyXG4gIGNvbnN0IGxvc3RMZWFkcyA9IGxlYWRzICogZm9sbG93dXBMb3NzRmFjdG9yO1xyXG4gIGNvbnN0IGx0diA9IHJldmVudWUgKiBsb3M7XHJcbiAgY29uc3QgbGVhZHNMb3N0VmFsdWUgPSBsb3N0TGVhZHMgKiAwLjA4ICogbHR2ICogMTI7XHJcbiAgY29uc3QgZW1wdHlVbml0cyA9IHVuaXRzICogKCgxMDAgLSBvY2MpIFwvIDEwMCk7XHJcbiAgY29uc3QgdGFyZ2V0VW5pdHMgPSB1bml0cyAqIDAuOTQ7XHJcbiAgY29uc3QgY3VycmVudFVuaXRzID0gdW5pdHMgKiAob2NjIFwvIDEwMCk7XHJcbiAgY29uc3QgcmVjb3ZlcmFibGVVbml0cyA9IE1hdGgubWF4KDAsIHRhcmdldFVuaXRzIC0gY3VycmVudFVuaXRzKTtcclxuICBjb25zdCBvY2NHYXBNb250aGx5ID0gZW1wdHlVbml0cyAqIHJldmVudWU7XHJcbiAgY29uc3QgcmVjb3ZlcmFibGVNb250aGx5ID0gcmVjb3ZlcmFibGVVbml0cyAqIHJldmVudWU7XHJcbiAgY29uc3QgdG90YWwgPSB3YXN0ZWRBbm51YWwgKyBsZWFkc0xvc3RWYWx1ZSArIChvY2NHYXBNb250aGx5ICogMTIpO1xyXG4gIGNvbnN0IHJlY292ZXJhYmxlID0gd2FzdGVkQW5udWFsICogMC43ICsgKHJlY292ZXJhYmxlTW9udGhseSAqIDEyKTtcclxuICBjb25zdCBwb3RlbnRpYWxMZWFkcyA9IE1hdGgucm91bmQobGVhZHMgKiAyLjggKiAoMSAtICh3YXN0ZSBcLyAxMDApICogMC42KSk7XHJcblxyXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtdG90YWwnKS50ZXh0Q29udGVudCA9IGZtdERvbGxhcih0b3RhbCk7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlcy13YXN0ZScpLnRleHRDb250ZW50ID0gZm10RG9sbGFyKHdhc3RlZEFubnVhbCk7XHJcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlcy1sZWFkcy1sb3N0JykudGV4dENvbnRlbnQgPSBmbXREb2xsYXIobGVhZHNMb3N0VmFsdWUpO1xyXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtb2NjLWdhcCcpLnRleHRDb250ZW50ID0gZm10RG9sbGFyKG9jY0dhcE1vbnRobHkpO1xyXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtbHR2JykudGV4dENvbnRlbnQgPSBmbXREb2xsYXIobHR2KTtcclxuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzLXJlY292ZXJhYmxlJykudGV4dENvbnRlbnQgPSBmbXREb2xsYXIocmVjb3ZlcmFibGUpO1xyXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXMtcG90ZW50aWFsLWxlYWRzJykudGV4dENvbnRlbnQgPSBwb3RlbnRpYWxMZWFkcztcclxuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzLXJlY292ZXItbm90ZScpLnRleHRDb250ZW50ID0gZm10RG9sbGFyKHJlY292ZXJhYmxlKTtcclxuXHJcbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmNhbGMtc2xpZGVyJykuZm9yRWFjaChzbCA9PiB7XHJcbiAgICBjb25zdCBwY3QgPSAoKHNsLnZhbHVlIC0gc2wubWluKSBcLyAoc2wubWF4IC0gc2wubWluKSkgKiAxMDA7XHJcbiAgICBzbC5zdHlsZS5iYWNrZ3JvdW5kID0gYGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tZ3JlZW4pICR7cGN0fSUsIHJnYmEoMjU1LDI1NSwyNTUsMC4wNykgJHtwY3R9JSlgO1xyXG4gIH0pO1xyXG59XHJcbmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7IHVwZGF0ZUNhbGMoKTsgfSk7XHJcblxyXG5cL1wvIC0tLS0gU01PT1RIIFNDUk9MTCAtLS0tXHJcbmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbaHJlZl49XCIjXCJdJykuZm9yRWFjaChhID0+IHtcclxuICBhLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGEuZ2V0QXR0cmlidXRlKCdocmVmJykpO1xyXG4gICAgaWYgKHRhcmdldCkgeyBlLnByZXZlbnREZWZhdWx0KCk7IHRhcmdldC5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7IH1cclxuICB9KTtcclxufSk7XHJcbjxcL3NjcmlwdD5cclxuPFwvYm9keT5cclxuPFwvaHRtbD4iLCJfZmxleF9hbGlnbl9zZWxmX21vYmlsZSI6ImNlbnRlciJ9LCJlbGVtZW50cyI6W10sIndpZGdldFR5cGUiOiJodG1sIn1dLCJpc0lubmVyIjpmYWxzZX1ddyRhMjUyNTdmNi1lZjNiLTRhNGItYmNlMS0yZTVkZjdiZmZmNDV4dw5jb3JlL3BhcmFncmFwaHl3MFR5cGUgLyB0byBjaG9vc2UgYSBibG9jayBvciAvLyB0byB1c2UgQ29udGVudCBBSXl5eXcAdwdkZWZhdWx0dwdkZWZhdWx0dyQ0YTNkNDBiYS03ZmMwLTQwY2MtYjQ5Ni0wZGJjM2ZlYTQxNDZ3DmNvcmUvcGFyYWdyYXBoeXcwVHlwZSAvIHRvIGNob29zZSBhIGJsb2NrIG9yIC8vIHRvIHVzZSBDb250ZW50IEFJdyQzNjM1MDI4Zi1jMWY3LTQ1OTUtOWVjNS1hMzQ4OTk4OTMwYWF4dw5jb3JlL3BhcmFncmFwaHl3MFR5cGUgLyB0byBjaG9vc2UgYSBibG9jayBvciAvLyB0byB1c2UgQ29udGVudCBBSXl5eXcAdwdkZWZhdWx0dwdkZWZhdWx0dyQwNzk1ZTdmMS0yOTEwLTRlYjgtODQ4YS0zMTNmNDg4ZTcxZTd4dw5jb3JlL3BhcmFncmFwaHl3MFR5cGUgLyB0byBjaG9vc2UgYSBibG9jayBvciAvLyB0byB1c2UgQ29udGVudCBBSXl5eXcAdwdkZWZhdWx0dwdkZWZhdWx0dwdwdWJsaXNotQIAdyQ4MGNiYjBkZi1hNzA1LTQxMGMtYTJmOC0zZjE2YWIwM2Y5Y2V4dwxjb3JlL2hlYWRpbmd9Anl5eXcAdwdkZWZhdWx0dwdkZWZhdWx0dyRjMGNjOTAwMC05Yjg5LTQzMTEtOGMzOC04ZjMyNWQzMDA1ZjN3UjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+VW5kZXJzdGFuZGluZyBTZW5pb3IgTGl2aW5nIE1hcmtldGluZyBTdHJhdGVnaWVzPC9oMj53JDUyOTc1ZWI2LWEyMmItNDAxOC1hZTdkLThkMmViMTY2N2M2NXduPHA+RXZlcnkgc3RyYXRlZ3kgaXMgYnVpbHQgZm9yIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLiBOb3RoaW5nIGVsc2UuIFdlIGV4Y2VsIGluIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLjwvcD53JGNjYmQxOGE3LTEwOTctNDNkOC1iYzA1LTljMjc3ZmYxYzI0MndwPHA+VGhyb3VnaCBvdXIgZXhwZXJpZW5jZSwgd2XigJl2ZSB3aXRuZXNzZWQgdGhlIHRyYW5zZm9ybWF0aXZlIGltcGFjdCBvZiBkZWRpY2F0ZWQgc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcuPC9wPnckYTFhNmRhNjQtMTI1Ny00ZTM2LWIxMTAtZTJmZjJlOGEwY2Ezd4ACPHA+T3VyIGNvbW1pdG1lbnQgdG8gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgZW5zdXJlcyB0aGF0IHdlIHJlbWFpbiBmb2N1c2VkIG9uIHRoZSB1bmlxdWUgY2hhbGxlbmdlcyBhbmQgb3Bwb3J0dW5pdGllcyB3aXRoaW4gdGhlIHNlY3Rvci4gVGhlIGVmZmVjdGl2ZW5lc3Mgb2Ygc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgY2FuIHNpZ25pZmljYW50bHkgaW5mbHVlbmNlIG9jY3VwYW5jeSByYXRlcyBhbmQgY29tbXVuaXR5IHJlcHV0YXRpb24uPC9wPnckZmFiMDM2YTgtOWI3OC00YWEyLTkxZmYtZGE5YTY4ZWU0ZWFmd58EPHA+U2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgaXMgYW4gZXNzZW50aWFsIHBhcnQgb2Ygc3VjY2Vzcy4gSW4gdGhlIHJlYWxtIG9mIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLCB1bmRlcnN0YW5kaW5nIHlvdXIgYXVkaWVuY2UgaXMga2V5LiBXZSBmb2N1cyBvbiBpbm5vdmF0aXZlIHN0cmF0ZWdpZXMgaW4gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgdGhhdCBjYXRlciBzcGVjaWZpY2FsbHkgdG8gZmFtaWxpZXMgbG9va2luZyBmb3IgY2FyZSBvcHRpb25zLiBCeSB1dGlsaXppbmcgZWZmZWN0aXZlIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIHRlY2huaXF1ZXMsIHdlIGVuc3VyZSBtYXhpbXVtIHZpc2liaWxpdHkgZm9yIHlvdXIgY29tbXVuaXR5LiBPdXIgYXBwcm9hY2ggdG8gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgaW50ZWdyYXRlcyBjdXR0aW5nLWVkZ2UgdGVjaG5vbG9neSBhbmQgaW5zaWdodHMsIGFsbG93aW5nIGZvciBlZmZlY3RpdmUgb3V0cmVhY2ggYW5kIGVuZ2FnZW1lbnQgaW4gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgZWZmb3J0cy48L3A+dyQwZWE2NTUwNC1iYmZiLTQzZGItODI1Ny0xMjM2N2VjMDgyOWV3JDdiMzA0YzhlLTMwNjgtNGE2MC1iZTlmLTY0YjgxMjA4NjcyOHckZTBlN2ViMDktZTY3OS00NjRjLWEyNWItODQzMzk2ZDQwZjhidyRmNzZhZGUyYS1lZDQ4LTRhZTQtYTNlZS02ZTBhY2RiMmI5ODJ3JDUyOTc1ZWI2LWEyMmItNDAxOC1hZTdkLThkMmViMTY2N2M2NXduPHA+RXZlcnkgc3RyYXRlZ3kgaXMgYnVpbHQgZm9yIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLiBOb3RoaW5nIGVsc2UuIFdlIGV4Y2VsIGluIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLjwvcD53JGNjYmQxOGE3LTEwOTctNDNkOC1iYzA1LTljMjc3ZmYxYzI0MndwPHA+VGhyb3VnaCBvdXIgZXhwZXJpZW5jZSwgd2XigJl2ZSB3aXRuZXNzZWQgdGhlIHRyYW5zZm9ybWF0aXZlIGltcGFjdCBvZiBkZWRpY2F0ZWQgc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcuPC9wPnckYTFhNmRhNjQtMTI1Ny00ZTM2LWIxMTAtZTJmZjJlOGEwY2Ezd4ACPHA+T3VyIGNvbW1pdG1lbnQgdG8gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgZW5zdXJlcyB0aGF0IHdlIHJlbWFpbiBmb2N1c2VkIG9uIHRoZSB1bmlxdWUgY2hhbGxlbmdlcyBhbmQgb3Bwb3J0dW5pdGllcyB3aXRoaW4gdGhlIHNlY3Rvci4gVGhlIGVmZmVjdGl2ZW5lc3Mgb2Ygc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgY2FuIHNpZ25pZmljYW50bHkgaW5mbHVlbmNlIG9jY3VwYW5jeSByYXRlcyBhbmQgY29tbXVuaXR5IHJlcHV0YXRpb24uPC9wPnckZmFiMDM2YTgtOWI3OC00YWEyLTkxZmYtZGE5YTY4ZWU0ZWFmd58EPHA+U2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgaXMgYW4gZXNzZW50aWFsIHBhcnQgb2Ygc3VjY2Vzcy4gSW4gdGhlIHJlYWxtIG9mIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nLCB1bmRlcnN0YW5kaW5nIHlvdXIgYXVkaWVuY2UgaXMga2V5LiBXZSBmb2N1cyBvbiBpbm5vdmF0aXZlIHN0cmF0ZWdpZXMgaW4gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgdGhhdCBjYXRlciBzcGVjaWZpY2FsbHkgdG8gZmFtaWxpZXMgbG9va2luZyBmb3IgY2FyZSBvcHRpb25zLiBCeSB1dGlsaXppbmcgZWZmZWN0aXZlIHNlbmlvciBsaXZpbmcgbWFya2V0aW5nIHRlY2huaXF1ZXMsIHdlIGVuc3VyZSBtYXhpbXVtIHZpc2liaWxpdHkgZm9yIHlvdXIgY29tbXVuaXR5LiBPdXIgYXBwcm9hY2ggdG8gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgaW50ZWdyYXRlcyBjdXR0aW5nLWVkZ2UgdGVjaG5vbG9neSBhbmQgaW5zaWdodHMsIGFsbG93aW5nIGZvciBlZmZlY3RpdmUgb3V0cmVhY2ggYW5kIGVuZ2FnZW1lbnQgaW4gc2VuaW9yIGxpdmluZyBtYXJrZXRpbmcgZWZmb3J0cy48L3A+dyRiNDVhNmIwYi00MDRiLTQ0OGItODM3ZC1mNDY0NGNiM2RkNWV4dw5jb3JlL3BhcmFncmFwaHl3MFR5cGUgLyB0byBjaG9vc2UgYSBibG9jayBvciAvLyB0byB1c2UgQ29udGVudCBBSXl5eXcAdwdkZWZhdWx0dwdkZWZhdWx0dwRob21lfYkMdwdidWlsZGVye0J52jixEIAAe0HjriBbQAAAAwB3B3dwLXBhZ2UYAH299b+KAn0AdwZjbG9zZWR3BmNsb3NlZHcAdwB3AHl5dwB+dQAF8a3phA8EAuSSAgEAAQEBAMr7tOoNmQEAvJcECqDTAgHfAwGaBwHvswEBAARFBQACAisGAUYCAAEAAwMBAAICAQABAwEBAQABAyUGAUMiFQEEPAYBRQEABAIBBQECBAAFAAQDAwE9BgFFAwEBAAEAAQABAAQAAwUBAAIFew8JAAJDLgwPVgIBAQAFDAMABEMSAAEAAQQBAmcGAUMVAwMPRgYKAARDTw0KBiRCKgsEAA9DDBEBBgQANUNPDQwGM0MSAAEAAQQBAmcGAUMVAwMPSAYzDgEHARUBBwEAAQsBBAECKwYBDgEDAgoBAwECAQoBAgEAAgYCAgMdJQYBQyIVAQQ8BgEEAQ0BAgEBAwABAAICAQkBAgEBAQABDgIABQMCAQESAQQ7BgECAQABAQEDAgUBCAEAAgIBCQECAQEBAAELAgEBAwEFAQYBBgEGdwcDBtqFxOsJEgAAAQAEQzAGCpUBCAIBAgLxAQNkASMB+wEBAXwMAQABEQMHARCoAwTM68m2CQEAAaC4mt0DAwACBAAJAg==\",\"updateId\":691609475}","footnotes":""},"class_list":["post-31","page","type-page","status-publish","has-post-thumbnail","hentry"],"blog_post_layout_featured_media_urls":{"thumbnail":["https:\/\/i0.wp.com\/elderbloomstrategies.com\/wp-content\/uploads\/2026\/04\/ChatGPT-Image-Apr-18-2026-10_17_42-PM.png?resize=150%2C150&ssl=1",150,150,true],"full":["https:\/\/i0.wp.com\/elderbloomstrategies.com\/wp-content\/uploads\/2026\/04\/ChatGPT-Image-Apr-18-2026-10_17_42-PM.png?fit=1254%2C1254&ssl=1",1254,1254,false]},"categories_names":null,"comments_number":"0","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PhbZJe-v","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/pages\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/users\/279444861"}],"replies":[{"embeddable":true,"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=31"}],"version-history":[{"count":100,"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":932,"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/pages\/31\/revisions\/932"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=\/wp\/v2\/media\/777"}],"wp:attachment":[{"href":"https:\/\/elderbloomstrategies.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}