{"id":1530,"date":"2026-05-15T10:49:24","date_gmt":"2026-05-15T10:49:24","guid":{"rendered":"https:\/\/ajhzh.com\/?p=1530"},"modified":"2026-05-16T02:23:23","modified_gmt":"2026-05-16T02:23:23","slug":"%d8%a7%d9%84%d8%af%d9%84%d9%8a%d9%84-%d8%a7%d9%84%d8%b4%d8%a7%d9%85%d9%84-%d9%88%d8%a7%d9%84%d9%86%d9%87%d8%a7%d8%a6%d9%8a-%d9%84%d8%a3%d9%85%d9%86-%d8%a7%d9%84%d9%87%d9%88%d8%a7%d8%aa%d9%81-%d8%a7","status":"publish","type":"post","link":"https:\/\/ajhzh.com\/?p=1530","title":{"rendered":"\u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0634\u0627\u0645\u0644 \u0648\u0627\u0644\u0646\u0647\u0627\u0626\u064a \u0644\u0623\u0645\u0646 \u0627\u0644\u0647\u0648\u0627\u062a\u0641 \u0627\u0644\u0630\u0643\u064a\u0629 2026: \u0627\u0644\u0639\u0635\u0631 \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a \u0627\u0644\u062c\u062f\u064a\u062f"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><br><\/p><!DOCTYPE html>\n<html lang=\"ar\" dir=\"rtl\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>\u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0634\u0627\u0645\u0644 \u0644\u0623\u0645\u0646 \u0627\u0644\u0647\u0648\u0627\u062a\u0641 2026<\/title>\n    <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n    <script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Tajawal:wght@300;400;500;700;800&#038;display=swap\" rel=\"stylesheet\">\n    <style>\n        body {\n            font-family: 'Tajawal', sans-serif;\n            background-color: #f8fafc;\n            color: #1e293b;\n            scroll-behavior: smooth;\n        }\n        .chart-container {\n            position: relative;\n            width: 100%;\n            max-width: 700px;\n            margin-left: auto;\n            margin-right: auto;\n            height: 350px;\n            max-height: 400px;\n        }\n        .glass-card {\n            background: rgba(255, 255, 255, 0.9);\n            backdrop-filter: blur(10px);\n            border: 1px solid rgba(226, 232, 240, 0.8);\n            transition: transform 0.3s ease, box-shadow 0.3s ease;\n        }\n        .glass-card:hover {\n            transform: translateY(-5px);\n            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);\n        }\n        .nav-link.active {\n            color: #2563eb;\n            border-bottom: 2px solid #2563eb;\n        }\n        .cyber-accent {\n            background: linear-gradient(90deg, #2563eb, #3b82f6);\n        }\n        .status-dot {\n            height: 10px;\n            width: 10px;\n            border-radius: 50%;\n            display: inline-block;\n            animation: pulse 2s infinite;\n        }\n        @keyframes pulse {\n            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.7); }\n            70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(37, 99, 235, 0); }\n            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(37, 99, 235, 0); }\n        }\n    <\/style>\n<\/head>\n<body class=\"bg-slate-50\">\n\n    <!-- Chosen Palette: Midnight Cyber (\u0633\u0627\u064a\u0628\u0631 \u0645\u0646\u062a\u0635\u0641 \u0627\u0644\u0644\u064a\u0644 \u0627\u0644\u0647\u0627\u062f\u0626) -->\n    <!-- Application Structure Plan: \u062a\u0645 \u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0643\u0644\u0648\u062d\u0629 \u062a\u062d\u0643\u0645 \u0623\u0645\u0646\u064a\u0629 \u0645\u062a\u0643\u0627\u0645\u0644\u0629 (Security Dashboard). \u064a\u0628\u062f\u0623 \u0628\u0648\u0627\u062c\u0647\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u062a\u0639\u0631\u0636 \u0645\u0634\u0647\u062f \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a\u060c \u062b\u0645 \u064a\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 \u0631\u0643\u0627\u0626\u0632 \u0627\u0644\u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0639\u0628\u0631 \u0628\u0637\u0627\u0642\u0627\u062a \u062a\u0641\u0627\u0639\u0644\u064a\u0629\u060c \u064a\u062a\u0628\u0639\u0647\u0627 \u0642\u0633\u0645 \u062e\u0627\u0635 \u0628\u062a\u0623\u0645\u064a\u0646 \u0627\u0644\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0648\u0627\u0644\u0645\u0627\u0644\u064a\u0629\u060c \u0648\u064a\u0646\u062a\u0647\u064a \u0628\u0623\u062f\u0627\u0629 \u062a\u062f\u0642\u064a\u0642 \u064a\u0648\u0645\u064a\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629. \u0647\u0630\u0627 \u0627\u0644\u0647\u064a\u0643\u0644 \u064a\u0647\u062f\u0641 \u0625\u0644\u0649 \u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0646\u0635\u064a \u0627\u0644\u0645\u0639\u0642\u062f \u0625\u0644\u0649 \u0631\u062d\u0644\u0629 \u0627\u0633\u062a\u0643\u0634\u0627\u0641\u064a\u0629 \u0628\u0635\u0631\u064a\u0629 \u062a\u0639\u0632\u0632 \u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0645\u062e\u0627\u0637\u0631 \u0648\u0623\u062f\u0648\u0627\u062a \u0639\u0627\u0645 2026. -->\n    <!-- Visualization & Content Choices: \n        1. \u0631\u0627\u062f\u0627\u0631 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a (Threat Radar) -> \u0645\u0642\u0627\u0631\u0646\u0629 \u062d\u062c\u0645 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a -> \u0645\u062e\u0637\u0637 \u0634\u0631\u064a\u0637\u064a (Chart.js) -> \u062a\u0641\u0627\u0639\u0644 \u0639\u0646\u062f \u0627\u0644\u062a\u062d\u0648\u064a\u0645 -> \u0644\u062a\u0648\u0636\u064a\u062d \u062e\u0637\u0648\u0631\u0629 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a.\n        2. \u0631\u0643\u0627\u0626\u0632 \u0627\u0644\u062d\u0645\u0627\u064a\u0629 -> \u0634\u0631\u062d \u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 -> \u0628\u0637\u0627\u0642\u0627\u062a \u062a\u0641\u0627\u0639\u0644\u064a\u0629 (HTML\/Tailwind) -> \u062a\u0648\u0633\u064a\u0639 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644 \u0639\u0646\u062f \u0627\u0644\u0646\u0642\u0631.\n        3. \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 -> \u062e\u0637\u0648\u0627\u062a \u0639\u0645\u0644\u064a\u0629 -> \u0623\u062f\u0627\u0629 \u0627\u062e\u062a\u064a\u0627\u0631 (Checkbox UI) \u0645\u0639 \u062a\u062d\u062f\u064a\u062b \u0644\u062d\u0638\u064a \u0644\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0623\u0645\u0627\u0646.\n        \u062a\u0645 \u062a\u0623\u0643\u064a\u062f \u0639\u062f\u0645 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 SVG \u0623\u0648 Mermaid.\n    -->\n    <!-- CONFIRMATION: NO SVG graphics used. NO Mermaid JS used. -->\n\n    <!-- Navigation Area -->\n    <nav class=\"fixed top-0 w-full z-50 bg-white\/80 border-b border-slate-200 backdrop-blur-md\">\n        <div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\">\n            <div class=\"flex justify-between h-16 items-center\">\n                <div class=\"flex items-center\">\n                    <span class=\"text-2xl font-extrabold text-blue-600 ml-2\">\ud83d\udee1\ufe0f CyberShield<\/span>\n                    <span class=\"hidden md:block text-slate-500 font-medium\">| \u062f\u0644\u064a\u0644 \u0623\u0645\u0646 2026<\/span>\n                <\/div>\n                <div class=\"hidden md:flex space-x-8 space-x-reverse text-sm font-bold\">\n                    <button onclick=\"scrollToSection('threats')\" class=\"nav-link text-slate-600 hover:text-blue-600 px-3 py-2\">\u0631\u0627\u062f\u0627\u0631 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a<\/button>\n                    <button onclick=\"scrollToSection('pillars')\" class=\"nav-link text-slate-600 hover:text-blue-600 px-3 py-2\">\u0631\u0643\u0627\u0626\u0632 \u0627\u0644\u062d\u0645\u0627\u064a\u0629<\/button>\n                    <button onclick=\"scrollToSection('comms')\" class=\"nav-link text-slate-600 hover:text-blue-600 px-3 py-2\">\u062a\u0623\u0645\u064a\u0646 \u0627\u0644\u0627\u062a\u0635\u0627\u0644<\/button>\n                    <button onclick=\"scrollToSection('checklist')\" class=\"cyber-accent text-white rounded-lg px-4 py-2 shadow-lg hover:opacity-90 transition\">\u0645\u062f\u0642\u0642 \u0627\u0644\u0623\u0645\u0627\u0646<\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/nav>\n\n    <main class=\"pt-24 pb-12\">\n        <!-- Hero Section -->\n        <section class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 mb-16 text-center\">\n            <div class=\"inline-flex items-center px-4 py-1.5 rounded-full bg-blue-100 text-blue-700 text-sm font-bold mb-6\">\n                <span class=\"status-dot bg-blue-600 ml-2\"><\/span> \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0623\u0645\u0627\u0646: \u0639\u0627\u0645 2026\n            <\/div>\n            <h1 class=\"text-4xl md:text-6xl font-extrabold text-slate-900 mb-6 leading-tight\">\n                \u0627\u0644\u0639\u0635\u0631 \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a \u0627\u0644\u062c\u062f\u064a\u062f: <br> <span class=\"text-blue-600\">\u0647\u0627\u062a\u0641\u0643 \u0647\u0648 \u0647\u0648\u064a\u062a\u0643 \u0627\u0644\u0631\u0642\u0645\u064a\u0629<\/span>\n            <\/h1>\n            <p class=\"text-xl text-slate-600 max-w-3xl mx-auto mb-8 leading-relaxed\">\n                \u0641\u064a \u0639\u0627\u0645 2026\u060c \u0623\u0635\u0628\u062d \u0627\u0644\u0647\u0627\u062a\u0641 \u0627\u0644\u0630\u0643\u064a \u064a\u0636\u0645 &#8220;\u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0631\u0642\u0645\u064a\u0629&#8221; \u0645\u0646 \u0648\u062c\u0648\u062f\u0646\u0627 \u0628\u0627\u0644\u0643\u0627\u0645\u0644. \u0647\u0630\u0627 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a \u0647\u0648 \u062f\u0644\u064a\u0644\u0643 \u0627\u0644\u0646\u0647\u0627\u0626\u064a \u0644\u0641\u0647\u0645 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a \u0627\u0644\u062d\u062f\u064a\u062b\u0629 \u0648\u0628\u0646\u0627\u0621 \u062f\u0631\u0648\u0639\u0643 \u0627\u0644\u0631\u0642\u0645\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062a\u0642\u0646\u064a\u0627\u062a \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062b\u0642\u0629 \u0627\u0644\u0645\u0639\u062f\u0648\u0645\u0629.\n            <\/p>\n        <\/section>\n\n        <!-- Threat Landscape Section -->\n        <section id=\"threats\" class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 mb-16\">\n            <div class=\"bg-white rounded-3xl p-8 shadow-sm border border-slate-200\">\n                <div class=\"grid grid-cols-1 lg:grid-cols-2 gap-12 items-center\">\n                    <div>\n                        <h2 class=\"text-3xl font-bold mb-6\">1. \u0631\u0627\u062f\u0627\u0631 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a \u0641\u064a 2026<\/h2>\n                        <p class=\"text-slate-600 mb-8 leading-relaxed\">\n                            \u0645\u0642\u062f\u0645\u0629: \u0644\u0645 \u064a\u0639\u062f \u0627\u0644\u0645\u0647\u0627\u062c\u0645\u0648\u0646 \u064a\u0639\u062a\u0645\u062f\u0648\u0646 \u0639\u0644\u0649 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a \u0627\u0644\u062a\u0642\u0644\u064a\u062f\u064a\u0629. \u064a\u0634\u0647\u062f \u0639\u0627\u0645 2026 \u0637\u0641\u0631\u0629 \u0641\u064a \u0627\u0644\u0647\u062c\u0645\u0627\u062a &#8220;\u0627\u0644\u0645\u062e\u0635\u0635\u0629&#8221; \u0627\u0644\u062a\u064a \u064a\u0642\u0648\u062f\u0647\u0627 \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0627\u0644\u062a\u0648\u0644\u064a\u062f\u064a. \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0628\u064a\u0627\u0646\u064a \u0627\u0644\u0645\u062c\u0627\u0648\u0631 \u064a\u0648\u0636\u062d \u0627\u0644\u062a\u063a\u064a\u0631 \u0627\u0644\u062c\u0630\u0631\u064a \u0641\u064a \u0623\u0646\u0648\u0627\u0639 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a \u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u0627\u0644\u0623\u0639\u0648\u0627\u0645 \u0627\u0644\u0633\u0627\u0628\u0642\u0629.\n                        <\/p>\n                        <div class=\"space-y-4\">\n                            <div class=\"p-4 border-r-4 border-blue-500 bg-blue-50 rounded-lg\">\n                                <h3 class=\"font-bold text-blue-900\">\u0627\u0644\u0647\u062c\u0645\u0627\u062a \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629 \u0628\u0627\u0644\u0640 Gen-AI<\/h3>\n                                <p class=\"text-sm text-blue-700\">\u0631\u0633\u0627\u0626\u0644 \u062a\u0635\u064a\u062f \u062a\u062d\u0627\u0643\u064a \u0623\u0633\u0644\u0648\u0628 \u0643\u062a\u0627\u0628\u0629 \u0623\u0635\u062f\u0642\u0627\u0626\u0643 \u0628\u062f\u0642\u0629 99%.<\/p>\n                            <\/div>\n                            <div class=\"p-4 border-r-4 border-red-500 bg-red-50 rounded-lg\">\n                                <h3 class=\"font-bold text-red-900\">\u0627\u0644\u062a\u0632\u064a\u064a\u0641 \u0627\u0644\u0639\u0645\u064a\u0642 (Deepfakes)<\/h3>\n                                <p class=\"text-sm text-red-700\">\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0645\u0631\u0626\u064a\u0629 \u0645\u0646\u062a\u062d\u0644\u0629 \u0644\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0634\u062e\u0635\u064a\u0629 \u0644\u0637\u0644\u0628 \u062a\u062d\u0648\u064a\u0644\u0627\u062a \u0645\u0627\u0644\u064a\u0629.<\/p>\n                            <\/div>\n                            <div class=\"p-4 border-r-4 border-slate-500 bg-slate-50 rounded-lg\">\n                                <h3 class=\"font-bold text-slate-900\">\u062b\u063a\u0631\u0627\u062a \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0635\u0641\u0631 (Zero-Day)<\/h3>\n                                <p class=\"text-sm text-slate-700\">\u0627\u0633\u062a\u0647\u062f\u0627\u0641 \u0645\u0628\u0627\u0634\u0631 \u0644\u0646\u0648\u0627\u0629 \u0623\u0646\u0638\u0645\u0629 iOS 20 \u0648 Android 17.<\/p>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"flex flex-col items-center\">\n                        <div class=\"chart-container\">\n                            <canvas id=\"threatChart\"><\/canvas>\n                        <\/div>\n                        <p class=\"text-xs text-slate-400 mt-4 italic text-center\">\u062a\u0648\u0632\u064a\u0639 \u0634\u062f\u0629 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a\u0629 (\u0628\u064a\u0627\u0646\u0627\u062a \u062a\u0642\u062f\u064a\u0631\u064a\u0629 \u0644\u0639\u0627\u0645 2026)<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Core Pillars Section -->\n        <section id=\"pillars\" class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 mb-16\">\n            <div class=\"text-center mb-12\">\n                <h2 class=\"text-3xl font-bold mb-4\">2. \u0627\u0644\u0631\u0643\u0627\u0626\u0632 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0644\u062d\u0645\u0627\u064a\u0629 \u0647\u0627\u062a\u0641\u0643<\/h2>\n                <p class=\"text-slate-600\">\u062a\u0639\u0631\u0641 \u0639\u0644\u0649 \u0627\u0644\u062a\u0643\u0646\u0648\u0644\u0648\u062c\u064a\u0627 \u0627\u0644\u062a\u064a \u062a\u062d\u0645\u064a\u0643 \u062e\u0644\u0641 \u0627\u0644\u0643\u0648\u0627\u0644\u064a\u0633 \u0641\u064a \u0627\u0644\u0639\u0635\u0631 \u0627\u0644\u062c\u062f\u064a\u062f.<\/p>\n            <\/div>\n            <div class=\"grid grid-cols-1 md:grid-cols-2 gap-8\">\n                <!-- Card 1 -->\n                <div class=\"glass-card rounded-2xl p-8\">\n                    <div class=\"text-4xl mb-4\">\ud83d\udc64<\/div>\n                    <h3 class=\"text-xl font-bold mb-4\">\u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0628\u064a\u0648\u0645\u062a\u0631\u064a\u0629 \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629 (Biometrics 2.0)<\/h3>\n                    <p class=\"text-slate-600 mb-6\">\u0644\u0645 \u064a\u0639\u062f \u0645\u0633\u062a\u0634\u0639\u0631 \u0627\u0644\u0628\u0635\u0645\u0629 \u0643\u0627\u0641\u064a\u0627\u064b. \u0646\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0622\u0646 \u0623\u0646\u0638\u0645\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0623\u0646\u0645\u0627\u0637.<\/p>\n                    <ul class=\"space-y-3\">\n                        <li class=\"flex items-center text-sm text-slate-700\">\n                            <span class=\"w-2 h-2 bg-blue-500 rounded-full ml-3\"><\/span>\n                            \u0645\u064a\u0632\u0629 &#8220;\u0625\u062f\u0631\u0627\u0643 \u0627\u0644\u0623\u062d\u064a\u0627\u0621&#8221; (Liveness Detection)\n                        <\/li>\n                        <li class=\"flex items-center text-sm text-slate-700\">\n                            <span class=\"w-2 h-2 bg-blue-500 rounded-full ml-3\"><\/span>\n                            \u062a\u062d\u0644\u064a\u0644 \u0646\u0645\u0637 \u0627\u0644\u0645\u0634\u064a \u0648\u0646\u0628\u0636\u0627\u062a \u0627\u0644\u0642\u0644\u0628 \u0639\u0628\u0631 \u0627\u0644\u0633\u0627\u0639\u0629\n                        <\/li>\n                    <\/ul>\n                <\/div>\n                <!-- Card 2 -->\n                <div class=\"glass-card rounded-2xl p-8 border-r-blue-500 border-r-4\">\n                    <div class=\"text-4xl mb-4\">\ud83d\udee1\ufe0f<\/div>\n                    <h3 class=\"text-xl font-bold mb-4\">\u0646\u0638\u0627\u0645 \u0627\u0644\u062b\u0642\u0629 \u0627\u0644\u0645\u0639\u062f\u0648\u0645\u0629 (Zero Trust)<\/h3>\n                    <p class=\"text-slate-600 mb-6\">\u0627\u0644\u0645\u0628\u062f\u0623 \u0627\u0644\u0630\u0647\u0628\u064a: &#8220;\u0644\u0627 \u062a\u062b\u0642 \u0623\u0628\u062f\u0627\u064b\u060c \u062a\u062d\u0642\u0642 \u062f\u0627\u0626\u0645\u0627\u064b&#8221;. \u0643\u0644 \u062a\u0637\u0628\u064a\u0642 \u0641\u064a \u0628\u064a\u0626\u0629 \u0645\u0639\u0632\u0648\u0644\u0629.<\/p>\n                    <ul class=\"space-y-3\">\n                        <li class=\"flex items-center text-sm text-slate-700\">\n                            <span class=\"w-2 h-2 bg-blue-500 rounded-full ml-3\"><\/span>\n                            \u0639\u0632\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (Sandboxing) \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a\n                        <\/li>\n                        <li class=\"flex items-center text-sm text-slate-700\">\n                            <span class=\"w-2 h-2 bg-blue-500 rounded-full ml-3\"><\/span>\n                            \u0635\u0644\u0627\u062d\u064a\u0627\u062a \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0645\u0624\u0642\u062a\u0629 (One-time Access)\n                        <\/li>\n                    <\/ul>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Communications & Wallet Section -->\n        <section id=\"comms\" class=\"bg-slate-900 text-white py-20 mb-16 overflow-hidden relative\">\n            <div class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 relative z-10\">\n                <div class=\"text-center mb-16\">\n                    <h2 class=\"text-3xl font-bold mb-4\">3. \u062a\u0623\u0645\u064a\u0646 \u0627\u0644\u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0648\u0627\u0644\u0623\u0645\u0648\u0627\u0644<\/h2>\n                    <p class=\"text-slate-400\">\u0643\u064a\u0641 \u062a\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0634\u0628\u0643\u0627\u062a 6G \u0648\u0627\u0644\u0645\u062d\u0627\u0641\u0638 \u0627\u0644\u0631\u0642\u0645\u064a\u0629 \u0641\u064a \u0627\u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0645\u0639\u0642\u062f\u0629\u061f<\/p>\n                <\/div>\n                <div class=\"grid grid-cols-1 lg:grid-cols-3 gap-8\">\n                    <div class=\"bg-slate-800\/50 p-6 rounded-xl border border-slate-700\">\n                        <h4 class=\"font-bold text-blue-400 mb-3\">\u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0627\u0644\u0645\u0642\u0627\u0648\u0645 \u0644\u0644\u0643\u0645<\/h4>\n                        <p class=\"text-sm text-slate-300 leading-relaxed\">\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0628\u0631\u0648\u062a\u0648\u0643\u0648\u0644\u0627\u062a (E2EE) \u0627\u0644\u062a\u064a \u0644\u0627 \u064a\u0645\u0643\u0646 \u0643\u0633\u0631\u0647\u0627 \u062d\u062a\u0649 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u062d\u0648\u0627\u0633\u064a\u0628 \u0627\u0644\u0643\u0645\u0648\u0645\u064a\u0629 \u0627\u0644\u0646\u0627\u0634\u0626\u0629 \u0641\u064a 2026.<\/p>\n                    <\/div>\n                    <div class=\"bg-slate-800\/50 p-6 rounded-xl border border-slate-700\">\n                        <h4 class=\"font-bold text-blue-400 mb-3\">\u0627\u0644\u0634\u0628\u0643\u0627\u062a \u0627\u0644\u0642\u0645\u0631\u064a\u0629 \u06486G<\/h4>\n                        <p class=\"text-sm text-slate-300 leading-relaxed\">\u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0627\u0646\u0636\u0645\u0627\u0645 \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a \u0644\u0644\u0634\u0628\u0643\u0627\u062a \u0641\u064a \u0627\u0644\u0623\u0645\u0627\u0643\u0646 \u0627\u0644\u0639\u0627\u0645\u0629 \u0644\u062a\u062c\u0646\u0628 \u0647\u062c\u0645\u0627\u062a &#8220;\u0627\u0644\u0642\u0631\u0628 \u0627\u0644\u0645\u0643\u0627\u0646\u064a&#8221; \u0627\u0644\u0645\u062a\u0642\u062f\u0645\u0629.<\/p>\n                    <\/div>\n                    <div class=\"bg-slate-800\/50 p-6 rounded-xl border border-slate-700\">\n                        <h4 class=\"font-bold text-blue-400 mb-3\">\u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0629 \u0627\u0644\u062b\u0644\u0627\u062b\u064a\u0629 (3FA)<\/h4>\n                        <p class=\"text-sm text-slate-300 leading-relaxed\">\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0641\u0627\u062a\u064a\u062d \u0623\u0645\u0627\u0646 \u0641\u064a\u0632\u064a\u0627\u0626\u064a\u0629 (Hardware Key) \u0644\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0645\u0627\u0644\u064a\u0629 \u0627\u0644\u0636\u062e\u0645\u0629 \u0641\u0648\u0642 5000$.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <!-- Decorative Canvas Background Logic -->\n            <canvas id=\"gridCanvas\" class=\"absolute top-0 left-0 w-full h-full opacity-20 pointer-events-none\"><\/canvas>\n        <\/section>\n\n        <!-- Interactive Checklist Section -->\n        <section id=\"checklist\" class=\"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12 mb-16\">\n            <div class=\"bg-white rounded-3xl p-8 md:p-12 shadow-xl border border-slate-200\">\n                <div class=\"flex flex-col md:flex-row justify-between items-center mb-8 gap-4\">\n                    <div>\n                        <h2 class=\"text-3xl font-bold\">4. \u0645\u062f\u0642\u0642 \u0627\u0644\u0623\u0645\u0627\u0646 \u0627\u0644\u064a\u0648\u0645\u064a \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a<\/h2>\n                        <p class=\"text-slate-500 mt-2\">\u0627\u062e\u062a\u0628\u0631 \u0645\u0633\u062a\u0648\u0649 \u0623\u0645\u0627\u0646 \u0647\u0627\u062a\u0641\u0643 \u0627\u0644\u0622\u0646 \u0648\u0627\u062d\u0635\u0644 \u0639\u0644\u0649 \u062a\u0642\u064a\u064a\u0645 \u0641\u0648\u0631\u064a.<\/p>\n                    <\/div>\n                    <div class=\"text-center\">\n                        <div id=\"scoreRing\" class=\"inline-flex items-center justify-center w-24 h-24 rounded-full border-8 border-slate-100 text-2xl font-bold text-blue-600\">\n                            0%\n                        <\/div>\n                        <p class=\"text-xs mt-2 font-bold text-slate-400 uppercase tracking-widest\">\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062d\u0645\u0627\u064a\u0629<\/p>\n                    <\/div>\n                <\/div>\n\n                <div id=\"checkItems\" class=\"space-y-4\">\n                    <!-- Dynamic Checkboxes -->\n                    <label class=\"flex items-center p-4 rounded-xl border border-slate-100 hover:bg-slate-50 cursor-pointer transition\">\n                        <input type=\"checkbox\" class=\"w-6 h-6 rounded border-slate-300 text-blue-600 focus:ring-blue-500 ml-4\" onchange=\"updateScore()\">\n                        <div class=\"text-right\">\n                            <span class=\"block font-bold\">\u062a\u062d\u062f\u064a\u062b\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645 \u0641\u0648\u0631\u064a\u0629<\/span>\n                            <span class=\"text-xs text-slate-500\">\u0647\u0644 \u0642\u0645\u062a \u0628\u062a\u062b\u0628\u064a\u062a \u0622\u062e\u0631 &#8220;\u062a\u0631\u0642\u064a\u0639 \u0623\u0645\u0646\u064a&#8221; \u0644\u0644\u0646\u0638\u0627\u0645 \u062e\u0644\u0627\u0644 \u0627\u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u0645\u0627\u0636\u064a\u0629\u061f<\/span>\n                        <\/div>\n                    <\/label>\n                    <label class=\"flex items-center p-4 rounded-xl border border-slate-100 hover:bg-slate-50 cursor-pointer transition\">\n                        <input type=\"checkbox\" class=\"w-6 h-6 rounded border-slate-300 text-blue-600 focus:ring-blue-500 ml-4\" onchange=\"updateScore()\">\n                        <div class=\"text-right\">\n                            <span class=\"block font-bold\">\u062a\u0637\u0647\u064a\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a<\/span>\n                            <span class=\"text-xs text-slate-500\">\u062d\u0630\u0641 \u0623\u064a \u062a\u0637\u0628\u064a\u0642 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647 \u062e\u0644\u0627\u0644 \u0627\u0644\u0640 30 \u064a\u0648\u0645\u0627\u064b \u0627\u0644\u0645\u0627\u0636\u064a\u0629.<\/span>\n                        <\/div>\n                    <\/label>\n                    <label class=\"flex items-center p-4 rounded-xl border border-slate-100 hover:bg-slate-50 cursor-pointer transition\">\n                        <input type=\"checkbox\" class=\"w-6 h-6 rounded border-slate-300 text-blue-600 focus:ring-blue-500 ml-4\" onchange=\"updateScore()\">\n                        <div class=\"text-right\">\n                            <span class=\"block font-bold\">\u062a\u0634\u0641\u064a\u0631 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0627\u062d\u062a\u064a\u0627\u0637\u064a \u0627\u0644\u0633\u062d\u0627\u0628\u064a<\/span>\n                            <span class=\"text-xs text-slate-500\">\u062a\u0641\u0639\u064a\u0644 \u062e\u064a\u0627\u0631 &#8220;\u062a\u0634\u0641\u064a\u0631 \u0627\u0644\u0637\u0631\u0641 \u0644\u0622\u062e\u0631&#8221; \u0639\u0644\u0649 iCloud \u0623\u0648 Google Drive.<\/span>\n                        <\/div>\n                    <\/label>\n                    <label class=\"flex items-center p-4 rounded-xl border border-slate-100 hover:bg-slate-50 cursor-pointer transition\">\n                        <input type=\"checkbox\" class=\"w-6 h-6 rounded border-slate-300 text-blue-600 focus:ring-blue-500 ml-4\" onchange=\"updateScore()\">\n                        <div class=\"text-right\">\n                            <span class=\"block font-bold\">\u0648\u0639\u064a \u0627\u0644\u0647\u0646\u062f\u0633\u0629 \u0627\u0644\u0627\u062c\u062a\u0645\u0627\u0639\u064a\u0629<\/span>\n                            <span class=\"text-xs text-slate-500\">\u0647\u0644 \u062a\u062a\u0634\u0643\u0643 \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b \u0641\u064a \u0623\u064a \u0637\u0644\u0628 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0645\u0641\u0627\u062c\u0626 \u062d\u062a\u0649 \u0644\u0648 \u0643\u0627\u0646 \u0645\u0646 \u0635\u062f\u064a\u0642\u061f<\/span>\n                        <\/div>\n                    <\/label>\n                <\/div>\n\n                <div id=\"statusMessage\" class=\"mt-8 p-4 rounded-xl bg-slate-100 text-slate-600 text-center font-medium\">\n                    \u0627\u0628\u062f\u0623 \u0641\u064a \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0625\u062c\u0631\u0627\u0621\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062a\u062e\u0630\u0647\u0627 \u0644\u062a\u0631\u0649 \u0645\u0633\u062a\u0648\u0649 \u062d\u0645\u0627\u064a\u062a\u0643&#8230;\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- Summary & Footer -->\n        <section class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 text-center border-t border-slate-200\">\n            <h2 class=\"text-2xl font-bold mb-4\">\u0627\u0644\u062e\u0644\u0627\u0635\u0629: \u0627\u0644\u0623\u0645\u0646 \u0639\u0642\u0644\u064a\u0629 \u0648\u0644\u064a\u0633 \u0645\u062c\u0631\u062f \u0623\u062f\u0648\u0627\u062a<\/h2>\n            <p class=\"text-slate-600 max-w-2xl mx-auto mb-8\">\n                \u0641\u064a \u0639\u0627\u0645 2026\u060c \u0627\u0644\u062e\u0635\u0648\u0635\u064a\u0629 \u0647\u064a \u0627\u0644\u0631\u0641\u0627\u0647\u064a\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629. \u0627\u062a\u0628\u0627\u0639\u0643 \u0644\u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0644\u0627 \u064a\u062d\u0645\u064a \u0628\u064a\u0627\u0646\u0627\u062a\u0643 \u0641\u062d\u0633\u0628\u060c \u0628\u0644 \u064a\u062d\u0645\u064a \u0627\u0633\u062a\u0642\u0631\u0627\u0631\u0643 \u0641\u064a \u0639\u0627\u0644\u0645 \u064a\u0632\u062f\u0627\u062f \u062a\u0639\u0642\u064a\u062f\u0627\u064b. \u062a\u0630\u0643\u0631: \u0623\u0646\u062a \u062e\u0637 \u0627\u0644\u062f\u0641\u0627\u0639 \u0627\u0644\u0623\u0648\u0644 \u0648\u0627\u0644\u0623\u062e\u064a\u0631.\n            <\/p>\n            <div class=\"flex justify-center space-x-4 space-x-reverse\">\n                <button onclick=\"window.print()\" class=\"px-6 py-2 border border-slate-300 rounded-lg text-sm font-bold hover:bg-slate-100 transition\">\u062a\u062d\u0645\u064a\u0644 \u0646\u0633\u062e\u0629 PDF<\/button>\n                <button onclick=\"scrollToSection('threats')\" class=\"px-6 py-2 bg-slate-900 text-white rounded-lg text-sm font-bold hover:bg-slate-800 transition\">\u0627\u0644\u0639\u0648\u062f\u0629 \u0644\u0644\u0628\u062f\u0627\u064a\u0629<\/button>\n            <\/div>\n        <\/section>\n    <\/main>\n\n    <footer class=\"bg-white py-6 border-t border-slate-100 text-center text-slate-400 text-xs\">\n        &copy; 2026 \u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0642\u0648\u0642 \u0645\u062d\u0641\u0648\u0638\u0629 &#8211; \u0623\u0643\u0627\u062f\u064a\u0645\u064a\u0629 \u0627\u0644\u0623\u0645\u0646 \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a \u0627\u0644\u0630\u0643\u064a\n    <\/footer>\n\n    <script>\n        \/\/ Core Logic for Visualization and Interaction\n        \n        \/\/ 1. Chart Initialization\n        const ctx = document.getElementById('threatChart').getContext('2d');\n        const threatChart = new Chart(ctx, {\n            type: 'bar',\n            data: {\n                labels: ['\u0627\u0644\u062a\u0635\u064a\u062f \u0627\u0644\u062a\u0642\u0644\u064a\u062f\u064a', 'Gen-AI Attacks', 'Deepfakes', '\u062b\u063a\u0631\u0627\u062a \u0627\u0644\u0646\u0638\u0627\u0645', '\u0633\u0631\u0642\u0629 \u0627\u0644\u0623\u062c\u0647\u0632\u0629'],\n                datasets: [{\n                    label: '\u0645\u0624\u0634\u0631 \u0627\u0644\u062e\u0637\u0648\u0631\u0629 (1-100)',\n                    data: [35, 95, 88, 75, 40],\n                    backgroundColor: [\n                        'rgba(148, 163, 184, 0.6)',\n                        'rgba(37, 99, 235, 0.8)',\n                        'rgba(239, 68, 68, 0.8)',\n                        'rgba(30, 41, 59, 0.8)',\n                        'rgba(245, 158, 11, 0.6)'\n                    ],\n                    borderColor: '#ffffff',\n                    borderWidth: 2,\n                    borderRadius: 10\n                }]\n            },\n            options: {\n                responsive: true,\n                maintainAspectRatio: false,\n                plugins: {\n                    legend: { display: false },\n                    tooltip: {\n                        callbacks: {\n                            label: function(context) {\n                                let label = context.dataset.label || '';\n                                if (label) label += ': ';\n                                if (context.parsed.y !== null) label += context.parsed.y + '\/100';\n                                return label;\n                            }\n                        }\n                    }\n                },\n                scales: {\n                    y: { \n                        beginAtZero: true,\n                        grid: { display: false },\n                        ticks: { font: { family: 'Tajawal', size: 10 } }\n                    },\n                    x: {\n                        grid: { display: false },\n                        ticks: { \n                            font: { family: 'Tajawal', size: 10 },\n                            callback: function(value) {\n                                let label = this.getLabelForValue(value);\n                                if (label.length > 15) return label.substring(0, 12) + '...';\n                                return label;\n                            }\n                        }\n                    }\n                }\n            }\n        });\n\n        \/\/ 2. Interactive Score Tracker\n        function updateScore() {\n            const checkboxes = document.querySelectorAll('#checkItems input[type=\"checkbox\"]');\n            const total = checkboxes.length;\n            const checked = Array.from(checkboxes).filter(i => i.checked).length;\n            const percentage = Math.round((checked \/ total) * 100);\n            \n            const ring = document.getElementById('scoreRing');\n            const message = document.getElementById('statusMessage');\n            \n            ring.innerText = percentage + '%';\n            \n            if (percentage < 30) {\n                ring.className = ring.className.replace(\/border-(slate|yellow|green)-[0-9]+\/g, 'border-red-500');\n                message.innerText = \"\u26a0\ufe0f \u0648\u0636\u0639\u0643 \u062d\u0631\u062c! \u0623\u0646\u062a \u0645\u0643\u0634\u0648\u0641 \u062a\u0645\u0627\u0645\u0627\u064b \u0623\u0645\u0627\u0645 \u0647\u062c\u0645\u0627\u062a 2026.\";\n                message.className = \"mt-8 p-4 rounded-xl bg-red-100 text-red-700 text-center font-bold\";\n            } else if (percentage < 70) {\n                ring.className = ring.className.replace(\/border-(red|slate|green)-[0-9]+\/g, 'border-yellow-500');\n                message.innerText = \"\ud83d\udd0d \u0648\u0636\u0639\u0643 \u0645\u0642\u0628\u0648\u0644 \u0648\u0644\u0643\u0646 \u0647\u0646\u0627\u0643 \u0641\u062c\u0648\u0627\u062a \u0623\u0645\u0646\u064a\u0629 \u0648\u0627\u0633\u0639\u0629.\";\n                message.className = \"mt-8 p-4 rounded-xl bg-yellow-100 text-yellow-700 text-center font-bold\";\n            } else {\n                ring.className = ring.className.replace(\/border-(red|yellow|slate)-[0-9]+\/g, 'border-green-500');\n                message.innerText = \"\u2705 \u0623\u062d\u0633\u0646\u062a! \u0623\u0646\u062a \u062a\u062a\u0628\u0639 \u0623\u0641\u0636\u0644 \u0627\u0644\u0645\u0645\u0627\u0631\u0633\u0627\u062a \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a\u0629 \u0627\u0644\u062d\u062f\u064a\u062b\u0629.\";\n                message.className = \"mt-8 p-4 rounded-xl bg-green-100 text-green-700 text-center font-bold\";\n            }\n        }\n\n        \/\/ 3. Smooth Navigation Handling\n        function scrollToSection(id) {\n            const element = document.getElementById(id);\n            const offset = 80;\n            const bodyRect = document.body.getBoundingClientRect().top;\n            const elementRect = element.getBoundingClientRect().top;\n            const elementPosition = elementRect - bodyRect;\n            const offsetPosition = elementPosition - offset;\n\n            window.scrollTo({\n                top: offsetPosition,\n                behavior: 'smooth'\n            });\n        }\n\n        \/\/ 4. Decorative Background Canvas Logic\n        const gridCanvas = document.getElementById('gridCanvas');\n        const gCtx = gridCanvas.getContext('2d');\n        \n        function drawGrid() {\n            gridCanvas.width = gridCanvas.offsetWidth;\n            gridCanvas.height = gridCanvas.offsetHeight;\n            gCtx.strokeStyle = '#3b82f6';\n            gCtx.lineWidth = 0.2;\n            \n            const step = 40;\n            for (let x = 0; x <= gridCanvas.width; x += step) {\n                gCtx.beginPath();\n                gCtx.moveTo(x, 0);\n                gCtx.lineTo(x, gridCanvas.height);\n                gCtx.stroke();\n            }\n            for (let y = 0; y <= gridCanvas.height; y += step) {\n                gCtx.beginPath();\n                gCtx.moveTo(0, y);\n                gCtx.lineTo(gridCanvas.width, y);\n                gCtx.stroke();\n            }\n        }\n        \n        window.onload = drawGrid;\n        window.onresize = drawGrid;\n\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0644\u062f\u0644\u064a\u0644 \u0627\u0644\u0634\u0627\u0645\u0644 \u0644\u0623\u0645\u0646 \u0627\u0644\u0647\u0648\u0627\u062a\u0641 2026 \ud83d\udee1\ufe0f CyberShield | \u062f\u0644\u064a\u0644 \u0623\u0645\u0646 2026 \u0631\u0627\u062f\u0627\u0631 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a \u0631\u0643\u0627\u0626\u0632 \u0627\u0644\u062d\u0645\u0627\u064a\u0629 \u062a\u0623\u0645\u064a\u0646 \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0645\u062f\u0642\u0642 \u0627\u0644\u0623\u0645\u0627\u0646 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0623\u0645\u0627\u0646: \u0639\u0627\u0645 2026 \u0627\u0644\u0639\u0635\u0631 \u0627\u0644\u0633\u064a\u0628\u0631\u0627\u0646\u064a \u0627\u0644\u062c\u062f\u064a\u062f: \u0647\u0627\u062a\u0641\u0643 \u0647\u0648 \u0647\u0648\u064a\u062a\u0643 \u0627\u0644\u0631\u0642\u0645\u064a\u0629 \u0641\u064a \u0639\u0627\u0645 2026\u060c \u0623\u0635\u0628\u062d \u0627\u0644\u0647\u0627\u062a\u0641 \u0627\u0644\u0630\u0643\u064a \u064a\u0636\u0645 &#8220;\u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0631\u0642\u0645\u064a\u0629&#8221; \u0645\u0646 \u0648\u062c\u0648\u062f\u0646\u0627 \u0628\u0627\u0644\u0643\u0627\u0645\u0644. \u0647\u0630\u0627 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a \u0647\u0648 \u062f\u0644\u064a\u0644\u0643 \u0627\u0644\u0646\u0647\u0627\u0626\u064a \u0644\u0641\u0647\u0645 \u0627\u0644\u062a\u0647\u062f\u064a\u062f\u0627\u062a \u0627\u0644\u062d\u062f\u064a\u062b\u0629 \u0648\u0628\u0646\u0627\u0621 \u062f\u0631\u0648\u0639\u0643 \u0627\u0644\u0631\u0642\u0645\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1538,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"{\"document\":\"AAAVxOPJ2ggkqvvmHMTjydoIAOr75hwJKwcAAwUEFgEAUpaOBZQCAtYClgLOkAVyBQICHFRkQq7aCuzaCgIBAwwCQkwLuo4FlgLIkQUIBQJPKAAhAScAAQCEAIEAhACBAIQAgQCEAicBKAAhACgEJwAoAiEAKAAhAAAABACBAIQAgQDEAaEARADEBIQAqAIhAKgApwAHACgEJwEEACgAJ93KAZjKAXN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZdivINmE2KfYptmK2Klkb2N1bWVudGNvbnRlbnRkb2N1bWVudGV4Y2VycHRkb2N1bWVudGF1dGhvcmRvY3VtZW50ZmVhdHVyZWRfbWVkaWFkb2N1bWVudGNvbW1lbnRfc3RhdHVzZG9jdW1lbnRwaW5nX3N0YXR1c2RvY3VtZW50c3RpY2t5ZG9jdW1lbnR0ZW1wbGF0ZWRvY3VtZW50Zm9ybWF0ZG9jdW1lbnRtZXRhcGFnZWxheWVyX2NvbnRhY3RfdGVtcGxhdGVzX3BhZ2VsYXllcl9jb250ZW50Zm9vdG5vdGVzZG9jdW1lbnRjYXRlZ29yaWVzZG9jdW1lbnR0YWdzZG9jdW1lbnRibG9ja3M8IS0tIHdwOnBhcmFncmFwaCAtLT4KCjxwPjxicj48L3A+PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImFyIiBkaXI9InJ0bCI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPtin2YTYr9mE2YrZhCDYp9mE2LTYp9mF2YQg2YTYo9mF2YYg2KfZhNmH2YjYp9iq2YEgMjAyNjwvdGl0bGU+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4udGFpbHdpbmRjc3MuY29tIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9VGFqYXdhbDp3Z2h0QDMwMDs0MDA7NTAwOzcwMDs4MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPHN0eWxlPgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1RhamF3YWwnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjOwogICAgICAgICAgICBjb2xvcjogIzFlMjkzYjsKICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7CiAgICAgICAgfQogICAgICAgIC5jaGFydC1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4OwogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgICAgICAgICBoZWlnaHQ6IDM1MHB4OwogICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICB9CiAgICAgICAgLmdsYXNzLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjgpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmdsYXNzLWNhcmQ6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIH0KICAgICAgICAubmF2LWxpbmsuYWN0aXZlIHsKICAgICAgICAgICAgY29sb3I6ICMyNTYzZWI7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjU2M2ViOwogICAgICAgIH0KICAgICAgICAuY3liZXItYWNjZW50IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMjU2M2ViLCAjM2I4MmY2KTsKICAgICAgICB9CiAgICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTsKICAgICAgICB9CiAgICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM3LCA5OSwgMjM1LCAwLjcpOyB9CiAgICAgICAgICAgIDcwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgzNywgOTksIDIzNSwgMCk7IH0KICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNywgOTksIDIzNSwgMCk7IH0KICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJiZy1zbGF0ZS01MCI+CiAgICA8IS0tIENob3NlbiBQYWxldHRlOiBNaWRuaWdodCBDeWJlciAo2LPYp9mK2KjYsSDZhdmG2KrYtdmBINin2YTZhNmK2YQg2KfZhNmH2KfYr9imKSAtLT4KICAgIDwhLS0gQXBwbGljYXRpb24gU3RydWN0dXJlIFBsYW46INiq2YUg2KrYtdmF2YrZhSDYp9mE2KrYt9io2YrZgiDZg9mE2YjYrdipINiq2K3Zg9mFINij2YXZhtmK2Kkg2YXYqtmD2KfZhdmE2KkgKFNlY3VyaXR5IERhc2hib2FyZCkuINmK2KjYr9ijINio2YjYp9is2YfYqSDYqtmB2KfYudmE2YrYqSDYqti52LHYtiDZhdi02YfYryDYp9mE2KrZh9iv2YrYr9in2KrYjCDYq9mFINmK2YbYqtmC2YQg2KXZhNmJINix2YPYp9im2LIg2KfZhNit2YXYp9mK2Kkg2KfZhNij2LPYp9iz2YrYqSDYudio2LEg2KjYt9in2YLYp9iqINiq2YHYp9i52YTZitip2Iwg2YrYqtio2LnZh9inINmC2LPZhSDYrtin2LUg2KjYqtij2YXZitmGINin2YTYp9iq2LXYp9mE2KfYqiDZiNin2YTZhdin2YTZitip2Iwg2YjZitmG2KrZh9mKINio2KPYr9in2Kkg2KrYr9mC2YrZgiDZitmI2YXZitipINiq2YHYp9i52YTZitipLiDZh9iw2Kcg2KfZhNmH2YrZg9mEINmK2YfYr9mBINil2YTZiSDYqtit2YjZitmEINin2YTZhdit2KrZiNmJINin2YTZhti12Yog2KfZhNmF2LnZgtivINil2YTZiSDYsdit2YTYqSDYp9iz2KrZg9i02KfZgdmK2Kkg2KjYtdix2YrYqSDYqti52LLYsiDZgdmH2YUg2KfZhNmF2LPYqtiu2K\/ZhSDZhNmF2K7Yp9i32LEg2YjYo9iv2YjYp9iqINi52KfZhSAyMDI2LiAtLT4KICAgIDwhLS0gVmlzdWFsaXphdGlvbiAmIENvbnRlbnQgQ2hvaWNlczogCiAgICAgICAgMS4g2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2KogKFRocmVhdCBSYWRhcikgLT4g2YXZgtin2LHZhtipINit2KzZhSDYp9mE2KrZh9iv2YrYr9in2KogLT4g2YXYrti32Lcg2LTYsdmK2LfZiiAoQ2hhcnQuanMpIC0+INiq2YHYp9i52YQg2LnZhtivINin2YTYqtit2YjZitmFIC0+INmE2KrZiNi22YrYrSDYrti32YjYsdipINin2YTYsNmD2KfYoSDYp9mE2KfYtdi32YbYp9i52YouCiAgICAgICAgMi4g2LHZg9in2KbYsiDYp9mE2K3Zhdin2YrYqSAtPiDYtNix2K0g2KfZhNmF2YHYp9mH2YrZhSAtPiDYqNi32KfZgtin2Kog2KrZgdin2LnZhNmK2KkgKEhUTUwvVGFpbHdpbmQpIC0+INiq2YjYs9mK2Lkg2KfZhNiq2YHYp9i12YrZhCDYudmG2K8g2KfZhNmG2YLYsS4KICAgICAgICAzLiDZgtin2KbZhdipINin2YTYqtit2YLZgiAtPiDYrti32YjYp9iqINi52YXZhNmK2KkgLT4g2KPYr9in2Kkg2KfYrtiq2YrYp9ixIChDaGVja2JveCBVSSkg2YXYuSDYqtit2K\/ZitirINmE2K3YuNmKINmE2YXYs9iq2YjZiSDYp9mE2KPZhdin2YYuCiAgICAgICAg2KrZhSDYqtij2YPZitivINi52K\/ZhSDYp9iz2KrYrtiv2KfZhSBTVkcg2KPZiCBNZXJtYWlkLgogICAgLS0+CiAgICA8IS0tIENPTkZJUk1BVElPTjogTk8gU1ZHIGdyYXBoaWNzIHVzZWQuIE5PIE1lcm1haWQgSlMgdXNlZC4gLS0+CgogICAgPCEtLSBOYXZpZ2F0aW9uIEFyZWEgLS0+CiAgICA8bmF2IGNsYXNzPSJmaXhlZCB0b3AtMCB3LWZ1bGwgei01MCBiZy13aGl0ZS84MCBib3JkZXItYiBib3JkZXItc2xhdGUtMjAwIGJhY2tkcm9wLWJsdXItbWQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaC0xNiBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWV4dHJhYm9sZCB0ZXh0LWJsdWUtNjAwIG1sLTIiPvCfm6HvuI8gQ3liZXJTaGllbGQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhpZGRlbiBtZDpibG9jayB0ZXh0LXNsYXRlLTUwMCBmb250LW1lZGl1bSI+fCDYr9mE2YrZhCDYo9mF2YYgMjAyNjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuIG1kOmZsZXggc3BhY2UteC04IHNwYWNlLXgtcmV2ZXJzZSB0ZXh0LXNtIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJzY3JvbGxUb1NlY3Rpb24oJ3RocmVhdHMnKSIgY2xhc3M9Im5hdi1saW5rIHRleHQtc2xhdGUtNjAwIGhvdmVyOnRleHQtYmx1ZS02MDAgcHgtMyBweS0yIj7Ysdin2K\/Yp9ixINin2YTYqtmH2K\/Zitiv2KfYqjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCdwaWxsYXJzJykiIGNsYXNzPSJuYXYtbGluayB0ZXh0LXNsYXRlLTYwMCBob3Zlcjp0ZXh0LWJsdWUtNjAwIHB4LTMgcHktMiI+2LHZg9in2KbYsiDYp9mE2K3Zhdin2YrYqTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCdjb21tcycpIiBjbGFzcz0ibmF2LWxpbmsgdGV4dC1zbGF0ZS02MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCBweC0zIHB5LTIiPtiq2KPZhdmK2YYg2KfZhNin2KrYtdin2YQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbignY2hlY2tsaXN0JykiIGNsYXNzPSJjeWJlci1hY2NlbnQgdGV4dC13aGl0ZSByb3VuZGVkLWxnIHB4LTQgcHktMiBzaGFkb3ctbGcgaG92ZXI6b3BhY2l0eS05MCB0cmFuc2l0aW9uIj7Zhdiv2YLZgiDYp9mE2KPZhdin2YY8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvbmF2PgoKICAgIDxtYWluIGNsYXNzPSJwdC0yNCBwYi0xMiI+CiAgICAgICAgPCEtLSBIZXJvIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IG1iLTE2IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTQgcHktMS41IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIHRleHQtc20gZm9udC1ib2xkIG1iLTYiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QgYmctYmx1ZS02MDAgbWwtMiI+PC9zcGFuPiDYqtit2K\/ZitirINin2YTYo9mF2KfZhjog2LnYp9mFIDIwMjYKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMSBjbGFzcz0idGV4dC00eGwgbWQ6dGV4dC02eGwgZm9udC1leHRyYWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItNiBsZWFkaW5nLXRpZ2h0Ij4KICAgICAgICAgICAgICAgINin2YTYudi12LEg2KfZhNiz2YrYqNix2KfZhtmKINin2YTYrNiv2YrYrzogPGJyPiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTYwMCI+2YfYp9iq2YHZgyDZh9mIINmH2YjZitiq2YMg2KfZhNix2YLZhdmK2Kk8L3NwYW4+CiAgICAgICAgICAgIDwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhsIHRleHQtc2xhdGUtNjAwIG1heC13LTN4bCBteC1hdXRvIG1iLTggbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgINmB2Yog2LnYp9mFIDIwMjbYjCDYo9i12KjYrSDYp9mE2YfYp9iq2YEg2KfZhNiw2YPZiiDZiti22YUgItin2YTZhtiz2K7YqSDYp9mE2LHZgtmF2YrYqSIg2YXZhiDZiNis2YjYr9mG2Kcg2KjYp9mE2YPYp9mF2YQuINmH2LDYpyDYp9mE2KrYt9io2YrZgiDYp9mE2KrZgdin2LnZhNmKINmH2Ygg2K\/ZhNmK2YTZgyDYp9mE2YbZh9in2KbZiiDZhNmB2YfZhSDYp9mE2KrZh9iv2YrYr9in2Kog2KfZhNit2K\/Zitir2Kkg2YjYqNmG2KfYoSDYr9ix2YjYudmDINin2YTYsdmC2YXZitipINio2KfYs9iq2K7Yr9in2YUg2KrZgtmG2YrYp9iqINin2YTYsNmD2KfYoSDYp9mE2KfYtdi32YbYp9i52Yog2YjYp9mE2KvZgtipINin2YTZhdi52K\/ZiNmF2KkuCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gVGhyZWF0IExhbmRzY2FwZSBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJ0aHJlYXRzIiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgbWItMTYiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZSByb3VuZGVkLTN4bCBwLTggc2hhZG93LXNtIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTIgZ2FwLTEyIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNiI+MS4g2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2Kog2YHZiiAyMDI2PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTggbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINmF2YLYr9mF2Kk6INmE2YUg2YrYudivINin2YTZhdmH2KfYrNmF2YjZhiDZiti52KrZhdiv2YjZhiDYudmE2Ykg2KfZhNio2LHZhdis2YrYp9iqINin2YTYqtmC2YTZitiv2YrYqS4g2YrYtNmH2K8g2LnYp9mFIDIwMjYg2LfZgdix2Kkg2YHZiiDYp9mE2YfYrNmF2KfYqiAi2KfZhNmF2K7Ytdi12KkiINin2YTYqtmKINmK2YLZiNiv2YfYpyDYp9mE2LDZg9in2KEg2KfZhNin2LXYt9mG2KfYudmKINin2YTYqtmI2YTZitiv2YouINin2YTYsdiz2YUg2KfZhNio2YrYp9mG2Yog2KfZhNmF2KzYp9mI2LEg2YrZiNi22K0g2KfZhNiq2LrZitixINin2YTYrNiw2LHZiiDZgdmKINij2YbZiNin2Lkg2KfZhNiq2YfYr9mK2K\/Yp9iqINmF2YLYp9ix2YbYqSDYqNin2YTYo9i52YjYp9mFINin2YTYs9in2KjZgtipLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItYmx1ZS01MDAgYmctYmx1ZS01MCByb3VuZGVkLWxnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtOTAwIj7Yp9mE2YfYrNmF2KfYqiDYp9mE2YXYr9i52YjZhdipINio2KfZhNmAIEdlbi1BSTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ibHVlLTcwMCI+2LHYs9in2KbZhCDYqti12YrYryDYqtit2KfZg9mKINij2LPZhNmI2Kgg2YPYqtin2KjYqSDYo9i12K\/Zgtin2KbZgyDYqNiv2YLYqSA5OSUuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItcmVkLTUwMCBiZy1yZWQtNTAgcm91bmRlZC1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJmb250LWJvbGQgdGV4dC1yZWQtOTAwIj7Yp9mE2KrYstmK2YrZgSDYp9mE2LnZhdmK2YIgKERlZXBmYWtlcyk8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtcmVkLTcwMCI+2KfYqti12KfZhNin2Kog2YXYsdim2YrYqSDZhdmG2KrYrdmE2Kkg2YTZhNmH2YjZitipINin2YTYtNiu2LXZitipINmE2LfZhNioINiq2K3ZiNmK2YTYp9iqINmF2KfZhNmK2KkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItc2xhdGUtNTAwIGJnLXNsYXRlLTUwIHJvdW5kZWQtbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIj7Yq9i62LHYp9iqINin2YTZitmI2YUg2KfZhNi12YHYsSAoWmVyby1EYXkpPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCI+2KfYs9iq2YfYr9in2YEg2YXYqNin2LTYsSDZhNmG2YjYp9ipINij2YbYuNmF2KkgaU9TIDIwINmIIEFuZHJvaWQgMTcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9InRocmVhdENoYXJ0Ij48L2NhbnZhcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwIG10LTQgaXRhbGljIHRleHQtY2VudGVyIj7YqtmI2LLZiti5INi02K\/YqSDYp9mE2KrZh9iv2YrYr9in2Kog2KfZhNiz2YrYqNix2KfZhtmK2KkgKNio2YrYp9mG2KfYqiDYqtmC2K\/Zitix2YrYqSDZhNi52KfZhSAyMDI2KTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gQ29yZSBQaWxsYXJzIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9InBpbGxhcnMiIGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS0xMiBtYi0xNiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTEyIj4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTQiPjIuINin2YTYsdmD2KfYptiyINin2YTYo9iz2KfYs9mK2Kkg2YTYrdmF2KfZitipINmH2KfYqtmB2YM8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIj7Yqti52LHZgSDYudmE2Ykg2KfZhNiq2YPZhtmI2YTZiNis2YrYpyDYp9mE2KrZiiDYqtit2YXZitmDINiu2YTZgSDYp9mE2YPZiNin2YTZitizINmB2Yog2KfZhNi52LXYsSDYp9mE2KzYr9mK2K8uPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtOCI+CiAgICAgICAgICAgICAgICA8IS0tIENhcmQgMSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLWNhcmQgcm91bmRlZC0yeGwgcC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTR4bCBtYi00Ij7wn5GkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi00Ij7Yp9mE2YfZiNmK2Kkg2KfZhNio2YrZiNmF2KrYsdmK2Kkg2KfZhNmF2KrZgtiv2YXYqSAoQmlvbWV0cmljcyAyLjApPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAgbWItNiI+2YTZhSDZiti52K8g2YXYs9iq2LTYudixINin2YTYqNi12YXYqSDZg9in2YHZitin2YsuINmG2LPYqtiu2K\/ZhSDYp9mE2KLZhiDYo9mG2LjZhdipINmF2KrYudiv2K\/YqSDYp9mE2KPZhtmF2KfYty48L3A+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINmF2YrYstipICLYpdiv2LHYp9mDINin2YTYo9it2YrYp9ihIiAoTGl2ZW5lc3MgRGV0ZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINiq2K3ZhNmK2YQg2YbZhdi3INin2YTZhdi02Yog2YjZhtio2LbYp9iqINin2YTZgtmE2Kgg2LnYqNixINin2YTYs9in2LnYqQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gQ2FyZCAyIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtY2FyZCByb3VuZGVkLTJ4bCBwLTggYm9yZGVyLXItYmx1ZS01MDAgYm9yZGVyLXItNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC00eGwgbWItNCI+8J+boe+4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCI+2YbYuNin2YUg2KfZhNir2YLYqSDYp9mE2YXYudiv2YjZhdipIChaZXJvIFRydXN0KTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTYiPtin2YTZhdio2K\/YoyDYp9mE2LDZh9io2Yo6ICLZhNinINiq2KvZgiDYo9io2K\/Yp9mL2Iwg2KrYrdmC2YIg2K\/Yp9im2YXYp9mLIi4g2YPZhCDYqti32KjZitmCINmB2Yog2KjZitim2Kkg2YXYudiy2YjZhNipLjwvcD4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idy0yIGgtMiBiZy1ibHVlLTUwMCByb3VuZGVkLWZ1bGwgbWwtMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg2LnYstmEINin2YTYqti32KjZitmC2KfYqiAoU2FuZGJveGluZykg2KfZhNiq2YTZgtin2KbZigogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINi12YTYp9it2YrYp9iqINin2YTZiNi12YjZhCDYp9mE2YXYpNmC2KrYqSAoT25lLXRpbWUgQWNjZXNzKQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIENvbW11bmljYXRpb25zICYgV2FsbGV0IFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImNvbW1zIiBjbGFzcz0iYmctc2xhdGUtOTAwIHRleHQtd2hpdGUgcHktMjAgbWItMTYgb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcmVsYXRpdmUgei0xMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0xNiI+CiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNCI+My4g2KrYo9mF2YrZhiDYp9mE2KfYqti12KfZhNin2Kog2YjYp9mE2KPZhdmI2KfZhDwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNDAwIj7Zg9mK2YEg2KrYqti52KfZhdmEINmF2Lkg2LTYqNmD2KfYqiA2RyDZiNin2YTZhdit2KfZgdi4INin2YTYsdmC2YXZitipINmB2Yog2KfZhNio2YrYptin2Kog2KfZhNmF2LnZgtiv2KnYnzwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMyBnYXAtOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctc2xhdGUtODAwLzUwIHAtNiByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgdGV4dC1ibHVlLTQwMCBtYi0zIj7Yp9mE2KfYqti12KfZhCDYp9mE2YXZgtin2YjZhSDZhNmE2YPZhTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KfYs9iq2K7Yr9in2YUg2KjYsdmI2KrZiNmD2YjZhNin2KogKEUyRUUpINin2YTYqtmKINmE2Kcg2YrZhdmD2YYg2YPYs9ix2YfYpyDYrdiq2Ykg2KjZiNin2LPYt9ipINin2YTYrdmI2KfYs9mK2Kgg2KfZhNmD2YXZiNmF2YrYqSDYp9mE2YbYp9i02KbYqSDZgdmKIDIwMjYuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXNsYXRlLTgwMC81MCBwLTYgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtYmx1ZS00MDAgbWItMyI+2KfZhNi02KjZg9in2Kog2KfZhNmC2YXYsdmK2Kkg2Yg2RzwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KrYudi32YrZhCDYp9mE2KfZhti22YXYp9mFINin2YTYqtmE2YLYp9im2Yog2YTZhNi02KjZg9in2Kog2YHZiiDYp9mE2KPZhdin2YPZhiDYp9mE2LnYp9mF2Kkg2YTYqtis2YbYqCDZh9is2YXYp9iqICLYp9mE2YLYsdioINin2YTZhdmD2KfZhtmKIiDYp9mE2YXYqtmC2K\/ZhdipLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zbGF0ZS04MDAvNTAgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtNDAwIG1iLTMiPtin2YTZhdi12KfYr9mC2Kkg2KfZhNir2YTYp9ir2YrYqSAoM0ZBKTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KfYs9iq2K7Yr9in2YUg2YXZgdin2KrZititINij2YXYp9mGINmB2YrYstmK2KfYptmK2KkgKEhhcmR3YXJlIEtleSkg2YTZhNi52YXZhNmK2KfYqiDYp9mE2YXYp9mE2YrYqSDYp9mE2LbYrtmF2Kkg2YHZiNmCIDUwMDAkLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBEZWNvcmF0aXZlIENhbnZhcyBCYWNrZ3JvdW5kIExvZ2ljIC0tPgogICAgICAgICAgICA8Y2FudmFzIGlkPSJncmlkQ2FudmFzIiBjbGFzcz0iYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHctZnVsbCBoLWZ1bGwgb3BhY2l0eS0yMCBwb2ludGVyLWV2ZW50cy1ub25lIj48L2NhbnZhcz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gSW50ZXJhY3RpdmUgQ2hlY2tsaXN0IFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImNoZWNrbGlzdCIgY2xhc3M9Im1heC13LTR4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTEyIG1iLTE2Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcm91bmRlZC0zeGwgcC04IG1kOnAtMTIgc2hhZG93LXhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi04IGdhcC00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCI+NC4g2YXYr9mC2YIg2KfZhNij2YXYp9mGINin2YTZitmI2YXZiiDYp9mE2KrZgdin2LnZhNmKPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNTAwIG10LTIiPtin2K7Yqtio2LEg2YXYs9iq2YjZiSDYo9mF2KfZhiDZh9in2KrZgdmDINin2YTYotmGINmI2KfYrdi12YQg2LnZhNmJINiq2YLZitmK2YUg2YHZiNix2YouPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2NvcmVSaW5nIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMjQgaC0yNCByb3VuZGVkLWZ1bGwgYm9yZGVyLTggYm9yZGVyLXNsYXRlLTEwMCB0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ibHVlLTYwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwJQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgbXQtMiBmb250LWJvbGQgdGV4dC1zbGF0ZS00MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCI+2YXYs9iq2YjZiSDYp9mE2K3Zhdin2YrYqTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNoZWNrSXRlbXMiIGNsYXNzPSJzcGFjZS15LTQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gRHluYW1pYyBDaGVja2JveGVzIC0tPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgaG92ZXI6Ymctc2xhdGUtNTAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InctNiBoLTYgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwIHRleHQtYmx1ZS02MDAgZm9jdXM6cmluZy1ibHVlLTUwMCBtbC00IiBvbmNoYW5nZT0idXBkYXRlU2NvcmUoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIGZvbnQtYm9sZCI+2KrYrdiv2YrYq9in2Kog2KfZhNmG2LjYp9mFINmB2YjYsdmK2Kk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2YfZhCDZgtmF2Kog2KjYqtir2KjZitiqINii2K7YsSAi2KrYsdmC2YrYuSDYo9mF2YbZiiIg2YTZhNmG2LjYp9mFINiu2YTYp9mEINin2YTYs9in2LnYqSDYp9mE2YXYp9i22YrYqdifPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgaG92ZXI6Ymctc2xhdGUtNTAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InctNiBoLTYgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwIHRleHQtYmx1ZS02MDAgZm9jdXM6cmluZy1ibHVlLTUwMCBtbC00IiBvbmNoYW5nZT0idXBkYXRlU2NvcmUoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIGZvbnQtYm9sZCI+2KrYt9mH2YrYsSDYp9mE2KrYt9io2YrZgtin2Ko8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2K3YsNmBINij2Yog2KrYt9io2YrZgiDZhNmFINmK2KrZhSDYp9iz2KrYrtiv2KfZhdmHINiu2YTYp9mEINin2YTZgCAzMCDZitmI2YXYp9mLINin2YTZhdin2LbZitipLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtiq2LTZgdmK2LEg2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32Yog2KfZhNiz2K3Yp9io2Yo8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2KrZgdi52YrZhCDYrtmK2KfYsSAi2KrYtNmB2YrYsSDYp9mE2LfYsdmBINmE2KLYrtixIiDYudmE2YkgaUNsb3VkINij2YggR29vZ2xlIERyaXZlLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtmI2LnZiiDYp9mE2YfZhtiv2LPYqSDYp9mE2KfYrNiq2YXYp9i52YrYqTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj7Zh9mEINiq2KrYtNmD2YMg2KrZhNmC2KfYptmK2KfZiyDZgdmKINij2Yog2LfZhNioINmF2LnZhNmI2YXYp9iqINmF2YHYp9is2KYg2K3YqtmJINmE2Ygg2YPYp9mGINmF2YYg2LXYr9mK2YLYnzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0YXR1c01lc3NhZ2UiIGNsYXNzPSJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTYwMCB0ZXh0LWNlbnRlciBmb250LW1lZGl1bSI+CiAgICAgICAgICAgICAgICAgICAg2KfYqNiv2KMg2YHZiiDYqtit2K\/ZitivINin2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZiiDYqtiq2K7YsNmH2Kcg2YTYqtix2Ykg2YXYs9iq2YjZiSDYrdmF2KfZitiq2YMuLi4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gU3VtbWFyeSAmIEZvb3RlciAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgdGV4dC1jZW50ZXIgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTQiPtin2YTYrtmE2KfYtdipOiDYp9mE2KPZhdmGINi52YLZhNmK2Kkg2YjZhNmK2LMg2YXYrNix2K8g2KPYr9mI2KfYqjwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYXgtdy0yeGwgbXgtYXV0byBtYi04Ij4KICAgICAgICAgICAgICAgINmB2Yog2LnYp9mFIDIwMjbYjCDYp9mE2K7YtdmI2LXZitipINmH2Yog2KfZhNix2YHYp9mH2YrYqSDYp9mE2KzYr9mK2K\/YqS4g2KfYqtio2KfYudmDINmE2YfYsNinINin2YTYr9mE2YrZhCDZhNinINmK2K3ZhdmKINio2YrYp9mG2KfYqtmDINmB2K3Ys9io2Iwg2KjZhCDZitit2YXZiiDYp9iz2KrZgtix2KfYsdmDINmB2Yog2LnYp9mE2YUg2YrYstiv2KfYryDYqti52YLZitiv2KfZiy4g2KrYsNmD2LE6INij2YbYqiDYrti3INin2YTYr9mB2KfYuSDYp9mE2KPZiNmEINmI2KfZhNij2K7ZitixLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1jZW50ZXIgc3BhY2UteC00IHNwYWNlLXgtcmV2ZXJzZSI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIiBjbGFzcz0icHgtNiBweS0yIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LWJvbGQgaG92ZXI6Ymctc2xhdGUtMTAwIHRyYW5zaXRpb24iPtiq2K3ZhdmK2YQg2YbYs9iu2KkgUERGPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbigndGhyZWF0cycpIiBjbGFzcz0icHgtNiBweS0yIGJnLXNsYXRlLTkwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LWJvbGQgaG92ZXI6Ymctc2xhdGUtODAwIHRyYW5zaXRpb24iPtin2YTYudmI2K\/YqSDZhNmE2KjYr9in2YrYqTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L21haW4+CgogICAgPGZvb3RlciBjbGFzcz0iYmctd2hpdGUgcHktNiBib3JkZXItdCBib3JkZXItc2xhdGUtMTAwIHRleHQtY2VudGVyIHRleHQtc2xhdGUtNDAwIHRleHQteHMiPgogICAgICAgICZjb3B5OyAyMDI2INis2YXZiti5INin2YTYrdmC2YjZgiDZhdit2YHZiNi42KkgLSDYo9mD2KfYr9mK2YXZitipINin2YTYo9mF2YYg2KfZhNiz2YrYqNix2KfZhtmKINin2YTYsNmD2YoKICAgIDwvZm9vdGVyPgoKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gQ29yZSBMb2dpYyBmb3IgVmlzdWFsaXphdGlvbiBhbmQgSW50ZXJhY3Rpb24KICAgICAgICAKICAgICAgICAvLyAxLiBDaGFydCBJbml0aWFsaXphdGlvbgogICAgICAgIGNvbnN0IGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aHJlYXRDaGFydCcpLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgY29uc3QgdGhyZWF0Q2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCB7CiAgICAgICAgICAgIHR5cGU6ICdiYXInLAogICAgICAgICAgICBkYXRhOiB7CiAgICAgICAgICAgICAgICBsYWJlbHM6IFsn2KfZhNiq2LXZitivINin2YTYqtmC2YTZitiv2YonLCAnR2VuLUFJIEF0dGFja3MnLCAnRGVlcGZha2VzJywgJ9ir2LrYsdin2Kog2KfZhNmG2LjYp9mFJywgJ9iz2LHZgtipINin2YTYo9is2YfYstipJ10sCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sKICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ9mF2KTYtNixINin2YTYrti32YjYsdipICgxLTEwMCknLAogICAgICAgICAgICAgICAgICAgIGRhdGE6IFszNSwgOTUsIDg4LCA3NSwgNDBdLAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWwogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgxNDgsIDE2MywgMTg0LCAwLjYpJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMzcsIDk5LCAyMzUsIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgyMzksIDY4LCA2OCwgMC44KScsCiAgICAgICAgICAgICAgICAgICAgICAgICdyZ2JhKDMwLCA0MSwgNTksIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgyNDUsIDE1OCwgMTEsIDAuNiknCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmZmZmZmYnLAogICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAyLAogICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogMTAKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwKICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uKGNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjb250ZXh0LmRhdGFzZXQubGFiZWwgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsKSBsYWJlbCArPSAnOiAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LnBhcnNlZC55ICE9PSBudWxsKSBsYWJlbCArPSBjb250ZXh0LnBhcnNlZC55ICsgJy8xMDAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsKICAgICAgICAgICAgICAgICAgICB5OiB7IAogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyBmb250OiB7IGZhbWlseTogJ1RhamF3YWwnLCBzaXplOiAxMCB9IH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHg6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnVGFqYXdhbCcsIHNpemU6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSB0aGlzLmdldExhYmVsRm9yVmFsdWUodmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYWJlbC5sZW5ndGggPiAxNSkgcmV0dXJuIGxhYmVsLnN1YnN0cmluZygwLCAxMikgKyAnLi4uJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gMi4gSW50ZXJhY3RpdmUgU2NvcmUgVHJhY2tlcgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVNjb3JlKCkgewogICAgICAgICAgICBjb25zdCBjaGVja2JveGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2NoZWNrSXRlbXMgaW5wdXRbdHlwZT0iY2hlY2tib3giXScpOwogICAgICAgICAgICBjb25zdCB0b3RhbCA9IGNoZWNrYm94ZXMubGVuZ3RoOwogICAgICAgICAgICBjb25zdCBjaGVja2VkID0gQXJyYXkuZnJvbShjaGVja2JveGVzKS5maWx0ZXIoaSA9PiBpLmNoZWNrZWQpLmxlbmd0aDsKICAgICAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IE1hdGgucm91bmQoKGNoZWNrZWQgLyB0b3RhbCkgKiAxMDApOwogICAgICAgICAgICAKICAgICAgICAgICAgY29uc3QgcmluZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29yZVJpbmcnKTsKICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0dXNNZXNzYWdlJyk7CiAgICAgICAgICAgIAogICAgICAgICAgICByaW5nLmlubmVyVGV4dCA9IHBlcmNlbnRhZ2UgKyAnJSc7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAocGVyY2VudGFnZSA8IDMwKSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0oc2xhdGV8eWVsbG93fGdyZWVuKS1bMC05XSsvZywgJ2JvcmRlci1yZWQtNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLimqDvuI8g2YjYtti52YMg2K3YsdisISDYo9mG2Kog2YXZg9i02YjZgSDYqtmF2KfZhdin2Ysg2KPZhdin2YUg2YfYrNmF2KfYqiAyMDI2LiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXJlZC0xMDAgdGV4dC1yZWQtNzAwIHRleHQtY2VudGVyIGZvbnQtYm9sZCI7CiAgICAgICAgICAgIH0gZWxzZSBpZiAocGVyY2VudGFnZSA8IDcwKSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0ocmVkfHNsYXRlfGdyZWVuKS1bMC05XSsvZywgJ2JvcmRlci15ZWxsb3ctNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLwn5SNINmI2LbYudmDINmF2YLYqNmI2YQg2YjZhNmD2YYg2YfZhtin2YMg2YHYrNmI2KfYqiDYo9mF2YbZitipINmI2KfYs9i52KkuIjsKICAgICAgICAgICAgICAgIG1lc3NhZ2UuY2xhc3NOYW1lID0gIm10LTggcC00IHJvdW5kZWQteGwgYmcteWVsbG93LTEwMCB0ZXh0LXllbGxvdy03MDAgdGV4dC1jZW50ZXIgZm9udC1ib2xkIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJpbmcuY2xhc3NOYW1lID0gcmluZy5jbGFzc05hbWUucmVwbGFjZSgvYm9yZGVyLShyZWR8eWVsbG93fHNsYXRlKS1bMC05XSsvZywgJ2JvcmRlci1ncmVlbi01MDAnKTsKICAgICAgICAgICAgICAgIG1lc3NhZ2UuaW5uZXJUZXh0ID0gIuKchSDYo9it2LPZhtiqISDYo9mG2Kog2KrYqtio2Lkg2KPZgdi22YQg2KfZhNmF2YXYp9ix2LPYp9iqINin2YTYs9mK2KjYsdin2YbZitipINin2YTYrdiv2YrYq9ipLiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTcwMCB0ZXh0LWNlbnRlciBmb250LWJvbGQiOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyAzLiBTbW9vdGggTmF2aWdhdGlvbiBIYW5kbGluZwogICAgICAgIGZ1bmN0aW9uIHNjcm9sbFRvU2VjdGlvbihpZCkgewogICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgICAgICBjb25zdCBvZmZzZXQgPSA4MDsKICAgICAgICAgICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvc2l0aW9uID0gZWxlbWVudFJlY3QgLSBib2R5UmVjdDsKICAgICAgICAgICAgY29uc3Qgb2Zmc2V0UG9zaXRpb24gPSBlbGVtZW50UG9zaXRpb24gLSBvZmZzZXQ7CgogICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oewogICAgICAgICAgICAgICAgdG9wOiBvZmZzZXRQb3NpdGlvbiwKICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIDQuIERlY29yYXRpdmUgQmFja2dyb3VuZCBDYW52YXMgTG9naWMKICAgICAgICBjb25zdCBncmlkQ2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyaWRDYW52YXMnKTsKICAgICAgICBjb25zdCBnQ3R4ID0gZ3JpZENhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIGRyYXdHcmlkKCkgewogICAgICAgICAgICBncmlkQ2FudmFzLndpZHRoID0gZ3JpZENhbnZhcy5vZmZzZXRXaWR0aDsKICAgICAgICAgICAgZ3JpZENhbnZhcy5oZWlnaHQgPSBncmlkQ2FudmFzLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgZ0N0eC5zdHJva2VTdHlsZSA9ICcjM2I4MmY2JzsKICAgICAgICAgICAgZ0N0eC5saW5lV2lkdGggPSAwLjI7CiAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBzdGVwID0gNDA7CiAgICAgICAgICAgIGZvciAobGV0IHggPSAwOyB4IDw9IGdyaWRDYW52YXMud2lkdGg7IHggKz0gc3RlcCkgewogICAgICAgICAgICAgICAgZ0N0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgIGdDdHgubW92ZVRvKHgsIDApOwogICAgICAgICAgICAgICAgZ0N0eC5saW5lVG8oeCwgZ3JpZENhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAgICAgZ0N0eC5zdHJva2UoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGxldCB5ID0gMDsgeSA8PSBncmlkQ2FudmFzLmhlaWdodDsgeSArPSBzdGVwKSB7CiAgICAgICAgICAgICAgICBnQ3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICAgICAgZ0N0eC5tb3ZlVG8oMCwgeSk7CiAgICAgICAgICAgICAgICBnQ3R4LmxpbmVUbyhncmlkQ2FudmFzLndpZHRoLCB5KTsKICAgICAgICAgICAgICAgIGdDdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgd2luZG93Lm9ubG9hZCA9IGRyYXdHcmlkOwogICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGRyYXdHcmlkOwoKICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPtin2YTZhNmK2YTYp9i02YXZhCDZiNin2YTZhtmH2Kcg2YTYo9mF2YYg2KfZhNmH2YjYp9iq2YEg2KfZhNiw2YPZiiAyMDI2OiDYp9mE2LnYtdixINin2YTYs9mK2KjYsdin2YbZiiDYp9mE2KzYr9mK2K9zdGF0ZXZlcnNpb25jbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRfX3Vuc3RhYmxlQmxvY2tTb3VyY2VuYW1lYXR0cmlidXRlc2NvbnRlbnQ8YnI+ZHJvcENhcGlubmVyQmxvY2tzBQcIBAgGCAVBAgIBCAcIBwgGCA4IDggLCAZIAQYIBBsSCQgKCAQIBhYBqh+1wwICA0EACRMdBQcIBw8VBAoHBAcLDwEDAAABCQACAQIAAAEAAAhCAQEAQQACAA5BAQNBDqbGAooBkQFBCgIwAH0BfQF3BG9wZW53BG9wZW55dwB3CHN0YW5kYXJkdQB3AHcAdQB1AX0efYIYdwdwdWJsaXNoDgB3EzIwMjYtMDUtMTVUMTA6NDk6MjR3JDRkODZjNzdmLWZmMDAtNDBhMS04YzRjLWYxNzgxNGI4YWQzOHl3ycUBPHA+PGJyPjwvcD48IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iYXIiIGRpcj0icnRsIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+2KfZhNiv2YTZitmEINin2YTYtNin2YXZhCDZhNij2YXZhiDYp9mE2YfZiNin2KrZgSAyMDI2PC90aXRsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vY2hhcnQuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1UYWphd2FsOndnaHRAMzAwOzQwMDs1MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8c3R5bGU+CiAgICAgICAgYm9keSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVGFqYXdhbCcsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7CiAgICAgICAgICAgIGNvbG9yOiAjMWUyOTNiOwogICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKICAgICAgICB9CiAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7CiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICAgICAgICAgIGhlaWdodDogMzUwcHg7CiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIH0KICAgICAgICAuZ2xhc3MtY2FyZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOCk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGJveC1zaGFkb3cgMC4zcyBlYXNlOwogICAgICAgIH0KICAgICAgICAuZ2xhc3MtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgfQogICAgICAgIC5uYXYtbGluay5hY3RpdmUgewogICAgICAgICAgICBjb2xvcjogIzI1NjNlYjsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyNTYzZWI7CiAgICAgICAgfQogICAgICAgIC5jeWJlci1hY2NlbnQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyNTYzZWIsICMzYjgyZjYpOwogICAgICAgIH0KICAgICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlOwogICAgICAgIH0KICAgICAgICBAa2V5ZnJhbWVzIHB1bHNlIHsKICAgICAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzcsIDk5LCAyMzUsIDAuNyk7IH0KICAgICAgICAgICAgNzAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDM3LCA5OSwgMjM1LCAwKTsgfQogICAgICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM3LCA5OSwgMjM1LCAwKTsgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHkgY2xhc3M9ImJnLXNsYXRlLTUwIj4KCiAgICA8IS0tIENob3NlbiBQYWxldHRlOiBNaWRuaWdodCBDeWJlciAo2LPYp9mK2KjYsSDZhdmG2KrYtdmBINin2YTZhNmK2YQg2KfZhNmH2KfYr9imKSAtLT4KICAgIDwhLS0gQXBwbGljYXRpb24gU3RydWN0dXJlIFBsYW46INiq2YUg2KrYtdmF2YrZhSDYp9mE2KrYt9io2YrZgiDZg9mE2YjYrdipINiq2K3Zg9mFINij2YXZhtmK2Kkg2YXYqtmD2KfZhdmE2KkgKFNlY3VyaXR5IERhc2hib2FyZCkuINmK2KjYr9ijINio2YjYp9is2YfYqSDYqtmB2KfYudmE2YrYqSDYqti52LHYtiDZhdi02YfYryDYp9mE2KrZh9iv2YrYr9in2KrYjCDYq9mFINmK2YbYqtmC2YQg2KXZhNmJINix2YPYp9im2LIg2KfZhNit2YXYp9mK2Kkg2KfZhNij2LPYp9iz2YrYqSDYudio2LEg2KjYt9in2YLYp9iqINiq2YHYp9i52YTZitip2Iwg2YrYqtio2LnZh9inINmC2LPZhSDYrtin2LUg2KjYqtij2YXZitmGINin2YTYp9iq2LXYp9mE2KfYqiDZiNin2YTZhdin2YTZitip2Iwg2YjZitmG2KrZh9mKINio2KPYr9in2Kkg2KrYr9mC2YrZgiDZitmI2YXZitipINiq2YHYp9i52YTZitipLiDZh9iw2Kcg2KfZhNmH2YrZg9mEINmK2YfYr9mBINil2YTZiSDYqtit2YjZitmEINin2YTZhdit2KrZiNmJINin2YTZhti12Yog2KfZhNmF2LnZgtivINil2YTZiSDYsdit2YTYqSDYp9iz2KrZg9i02KfZgdmK2Kkg2KjYtdix2YrYqSDYqti52LLYsiDZgdmH2YUg2KfZhNmF2LPYqtiu2K\/ZhSDZhNmF2K7Yp9i32LEg2YjYo9iv2YjYp9iqINi52KfZhSAyMDI2LiAtLT4KICAgIDwhLS0gVmlzdWFsaXphdGlvbiAmIENvbnRlbnQgQ2hvaWNlczogCiAgICAgICAgMS4g2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2KogKFRocmVhdCBSYWRhcikgLT4g2YXZgtin2LHZhtipINit2KzZhSDYp9mE2KrZh9iv2YrYr9in2KogLT4g2YXYrti32Lcg2LTYsdmK2LfZiiAoQ2hhcnQuanMpIC0+INiq2YHYp9i52YQg2LnZhtivINin2YTYqtit2YjZitmFIC0+INmE2KrZiNi22YrYrSDYrti32YjYsdipINin2YTYsNmD2KfYoSDYp9mE2KfYtdi32YbYp9i52YouCiAgICAgICAgMi4g2LHZg9in2KbYsiDYp9mE2K3Zhdin2YrYqSAtPiDYtNix2K0g2KfZhNmF2YHYp9mH2YrZhSAtPiDYqNi32KfZgtin2Kog2KrZgdin2LnZhNmK2KkgKEhUTUwvVGFpbHdpbmQpIC0+INiq2YjYs9mK2Lkg2KfZhNiq2YHYp9i12YrZhCDYudmG2K8g2KfZhNmG2YLYsS4KICAgICAgICAzLiDZgtin2KbZhdipINin2YTYqtit2YLZgiAtPiDYrti32YjYp9iqINi52YXZhNmK2KkgLT4g2KPYr9in2Kkg2KfYrtiq2YrYp9ixIChDaGVja2JveCBVSSkg2YXYuSDYqtit2K\/ZitirINmE2K3YuNmKINmE2YXYs9iq2YjZiSDYp9mE2KPZhdin2YYuCiAgICAgICAg2KrZhSDYqtij2YPZitivINi52K\/ZhSDYp9iz2KrYrtiv2KfZhSBTVkcg2KPZiCBNZXJtYWlkLgogICAgLS0+CiAgICA8IS0tIENPTkZJUk1BVElPTjogTk8gU1ZHIGdyYXBoaWNzIHVzZWQuIE5PIE1lcm1haWQgSlMgdXNlZC4gLS0+CgogICAgPCEtLSBOYXZpZ2F0aW9uIEFyZWEgLS0+CiAgICA8bmF2IGNsYXNzPSJmaXhlZCB0b3AtMCB3LWZ1bGwgei01MCBiZy13aGl0ZS84MCBib3JkZXItYiBib3JkZXItc2xhdGUtMjAwIGJhY2tkcm9wLWJsdXItbWQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaC0xNiBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWV4dHJhYm9sZCB0ZXh0LWJsdWUtNjAwIG1sLTIiPvCfm6HvuI8gQ3liZXJTaGllbGQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhpZGRlbiBtZDpibG9jayB0ZXh0LXNsYXRlLTUwMCBmb250LW1lZGl1bSI+fCDYr9mE2YrZhCDYo9mF2YYgMjAyNjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuIG1kOmZsZXggc3BhY2UteC04IHNwYWNlLXgtcmV2ZXJzZSB0ZXh0LXNtIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJzY3JvbGxUb1NlY3Rpb24oJ3RocmVhdHMnKSIgY2xhc3M9Im5hdi1saW5rIHRleHQtc2xhdGUtNjAwIGhvdmVyOnRleHQtYmx1ZS02MDAgcHgtMyBweS0yIj7Ysdin2K\/Yp9ixINin2YTYqtmH2K\/Zitiv2KfYqjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCdwaWxsYXJzJykiIGNsYXNzPSJuYXYtbGluayB0ZXh0LXNsYXRlLTYwMCBob3Zlcjp0ZXh0LWJsdWUtNjAwIHB4LTMgcHktMiI+2LHZg9in2KbYsiDYp9mE2K3Zhdin2YrYqTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCdjb21tcycpIiBjbGFzcz0ibmF2LWxpbmsgdGV4dC1zbGF0ZS02MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCBweC0zIHB5LTIiPtiq2KPZhdmK2YYg2KfZhNin2KrYtdin2YQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbignY2hlY2tsaXN0JykiIGNsYXNzPSJjeWJlci1hY2NlbnQgdGV4dC13aGl0ZSByb3VuZGVkLWxnIHB4LTQgcHktMiBzaGFkb3ctbGcgaG92ZXI6b3BhY2l0eS05MCB0cmFuc2l0aW9uIj7Zhdiv2YLZgiDYp9mE2KPZhdin2YY8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvbmF2PgoKICAgIDxtYWluIGNsYXNzPSJwdC0yNCBwYi0xMiI+CiAgICAgICAgPCEtLSBIZXJvIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IG1iLTE2IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTQgcHktMS41IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIHRleHQtc20gZm9udC1ib2xkIG1iLTYiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QgYmctYmx1ZS02MDAgbWwtMiI+PC9zcGFuPiDYqtit2K\/ZitirINin2YTYo9mF2KfZhjog2LnYp9mFIDIwMjYKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMSBjbGFzcz0idGV4dC00eGwgbWQ6dGV4dC02eGwgZm9udC1leHRyYWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItNiBsZWFkaW5nLXRpZ2h0Ij4KICAgICAgICAgICAgICAgINin2YTYudi12LEg2KfZhNiz2YrYqNix2KfZhtmKINin2YTYrNiv2YrYrzogPGJyPiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTYwMCI+2YfYp9iq2YHZgyDZh9mIINmH2YjZitiq2YMg2KfZhNix2YLZhdmK2Kk8L3NwYW4+CiAgICAgICAgICAgIDwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhsIHRleHQtc2xhdGUtNjAwIG1heC13LTN4bCBteC1hdXRvIG1iLTggbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgINmB2Yog2LnYp9mFIDIwMjbYjCDYo9i12KjYrSDYp9mE2YfYp9iq2YEg2KfZhNiw2YPZiiDZiti22YUgItin2YTZhtiz2K7YqSDYp9mE2LHZgtmF2YrYqSIg2YXZhiDZiNis2YjYr9mG2Kcg2KjYp9mE2YPYp9mF2YQuINmH2LDYpyDYp9mE2KrYt9io2YrZgiDYp9mE2KrZgdin2LnZhNmKINmH2Ygg2K\/ZhNmK2YTZgyDYp9mE2YbZh9in2KbZiiDZhNmB2YfZhSDYp9mE2KrZh9iv2YrYr9in2Kog2KfZhNit2K\/Zitir2Kkg2YjYqNmG2KfYoSDYr9ix2YjYudmDINin2YTYsdmC2YXZitipINio2KfYs9iq2K7Yr9in2YUg2KrZgtmG2YrYp9iqINin2YTYsNmD2KfYoSDYp9mE2KfYtdi32YbYp9i52Yog2YjYp9mE2KvZgtipINin2YTZhdi52K\/ZiNmF2KkuCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gVGhyZWF0IExhbmRzY2FwZSBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJ0aHJlYXRzIiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgbWItMTYiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZSByb3VuZGVkLTN4bCBwLTggc2hhZG93LXNtIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTIgZ2FwLTEyIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNiI+MS4g2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2Kog2YHZiiAyMDI2PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTggbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINmF2YLYr9mF2Kk6INmE2YUg2YrYudivINin2YTZhdmH2KfYrNmF2YjZhiDZiti52KrZhdiv2YjZhiDYudmE2Ykg2KfZhNio2LHZhdis2YrYp9iqINin2YTYqtmC2YTZitiv2YrYqS4g2YrYtNmH2K8g2LnYp9mFIDIwMjYg2LfZgdix2Kkg2YHZiiDYp9mE2YfYrNmF2KfYqiAi2KfZhNmF2K7Ytdi12KkiINin2YTYqtmKINmK2YLZiNiv2YfYpyDYp9mE2LDZg9in2KEg2KfZhNin2LXYt9mG2KfYudmKINin2YTYqtmI2YTZitiv2YouINin2YTYsdiz2YUg2KfZhNio2YrYp9mG2Yog2KfZhNmF2KzYp9mI2LEg2YrZiNi22K0g2KfZhNiq2LrZitixINin2YTYrNiw2LHZiiDZgdmKINij2YbZiNin2Lkg2KfZhNiq2YfYr9mK2K\/Yp9iqINmF2YLYp9ix2YbYqSDYqNin2YTYo9i52YjYp9mFINin2YTYs9in2KjZgtipLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItYmx1ZS01MDAgYmctYmx1ZS01MCByb3VuZGVkLWxnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtOTAwIj7Yp9mE2YfYrNmF2KfYqiDYp9mE2YXYr9i52YjZhdipINio2KfZhNmAIEdlbi1BSTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ibHVlLTcwMCI+2LHYs9in2KbZhCDYqti12YrYryDYqtit2KfZg9mKINij2LPZhNmI2Kgg2YPYqtin2KjYqSDYo9i12K\/Zgtin2KbZgyDYqNiv2YLYqSA5OSUuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItcmVkLTUwMCBiZy1yZWQtNTAgcm91bmRlZC1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJmb250LWJvbGQgdGV4dC1yZWQtOTAwIj7Yp9mE2KrYstmK2YrZgSDYp9mE2LnZhdmK2YIgKERlZXBmYWtlcyk8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtcmVkLTcwMCI+2KfYqti12KfZhNin2Kog2YXYsdim2YrYqSDZhdmG2KrYrdmE2Kkg2YTZhNmH2YjZitipINin2YTYtNiu2LXZitipINmE2LfZhNioINiq2K3ZiNmK2YTYp9iqINmF2KfZhNmK2KkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItc2xhdGUtNTAwIGJnLXNsYXRlLTUwIHJvdW5kZWQtbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIj7Yq9i62LHYp9iqINin2YTZitmI2YUg2KfZhNi12YHYsSAoWmVyby1EYXkpPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCI+2KfYs9iq2YfYr9in2YEg2YXYqNin2LTYsSDZhNmG2YjYp9ipINij2YbYuNmF2KkgaU9TIDIwINmIIEFuZHJvaWQgMTcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9InRocmVhdENoYXJ0Ij48L2NhbnZhcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwIG10LTQgaXRhbGljIHRleHQtY2VudGVyIj7YqtmI2LLZiti5INi02K\/YqSDYp9mE2KrZh9iv2YrYr9in2Kog2KfZhNiz2YrYqNix2KfZhtmK2KkgKNio2YrYp9mG2KfYqiDYqtmC2K\/Zitix2YrYqSDZhNi52KfZhSAyMDI2KTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gQ29yZSBQaWxsYXJzIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9InBpbGxhcnMiIGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS0xMiBtYi0xNiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTEyIj4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTQiPjIuINin2YTYsdmD2KfYptiyINin2YTYo9iz2KfYs9mK2Kkg2YTYrdmF2KfZitipINmH2KfYqtmB2YM8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIj7Yqti52LHZgSDYudmE2Ykg2KfZhNiq2YPZhtmI2YTZiNis2YrYpyDYp9mE2KrZiiDYqtit2YXZitmDINiu2YTZgSDYp9mE2YPZiNin2YTZitizINmB2Yog2KfZhNi52LXYsSDYp9mE2KzYr9mK2K8uPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtOCI+CiAgICAgICAgICAgICAgICA8IS0tIENhcmQgMSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLWNhcmQgcm91bmRlZC0yeGwgcC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTR4bCBtYi00Ij7wn5GkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi00Ij7Yp9mE2YfZiNmK2Kkg2KfZhNio2YrZiNmF2KrYsdmK2Kkg2KfZhNmF2KrZgtiv2YXYqSAoQmlvbWV0cmljcyAyLjApPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAgbWItNiI+2YTZhSDZiti52K8g2YXYs9iq2LTYudixINin2YTYqNi12YXYqSDZg9in2YHZitin2YsuINmG2LPYqtiu2K\/ZhSDYp9mE2KLZhiDYo9mG2LjZhdipINmF2KrYudiv2K\/YqSDYp9mE2KPZhtmF2KfYty48L3A+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINmF2YrYstipICLYpdiv2LHYp9mDINin2YTYo9it2YrYp9ihIiAoTGl2ZW5lc3MgRGV0ZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINiq2K3ZhNmK2YQg2YbZhdi3INin2YTZhdi02Yog2YjZhtio2LbYp9iqINin2YTZgtmE2Kgg2LnYqNixINin2YTYs9in2LnYqQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gQ2FyZCAyIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtY2FyZCByb3VuZGVkLTJ4bCBwLTggYm9yZGVyLXItYmx1ZS01MDAgYm9yZGVyLXItNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC00eGwgbWItNCI+8J+boe+4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCI+2YbYuNin2YUg2KfZhNir2YLYqSDYp9mE2YXYudiv2YjZhdipIChaZXJvIFRydXN0KTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTYiPtin2YTZhdio2K\/YoyDYp9mE2LDZh9io2Yo6ICLZhNinINiq2KvZgiDYo9io2K\/Yp9mL2Iwg2KrYrdmC2YIg2K\/Yp9im2YXYp9mLIi4g2YPZhCDYqti32KjZitmCINmB2Yog2KjZitim2Kkg2YXYudiy2YjZhNipLjwvcD4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idy0yIGgtMiBiZy1ibHVlLTUwMCByb3VuZGVkLWZ1bGwgbWwtMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg2LnYstmEINin2YTYqti32KjZitmC2KfYqiAoU2FuZGJveGluZykg2KfZhNiq2YTZgtin2KbZigogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINi12YTYp9it2YrYp9iqINin2YTZiNi12YjZhCDYp9mE2YXYpNmC2KrYqSAoT25lLXRpbWUgQWNjZXNzKQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIENvbW11bmljYXRpb25zICYgV2FsbGV0IFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImNvbW1zIiBjbGFzcz0iYmctc2xhdGUtOTAwIHRleHQtd2hpdGUgcHktMjAgbWItMTYgb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcmVsYXRpdmUgei0xMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0xNiI+CiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNCI+My4g2KrYo9mF2YrZhiDYp9mE2KfYqti12KfZhNin2Kog2YjYp9mE2KPZhdmI2KfZhDwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNDAwIj7Zg9mK2YEg2KrYqti52KfZhdmEINmF2Lkg2LTYqNmD2KfYqiA2RyDZiNin2YTZhdit2KfZgdi4INin2YTYsdmC2YXZitipINmB2Yog2KfZhNio2YrYptin2Kog2KfZhNmF2LnZgtiv2KnYnzwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMyBnYXAtOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctc2xhdGUtODAwLzUwIHAtNiByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgdGV4dC1ibHVlLTQwMCBtYi0zIj7Yp9mE2KfYqti12KfZhCDYp9mE2YXZgtin2YjZhSDZhNmE2YPZhTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KfYs9iq2K7Yr9in2YUg2KjYsdmI2KrZiNmD2YjZhNin2KogKEUyRUUpINin2YTYqtmKINmE2Kcg2YrZhdmD2YYg2YPYs9ix2YfYpyDYrdiq2Ykg2KjZiNin2LPYt9ipINin2YTYrdmI2KfYs9mK2Kgg2KfZhNmD2YXZiNmF2YrYqSDYp9mE2YbYp9i02KbYqSDZgdmKIDIwMjYuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXNsYXRlLTgwMC81MCBwLTYgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtYmx1ZS00MDAgbWItMyI+2KfZhNi02KjZg9in2Kog2KfZhNmC2YXYsdmK2Kkg2Yg2RzwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KrYudi32YrZhCDYp9mE2KfZhti22YXYp9mFINin2YTYqtmE2YLYp9im2Yog2YTZhNi02KjZg9in2Kog2YHZiiDYp9mE2KPZhdin2YPZhiDYp9mE2LnYp9mF2Kkg2YTYqtis2YbYqCDZh9is2YXYp9iqICLYp9mE2YLYsdioINin2YTZhdmD2KfZhtmKIiDYp9mE2YXYqtmC2K\/ZhdipLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zbGF0ZS04MDAvNTAgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtNDAwIG1iLTMiPtin2YTZhdi12KfYr9mC2Kkg2KfZhNir2YTYp9ir2YrYqSAoM0ZBKTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KfYs9iq2K7Yr9in2YUg2YXZgdin2KrZititINij2YXYp9mGINmB2YrYstmK2KfYptmK2KkgKEhhcmR3YXJlIEtleSkg2YTZhNi52YXZhNmK2KfYqiDYp9mE2YXYp9mE2YrYqSDYp9mE2LbYrtmF2Kkg2YHZiNmCIDUwMDAkLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBEZWNvcmF0aXZlIENhbnZhcyBCYWNrZ3JvdW5kIExvZ2ljIC0tPgogICAgICAgICAgICA8Y2FudmFzIGlkPSJncmlkQ2FudmFzIiBjbGFzcz0iYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHctZnVsbCBoLWZ1bGwgb3BhY2l0eS0yMCBwb2ludGVyLWV2ZW50cy1ub25lIj48L2NhbnZhcz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gSW50ZXJhY3RpdmUgQ2hlY2tsaXN0IFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImNoZWNrbGlzdCIgY2xhc3M9Im1heC13LTR4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTEyIG1iLTE2Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcm91bmRlZC0zeGwgcC04IG1kOnAtMTIgc2hhZG93LXhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi04IGdhcC00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCI+NC4g2YXYr9mC2YIg2KfZhNij2YXYp9mGINin2YTZitmI2YXZiiDYp9mE2KrZgdin2LnZhNmKPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNTAwIG10LTIiPtin2K7Yqtio2LEg2YXYs9iq2YjZiSDYo9mF2KfZhiDZh9in2KrZgdmDINin2YTYotmGINmI2KfYrdi12YQg2LnZhNmJINiq2YLZitmK2YUg2YHZiNix2YouPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2NvcmVSaW5nIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMjQgaC0yNCByb3VuZGVkLWZ1bGwgYm9yZGVyLTggYm9yZGVyLXNsYXRlLTEwMCB0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ibHVlLTYwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwJQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgbXQtMiBmb250LWJvbGQgdGV4dC1zbGF0ZS00MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCI+2YXYs9iq2YjZiSDYp9mE2K3Zhdin2YrYqTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNoZWNrSXRlbXMiIGNsYXNzPSJzcGFjZS15LTQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gRHluYW1pYyBDaGVja2JveGVzIC0tPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgaG92ZXI6Ymctc2xhdGUtNTAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InctNiBoLTYgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwIHRleHQtYmx1ZS02MDAgZm9jdXM6cmluZy1ibHVlLTUwMCBtbC00IiBvbmNoYW5nZT0idXBkYXRlU2NvcmUoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIGZvbnQtYm9sZCI+2KrYrdiv2YrYq9in2Kog2KfZhNmG2LjYp9mFINmB2YjYsdmK2Kk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2YfZhCDZgtmF2Kog2KjYqtir2KjZitiqINii2K7YsSAi2KrYsdmC2YrYuSDYo9mF2YbZiiIg2YTZhNmG2LjYp9mFINiu2YTYp9mEINin2YTYs9in2LnYqSDYp9mE2YXYp9i22YrYqdifPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgaG92ZXI6Ymctc2xhdGUtNTAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InctNiBoLTYgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwIHRleHQtYmx1ZS02MDAgZm9jdXM6cmluZy1ibHVlLTUwMCBtbC00IiBvbmNoYW5nZT0idXBkYXRlU2NvcmUoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIGZvbnQtYm9sZCI+2KrYt9mH2YrYsSDYp9mE2KrYt9io2YrZgtin2Ko8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2K3YsNmBINij2Yog2KrYt9io2YrZgiDZhNmFINmK2KrZhSDYp9iz2KrYrtiv2KfZhdmHINiu2YTYp9mEINin2YTZgCAzMCDZitmI2YXYp9mLINin2YTZhdin2LbZitipLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtiq2LTZgdmK2LEg2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32Yog2KfZhNiz2K3Yp9io2Yo8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2KrZgdi52YrZhCDYrtmK2KfYsSAi2KrYtNmB2YrYsSDYp9mE2LfYsdmBINmE2KLYrtixIiDYudmE2YkgaUNsb3VkINij2YggR29vZ2xlIERyaXZlLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtmI2LnZiiDYp9mE2YfZhtiv2LPYqSDYp9mE2KfYrNiq2YXYp9i52YrYqTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj7Zh9mEINiq2KrYtNmD2YMg2KrZhNmC2KfYptmK2KfZiyDZgdmKINij2Yog2LfZhNioINmF2LnZhNmI2YXYp9iqINmF2YHYp9is2KYg2K3YqtmJINmE2Ygg2YPYp9mGINmF2YYg2LXYr9mK2YLYnzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0YXR1c01lc3NhZ2UiIGNsYXNzPSJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTYwMCB0ZXh0LWNlbnRlciBmb250LW1lZGl1bSI+CiAgICAgICAgICAgICAgICAgICAg2KfYqNiv2KMg2YHZiiDYqtit2K\/ZitivINin2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZiiDYqtiq2K7YsNmH2Kcg2YTYqtix2Ykg2YXYs9iq2YjZiSDYrdmF2KfZitiq2YMuLi4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gU3VtbWFyeSAmIEZvb3RlciAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgdGV4dC1jZW50ZXIgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTQiPtin2YTYrtmE2KfYtdipOiDYp9mE2KPZhdmGINi52YLZhNmK2Kkg2YjZhNmK2LMg2YXYrNix2K8g2KPYr9mI2KfYqjwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYXgtdy0yeGwgbXgtYXV0byBtYi04Ij4KICAgICAgICAgICAgICAgINmB2Yog2LnYp9mFIDIwMjbYjCDYp9mE2K7YtdmI2LXZitipINmH2Yog2KfZhNix2YHYp9mH2YrYqSDYp9mE2KzYr9mK2K\/YqS4g2KfYqtio2KfYudmDINmE2YfYsNinINin2YTYr9mE2YrZhCDZhNinINmK2K3ZhdmKINio2YrYp9mG2KfYqtmDINmB2K3Ys9io2Iwg2KjZhCDZitit2YXZiiDYp9iz2KrZgtix2KfYsdmDINmB2Yog2LnYp9mE2YUg2YrYstiv2KfYryDYqti52YLZitiv2KfZiy4g2KrYsNmD2LE6INij2YbYqiDYrti3INin2YTYr9mB2KfYuSDYp9mE2KPZiNmEINmI2KfZhNij2K7ZitixLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1jZW50ZXIgc3BhY2UteC00IHNwYWNlLXgtcmV2ZXJzZSI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIiBjbGFzcz0icHgtNiBweS0yIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LWJvbGQgaG92ZXI6Ymctc2xhdGUtMTAwIHRyYW5zaXRpb24iPtiq2K3ZhdmK2YQg2YbYs9iu2KkgUERGPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbigndGhyZWF0cycpIiBjbGFzcz0icHgtNiBweS0yIGJnLXNsYXRlLTkwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LWJvbGQgaG92ZXI6Ymctc2xhdGUtODAwIHRyYW5zaXRpb24iPtin2YTYudmI2K\/YqSDZhNmE2KjYr9in2YrYqTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L21haW4+CgogICAgPGZvb3RlciBjbGFzcz0iYmctd2hpdGUgcHktNiBib3JkZXItdCBib3JkZXItc2xhdGUtMTAwIHRleHQtY2VudGVyIHRleHQtc2xhdGUtNDAwIHRleHQteHMiPgogICAgICAgICZjb3B5OyAyMDI2INis2YXZiti5INin2YTYrdmC2YjZgiDZhdit2YHZiNi42KkgLSDYo9mD2KfYr9mK2YXZitipINin2YTYo9mF2YYg2KfZhNiz2YrYqNix2KfZhtmKINin2YTYsNmD2YoKICAgIDwvZm9vdGVyPgoKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gQ29yZSBMb2dpYyBmb3IgVmlzdWFsaXphdGlvbiBhbmQgSW50ZXJhY3Rpb24KICAgICAgICAKICAgICAgICAvLyAxLiBDaGFydCBJbml0aWFsaXphdGlvbgogICAgICAgIGNvbnN0IGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aHJlYXRDaGFydCcpLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgY29uc3QgdGhyZWF0Q2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCB7CiAgICAgICAgICAgIHR5cGU6ICdiYXInLAogICAgICAgICAgICBkYXRhOiB7CiAgICAgICAgICAgICAgICBsYWJlbHM6IFsn2KfZhNiq2LXZitivINin2YTYqtmC2YTZitiv2YonLCAnR2VuLUFJIEF0dGFja3MnLCAnRGVlcGZha2VzJywgJ9ir2LrYsdin2Kog2KfZhNmG2LjYp9mFJywgJ9iz2LHZgtipINin2YTYo9is2YfYstipJ10sCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sKICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ9mF2KTYtNixINin2YTYrti32YjYsdipICgxLTEwMCknLAogICAgICAgICAgICAgICAgICAgIGRhdGE6IFszNSwgOTUsIDg4LCA3NSwgNDBdLAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWwogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgxNDgsIDE2MywgMTg0LCAwLjYpJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMzcsIDk5LCAyMzUsIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgyMzksIDY4LCA2OCwgMC44KScsCiAgICAgICAgICAgICAgICAgICAgICAgICdyZ2JhKDMwLCA0MSwgNTksIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgyNDUsIDE1OCwgMTEsIDAuNiknCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmZmZmZmYnLAogICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAyLAogICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogMTAKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwKICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uKGNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjb250ZXh0LmRhdGFzZXQubGFiZWwgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsKSBsYWJlbCArPSAnOiAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LnBhcnNlZC55ICE9PSBudWxsKSBsYWJlbCArPSBjb250ZXh0LnBhcnNlZC55ICsgJy8xMDAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsKICAgICAgICAgICAgICAgICAgICB5OiB7IAogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyBmb250OiB7IGZhbWlseTogJ1RhamF3YWwnLCBzaXplOiAxMCB9IH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHg6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnVGFqYXdhbCcsIHNpemU6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSB0aGlzLmdldExhYmVsRm9yVmFsdWUodmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYWJlbC5sZW5ndGggPiAxNSkgcmV0dXJuIGxhYmVsLnN1YnN0cmluZygwLCAxMikgKyAnLi4uJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gMi4gSW50ZXJhY3RpdmUgU2NvcmUgVHJhY2tlcgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVNjb3JlKCkgewogICAgICAgICAgICBjb25zdCBjaGVja2JveGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2NoZWNrSXRlbXMgaW5wdXRbdHlwZT0iY2hlY2tib3giXScpOwogICAgICAgICAgICBjb25zdCB0b3RhbCA9IGNoZWNrYm94ZXMubGVuZ3RoOwogICAgICAgICAgICBjb25zdCBjaGVja2VkID0gQXJyYXkuZnJvbShjaGVja2JveGVzKS5maWx0ZXIoaSA9PiBpLmNoZWNrZWQpLmxlbmd0aDsKICAgICAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IE1hdGgucm91bmQoKGNoZWNrZWQgLyB0b3RhbCkgKiAxMDApOwogICAgICAgICAgICAKICAgICAgICAgICAgY29uc3QgcmluZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29yZVJpbmcnKTsKICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0dXNNZXNzYWdlJyk7CiAgICAgICAgICAgIAogICAgICAgICAgICByaW5nLmlubmVyVGV4dCA9IHBlcmNlbnRhZ2UgKyAnJSc7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAocGVyY2VudGFnZSA8IDMwKSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0oc2xhdGV8eWVsbG93fGdyZWVuKS1bMC05XSsvZywgJ2JvcmRlci1yZWQtNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLimqDvuI8g2YjYtti52YMg2K3YsdisISDYo9mG2Kog2YXZg9i02YjZgSDYqtmF2KfZhdin2Ysg2KPZhdin2YUg2YfYrNmF2KfYqiAyMDI2LiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXJlZC0xMDAgdGV4dC1yZWQtNzAwIHRleHQtY2VudGVyIGZvbnQtYm9sZCI7CiAgICAgICAgICAgIH0gZWxzZSBpZiAocGVyY2VudGFnZSA8IDcwKSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0ocmVkfHNsYXRlfGdyZWVuKS1bMC05XSsvZywgJ2JvcmRlci15ZWxsb3ctNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLwn5SNINmI2LbYudmDINmF2YLYqNmI2YQg2YjZhNmD2YYg2YfZhtin2YMg2YHYrNmI2KfYqiDYo9mF2YbZitipINmI2KfYs9i52KkuIjsKICAgICAgICAgICAgICAgIG1lc3NhZ2UuY2xhc3NOYW1lID0gIm10LTggcC00IHJvdW5kZWQteGwgYmcteWVsbG93LTEwMCB0ZXh0LXllbGxvdy03MDAgdGV4dC1jZW50ZXIgZm9udC1ib2xkIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJpbmcuY2xhc3NOYW1lID0gcmluZy5jbGFzc05hbWUucmVwbGFjZSgvYm9yZGVyLShyZWR8eWVsbG93fHNsYXRlKS1bMC05XSsvZywgJ2JvcmRlci1ncmVlbi01MDAnKTsKICAgICAgICAgICAgICAgIG1lc3NhZ2UuaW5uZXJUZXh0ID0gIuKchSDYo9it2LPZhtiqISDYo9mG2Kog2KrYqtio2Lkg2KPZgdi22YQg2KfZhNmF2YXYp9ix2LPYp9iqINin2YTYs9mK2KjYsdin2YbZitipINin2YTYrdiv2YrYq9ipLiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTcwMCB0ZXh0LWNlbnRlciBmb250LWJvbGQiOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyAzLiBTbW9vdGggTmF2aWdhdGlvbiBIYW5kbGluZwogICAgICAgIGZ1bmN0aW9uIHNjcm9sbFRvU2VjdGlvbihpZCkgewogICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgICAgICBjb25zdCBvZmZzZXQgPSA4MDsKICAgICAgICAgICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvc2l0aW9uID0gZWxlbWVudFJlY3QgLSBib2R5UmVjdDsKICAgICAgICAgICAgY29uc3Qgb2Zmc2V0UG9zaXRpb24gPSBlbGVtZW50UG9zaXRpb24gLSBvZmZzZXQ7CgogICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oewogICAgICAgICAgICAgICAgdG9wOiBvZmZzZXRQb3NpdGlvbiwKICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIDQuIERlY29yYXRpdmUgQmFja2dyb3VuZCBDYW52YXMgTG9naWMKICAgICAgICBjb25zdCBncmlkQ2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyaWRDYW52YXMnKTsKICAgICAgICBjb25zdCBnQ3R4ID0gZ3JpZENhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIGRyYXdHcmlkKCkgewogICAgICAgICAgICBncmlkQ2FudmFzLndpZHRoID0gZ3JpZENhbnZhcy5vZmZzZXRXaWR0aDsKICAgICAgICAgICAgZ3JpZENhbnZhcy5oZWlnaHQgPSBncmlkQ2FudmFzLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgZ0N0eC5zdHJva2VTdHlsZSA9ICcjM2I4MmY2JzsKICAgICAgICAgICAgZ0N0eC5saW5lV2lkdGggPSAwLjI7CiAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBzdGVwID0gNDA7CiAgICAgICAgICAgIGZvciAobGV0IHggPSAwOyB4IDw9IGdyaWRDYW52YXMud2lkdGg7IHggKz0gc3RlcCkgewogICAgICAgICAgICAgICAgZ0N0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgIGdDdHgubW92ZVRvKHgsIDApOwogICAgICAgICAgICAgICAgZ0N0eC5saW5lVG8oeCwgZ3JpZENhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAgICAgZ0N0eC5zdHJva2UoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGxldCB5ID0gMDsgeSA8PSBncmlkQ2FudmFzLmhlaWdodDsgeSArPSBzdGVwKSB7CiAgICAgICAgICAgICAgICBnQ3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICAgICAgZ0N0eC5tb3ZlVG8oMCwgeSk7CiAgICAgICAgICAgICAgICBnQ3R4LmxpbmVUbyhncmlkQ2FudmFzLndpZHRoLCB5KTsKICAgICAgICAgICAgICAgIGdDdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgd2luZG93Lm9ubG9hZCA9IGRyYXdHcmlkOwogICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGRyYXdHcmlkOwoKICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD52BQlibG9ja05hbWV3DmNvcmUvcGFyYWdyYXBoBWF0dHJzdgALaW5uZXJCbG9ja3N1AAlpbm5lckhUTUx3y8UBCjxwPjxicj48L3A+PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImFyIiBkaXI9InJ0bCI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPtin2YTYr9mE2YrZhCDYp9mE2LTYp9mF2YQg2YTYo9mF2YYg2KfZhNmH2YjYp9iq2YEgMjAyNjwvdGl0bGU+CiAgICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4udGFpbHdpbmRjc3MuY29tIj48L3NjcmlwdD4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL2NoYXJ0LmpzIj48L3NjcmlwdD4KICAgIDxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9VGFqYXdhbDp3Z2h0QDMwMDs0MDA7NTAwOzcwMDs4MDAmZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgogICAgPHN0eWxlPgogICAgICAgIGJvZHkgewogICAgICAgICAgICBmb250LWZhbWlseTogJ1RhamF3YWwnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmYWZjOwogICAgICAgICAgICBjb2xvcjogIzFlMjkzYjsKICAgICAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7CiAgICAgICAgfQogICAgICAgIC5jaGFydC1jb250YWluZXIgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4OwogICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgICAgICAgICBoZWlnaHQ6IDM1MHB4OwogICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICB9CiAgICAgICAgLmdsYXNzLWNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjgpOwogICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTsKICAgICAgICB9CiAgICAgICAgLmdsYXNzLWNhcmQ6aG92ZXIgewogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIH0KICAgICAgICAubmF2LWxpbmsuYWN0aXZlIHsKICAgICAgICAgICAgY29sb3I6ICMyNTYzZWI7CiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjU2M2ViOwogICAgICAgIH0KICAgICAgICAuY3liZXItYWNjZW50IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMjU2M2ViLCAjM2I4MmY2KTsKICAgICAgICB9CiAgICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZTsKICAgICAgICB9CiAgICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM3LCA5OSwgMjM1LCAwLjcpOyB9CiAgICAgICAgICAgIDcwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgzNywgOTksIDIzNSwgMCk7IH0KICAgICAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgzNywgOTksIDIzNSwgMCk7IH0KICAgICAgICB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJiZy1zbGF0ZS01MCI+CgogICAgPCEtLSBDaG9zZW4gUGFsZXR0ZTogTWlkbmlnaHQgQ3liZXIgKNiz2KfZitio2LEg2YXZhtiq2LXZgSDYp9mE2YTZitmEINin2YTZh9in2K\/YpikgLS0+CiAgICA8IS0tIEFwcGxpY2F0aW9uIFN0cnVjdHVyZSBQbGFuOiDYqtmFINiq2LXZhdmK2YUg2KfZhNiq2LfYqNmK2YIg2YPZhNmI2K3YqSDYqtit2YPZhSDYo9mF2YbZitipINmF2KrZg9in2YXZhNipIChTZWN1cml0eSBEYXNoYm9hcmQpLiDZitio2K\/YoyDYqNmI2KfYrNmH2Kkg2KrZgdin2LnZhNmK2Kkg2KrYudix2LYg2YXYtNmH2K8g2KfZhNiq2YfYr9mK2K\/Yp9iq2Iwg2KvZhSDZitmG2KrZgtmEINil2YTZiSDYsdmD2KfYptiyINin2YTYrdmF2KfZitipINin2YTYo9iz2KfYs9mK2Kkg2LnYqNixINio2LfYp9mC2KfYqiDYqtmB2KfYudmE2YrYqdiMINmK2KrYqNi52YfYpyDZgtiz2YUg2K7Yp9i1INio2KrYo9mF2YrZhiDYp9mE2KfYqti12KfZhNin2Kog2YjYp9mE2YXYp9mE2YrYqdiMINmI2YrZhtiq2YfZiiDYqNij2K\/Yp9ipINiq2K\/ZgtmK2YIg2YrZiNmF2YrYqSDYqtmB2KfYudmE2YrYqS4g2YfYsNinINin2YTZh9mK2YPZhCDZitmH2K\/ZgSDYpdmE2Ykg2KrYrdmI2YrZhCDYp9mE2YXYrdiq2YjZiSDYp9mE2YbYtdmKINin2YTZhdi52YLYryDYpdmE2Ykg2LHYrdmE2Kkg2KfYs9iq2YPYtNin2YHZitipINio2LXYsdmK2Kkg2KrYudiy2LIg2YHZh9mFINin2YTZhdiz2KrYrtiv2YUg2YTZhdiu2KfYt9ixINmI2KPYr9mI2KfYqiDYudin2YUgMjAyNi4gLS0+CiAgICA8IS0tIFZpc3VhbGl6YXRpb24gJiBDb250ZW50IENob2ljZXM6IAogICAgICAgIDEuINix2KfYr9in2LEg2KfZhNiq2YfYr9mK2K\/Yp9iqIChUaHJlYXQgUmFkYXIpIC0+INmF2YLYp9ix2YbYqSDYrdis2YUg2KfZhNiq2YfYr9mK2K\/Yp9iqIC0+INmF2K7Yt9i3INi02LHZiti32YogKENoYXJ0LmpzKSAtPiDYqtmB2KfYudmEINi52YbYryDYp9mE2KrYrdmI2YrZhSAtPiDZhNiq2YjYttmK2K0g2K7Yt9mI2LHYqSDYp9mE2LDZg9in2KEg2KfZhNin2LXYt9mG2KfYudmKLgogICAgICAgIDIuINix2YPYp9im2LIg2KfZhNit2YXYp9mK2KkgLT4g2LTYsditINin2YTZhdmB2KfZh9mK2YUgLT4g2KjYt9in2YLYp9iqINiq2YHYp9i52YTZitipIChIVE1ML1RhaWx3aW5kKSAtPiDYqtmI2LPZiti5INin2YTYqtmB2KfYtdmK2YQg2LnZhtivINin2YTZhtmC2LEuCiAgICAgICAgMy4g2YLYp9im2YXYqSDYp9mE2KrYrdmC2YIgLT4g2K7Yt9mI2KfYqiDYudmF2YTZitipIC0+INij2K\/Yp9ipINin2K7YqtmK2KfYsSAoQ2hlY2tib3ggVUkpINmF2Lkg2KrYrdiv2YrYqyDZhNit2LjZiiDZhNmF2LPYqtmI2Ykg2KfZhNij2YXYp9mGLgogICAgICAgINiq2YUg2KrYo9mD2YrYryDYudiv2YUg2KfYs9iq2K7Yr9in2YUgU1ZHINij2YggTWVybWFpZC4KICAgIC0tPgogICAgPCEtLSBDT05GSVJNQVRJT046IE5PIFNWRyBncmFwaGljcyB1c2VkLiBOTyBNZXJtYWlkIEpTIHVzZWQuIC0tPgoKICAgIDwhLS0gTmF2aWdhdGlvbiBBcmVhIC0tPgogICAgPG5hdiBjbGFzcz0iZml4ZWQgdG9wLTAgdy1mdWxsIHotNTAgYmctd2hpdGUvODAgYm9yZGVyLWIgYm9yZGVyLXNsYXRlLTIwMCBiYWNrZHJvcC1ibHVyLW1kIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1iZXR3ZWVuIGgtMTYgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC0yeGwgZm9udC1leHRyYWJvbGQgdGV4dC1ibHVlLTYwMCBtbC0yIj7wn5uh77iPIEN5YmVyU2hpZWxkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoaWRkZW4gbWQ6YmxvY2sgdGV4dC1zbGF0ZS01MDAgZm9udC1tZWRpdW0iPnwg2K\/ZhNmK2YQg2KPZhdmGIDIwMjY8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhpZGRlbiBtZDpmbGV4IHNwYWNlLXgtOCBzcGFjZS14LXJldmVyc2UgdGV4dC1zbSBmb250LWJvbGQiPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCd0aHJlYXRzJykiIGNsYXNzPSJuYXYtbGluayB0ZXh0LXNsYXRlLTYwMCBob3Zlcjp0ZXh0LWJsdWUtNjAwIHB4LTMgcHktMiI+2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2Ko8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbigncGlsbGFycycpIiBjbGFzcz0ibmF2LWxpbmsgdGV4dC1zbGF0ZS02MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCBweC0zIHB5LTIiPtix2YPYp9im2LIg2KfZhNit2YXYp9mK2Kk8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbignY29tbXMnKSIgY2xhc3M9Im5hdi1saW5rIHRleHQtc2xhdGUtNjAwIGhvdmVyOnRleHQtYmx1ZS02MDAgcHgtMyBweS0yIj7Yqtij2YXZitmGINin2YTYp9iq2LXYp9mEPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJzY3JvbGxUb1NlY3Rpb24oJ2NoZWNrbGlzdCcpIiBjbGFzcz0iY3liZXItYWNjZW50IHRleHQtd2hpdGUgcm91bmRlZC1sZyBweC00IHB5LTIgc2hhZG93LWxnIGhvdmVyOm9wYWNpdHktOTAgdHJhbnNpdGlvbiI+2YXYr9mC2YIg2KfZhNij2YXYp9mGPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L25hdj4KCiAgICA8bWFpbiBjbGFzcz0icHQtMjQgcGItMTIiPgogICAgICAgIDwhLS0gSGVybyBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBtYi0xNiB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBweC00IHB5LTEuNSByb3VuZGVkLWZ1bGwgYmctYmx1ZS0xMDAgdGV4dC1ibHVlLTcwMCB0ZXh0LXNtIGZvbnQtYm9sZCBtYi02Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtZG90IGJnLWJsdWUtNjAwIG1sLTIiPjwvc3Bhbj4g2KrYrdiv2YrYqyDYp9mE2KPZhdin2YY6INi52KfZhSAyMDI2CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtNHhsIG1kOnRleHQtNnhsIGZvbnQtZXh0cmFib2xkIHRleHQtc2xhdGUtOTAwIG1iLTYgbGVhZGluZy10aWdodCI+CiAgICAgICAgICAgICAgICDYp9mE2LnYtdixINin2YTYs9mK2KjYsdin2YbZiiDYp9mE2KzYr9mK2K86IDxicj4gPHNwYW4gY2xhc3M9InRleHQtYmx1ZS02MDAiPtmH2KfYqtmB2YMg2YfZiCDZh9mI2YrYqtmDINin2YTYsdmC2YXZitipPC9zcGFuPgogICAgICAgICAgICA8L2gxPgogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC14bCB0ZXh0LXNsYXRlLTYwMCBtYXgtdy0zeGwgbXgtYXV0byBtYi04IGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICDZgdmKINi52KfZhSAyMDI22Iwg2KPYtdio2K0g2KfZhNmH2KfYqtmBINin2YTYsNmD2Yog2YrYttmFICLYp9mE2YbYs9iu2Kkg2KfZhNix2YLZhdmK2KkiINmF2YYg2YjYrNmI2K\/ZhtinINio2KfZhNmD2KfZhdmELiDZh9iw2Kcg2KfZhNiq2LfYqNmK2YIg2KfZhNiq2YHYp9i52YTZiiDZh9mIINiv2YTZitmE2YMg2KfZhNmG2YfYp9im2Yog2YTZgdmH2YUg2KfZhNiq2YfYr9mK2K\/Yp9iqINin2YTYrdiv2YrYq9ipINmI2KjZhtin2KEg2K\/YsdmI2LnZgyDYp9mE2LHZgtmF2YrYqSDYqNin2LPYqtiu2K\/Yp9mFINiq2YLZhtmK2KfYqiDYp9mE2LDZg9in2KEg2KfZhNin2LXYt9mG2KfYudmKINmI2KfZhNir2YLYqSDYp9mE2YXYudiv2YjZhdipLgogICAgICAgICAgICA8L3A+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFRocmVhdCBMYW5kc2NhcGUgU2VjdGlvbiAtLT4KICAgICAgICA8c2VjdGlvbiBpZD0idGhyZWF0cyIgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTEyIG1iLTE2Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcm91bmRlZC0zeGwgcC04IHNoYWRvdy1zbSBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWQtY29scy0xIGxnOmdyaWQtY29scy0yIGdhcC0xMiBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTYiPjEuINix2KfYr9in2LEg2KfZhNiq2YfYr9mK2K\/Yp9iqINmB2YogMjAyNjwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi04IGxlYWRpbmctcmVsYXhlZCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICDZhdmC2K\/ZhdipOiDZhNmFINmK2LnYryDYp9mE2YXZh9in2KzZhdmI2YYg2YrYudiq2YXYr9mI2YYg2LnZhNmJINin2YTYqNix2YXYrNmK2KfYqiDYp9mE2KrZgtmE2YrYr9mK2KkuINmK2LTZh9ivINi52KfZhSAyMDI2INi32YHYsdipINmB2Yog2KfZhNmH2KzZhdin2KogItin2YTZhdiu2LXYtdipIiDYp9mE2KrZiiDZitmC2YjYr9mH2Kcg2KfZhNiw2YPYp9ihINin2YTYp9i12LfZhtin2LnZiiDYp9mE2KrZiNmE2YrYr9mKLiDYp9mE2LHYs9mFINin2YTYqNmK2KfZhtmKINin2YTZhdis2KfZiNixINmK2YjYttitINin2YTYqti62YrYsSDYp9mE2KzYsNix2Yog2YHZiiDYo9mG2YjYp9i5INin2YTYqtmH2K\/Zitiv2KfYqiDZhdmC2KfYsdmG2Kkg2KjYp9mE2KPYudmI2KfZhSDYp9mE2LPYp9io2YLYqS4KICAgICAgICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZS15LTQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJvcmRlci1yLTQgYm9yZGVyLWJsdWUtNTAwIGJnLWJsdWUtNTAgcm91bmRlZC1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJmb250LWJvbGQgdGV4dC1ibHVlLTkwMCI+2KfZhNmH2KzZhdin2Kog2KfZhNmF2K\/YudmI2YXYqSDYqNin2YTZgCBHZW4tQUk8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtYmx1ZS03MDAiPtix2LPYp9im2YQg2KrYtdmK2K8g2KrYrdin2YPZiiDYo9iz2YTZiNioINmD2KrYp9io2Kkg2KPYtdiv2YLYp9im2YMg2KjYr9mC2KkgOTklLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJvcmRlci1yLTQgYm9yZGVyLXJlZC01MDAgYmctcmVkLTUwIHJvdW5kZWQtbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1ib2xkIHRleHQtcmVkLTkwMCI+2KfZhNiq2LLZitmK2YEg2KfZhNi52YXZitmCIChEZWVwZmFrZXMpPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXJlZC03MDAiPtin2KrYtdin2YTYp9iqINmF2LHYptmK2Kkg2YXZhtiq2K3ZhNipINmE2YTZh9mI2YrYqSDYp9mE2LTYrti12YrYqSDZhNi32YTYqCDYqtit2YjZitmE2KfYqiDZhdin2YTZitipLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icC00IGJvcmRlci1yLTQgYm9yZGVyLXNsYXRlLTUwMCBiZy1zbGF0ZS01MCByb3VuZGVkLWxnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LXNsYXRlLTkwMCI+2KvYutix2KfYqiDYp9mE2YrZiNmFINin2YTYtdmB2LEgKFplcm8tRGF5KTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1zbGF0ZS03MDAiPtin2LPYqtmH2K\/Yp9mBINmF2KjYp9i02LEg2YTZhtmI2KfYqSDYo9mG2LjZhdipIGlPUyAyMCDZiCBBbmRyb2lkIDE3LjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGlkPSJ0aHJlYXRDaGFydCI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTQwMCBtdC00IGl0YWxpYyB0ZXh0LWNlbnRlciI+2KrZiNiy2YrYuSDYtNiv2Kkg2KfZhNiq2YfYr9mK2K\/Yp9iqINin2YTYs9mK2KjYsdin2YbZitipICjYqNmK2KfZhtin2Kog2KrZgtiv2YrYsdmK2Kkg2YTYudin2YUgMjAyNik8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIENvcmUgUGlsbGFycyBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJwaWxsYXJzIiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgbWItMTYiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0xMiI+CiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCBtYi00Ij4yLiDYp9mE2LHZg9in2KbYsiDYp9mE2KPYs9in2LPZitipINmE2K3Zhdin2YrYqSDZh9in2KrZgdmDPC9oMj4KICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCI+2KrYudix2YEg2LnZhNmJINin2YTYqtmD2YbZiNmE2YjYrNmK2Kcg2KfZhNiq2Yog2KrYrdmF2YrZgyDYrtmE2YEg2KfZhNmD2YjYp9mE2YrYsyDZgdmKINin2YTYudi12LEg2KfZhNis2K\/ZitivLjwvcD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgZ2FwLTgiPgogICAgICAgICAgICAgICAgPCEtLSBDYXJkIDEgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJnbGFzcy1jYXJkIHJvdW5kZWQtMnhsIHAtOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC00eGwgbWItNCI+8J+RpDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCI+2KfZhNmH2YjZitipINin2YTYqNmK2YjZhdiq2LHZitipINin2YTZhdiq2YLYr9mF2KkgKEJpb21ldHJpY3MgMi4wKTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTYiPtmE2YUg2YrYudivINmF2LPYqti02LnYsSDYp9mE2KjYtdmF2Kkg2YPYp9mB2YrYp9mLLiDZhtiz2KrYrtiv2YUg2KfZhNii2YYg2KPZhti42YXYqSDZhdiq2LnYr9iv2Kkg2KfZhNij2YbZhdin2LcuPC9wPgogICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BhY2UteS0zIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBtbC0zIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICDZhdmK2LLYqSAi2KXYr9ix2KfZgyDYp9mE2KPYrdmK2KfYoSIgKExpdmVuZXNzIERldGVjdGlvbikKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBtbC0zIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICDYqtit2YTZitmEINmG2YXYtyDYp9mE2YXYtNmKINmI2YbYqNi22KfYqiDYp9mE2YLZhNioINi52KjYsSDYp9mE2LPYp9i52KkKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIENhcmQgMiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLWNhcmQgcm91bmRlZC0yeGwgcC04IGJvcmRlci1yLWJsdWUtNTAwIGJvcmRlci1yLTQiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtNHhsIG1iLTQiPvCfm6HvuI88L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9InRleHQteGwgZm9udC1ib2xkIG1iLTQiPtmG2LjYp9mFINin2YTYq9mC2Kkg2KfZhNmF2LnYr9mI2YXYqSAoWmVybyBUcnVzdCk8L2gzPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYi02Ij7Yp9mE2YXYqNiv2KMg2KfZhNiw2YfYqNmKOiAi2YTYpyDYqtir2YIg2KPYqNiv2KfZi9iMINiq2K3ZgtmCINiv2KfYptmF2KfZiyIuINmD2YQg2KrYt9io2YrZgiDZgdmKINio2YrYptipINmF2LnYstmI2YTYqS48L3A+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINi52LLZhCDYp9mE2KrYt9io2YrZgtin2KogKFNhbmRib3hpbmcpINin2YTYqtmE2YLYp9im2YoKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciB0ZXh0LXNtIHRleHQtc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3LTIgaC0yIGJnLWJsdWUtNTAwIHJvdW5kZWQtZnVsbCBtbC0zIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICDYtdmE2KfYrdmK2KfYqiDYp9mE2YjYtdmI2YQg2KfZhNmF2KTZgtiq2KkgKE9uZS10aW1lIEFjY2VzcykKICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPCEtLSBDb21tdW5pY2F0aW9ucyAmIFdhbGxldCBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJjb21tcyIgY2xhc3M9ImJnLXNsYXRlLTkwMCB0ZXh0LXdoaXRlIHB5LTIwIG1iLTE2IG92ZXJmbG93LWhpZGRlbiByZWxhdGl2ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHJlbGF0aXZlIHotMTAiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIgbWItMTYiPgogICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTQiPjMuINiq2KPZhdmK2YYg2KfZhNin2KrYtdin2YTYp9iqINmI2KfZhNij2YXZiNin2YQ8L2gyPgogICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTQwMCI+2YPZitmBINiq2KrYudin2YXZhCDZhdi5INi02KjZg9in2KogNkcg2YjYp9mE2YXYrdin2YHYuCDYp9mE2LHZgtmF2YrYqSDZgdmKINin2YTYqNmK2KbYp9iqINin2YTZhdi52YLYr9ip2J88L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTMgZ2FwLTgiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXNsYXRlLTgwMC81MCBwLTYgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtYmx1ZS00MDAgbWItMyI+2KfZhNin2KrYtdin2YQg2KfZhNmF2YLYp9mI2YUg2YTZhNmD2YU8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTMwMCBsZWFkaW5nLXJlbGF4ZWQiPtin2LPYqtiu2K\/Yp9mFINio2LHZiNiq2YjZg9mI2YTYp9iqIChFMkVFKSDYp9mE2KrZiiDZhNinINmK2YXZg9mGINmD2LPYsdmH2Kcg2K3YqtmJINio2YjYp9iz2LfYqSDYp9mE2K3ZiNin2LPZitioINin2YTZg9mF2YjZhdmK2Kkg2KfZhNmG2KfYtNim2Kkg2YHZiiAyMDI2LjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zbGF0ZS04MDAvNTAgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtNDAwIG1iLTMiPtin2YTYtNio2YPYp9iqINin2YTZgtmF2LHZitipINmINkc8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTMwMCBsZWFkaW5nLXJlbGF4ZWQiPtiq2LnYt9mK2YQg2KfZhNin2YbYttmF2KfZhSDYp9mE2KrZhNmC2KfYptmKINmE2YTYtNio2YPYp9iqINmB2Yog2KfZhNij2YXYp9mD2YYg2KfZhNi52KfZhdipINmE2KrYrNmG2Kgg2YfYrNmF2KfYqiAi2KfZhNmC2LHYqCDYp9mE2YXZg9in2YbZiiIg2KfZhNmF2KrZgtiv2YXYqS48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctc2xhdGUtODAwLzUwIHAtNiByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgdGV4dC1ibHVlLTQwMCBtYi0zIj7Yp9mE2YXYtdin2K\/ZgtipINin2YTYq9mE2KfYq9mK2KkgKDNGQSk8L2g0PgogICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTMwMCBsZWFkaW5nLXJlbGF4ZWQiPtin2LPYqtiu2K\/Yp9mFINmF2YHYp9iq2YrYrSDYo9mF2KfZhiDZgdmK2LLZitin2KbZitipIChIYXJkd2FyZSBLZXkpINmE2YTYudmF2YTZitin2Kog2KfZhNmF2KfZhNmK2Kkg2KfZhNi22K7ZhdipINmB2YjZgiA1MDAwJC48L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwhLS0gRGVjb3JhdGl2ZSBDYW52YXMgQmFja2dyb3VuZCBMb2dpYyAtLT4KICAgICAgICAgICAgPGNhbnZhcyBpZD0iZ3JpZENhbnZhcyIgY2xhc3M9ImFic29sdXRlIHRvcC0wIGxlZnQtMCB3LWZ1bGwgaC1mdWxsIG9wYWNpdHktMjAgcG9pbnRlci1ldmVudHMtbm9uZSI+PC9jYW52YXM+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIEludGVyYWN0aXZlIENoZWNrbGlzdCBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJjaGVja2xpc3QiIGNsYXNzPSJtYXgtdy00eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS0xMiBtYi0xNiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXdoaXRlIHJvdW5kZWQtM3hsIHAtOCBtZDpwLTEyIHNoYWRvdy14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTIwMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgbWItOCBnYXAtNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQiPjQuINmF2K\/ZgtmCINin2YTYo9mF2KfZhiDYp9mE2YrZiNmF2Yog2KfZhNiq2YHYp9i52YTZijwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTUwMCBtdC0yIj7Yp9iu2KrYqNixINmF2LPYqtmI2Ykg2KPZhdin2YYg2YfYp9iq2YHZgyDYp9mE2KLZhiDZiNin2K3YtdmEINi52YTZiSDYqtmC2YrZitmFINmB2YjYsdmKLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9InNjb3JlUmluZyIgY2xhc3M9ImlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB3LTI0IGgtMjQgcm91bmRlZC1mdWxsIGJvcmRlci04IGJvcmRlci1zbGF0ZS0xMDAgdGV4dC0yeGwgZm9udC1ib2xkIHRleHQtYmx1ZS02MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCUKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIG10LTIgZm9udC1ib2xkIHRleHQtc2xhdGUtNDAwIHVwcGVyY2FzZSB0cmFja2luZy13aWRlc3QiPtmF2LPYqtmI2Ykg2KfZhNit2YXYp9mK2Kk8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJjaGVja0l0ZW1zIiBjbGFzcz0ic3BhY2UteS00Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIER5bmFtaWMgQ2hlY2tib3hlcyAtLT4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtiq2K3Yr9mK2KvYp9iqINin2YTZhti42KfZhSDZgdmI2LHZitipPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAiPtmH2YQg2YLZhdiqINio2KrYq9io2YrYqiDYotiu2LEgItiq2LHZgtmK2Lkg2KPZhdmG2YoiINmE2YTZhti42KfZhSDYrtmE2KfZhCDYp9mE2LPYp9i52Kkg2KfZhNmF2KfYttmK2KnYnzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtiq2LfZh9mK2LEg2KfZhNiq2LfYqNmK2YLYp9iqPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAiPtit2LDZgSDYo9mKINiq2LfYqNmK2YIg2YTZhSDZitiq2YUg2KfYs9iq2K7Yr9in2YXZhyDYrtmE2KfZhCDYp9mE2YAgMzAg2YrZiNmF2KfZiyDYp9mE2YXYp9i22YrYqS48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBwLTQgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTEwMCBob3ZlcjpiZy1zbGF0ZS01MCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idy02IGgtNiByb3VuZGVkIGJvcmRlci1zbGF0ZS0zMDAgdGV4dC1ibHVlLTYwMCBmb2N1czpyaW5nLWJsdWUtNTAwIG1sLTQiIG9uY2hhbmdlPSJ1cGRhdGVTY29yZSgpIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgZm9udC1ib2xkIj7Yqti02YHZitixINin2YTZhtiz2K4g2KfZhNin2K3YqtmK2KfYt9mKINin2YTYs9it2KfYqNmKPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRleHQteHMgdGV4dC1zbGF0ZS01MDAiPtiq2YHYudmK2YQg2K7Zitin2LEgItiq2LTZgdmK2LEg2KfZhNi32LHZgSDZhNii2K7YsSIg2LnZhNmJIGlDbG91ZCDYo9mIIEdvb2dsZSBEcml2ZS48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBwLTQgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTEwMCBob3ZlcjpiZy1zbGF0ZS01MCBjdXJzb3ItcG9pbnRlciB0cmFuc2l0aW9uIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBjbGFzcz0idy02IGgtNiByb3VuZGVkIGJvcmRlci1zbGF0ZS0zMDAgdGV4dC1ibHVlLTYwMCBmb2N1czpyaW5nLWJsdWUtNTAwIG1sLTQiIG9uY2hhbmdlPSJ1cGRhdGVTY29yZSgpIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1yaWdodCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2sgZm9udC1ib2xkIj7ZiNi52Yog2KfZhNmH2YbYr9iz2Kkg2KfZhNin2KzYqtmF2KfYudmK2Kk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2YfZhCDYqtiq2LTZg9mDINiq2YTZgtin2KbZitin2Ysg2YHZiiDYo9mKINi32YTYqCDZhdi52YTZiNmF2KfYqiDZhdmB2KfYrNimINit2KrZiSDZhNmIINmD2KfZhiDZhdmGINi12K\/ZitmC2J88L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICA8ZGl2IGlkPSJzdGF0dXNNZXNzYWdlIiBjbGFzcz0ibXQtOCBwLTQgcm91bmRlZC14bCBiZy1zbGF0ZS0xMDAgdGV4dC1zbGF0ZS02MDAgdGV4dC1jZW50ZXIgZm9udC1tZWRpdW0iPgogICAgICAgICAgICAgICAgICAgINin2KjYr9ijINmB2Yog2KrYrdiv2YrYryDYp9mE2KXYrNix2KfYodin2Kog2KfZhNiq2Yog2KrYqtiu2LDZh9inINmE2KrYsdmJINmF2LPYqtmI2Ykg2K3Zhdin2YrYqtmDLi4uCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIFN1bW1hcnkgJiBGb290ZXIgLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTEyIHRleHQtY2VudGVyIGJvcmRlci10IGJvcmRlci1zbGF0ZS0yMDAiPgogICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtMnhsIGZvbnQtYm9sZCBtYi00Ij7Yp9mE2K7ZhNin2LXYqTog2KfZhNij2YXZhiDYudmC2YTZitipINmI2YTZitizINmF2KzYsdivINij2K\/ZiNin2Ko8L2gyPgogICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAgbWF4LXctMnhsIG14LWF1dG8gbWItOCI+CiAgICAgICAgICAgICAgICDZgdmKINi52KfZhSAyMDI22Iwg2KfZhNiu2LXZiNi12YrYqSDZh9mKINin2YTYsdmB2KfZh9mK2Kkg2KfZhNis2K\/Zitiv2KkuINin2KrYqNin2LnZgyDZhNmH2LDYpyDYp9mE2K\/ZhNmK2YQg2YTYpyDZitit2YXZiiDYqNmK2KfZhtin2KrZgyDZgdit2LPYqNiMINio2YQg2YrYrdmF2Yog2KfYs9iq2YLYsdin2LHZgyDZgdmKINi52KfZhNmFINmK2LLYr9in2K8g2KrYudmC2YrYr9in2YsuINiq2LDZg9ixOiDYo9mG2Kog2K7YtyDYp9mE2K\/Zgdin2Lkg2KfZhNij2YjZhCDZiNin2YTYo9iu2YrYsS4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGp1c3RpZnktY2VudGVyIHNwYWNlLXgtNCBzcGFjZS14LXJldmVyc2UiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJ3aW5kb3cucHJpbnQoKSIgY2xhc3M9InB4LTYgcHktMiBib3JkZXIgYm9yZGVyLXNsYXRlLTMwMCByb3VuZGVkLWxnIHRleHQtc20gZm9udC1ib2xkIGhvdmVyOmJnLXNsYXRlLTEwMCB0cmFuc2l0aW9uIj7Yqtit2YXZitmEINmG2LPYrtipIFBERjwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJzY3JvbGxUb1NlY3Rpb24oJ3RocmVhdHMnKSIgY2xhc3M9InB4LTYgcHktMiBiZy1zbGF0ZS05MDAgdGV4dC13aGl0ZSByb3VuZGVkLWxnIHRleHQtc20gZm9udC1ib2xkIGhvdmVyOmJnLXNsYXRlLTgwMCB0cmFuc2l0aW9uIj7Yp9mE2LnZiNiv2Kkg2YTZhNio2K\/Yp9mK2Kk8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgogICAgPC9tYWluPgoKICAgIDxmb290ZXIgY2xhc3M9ImJnLXdoaXRlIHB5LTYgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTEwMCB0ZXh0LWNlbnRlciB0ZXh0LXNsYXRlLTQwMCB0ZXh0LXhzIj4KICAgICAgICAmY29weTsgMjAyNiDYrNmF2YrYuSDYp9mE2K3ZgtmI2YIg2YXYrdmB2YjYuNipIC0g2KPZg9in2K\/ZitmF2YrYqSDYp9mE2KPZhdmGINin2YTYs9mK2KjYsdin2YbZiiDYp9mE2LDZg9mKCiAgICA8L2Zvb3Rlcj4KCiAgICA8c2NyaXB0PgogICAgICAgIC8vIENvcmUgTG9naWMgZm9yIFZpc3VhbGl6YXRpb24gYW5kIEludGVyYWN0aW9uCiAgICAgICAgCiAgICAgICAgLy8gMS4gQ2hhcnQgSW5pdGlhbGl6YXRpb24KICAgICAgICBjb25zdCBjdHggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGhyZWF0Q2hhcnQnKS5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgIGNvbnN0IHRocmVhdENoYXJ0ID0gbmV3IENoYXJ0KGN0eCwgewogICAgICAgICAgICB0eXBlOiAnYmFyJywKICAgICAgICAgICAgZGF0YTogewogICAgICAgICAgICAgICAgbGFiZWxzOiBbJ9in2YTYqti12YrYryDYp9mE2KrZgtmE2YrYr9mKJywgJ0dlbi1BSSBBdHRhY2tzJywgJ0RlZXBmYWtlcycsICfYq9i62LHYp9iqINin2YTZhti42KfZhScsICfYs9ix2YLYqSDYp9mE2KPYrNmH2LLYqSddLAogICAgICAgICAgICAgICAgZGF0YXNldHM6IFt7CiAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICfZhdik2LTYsSDYp9mE2K7Yt9mI2LHYqSAoMS0xMDApJywKICAgICAgICAgICAgICAgICAgICBkYXRhOiBbMzUsIDk1LCA4OCwgNzUsIDQwXSwKICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFsKICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMTQ4LCAxNjMsIDE4NCwgMC42KScsCiAgICAgICAgICAgICAgICAgICAgICAgICdyZ2JhKDM3LCA5OSwgMjM1LCAwLjgpJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMjM5LCA2OCwgNjgsIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgzMCwgNDEsIDU5LCAwLjgpJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMjQ1LCAxNTgsIDExLCAwLjYpJwogICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICcjZmZmZmZmJywKICAgICAgICAgICAgICAgICAgICBib3JkZXJXaWR0aDogMiwKICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDEwCiAgICAgICAgICAgICAgICB9XQogICAgICAgICAgICB9LAogICAgICAgICAgICBvcHRpb25zOiB7CiAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB0cnVlLAogICAgICAgICAgICAgICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsCiAgICAgICAgICAgICAgICBwbHVnaW5zOiB7CiAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB7IGRpc3BsYXk6IGZhbHNlIH0sCiAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogewogICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFja3M6IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBmdW5jdGlvbihjb250ZXh0KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gY29udGV4dC5kYXRhc2V0LmxhYmVsIHx8ICcnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYWJlbCkgbGFiZWwgKz0gJzogJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGV4dC5wYXJzZWQueSAhPT0gbnVsbCkgbGFiZWwgKz0gY29udGV4dC5wYXJzZWQueSArICcvMTAwJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgc2NhbGVzOiB7CiAgICAgICAgICAgICAgICAgICAgeTogeyAKICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW5BdFplcm86IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQ6IHsgZGlzcGxheTogZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdGlja3M6IHsgZm9udDogeyBmYW1pbHk6ICdUYWphd2FsJywgc2l6ZTogMTAgfSB9CiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICB4OiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQ6IHsgZGlzcGxheTogZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICAgICAgdGlja3M6IHsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250OiB7IGZhbWlseTogJ1RhamF3YWwnLCBzaXplOiAxMCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gdGhpcy5nZXRMYWJlbEZvclZhbHVlKHZhbHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGFiZWwubGVuZ3RoID4gMTUpIHJldHVybiBsYWJlbC5zdWJzdHJpbmcoMCwgMTIpICsgJy4uLic7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxhYmVsOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfSk7CgogICAgICAgIC8vIDIuIEludGVyYWN0aXZlIFNjb3JlIFRyYWNrZXIKICAgICAgICBmdW5jdGlvbiB1cGRhdGVTY29yZSgpIHsKICAgICAgICAgICAgY29uc3QgY2hlY2tib3hlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNjaGVja0l0ZW1zIGlucHV0W3R5cGU9ImNoZWNrYm94Il0nKTsKICAgICAgICAgICAgY29uc3QgdG90YWwgPSBjaGVja2JveGVzLmxlbmd0aDsKICAgICAgICAgICAgY29uc3QgY2hlY2tlZCA9IEFycmF5LmZyb20oY2hlY2tib3hlcykuZmlsdGVyKGkgPT4gaS5jaGVja2VkKS5sZW5ndGg7CiAgICAgICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKChjaGVja2VkIC8gdG90YWwpICogMTAwKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNvbnN0IHJpbmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NvcmVSaW5nJyk7CiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHVzTWVzc2FnZScpOwogICAgICAgICAgICAKICAgICAgICAgICAgcmluZy5pbm5lclRleHQgPSBwZXJjZW50YWdlICsgJyUnOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKHBlcmNlbnRhZ2UgPCAzMCkgewogICAgICAgICAgICAgICAgcmluZy5jbGFzc05hbWUgPSByaW5nLmNsYXNzTmFtZS5yZXBsYWNlKC9ib3JkZXItKHNsYXRlfHllbGxvd3xncmVlbiktWzAtOV0rL2csICdib3JkZXItcmVkLTUwMCcpOwogICAgICAgICAgICAgICAgbWVzc2FnZS5pbm5lclRleHQgPSAi4pqg77iPINmI2LbYudmDINit2LHYrCEg2KPZhtiqINmF2YPYtNmI2YEg2KrZhdin2YXYp9mLINij2YXYp9mFINmH2KzZhdin2KogMjAyNi4iOwogICAgICAgICAgICAgICAgbWVzc2FnZS5jbGFzc05hbWUgPSAibXQtOCBwLTQgcm91bmRlZC14bCBiZy1yZWQtMTAwIHRleHQtcmVkLTcwMCB0ZXh0LWNlbnRlciBmb250LWJvbGQiOwogICAgICAgICAgICB9IGVsc2UgaWYgKHBlcmNlbnRhZ2UgPCA3MCkgewogICAgICAgICAgICAgICAgcmluZy5jbGFzc05hbWUgPSByaW5nLmNsYXNzTmFtZS5yZXBsYWNlKC9ib3JkZXItKHJlZHxzbGF0ZXxncmVlbiktWzAtOV0rL2csICdib3JkZXIteWVsbG93LTUwMCcpOwogICAgICAgICAgICAgICAgbWVzc2FnZS5pbm5lclRleHQgPSAi8J+UjSDZiNi22LnZgyDZhdmC2KjZiNmEINmI2YTZg9mGINmH2YbYp9mDINmB2KzZiNin2Kog2KPZhdmG2YrYqSDZiNin2LPYudipLiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXllbGxvdy0xMDAgdGV4dC15ZWxsb3ctNzAwIHRleHQtY2VudGVyIGZvbnQtYm9sZCI7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0ocmVkfHllbGxvd3xzbGF0ZSktWzAtOV0rL2csICdib3JkZXItZ3JlZW4tNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLinIUg2KPYrdiz2YbYqiEg2KPZhtiqINiq2KrYqNi5INij2YHYttmEINin2YTZhdmF2KfYsdiz2KfYqiDYp9mE2LPZitio2LHYp9mG2YrYqSDYp9mE2K3Yr9mK2KvYqS4iOwogICAgICAgICAgICAgICAgbWVzc2FnZS5jbGFzc05hbWUgPSAibXQtOCBwLTQgcm91bmRlZC14bCBiZy1ncmVlbi0xMDAgdGV4dC1ncmVlbi03MDAgdGV4dC1jZW50ZXIgZm9udC1ib2xkIjsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gMy4gU21vb3RoIE5hdmlnYXRpb24gSGFuZGxpbmcKICAgICAgICBmdW5jdGlvbiBzY3JvbGxUb1NlY3Rpb24oaWQpIHsKICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTsKICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gODA7CiAgICAgICAgICAgIGNvbnN0IGJvZHlSZWN0ID0gZG9jdW1lbnQuYm9keS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7CiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7CiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3NpdGlvbiA9IGVsZW1lbnRSZWN0IC0gYm9keVJlY3Q7CiAgICAgICAgICAgIGNvbnN0IG9mZnNldFBvc2l0aW9uID0gZWxlbWVudFBvc2l0aW9uIC0gb2Zmc2V0OwoKICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsKICAgICAgICAgICAgICAgIHRvcDogb2Zmc2V0UG9zaXRpb24sCiAgICAgICAgICAgICAgICBiZWhhdmlvcjogJ3Ntb290aCcKICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAvLyA0LiBEZWNvcmF0aXZlIEJhY2tncm91bmQgQ2FudmFzIExvZ2ljCiAgICAgICAgY29uc3QgZ3JpZENhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdncmlkQ2FudmFzJyk7CiAgICAgICAgY29uc3QgZ0N0eCA9IGdyaWRDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKICAgICAgICAKICAgICAgICBmdW5jdGlvbiBkcmF3R3JpZCgpIHsKICAgICAgICAgICAgZ3JpZENhbnZhcy53aWR0aCA9IGdyaWRDYW52YXMub2Zmc2V0V2lkdGg7CiAgICAgICAgICAgIGdyaWRDYW52YXMuaGVpZ2h0ID0gZ3JpZENhbnZhcy5vZmZzZXRIZWlnaHQ7CiAgICAgICAgICAgIGdDdHguc3Ryb2tlU3R5bGUgPSAnIzNiODJmNic7CiAgICAgICAgICAgIGdDdHgubGluZVdpZHRoID0gMC4yOwogICAgICAgICAgICAKICAgICAgICAgICAgY29uc3Qgc3RlcCA9IDQwOwogICAgICAgICAgICBmb3IgKGxldCB4ID0gMDsgeCA8PSBncmlkQ2FudmFzLndpZHRoOyB4ICs9IHN0ZXApIHsKICAgICAgICAgICAgICAgIGdDdHguYmVnaW5QYXRoKCk7CiAgICAgICAgICAgICAgICBnQ3R4Lm1vdmVUbyh4LCAwKTsKICAgICAgICAgICAgICAgIGdDdHgubGluZVRvKHgsIGdyaWRDYW52YXMuaGVpZ2h0KTsKICAgICAgICAgICAgICAgIGdDdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yIChsZXQgeSA9IDA7IHkgPD0gZ3JpZENhbnZhcy5oZWlnaHQ7IHkgKz0gc3RlcCkgewogICAgICAgICAgICAgICAgZ0N0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgIGdDdHgubW92ZVRvKDAsIHkpOwogICAgICAgICAgICAgICAgZ0N0eC5saW5lVG8oZ3JpZENhbnZhcy53aWR0aCwgeSk7CiAgICAgICAgICAgICAgICBnQ3R4LnN0cm9rZSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHdpbmRvdy5vbmxvYWQgPSBkcmF3R3JpZDsKICAgICAgICB3aW5kb3cub25yZXNpemUgPSBkcmF3R3JpZDsKCiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cgxpbm5lckNvbnRlbnR1AXfLxQEKPHA+PGJyPjwvcD48IURPQ1RZUEUgaHRtbD4KPGh0bWwgbGFuZz0iYXIiIGRpcj0icnRsIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+2KfZhNiv2YTZitmEINin2YTYtNin2YXZhCDZhNij2YXZhiDYp9mE2YfZiNin2KrZgSAyMDI2PC90aXRsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vY2hhcnQuanMiPjwvc2NyaXB0PgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1UYWphd2FsOndnaHRAMzAwOzQwMDs1MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CiAgICA8c3R5bGU+CiAgICAgICAgYm9keSB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVGFqYXdhbCcsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGZhZmM7CiAgICAgICAgICAgIGNvbG9yOiAjMWUyOTNiOwogICAgICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsKICAgICAgICB9CiAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7CiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgICAgICAgICAgIGhlaWdodDogMzUwcHg7CiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIH0KICAgICAgICAuZ2xhc3MtY2FyZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOCk7CiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGJveC1zaGFkb3cgMC4zcyBlYXNlOwogICAgICAgIH0KICAgICAgICAuZ2xhc3MtY2FyZDpob3ZlciB7CiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsKICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgfQogICAgICAgIC5uYXYtbGluay5hY3RpdmUgewogICAgICAgICAgICBjb2xvcjogIzI1NjNlYjsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyNTYzZWI7CiAgICAgICAgfQogICAgICAgIC5jeWJlci1hY2NlbnQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyNTYzZWIsICMzYjgyZjYpOwogICAgICAgIH0KICAgICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgICBhbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlOwogICAgICAgIH0KICAgICAgICBAa2V5ZnJhbWVzIHB1bHNlIHsKICAgICAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMzcsIDk5LCAyMzUsIDAuNyk7IH0KICAgICAgICAgICAgNzAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDM3LCA5OSwgMjM1LCAwKTsgfQogICAgICAgICAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDM3LCA5OSwgMjM1LCAwKTsgfQogICAgICAgIH0KICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHkgY2xhc3M9ImJnLXNsYXRlLTUwIj4KCiAgICA8IS0tIENob3NlbiBQYWxldHRlOiBNaWRuaWdodCBDeWJlciAo2LPYp9mK2KjYsSDZhdmG2KrYtdmBINin2YTZhNmK2YQg2KfZhNmH2KfYr9imKSAtLT4KICAgIDwhLS0gQXBwbGljYXRpb24gU3RydWN0dXJlIFBsYW46INiq2YUg2KrYtdmF2YrZhSDYp9mE2KrYt9io2YrZgiDZg9mE2YjYrdipINiq2K3Zg9mFINij2YXZhtmK2Kkg2YXYqtmD2KfZhdmE2KkgKFNlY3VyaXR5IERhc2hib2FyZCkuINmK2KjYr9ijINio2YjYp9is2YfYqSDYqtmB2KfYudmE2YrYqSDYqti52LHYtiDZhdi02YfYryDYp9mE2KrZh9iv2YrYr9in2KrYjCDYq9mFINmK2YbYqtmC2YQg2KXZhNmJINix2YPYp9im2LIg2KfZhNit2YXYp9mK2Kkg2KfZhNij2LPYp9iz2YrYqSDYudio2LEg2KjYt9in2YLYp9iqINiq2YHYp9i52YTZitip2Iwg2YrYqtio2LnZh9inINmC2LPZhSDYrtin2LUg2KjYqtij2YXZitmGINin2YTYp9iq2LXYp9mE2KfYqiDZiNin2YTZhdin2YTZitip2Iwg2YjZitmG2KrZh9mKINio2KPYr9in2Kkg2KrYr9mC2YrZgiDZitmI2YXZitipINiq2YHYp9i52YTZitipLiDZh9iw2Kcg2KfZhNmH2YrZg9mEINmK2YfYr9mBINil2YTZiSDYqtit2YjZitmEINin2YTZhdit2KrZiNmJINin2YTZhti12Yog2KfZhNmF2LnZgtivINil2YTZiSDYsdit2YTYqSDYp9iz2KrZg9i02KfZgdmK2Kkg2KjYtdix2YrYqSDYqti52LLYsiDZgdmH2YUg2KfZhNmF2LPYqtiu2K\/ZhSDZhNmF2K7Yp9i32LEg2YjYo9iv2YjYp9iqINi52KfZhSAyMDI2LiAtLT4KICAgIDwhLS0gVmlzdWFsaXphdGlvbiAmIENvbnRlbnQgQ2hvaWNlczogCiAgICAgICAgMS4g2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2KogKFRocmVhdCBSYWRhcikgLT4g2YXZgtin2LHZhtipINit2KzZhSDYp9mE2KrZh9iv2YrYr9in2KogLT4g2YXYrti32Lcg2LTYsdmK2LfZiiAoQ2hhcnQuanMpIC0+INiq2YHYp9i52YQg2LnZhtivINin2YTYqtit2YjZitmFIC0+INmE2KrZiNi22YrYrSDYrti32YjYsdipINin2YTYsNmD2KfYoSDYp9mE2KfYtdi32YbYp9i52YouCiAgICAgICAgMi4g2LHZg9in2KbYsiDYp9mE2K3Zhdin2YrYqSAtPiDYtNix2K0g2KfZhNmF2YHYp9mH2YrZhSAtPiDYqNi32KfZgtin2Kog2KrZgdin2LnZhNmK2KkgKEhUTUwvVGFpbHdpbmQpIC0+INiq2YjYs9mK2Lkg2KfZhNiq2YHYp9i12YrZhCDYudmG2K8g2KfZhNmG2YLYsS4KICAgICAgICAzLiDZgtin2KbZhdipINin2YTYqtit2YLZgiAtPiDYrti32YjYp9iqINi52YXZhNmK2KkgLT4g2KPYr9in2Kkg2KfYrtiq2YrYp9ixIChDaGVja2JveCBVSSkg2YXYuSDYqtit2K\/ZitirINmE2K3YuNmKINmE2YXYs9iq2YjZiSDYp9mE2KPZhdin2YYuCiAgICAgICAg2KrZhSDYqtij2YPZitivINi52K\/ZhSDYp9iz2KrYrtiv2KfZhSBTVkcg2KPZiCBNZXJtYWlkLgogICAgLS0+CiAgICA8IS0tIENPTkZJUk1BVElPTjogTk8gU1ZHIGdyYXBoaWNzIHVzZWQuIE5PIE1lcm1haWQgSlMgdXNlZC4gLS0+CgogICAgPCEtLSBOYXZpZ2F0aW9uIEFyZWEgLS0+CiAgICA8bmF2IGNsYXNzPSJmaXhlZCB0b3AtMCB3LWZ1bGwgei01MCBiZy13aGl0ZS84MCBib3JkZXItYiBib3JkZXItc2xhdGUtMjAwIGJhY2tkcm9wLWJsdXItbWQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4gaC0xNiBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LTJ4bCBmb250LWV4dHJhYm9sZCB0ZXh0LWJsdWUtNjAwIG1sLTIiPvCfm6HvuI8gQ3liZXJTaGllbGQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhpZGRlbiBtZDpibG9jayB0ZXh0LXNsYXRlLTUwMCBmb250LW1lZGl1bSI+fCDYr9mE2YrZhCDYo9mF2YYgMjAyNjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGlkZGVuIG1kOmZsZXggc3BhY2UteC04IHNwYWNlLXgtcmV2ZXJzZSB0ZXh0LXNtIGZvbnQtYm9sZCI+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJzY3JvbGxUb1NlY3Rpb24oJ3RocmVhdHMnKSIgY2xhc3M9Im5hdi1saW5rIHRleHQtc2xhdGUtNjAwIGhvdmVyOnRleHQtYmx1ZS02MDAgcHgtMyBweS0yIj7Ysdin2K\/Yp9ixINin2YTYqtmH2K\/Zitiv2KfYqjwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCdwaWxsYXJzJykiIGNsYXNzPSJuYXYtbGluayB0ZXh0LXNsYXRlLTYwMCBob3Zlcjp0ZXh0LWJsdWUtNjAwIHB4LTMgcHktMiI+2LHZg9in2KbYsiDYp9mE2K3Zhdin2YrYqTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0ic2Nyb2xsVG9TZWN0aW9uKCdjb21tcycpIiBjbGFzcz0ibmF2LWxpbmsgdGV4dC1zbGF0ZS02MDAgaG92ZXI6dGV4dC1ibHVlLTYwMCBweC0zIHB5LTIiPtiq2KPZhdmK2YYg2KfZhNin2KrYtdin2YQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbignY2hlY2tsaXN0JykiIGNsYXNzPSJjeWJlci1hY2NlbnQgdGV4dC13aGl0ZSByb3VuZGVkLWxnIHB4LTQgcHktMiBzaGFkb3ctbGcgaG92ZXI6b3BhY2l0eS05MCB0cmFuc2l0aW9uIj7Zhdiv2YLZgiDYp9mE2KPZhdin2YY8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvbmF2PgoKICAgIDxtYWluIGNsYXNzPSJwdC0yNCBwYi0xMiI+CiAgICAgICAgPCEtLSBIZXJvIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gY2xhc3M9Im1heC13LTd4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IG1iLTE2IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIHB4LTQgcHktMS41IHJvdW5kZWQtZnVsbCBiZy1ibHVlLTEwMCB0ZXh0LWJsdWUtNzAwIHRleHQtc20gZm9udC1ib2xkIG1iLTYiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QgYmctYmx1ZS02MDAgbWwtMiI+PC9zcGFuPiDYqtit2K\/ZitirINin2YTYo9mF2KfZhjog2LnYp9mFIDIwMjYKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxoMSBjbGFzcz0idGV4dC00eGwgbWQ6dGV4dC02eGwgZm9udC1leHRyYWJvbGQgdGV4dC1zbGF0ZS05MDAgbWItNiBsZWFkaW5nLXRpZ2h0Ij4KICAgICAgICAgICAgICAgINin2YTYudi12LEg2KfZhNiz2YrYqNix2KfZhtmKINin2YTYrNiv2YrYrzogPGJyPiA8c3BhbiBjbGFzcz0idGV4dC1ibHVlLTYwMCI+2YfYp9iq2YHZgyDZh9mIINmH2YjZitiq2YMg2KfZhNix2YLZhdmK2Kk8L3NwYW4+CiAgICAgICAgICAgIDwvaDE+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhsIHRleHQtc2xhdGUtNjAwIG1heC13LTN4bCBteC1hdXRvIG1iLTggbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgINmB2Yog2LnYp9mFIDIwMjbYjCDYo9i12KjYrSDYp9mE2YfYp9iq2YEg2KfZhNiw2YPZiiDZiti22YUgItin2YTZhtiz2K7YqSDYp9mE2LHZgtmF2YrYqSIg2YXZhiDZiNis2YjYr9mG2Kcg2KjYp9mE2YPYp9mF2YQuINmH2LDYpyDYp9mE2KrYt9io2YrZgiDYp9mE2KrZgdin2LnZhNmKINmH2Ygg2K\/ZhNmK2YTZgyDYp9mE2YbZh9in2KbZiiDZhNmB2YfZhSDYp9mE2KrZh9iv2YrYr9in2Kog2KfZhNit2K\/Zitir2Kkg2YjYqNmG2KfYoSDYr9ix2YjYudmDINin2YTYsdmC2YXZitipINio2KfYs9iq2K7Yr9in2YUg2KrZgtmG2YrYp9iqINin2YTYsNmD2KfYoSDYp9mE2KfYtdi32YbYp9i52Yog2YjYp9mE2KvZgtipINin2YTZhdi52K\/ZiNmF2KkuCiAgICAgICAgICAgIDwvcD4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gVGhyZWF0IExhbmRzY2FwZSBTZWN0aW9uIC0tPgogICAgICAgIDxzZWN0aW9uIGlkPSJ0aHJlYXRzIiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgbWItMTYiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy13aGl0ZSByb3VuZGVkLTN4bCBwLTggc2hhZG93LXNtIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTIgZ2FwLTEyIGl0ZW1zLWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNiI+MS4g2LHYp9iv2KfYsSDYp9mE2KrZh9iv2YrYr9in2Kog2YHZiiAyMDI2PC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTggbGVhZGluZy1yZWxheGVkIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINmF2YLYr9mF2Kk6INmE2YUg2YrYudivINin2YTZhdmH2KfYrNmF2YjZhiDZiti52KrZhdiv2YjZhiDYudmE2Ykg2KfZhNio2LHZhdis2YrYp9iqINin2YTYqtmC2YTZitiv2YrYqS4g2YrYtNmH2K8g2LnYp9mFIDIwMjYg2LfZgdix2Kkg2YHZiiDYp9mE2YfYrNmF2KfYqiAi2KfZhNmF2K7Ytdi12KkiINin2YTYqtmKINmK2YLZiNiv2YfYpyDYp9mE2LDZg9in2KEg2KfZhNin2LXYt9mG2KfYudmKINin2YTYqtmI2YTZitiv2YouINin2YTYsdiz2YUg2KfZhNio2YrYp9mG2Yog2KfZhNmF2KzYp9mI2LEg2YrZiNi22K0g2KfZhNiq2LrZitixINin2YTYrNiw2LHZiiDZgdmKINij2YbZiNin2Lkg2KfZhNiq2YfYr9mK2K\/Yp9iqINmF2YLYp9ix2YbYqSDYqNin2YTYo9i52YjYp9mFINin2YTYs9in2KjZgtipLgogICAgICAgICAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlLXktNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItYmx1ZS01MDAgYmctYmx1ZS01MCByb3VuZGVkLWxnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtOTAwIj7Yp9mE2YfYrNmF2KfYqiDYp9mE2YXYr9i52YjZhdipINio2KfZhNmAIEdlbi1BSTwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc20gdGV4dC1ibHVlLTcwMCI+2LHYs9in2KbZhCDYqti12YrYryDYqtit2KfZg9mKINij2LPZhNmI2Kgg2YPYqtin2KjYqSDYo9i12K\/Zgtin2KbZgyDYqNiv2YLYqSA5OSUuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItcmVkLTUwMCBiZy1yZWQtNTAgcm91bmRlZC1sZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJmb250LWJvbGQgdGV4dC1yZWQtOTAwIj7Yp9mE2KrYstmK2YrZgSDYp9mE2LnZhdmK2YIgKERlZXBmYWtlcyk8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtcmVkLTcwMCI+2KfYqti12KfZhNin2Kog2YXYsdim2YrYqSDZhdmG2KrYrdmE2Kkg2YTZhNmH2YjZitipINin2YTYtNiu2LXZitipINmE2LfZhNioINiq2K3ZiNmK2YTYp9iqINmF2KfZhNmK2KkuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXItNCBib3JkZXItc2xhdGUtNTAwIGJnLXNsYXRlLTUwIHJvdW5kZWQtbGciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0iZm9udC1ib2xkIHRleHQtc2xhdGUtOTAwIj7Yq9i62LHYp9iqINin2YTZitmI2YUg2KfZhNi12YHYsSAoWmVyby1EYXkpPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCI+2KfYs9iq2YfYr9in2YEg2YXYqNin2LTYsSDZhNmG2YjYp9ipINij2YbYuNmF2KkgaU9TIDIwINmIIEFuZHJvaWQgMTcuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgaXRlbXMtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgaWQ9InRocmVhdENoYXJ0Ij48L2NhbnZhcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNDAwIG10LTQgaXRhbGljIHRleHQtY2VudGVyIj7YqtmI2LLZiti5INi02K\/YqSDYp9mE2KrZh9iv2YrYr9in2Kog2KfZhNiz2YrYqNix2KfZhtmK2KkgKNio2YrYp9mG2KfYqiDYqtmC2K\/Zitix2YrYqSDZhNi52KfZhSAyMDI2KTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gQ29yZSBQaWxsYXJzIFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9InBpbGxhcnMiIGNsYXNzPSJtYXgtdy03eGwgbXgtYXV0byBweC00IHNtOnB4LTYgbGc6cHgtOCBweS0xMiBtYi0xNiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIG1iLTEyIj4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0zeGwgZm9udC1ib2xkIG1iLTQiPjIuINin2YTYsdmD2KfYptiyINin2YTYo9iz2KfYs9mK2Kkg2YTYrdmF2KfZitipINmH2KfYqtmB2YM8L2gyPgogICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIj7Yqti52LHZgSDYudmE2Ykg2KfZhNiq2YPZhtmI2YTZiNis2YrYpyDYp9mE2KrZiiDYqtit2YXZitmDINiu2YTZgSDYp9mE2YPZiNin2YTZitizINmB2Yog2KfZhNi52LXYsSDYp9mE2KzYr9mK2K8uPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBtZDpncmlkLWNvbHMtMiBnYXAtOCI+CiAgICAgICAgICAgICAgICA8IS0tIENhcmQgMSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdsYXNzLWNhcmQgcm91bmRlZC0yeGwgcC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LTR4bCBtYi00Ij7wn5GkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSJ0ZXh0LXhsIGZvbnQtYm9sZCBtYi00Ij7Yp9mE2YfZiNmK2Kkg2KfZhNio2YrZiNmF2KrYsdmK2Kkg2KfZhNmF2KrZgtiv2YXYqSAoQmlvbWV0cmljcyAyLjApPC9oMz4KICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz0idGV4dC1zbGF0ZS02MDAgbWItNiI+2YTZhSDZiti52K8g2YXYs9iq2LTYudixINin2YTYqNi12YXYqSDZg9in2YHZitin2YsuINmG2LPYqtiu2K\/ZhSDYp9mE2KLZhiDYo9mG2LjZhdipINmF2KrYudiv2K\/YqSDYp9mE2KPZhtmF2KfYty48L3A+CiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJzcGFjZS15LTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINmF2YrYstipICLYpdiv2LHYp9mDINin2YTYo9it2YrYp9ihIiAoTGl2ZW5lc3MgRGV0ZWN0aW9uKQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINiq2K3ZhNmK2YQg2YbZhdi3INin2YTZhdi02Yog2YjZhtio2LbYp9iqINin2YTZgtmE2Kgg2LnYqNixINin2YTYs9in2LnYqQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gQ2FyZCAyIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ2xhc3MtY2FyZCByb3VuZGVkLTJ4bCBwLTggYm9yZGVyLXItYmx1ZS01MDAgYm9yZGVyLXItNCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC00eGwgbWItNCI+8J+boe+4jzwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0idGV4dC14bCBmb250LWJvbGQgbWItNCI+2YbYuNin2YUg2KfZhNir2YLYqSDYp9mE2YXYudiv2YjZhdipIChaZXJvIFRydXN0KTwvaDM+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNjAwIG1iLTYiPtin2YTZhdio2K\/YoyDYp9mE2LDZh9io2Yo6ICLZhNinINiq2KvZgiDYo9io2K\/Yp9mL2Iwg2KrYrdmC2YIg2K\/Yp9im2YXYp9mLIi4g2YPZhCDYqti32KjZitmCINmB2Yog2KjZitim2Kkg2YXYudiy2YjZhNipLjwvcD4KICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9InNwYWNlLXktMyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgdGV4dC1zbSB0ZXh0LXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idy0yIGgtMiBiZy1ibHVlLTUwMCByb3VuZGVkLWZ1bGwgbWwtMyI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg2LnYstmEINin2YTYqti32KjZitmC2KfYqiAoU2FuZGJveGluZykg2KfZhNiq2YTZgtin2KbZigogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHRleHQtc20gdGV4dC1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InctMiBoLTIgYmctYmx1ZS01MDAgcm91bmRlZC1mdWxsIG1sLTMiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgINi12YTYp9it2YrYp9iqINin2YTZiNi12YjZhCDYp9mE2YXYpNmC2KrYqSAoT25lLXRpbWUgQWNjZXNzKQogICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICA8IS0tIENvbW11bmljYXRpb25zICYgV2FsbGV0IFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImNvbW1zIiBjbGFzcz0iYmctc2xhdGUtOTAwIHRleHQtd2hpdGUgcHktMjAgbWItMTYgb3ZlcmZsb3ctaGlkZGVuIHJlbGF0aXZlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcmVsYXRpdmUgei0xMCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciBtYi0xNiI+CiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJ0ZXh0LTN4bCBmb250LWJvbGQgbWItNCI+My4g2KrYo9mF2YrZhiDYp9mE2KfYqti12KfZhNin2Kog2YjYp9mE2KPZhdmI2KfZhDwvaDI+CiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNDAwIj7Zg9mK2YEg2KrYqti52KfZhdmEINmF2Lkg2LTYqNmD2KfYqiA2RyDZiNin2YTZhdit2KfZgdi4INin2YTYsdmC2YXZitipINmB2Yog2KfZhNio2YrYptin2Kog2KfZhNmF2LnZgtiv2KnYnzwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkLWNvbHMtMSBsZzpncmlkLWNvbHMtMyBnYXAtOCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctc2xhdGUtODAwLzUwIHAtNiByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtNzAwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJmb250LWJvbGQgdGV4dC1ibHVlLTQwMCBtYi0zIj7Yp9mE2KfYqti12KfZhCDYp9mE2YXZgtin2YjZhSDZhNmE2YPZhTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KfYs9iq2K7Yr9in2YUg2KjYsdmI2KrZiNmD2YjZhNin2KogKEUyRUUpINin2YTYqtmKINmE2Kcg2YrZhdmD2YYg2YPYs9ix2YfYpyDYrdiq2Ykg2KjZiNin2LPYt9ipINin2YTYrdmI2KfYs9mK2Kgg2KfZhNmD2YXZiNmF2YrYqSDYp9mE2YbYp9i02KbYqSDZgdmKIDIwMjYuPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJnLXNsYXRlLTgwMC81MCBwLTYgcm91bmRlZC14bCBib3JkZXIgYm9yZGVyLXNsYXRlLTcwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0iZm9udC1ib2xkIHRleHQtYmx1ZS00MDAgbWItMyI+2KfZhNi02KjZg9in2Kog2KfZhNmC2YXYsdmK2Kkg2Yg2RzwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KrYudi32YrZhCDYp9mE2KfZhti22YXYp9mFINin2YTYqtmE2YLYp9im2Yog2YTZhNi02KjZg9in2Kog2YHZiiDYp9mE2KPZhdin2YPZhiDYp9mE2LnYp9mF2Kkg2YTYqtis2YbYqCDZh9is2YXYp9iqICLYp9mE2YLYsdioINin2YTZhdmD2KfZhtmKIiDYp9mE2YXYqtmC2K\/ZhdipLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiZy1zbGF0ZS04MDAvNTAgcC02IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS03MDAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9ImZvbnQtYm9sZCB0ZXh0LWJsdWUtNDAwIG1iLTMiPtin2YTZhdi12KfYr9mC2Kkg2KfZhNir2YTYp9ir2YrYqSAoM0ZBKTwvaDQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNtIHRleHQtc2xhdGUtMzAwIGxlYWRpbmctcmVsYXhlZCI+2KfYs9iq2K7Yr9in2YUg2YXZgdin2KrZititINij2YXYp9mGINmB2YrYstmK2KfYptmK2KkgKEhhcmR3YXJlIEtleSkg2YTZhNi52YXZhNmK2KfYqiDYp9mE2YXYp9mE2YrYqSDYp9mE2LbYrtmF2Kkg2YHZiNmCIDUwMDAkLjwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLSBEZWNvcmF0aXZlIENhbnZhcyBCYWNrZ3JvdW5kIExvZ2ljIC0tPgogICAgICAgICAgICA8Y2FudmFzIGlkPSJncmlkQ2FudmFzIiBjbGFzcz0iYWJzb2x1dGUgdG9wLTAgbGVmdC0wIHctZnVsbCBoLWZ1bGwgb3BhY2l0eS0yMCBwb2ludGVyLWV2ZW50cy1ub25lIj48L2NhbnZhcz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gSW50ZXJhY3RpdmUgQ2hlY2tsaXN0IFNlY3Rpb24gLS0+CiAgICAgICAgPHNlY3Rpb24gaWQ9ImNoZWNrbGlzdCIgY2xhc3M9Im1heC13LTR4bCBteC1hdXRvIHB4LTQgc206cHgtNiBsZzpweC04IHB5LTEyIG1iLTE2Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcm91bmRlZC0zeGwgcC04IG1kOnAtMTIgc2hhZG93LXhsIGJvcmRlciBib3JkZXItc2xhdGUtMjAwIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgbWQ6ZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBtYi04IGdhcC00Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtM3hsIGZvbnQtYm9sZCI+NC4g2YXYr9mC2YIg2KfZhNij2YXYp9mGINin2YTZitmI2YXZiiDYp9mE2KrZgdin2LnZhNmKPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQtc2xhdGUtNTAwIG10LTIiPtin2K7Yqtio2LEg2YXYs9iq2YjZiSDYo9mF2KfZhiDZh9in2KrZgdmDINin2YTYotmGINmI2KfYrdi12YQg2LnZhNmJINiq2YLZitmK2YUg2YHZiNix2YouPC9wPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0ic2NvcmVSaW5nIiBjbGFzcz0iaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctMjQgaC0yNCByb3VuZGVkLWZ1bGwgYm9yZGVyLTggYm9yZGVyLXNsYXRlLTEwMCB0ZXh0LTJ4bCBmb250LWJvbGQgdGV4dC1ibHVlLTYwMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwJQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9InRleHQteHMgbXQtMiBmb250LWJvbGQgdGV4dC1zbGF0ZS00MDAgdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVzdCI+2YXYs9iq2YjZiSDYp9mE2K3Zhdin2YrYqTwvcD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNoZWNrSXRlbXMiIGNsYXNzPSJzcGFjZS15LTQiPgogICAgICAgICAgICAgICAgICAgIDwhLS0gRHluYW1pYyBDaGVja2JveGVzIC0tPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgaG92ZXI6Ymctc2xhdGUtNTAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InctNiBoLTYgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwIHRleHQtYmx1ZS02MDAgZm9jdXM6cmluZy1ibHVlLTUwMCBtbC00IiBvbmNoYW5nZT0idXBkYXRlU2NvcmUoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIGZvbnQtYm9sZCI+2KrYrdiv2YrYq9in2Kog2KfZhNmG2LjYp9mFINmB2YjYsdmK2Kk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2YfZhCDZgtmF2Kog2KjYqtir2KjZitiqINii2K7YsSAi2KrYsdmC2YrYuSDYo9mF2YbZiiIg2YTZhNmG2LjYp9mFINiu2YTYp9mEINin2YTYs9in2LnYqSDYp9mE2YXYp9i22YrYqdifPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgcC00IHJvdW5kZWQteGwgYm9yZGVyIGJvcmRlci1zbGF0ZS0xMDAgaG92ZXI6Ymctc2xhdGUtNTAgY3Vyc29yLXBvaW50ZXIgdHJhbnNpdGlvbiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9InctNiBoLTYgcm91bmRlZCBib3JkZXItc2xhdGUtMzAwIHRleHQtYmx1ZS02MDAgZm9jdXM6cmluZy1ibHVlLTUwMCBtbC00IiBvbmNoYW5nZT0idXBkYXRlU2NvcmUoKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtcmlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJsb2NrIGZvbnQtYm9sZCI+2KrYt9mH2YrYsSDYp9mE2KrYt9io2YrZgtin2Ko8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2K3YsNmBINij2Yog2KrYt9io2YrZgiDZhNmFINmK2KrZhSDYp9iz2KrYrtiv2KfZhdmHINiu2YTYp9mEINin2YTZgCAzMCDZitmI2YXYp9mLINin2YTZhdin2LbZitipLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtiq2LTZgdmK2LEg2KfZhNmG2LPYriDYp9mE2KfYrdiq2YrYp9i32Yog2KfZhNiz2K3Yp9io2Yo8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGV4dC14cyB0ZXh0LXNsYXRlLTUwMCI+2KrZgdi52YrZhCDYrtmK2KfYsSAi2KrYtNmB2YrYsSDYp9mE2LfYsdmBINmE2KLYrtixIiDYudmE2YkgaUNsb3VkINij2YggR29vZ2xlIERyaXZlLjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHAtNCByb3VuZGVkLXhsIGJvcmRlciBib3JkZXItc2xhdGUtMTAwIGhvdmVyOmJnLXNsYXRlLTUwIGN1cnNvci1wb2ludGVyIHRyYW5zaXRpb24iPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJ3LTYgaC02IHJvdW5kZWQgYm9yZGVyLXNsYXRlLTMwMCB0ZXh0LWJsdWUtNjAwIGZvY3VzOnJpbmctYmx1ZS01MDAgbWwtNCIgb25jaGFuZ2U9InVwZGF0ZVNjb3JlKCkiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXJpZ2h0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jayBmb250LWJvbGQiPtmI2LnZiiDYp9mE2YfZhtiv2LPYqSDYp9mE2KfYrNiq2YXYp9i52YrYqTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXh0LXhzIHRleHQtc2xhdGUtNTAwIj7Zh9mEINiq2KrYtNmD2YMg2KrZhNmC2KfYptmK2KfZiyDZgdmKINij2Yog2LfZhNioINmF2LnZhNmI2YXYp9iqINmF2YHYp9is2KYg2K3YqtmJINmE2Ygg2YPYp9mGINmF2YYg2LXYr9mK2YLYnzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxkaXYgaWQ9InN0YXR1c01lc3NhZ2UiIGNsYXNzPSJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXNsYXRlLTEwMCB0ZXh0LXNsYXRlLTYwMCB0ZXh0LWNlbnRlciBmb250LW1lZGl1bSI+CiAgICAgICAgICAgICAgICAgICAg2KfYqNiv2KMg2YHZiiDYqtit2K\/ZitivINin2YTYpdis2LHYp9ih2KfYqiDYp9mE2KrZiiDYqtiq2K7YsNmH2Kcg2YTYqtix2Ykg2YXYs9iq2YjZiSDYrdmF2KfZitiq2YMuLi4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDwhLS0gU3VtbWFyeSAmIEZvb3RlciAtLT4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ibWF4LXctN3hsIG14LWF1dG8gcHgtNCBzbTpweC02IGxnOnB4LTggcHktMTIgdGV4dC1jZW50ZXIgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCI+CiAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC0yeGwgZm9udC1ib2xkIG1iLTQiPtin2YTYrtmE2KfYtdipOiDYp9mE2KPZhdmGINi52YLZhNmK2Kkg2YjZhNmK2LMg2YXYrNix2K8g2KPYr9mI2KfYqjwvaDI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJ0ZXh0LXNsYXRlLTYwMCBtYXgtdy0yeGwgbXgtYXV0byBtYi04Ij4KICAgICAgICAgICAgICAgINmB2Yog2LnYp9mFIDIwMjbYjCDYp9mE2K7YtdmI2LXZitipINmH2Yog2KfZhNix2YHYp9mH2YrYqSDYp9mE2KzYr9mK2K\/YqS4g2KfYqtio2KfYudmDINmE2YfYsNinINin2YTYr9mE2YrZhCDZhNinINmK2K3ZhdmKINio2YrYp9mG2KfYqtmDINmB2K3Ys9io2Iwg2KjZhCDZitit2YXZiiDYp9iz2KrZgtix2KfYsdmDINmB2Yog2LnYp9mE2YUg2YrYstiv2KfYryDYqti52YLZitiv2KfZiy4g2KrYsNmD2LE6INij2YbYqiDYrti3INin2YTYr9mB2KfYuSDYp9mE2KPZiNmEINmI2KfZhNij2K7ZitixLgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXgganVzdGlmeS1jZW50ZXIgc3BhY2UteC00IHNwYWNlLXgtcmV2ZXJzZSI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIiBjbGFzcz0icHgtNiBweS0yIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LWJvbGQgaG92ZXI6Ymctc2xhdGUtMTAwIHRyYW5zaXRpb24iPtiq2K3ZhdmK2YQg2YbYs9iu2KkgUERGPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9InNjcm9sbFRvU2VjdGlvbigndGhyZWF0cycpIiBjbGFzcz0icHgtNiBweS0yIGJnLXNsYXRlLTkwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtbGcgdGV4dC1zbSBmb250LWJvbGQgaG92ZXI6Ymctc2xhdGUtODAwIHRyYW5zaXRpb24iPtin2YTYudmI2K\/YqSDZhNmE2KjYr9in2YrYqTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L3NlY3Rpb24+CiAgICA8L21haW4+CgogICAgPGZvb3RlciBjbGFzcz0iYmctd2hpdGUgcHktNiBib3JkZXItdCBib3JkZXItc2xhdGUtMTAwIHRleHQtY2VudGVyIHRleHQtc2xhdGUtNDAwIHRleHQteHMiPgogICAgICAgICZjb3B5OyAyMDI2INis2YXZiti5INin2YTYrdmC2YjZgiDZhdit2YHZiNi42KkgLSDYo9mD2KfYr9mK2YXZitipINin2YTYo9mF2YYg2KfZhNiz2YrYqNix2KfZhtmKINin2YTYsNmD2YoKICAgIDwvZm9vdGVyPgoKICAgIDxzY3JpcHQ+CiAgICAgICAgLy8gQ29yZSBMb2dpYyBmb3IgVmlzdWFsaXphdGlvbiBhbmQgSW50ZXJhY3Rpb24KICAgICAgICAKICAgICAgICAvLyAxLiBDaGFydCBJbml0aWFsaXphdGlvbgogICAgICAgIGNvbnN0IGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0aHJlYXRDaGFydCcpLmdldENvbnRleHQoJzJkJyk7CiAgICAgICAgY29uc3QgdGhyZWF0Q2hhcnQgPSBuZXcgQ2hhcnQoY3R4LCB7CiAgICAgICAgICAgIHR5cGU6ICdiYXInLAogICAgICAgICAgICBkYXRhOiB7CiAgICAgICAgICAgICAgICBsYWJlbHM6IFsn2KfZhNiq2LXZitivINin2YTYqtmC2YTZitiv2YonLCAnR2VuLUFJIEF0dGFja3MnLCAnRGVlcGZha2VzJywgJ9ir2LrYsdin2Kog2KfZhNmG2LjYp9mFJywgJ9iz2LHZgtipINin2YTYo9is2YfYstipJ10sCiAgICAgICAgICAgICAgICBkYXRhc2V0czogW3sKICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ9mF2KTYtNixINin2YTYrti32YjYsdipICgxLTEwMCknLAogICAgICAgICAgICAgICAgICAgIGRhdGE6IFszNSwgOTUsIDg4LCA3NSwgNDBdLAogICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogWwogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgxNDgsIDE2MywgMTg0LCAwLjYpJywKICAgICAgICAgICAgICAgICAgICAgICAgJ3JnYmEoMzcsIDk5LCAyMzUsIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgyMzksIDY4LCA2OCwgMC44KScsCiAgICAgICAgICAgICAgICAgICAgICAgICdyZ2JhKDMwLCA0MSwgNTksIDAuOCknLAogICAgICAgICAgICAgICAgICAgICAgICAncmdiYSgyNDUsIDE1OCwgMTEsIDAuNiknCiAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICBib3JkZXJDb2xvcjogJyNmZmZmZmYnLAogICAgICAgICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAyLAogICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogMTAKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG9wdGlvbnM6IHsKICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsCiAgICAgICAgICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSwKICAgICAgICAgICAgICAgIHBsdWdpbnM6IHsKICAgICAgICAgICAgICAgICAgICBsZWdlbmQ6IHsgZGlzcGxheTogZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiB7CiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrczogewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uKGNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjb250ZXh0LmRhdGFzZXQubGFiZWwgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxhYmVsKSBsYWJlbCArPSAnOiAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb250ZXh0LnBhcnNlZC55ICE9PSBudWxsKSBsYWJlbCArPSBjb250ZXh0LnBhcnNlZC55ICsgJy8xMDAnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsYWJlbDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzY2FsZXM6IHsKICAgICAgICAgICAgICAgICAgICB5OiB7IAogICAgICAgICAgICAgICAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyBmb250OiB7IGZhbWlseTogJ1RhamF3YWwnLCBzaXplOiAxMCB9IH0KICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHg6IHsKICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZDogeyBkaXNwbGF5OiBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogeyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQ6IHsgZmFtaWx5OiAnVGFqYXdhbCcsIHNpemU6IDEwIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24odmFsdWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFiZWwgPSB0aGlzLmdldExhYmVsRm9yVmFsdWUodmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsYWJlbC5sZW5ndGggPiAxNSkgcmV0dXJuIGxhYmVsLnN1YnN0cmluZygwLCAxMikgKyAnLi4uJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGFiZWw7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKCiAgICAgICAgLy8gMi4gSW50ZXJhY3RpdmUgU2NvcmUgVHJhY2tlcgogICAgICAgIGZ1bmN0aW9uIHVwZGF0ZVNjb3JlKCkgewogICAgICAgICAgICBjb25zdCBjaGVja2JveGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI2NoZWNrSXRlbXMgaW5wdXRbdHlwZT0iY2hlY2tib3giXScpOwogICAgICAgICAgICBjb25zdCB0b3RhbCA9IGNoZWNrYm94ZXMubGVuZ3RoOwogICAgICAgICAgICBjb25zdCBjaGVja2VkID0gQXJyYXkuZnJvbShjaGVja2JveGVzKS5maWx0ZXIoaSA9PiBpLmNoZWNrZWQpLmxlbmd0aDsKICAgICAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IE1hdGgucm91bmQoKGNoZWNrZWQgLyB0b3RhbCkgKiAxMDApOwogICAgICAgICAgICAKICAgICAgICAgICAgY29uc3QgcmluZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY29yZVJpbmcnKTsKICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0dXNNZXNzYWdlJyk7CiAgICAgICAgICAgIAogICAgICAgICAgICByaW5nLmlubmVyVGV4dCA9IHBlcmNlbnRhZ2UgKyAnJSc7CiAgICAgICAgICAgIAogICAgICAgICAgICBpZiAocGVyY2VudGFnZSA8IDMwKSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0oc2xhdGV8eWVsbG93fGdyZWVuKS1bMC05XSsvZywgJ2JvcmRlci1yZWQtNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLimqDvuI8g2YjYtti52YMg2K3YsdisISDYo9mG2Kog2YXZg9i02YjZgSDYqtmF2KfZhdin2Ysg2KPZhdin2YUg2YfYrNmF2KfYqiAyMDI2LiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLXJlZC0xMDAgdGV4dC1yZWQtNzAwIHRleHQtY2VudGVyIGZvbnQtYm9sZCI7CiAgICAgICAgICAgIH0gZWxzZSBpZiAocGVyY2VudGFnZSA8IDcwKSB7CiAgICAgICAgICAgICAgICByaW5nLmNsYXNzTmFtZSA9IHJpbmcuY2xhc3NOYW1lLnJlcGxhY2UoL2JvcmRlci0ocmVkfHNsYXRlfGdyZWVuKS1bMC05XSsvZywgJ2JvcmRlci15ZWxsb3ctNTAwJyk7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmlubmVyVGV4dCA9ICLwn5SNINmI2LbYudmDINmF2YLYqNmI2YQg2YjZhNmD2YYg2YfZhtin2YMg2YHYrNmI2KfYqiDYo9mF2YbZitipINmI2KfYs9i52KkuIjsKICAgICAgICAgICAgICAgIG1lc3NhZ2UuY2xhc3NOYW1lID0gIm10LTggcC00IHJvdW5kZWQteGwgYmcteWVsbG93LTEwMCB0ZXh0LXllbGxvdy03MDAgdGV4dC1jZW50ZXIgZm9udC1ib2xkIjsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIHJpbmcuY2xhc3NOYW1lID0gcmluZy5jbGFzc05hbWUucmVwbGFjZSgvYm9yZGVyLShyZWR8eWVsbG93fHNsYXRlKS1bMC05XSsvZywgJ2JvcmRlci1ncmVlbi01MDAnKTsKICAgICAgICAgICAgICAgIG1lc3NhZ2UuaW5uZXJUZXh0ID0gIuKchSDYo9it2LPZhtiqISDYo9mG2Kog2KrYqtio2Lkg2KPZgdi22YQg2KfZhNmF2YXYp9ix2LPYp9iqINin2YTYs9mK2KjYsdin2YbZitipINin2YTYrdiv2YrYq9ipLiI7CiAgICAgICAgICAgICAgICBtZXNzYWdlLmNsYXNzTmFtZSA9ICJtdC04IHAtNCByb3VuZGVkLXhsIGJnLWdyZWVuLTEwMCB0ZXh0LWdyZWVuLTcwMCB0ZXh0LWNlbnRlciBmb250LWJvbGQiOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyAzLiBTbW9vdGggTmF2aWdhdGlvbiBIYW5kbGluZwogICAgICAgIGZ1bmN0aW9uIHNjcm9sbFRvU2VjdGlvbihpZCkgewogICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgICAgICAgICBjb25zdCBvZmZzZXQgPSA4MDsKICAgICAgICAgICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDsKICAgICAgICAgICAgY29uc3QgZWxlbWVudFBvc2l0aW9uID0gZWxlbWVudFJlY3QgLSBib2R5UmVjdDsKICAgICAgICAgICAgY29uc3Qgb2Zmc2V0UG9zaXRpb24gPSBlbGVtZW50UG9zaXRpb24gLSBvZmZzZXQ7CgogICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oewogICAgICAgICAgICAgICAgdG9wOiBvZmZzZXRQb3NpdGlvbiwKICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJwogICAgICAgICAgICB9KTsKICAgICAgICB9CgogICAgICAgIC8vIDQuIERlY29yYXRpdmUgQmFja2dyb3VuZCBDYW52YXMgTG9naWMKICAgICAgICBjb25zdCBncmlkQ2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2dyaWRDYW52YXMnKTsKICAgICAgICBjb25zdCBnQ3R4ID0gZ3JpZENhbnZhcy5nZXRDb250ZXh0KCcyZCcpOwogICAgICAgIAogICAgICAgIGZ1bmN0aW9uIGRyYXdHcmlkKCkgewogICAgICAgICAgICBncmlkQ2FudmFzLndpZHRoID0gZ3JpZENhbnZhcy5vZmZzZXRXaWR0aDsKICAgICAgICAgICAgZ3JpZENhbnZhcy5oZWlnaHQgPSBncmlkQ2FudmFzLm9mZnNldEhlaWdodDsKICAgICAgICAgICAgZ0N0eC5zdHJva2VTdHlsZSA9ICcjM2I4MmY2JzsKICAgICAgICAgICAgZ0N0eC5saW5lV2lkdGggPSAwLjI7CiAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBzdGVwID0gNDA7CiAgICAgICAgICAgIGZvciAobGV0IHggPSAwOyB4IDw9IGdyaWRDYW52YXMud2lkdGg7IHggKz0gc3RlcCkgewogICAgICAgICAgICAgICAgZ0N0eC5iZWdpblBhdGgoKTsKICAgICAgICAgICAgICAgIGdDdHgubW92ZVRvKHgsIDApOwogICAgICAgICAgICAgICAgZ0N0eC5saW5lVG8oeCwgZ3JpZENhbnZhcy5oZWlnaHQpOwogICAgICAgICAgICAgICAgZ0N0eC5zdHJva2UoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGxldCB5ID0gMDsgeSA8PSBncmlkQ2FudmFzLmhlaWdodDsgeSArPSBzdGVwKSB7CiAgICAgICAgICAgICAgICBnQ3R4LmJlZ2luUGF0aCgpOwogICAgICAgICAgICAgICAgZ0N0eC5tb3ZlVG8oMCwgeSk7CiAgICAgICAgICAgICAgICBnQ3R4LmxpbmVUbyhncmlkQ2FudmFzLndpZHRoLCB5KTsKICAgICAgICAgICAgICAgIGdDdHguc3Ryb2tlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgd2luZG93Lm9ubG9hZCA9IGRyYXdHcmlkOwogICAgICAgIHdpbmRvdy5vbnJlc2l6ZSA9IGRyYXdHcmlkOwoKICAgIDwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4Kdw5jb3JlL3BhcmFncmFwaHkCxPGkrQQLAQEBAgEAAQABAAcACQABpqMBFkkBUN+xAQDqvbMOAQAA\",\"updateId\":57906107}","pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"categories":[30],"tags":[],"class_list":["post-1530","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hardware-articles"],"_links":{"self":[{"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/posts\/1530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ajhzh.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1530"}],"version-history":[{"count":2,"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/posts\/1530\/revisions"}],"predecessor-version":[{"id":1542,"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/posts\/1530\/revisions\/1542"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ajhzh.com\/index.php?rest_route=\/wp\/v2\/media\/1538"}],"wp:attachment":[{"href":"https:\/\/ajhzh.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ajhzh.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ajhzh.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}