:root{--background:0 0% 100%;--foreground:0 0% 0%;--card:0 0% 97.6%;--card-foreground:0 0% 0%;--popover:0 0% 100%;--popover-foreground:0 0% 0%;--muted:0 0% 94.1%;--muted-foreground:0 0% 40%;--accent:0 0% 95.3%;--accent-foreground:0 0% 0%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 100%;--success:142.1 76.2% 36.3%;--success-foreground:0 0% 100%;--border:0 0% 89.8%;--input:0 0% 89.8%;--ring:0 0% 0%;--bg-primary:hsl(var(--background));--bg-secondary:#f9f9f9;--bg-tertiary:hsl(var(--muted));--bg-hover:hsl(var(--accent));--bg-input:hsl(var(--background));--bg-modal:hsl(var(--background));--text-primary:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--text-muted:#6b6b6b;--border-color:hsl(var(--border));--border-focus:hsl(var(--foreground));--accent-color:hsl(var(--foreground));--accent-hover:#333;--on-accent:hsl(var(--background));--success-color:hsl(var(--success));--error-color:hsl(var(--destructive));--error-foreground:hsl(var(--destructive-foreground));--success-foreground:hsl(var(--success-foreground));--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08);--shadow-lg:0 20px 40px -10px rgba(0,0,0,.1);--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--font-main:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji";--font-mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Menlo,Monaco,"Courier New",monospace;--ease:cubic-bezier(0.16,1,0.3,1);--duration-fast:150ms;--duration-normal:200ms;--duration-slow:300ms;--transition-colors:color var(--duration-fast) var(--ease),background-color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease);--transition-transform:transform var(--duration-normal) var(--ease);--transition:all var(--duration-normal) var(--ease)}[data-theme=dark]{--background:0 0% 0%;--foreground:0 0% 100%;--card:0 0% 3.9%;--card-foreground:0 0% 100%;--popover:0 0% 3.9%;--popover-foreground:0 0% 100%;--muted:0 0% 8.6%;--muted-foreground:0 0% 62.7%;--accent:0 0% 10.2%;--accent-foreground:0 0% 100%;--border:0 0% 15.7%;--input:0 0% 15.7%;--ring:0 0% 100%;--bg-primary:hsl(var(--background));--bg-secondary:#0a0a0a;--bg-tertiary:hsl(var(--muted));--bg-hover:hsl(var(--accent));--bg-input:#0a0a0a;--bg-modal:#0a0a0a;--text-primary:hsl(var(--foreground));--text-secondary:hsl(var(--muted-foreground));--text-muted:#737373;--border-color:hsl(var(--border));--border-focus:hsl(var(--foreground));--accent-color:hsl(var(--foreground));--accent-hover:#e0e0e0;--on-accent:hsl(var(--background));--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,.4);--shadow-lg:0 20px 40px -10px rgba(0,0,0,.7)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100dvh}body,html{height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);display:flex;font-family:var(--font-main);font-size:15px;height:-webkit-fill-available;height:100dvh;line-height:1.6;-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-top:env(safe-area-inset-top)}[x-cloak]{display:none!important}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}[role=switch]:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;flex-shrink:0;height:100%;min-width:280px;position:relative;transition:width .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);width:280px;z-index:10}.sidebar.collapsed{min-width:72px;width:72px}.sidebar-overlay{display:none}.sidebar-header{height:80px;justify-content:space-between;padding:20px 24px}.logo,.sidebar-header{align-items:center;display:flex}.logo{flex-wrap:nowrap;gap:12px;min-width:0}.logo-img{background:var(--bg-tertiary);border-radius:var(--radius-sm);flex-shrink:0;height:32px;min-width:32px;object-fit:cover;width:32px}.logo-text{color:var(--text-primary);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-icon{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:var(--transition-colors);width:36px}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon-danger:hover{background:rgba(239,68,68,.1);color:var(--error-color)}.btn-new-chat{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:10px;justify-content:center;margin:0 20px 20px;padding:12px;transition:var(--transition)}.btn-new-chat:hover{border-color:var(--border-focus);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-clear-all{align-items:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:.85rem;gap:8px;justify-content:center;margin:10px 20px;padding:8px 12px;transition:var(--transition)}.btn-clear-all:hover{background:rgba(239,68,68,.1);border-color:var(--error-color);color:var(--error-color)}.btn-new-chat:active{transform:translateY(0)}.btn-new-chat-collapsed{align-items:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;height:44px;justify-content:center;margin:0 auto 20px;transition:var(--transition);width:44px}.btn-new-chat-collapsed:hover{border-color:var(--text-primary)}.chat-list{flex:1;overflow-x:hidden;overflow-y:auto;padding:0 12px;-webkit-overflow-scrolling:touch;min-height:0;overscroll-behavior:contain}.chat-list::-webkit-scrollbar{width:6px}.chat-list::-webkit-scrollbar-thumb{background:transparent;border-radius:6px}.chat-list:hover::-webkit-scrollbar-thumb{background:var(--border-color)}.chat-item{align-items:center;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;gap:12px;margin-bottom:4px;padding:12px 14px;position:relative;transition:var(--transition-colors)}.chat-item.active,.chat-item:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-item.active{border-color:var(--border-color);font-weight:500}.chat-title{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-delete{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;padding:4px;transition:var(--transition)}.chat-item:hover .btn-delete{opacity:1}.btn-delete:hover{background:rgba(239,68,68,.1);color:var(--error-color)}.sidebar-footer{border-top:1px solid var(--border-color);padding:20px}.btn-settings{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;padding:12px;transition:var(--transition-colors);width:100%}.btn-settings:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-settings-collapsed{bottom:24px;left:50%;position:absolute;transform:translateX(-50%)}.main-content{background:var(--bg-primary);height:100%}.chat-container,.main-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;position:relative;width:100%}.chat-container{contain:layout style;margin:0 auto;max-width:900px}.welcome{align-items:center;animation:fadeIn .6s ease-out;contain:layout style;display:flex;flex:1;flex-direction:column;justify-content:center;min-height:400px;padding:40px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome-logo{margin-bottom:16px}.welcome-logo-img{border-radius:20px;box-shadow:var(--shadow-lg);height:80px;width:80px}.welcome h1{color:var(--text-primary);font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:8px}.welcome-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:40px;max-width:600px}.welcome-features{display:grid;gap:20px;grid-template-columns:repeat(3,1fr);max-width:800px;width:100%}.feature{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:default;display:flex;flex-direction:column;gap:16px;justify-content:center;padding:32px 24px;transition:var(--transition)}.feature,.feature:hover{color:var(--text-primary)}.feature:hover{border-color:var(--text-primary);box-shadow:var(--shadow-md);transform:translateY(-4px)}.feature i{color:var(--text-primary);font-size:32px}.messages{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:40px 24px 20px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.message{animation:slideIn .3s cubic-bezier(.16,1,.3,1);display:flex;gap:24px;margin:0 auto;max-width:800px;padding:24px 0}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-avatar{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50%;color:var(--text-primary);display:flex;height:36px;justify-content:center;min-width:36px;overflow:hidden;width:36px}.message.assistant .message-avatar{background:var(--text-primary);border:none;color:var(--bg-primary)}.message-content{color:var(--text-primary);flex:1;font-size:1rem;line-height:1.75;min-width:0;overflow-wrap:break-word}.message-content p{margin-bottom:1.2em}.message-content p:last-child{margin-bottom:0}.message-content pre{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);margin:20px 0;overflow-x:auto;padding:20px}.message-content code{background:var(--bg-tertiary);border-radius:4px;font-family:var(--font-mono);font-size:.9em;padding:2px 6px}.message-content pre code{background:transparent;color:var(--text-primary);padding:0}.message-content table{border-collapse:collapse;font-size:.95em;margin:20px 0;width:100%}.message-content table thead{background:var(--bg-secondary)}.message-content table td,.message-content table th{border:1px solid var(--border-color);color:var(--text-primary);padding:12px 16px}.message-content table th{background:var(--bg-secondary);font-weight:600;text-align:left}.message-content table tbody tr{transition:background .15s ease}.message-content table tbody tr:hover{background:var(--bg-hover)}.message-content ol,.message-content ul{margin:1em 0;padding-left:2em}.message-content li{margin-bottom:.5em}.message-content li:last-child{margin-bottom:0}.message-content blockquote{background:var(--bg-secondary);border-left:3px solid var(--text-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);margin:1em 0;padding:12px 16px}.message-content hr{border:none;border-top:1px solid var(--border-color);margin:2em 0}.message-content a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--border-color);text-underline-offset:3px;transition:text-decoration-color .2s}.message-content a:hover{text-decoration-color:var(--text-primary)}.message-content img{border-radius:var(--radius-sm);height:auto;margin:1em 0;max-width:100%}.message-actions{display:flex;gap:4px;margin-top:8px;opacity:0;transition:opacity var(--duration-fast) ease}.message-actions-plugin-slot{display:contents}.message:hover .message-actions{opacity:1}.btn-copy{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;transition:var(--transition-colors);width:28px}.btn-copy:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-copy.copied{color:var(--success-color)}@media (hover:none){.message-actions{opacity:.6}}.typing-indicator{display:flex;gap:6px;padding:6px 0}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background:var(--text-secondary);border-radius:50%;height:8px;width:8px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.input-area{background:linear-gradient(to top,var(--bg-primary) 80%,transparent);padding:20px 24px 40px;z-index:5}.input-container-inner{margin:0 auto;max-width:800px;position:relative}.input-toolbar{bottom:16px;display:flex;gap:8px;left:16px;position:absolute;z-index:6}.btn-tool{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:var(--transition);width:32px}.btn-tool i{font-size:18px}.btn-tool.active,.btn-tool:hover{background:var(--bg-tertiary);color:var(--text-primary)}.rag-toggle{align-items:center;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;gap:6px;padding:4px 8px;position:relative;transition:var(--transition);z-index:10;-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}.rag-toggle:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.rag-toggle.active{color:var(--text-primary)}.rag-slider{background:var(--bg-tertiary);border-radius:7px;display:block;flex-shrink:0;height:14px;min-height:14px;min-width:28px;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);transition:background .2s ease;width:28px}.rag-toggle.active .rag-slider{background:var(--text-primary)}.rag-slider-handle{background:var(--text-muted);border-radius:50%;display:block;height:10px;left:2px;min-height:10px;min-width:10px;position:absolute;top:2px;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s cubic-bezier(.16,1,.3,1);width:10px}.rag-toggle.active .rag-slider-handle{background:var(--bg-primary);left:16px}.thinking-toggle{align-items:center;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;gap:6px;padding:4px 8px;position:relative;transition:var(--transition);z-index:10;-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}.thinking-toggle:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.thinking-toggle.active{color:var(--text-primary)}.thinking-slider{background:var(--bg-tertiary);border-radius:7px;display:block;flex-shrink:0;height:14px;min-height:14px;min-width:28px;position:relative;-webkit-transform:translateZ(0);transform:translateZ(0);transition:background .2s ease;width:28px}.thinking-toggle.active .thinking-slider{background:var(--text-primary)}.thinking-slider-handle{background:var(--text-muted);border-radius:50%;display:block;height:10px;left:2px;min-height:10px;min-width:10px;position:absolute;top:2px;-webkit-transform:translateZ(0);transform:translateZ(0);transition:all .2s cubic-bezier(.16,1,.3,1);width:10px}.thinking-toggle.active .thinking-slider-handle{background:var(--bg-primary);left:16px}.input-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 16px 56px;position:relative;transition:var(--transition)}.input-wrapper:focus-within{background:var(--bg-primary);border-color:var(--border-focus);box-shadow:var(--shadow-md)}.input-wrapper textarea{background:transparent;border:none;color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.6;max-height:300px;min-height:24px;outline:none;resize:none;width:100%}.btn-send{align-items:center;background:var(--text-primary);border:none;border-radius:var(--radius-sm);bottom:12px;color:var(--bg-primary);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:12px;transition:var(--transition);width:40px}.btn-send:hover:not(:disabled){transform:scale(1.05)}.btn-send:disabled{background:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed;opacity:.3}.btn-stop{align-items:center;background:var(--error-color);border:none;border-radius:var(--radius-sm);bottom:12px;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:12px;transition:var(--transition);width:40px}.btn-stop:hover{background:#dc2626;transform:scale(1.05)}.uploaded-image-preview{animation:fadeIn .2s;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);bottom:60px;left:0;padding:8px;position:absolute}.uploaded-image-preview img{border-radius:4px;height:80px}.url-input-popup{animation:fadeIn .15s ease-out;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);bottom:44px;box-shadow:var(--shadow-lg);left:0;min-width:320px;padding:16px;position:absolute;z-index:100}.url-input-header{color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:12px}.url-input-popup input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;outline:none;padding:10px 12px;transition:border-color .2s;width:100%}.url-input-popup input:focus{border-color:var(--border-focus)}.url-input-popup input::placeholder{color:var(--text-muted)}.url-input-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.url-input-actions .btn-cancel{background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.9rem;padding:8px 16px;transition:var(--transition)}.url-input-actions .btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.url-input-actions .btn-confirm{background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--bg-primary);cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:var(--transition)}.url-input-actions .btn-confirm:hover:not(:disabled){background:var(--accent-hover)}.url-input-actions .btn-confirm:disabled{cursor:not-allowed;opacity:.5}.parsed-url-preview{align-items:center;animation:fadeIn .2s;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);bottom:60px;display:flex;gap:8px;left:0;max-width:300px;padding:8px 12px;position:absolute}.parsed-url-preview i{color:var(--text-secondary);flex-shrink:0;font-size:16px}.parsed-url-title{color:var(--text-primary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-url{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;line-height:1;transition:var(--transition);width:20px}.btn-remove-url:hover{background:#dc2626}.attached-doc-preview{align-items:center;animation:fadeIn .2s;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);bottom:60px;display:flex;gap:8px;left:100px;max-width:250px;padding:8px 12px;position:absolute}.attached-doc-preview i{color:var(--text-secondary);flex-shrink:0;font-size:16px}.attached-doc-name{color:var(--text-primary);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-doc{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:20px;justify-content:center;line-height:1;transition:var(--transition);width:20px}.btn-remove-doc:hover{background:#dc2626}.spin{animation:spin 1s linear infinite}.modal-overlay{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.4);bottom:0;display:flex;justify-content:center;left:0;padding:40px;position:fixed;right:0;top:0;z-index:100;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.settings-modal{animation:modalScale .25s cubic-bezier(.16,1,.3,1);background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;height:700px;max-height:90vh;overflow:hidden;width:900px}@keyframes modalScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.settings-nav{background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;min-width:240px;padding:24px 12px;width:240px}.settings-nav::-webkit-scrollbar{display:none}.settings-nav{-ms-overflow-style:none;scrollbar-width:none}.settings-title{color:var(--text-primary);font-size:1.2rem;font-weight:700;padding:0 12px 24px}.nav-item{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;margin-bottom:4px;padding:12px 16px;transition:var(--transition-colors)}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.settings-footer{color:var(--text-muted);font-size:.75rem;margin-top:auto;padding:12px;text-align:center}.settings-content{display:flex;flex:1;flex-direction:column;overflow:hidden}.settings-scroll-area{flex:1;overflow-x:hidden;overflow-y:auto;padding:40px 48px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.section-header{margin-bottom:32px}.section-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:8px}.section-desc{color:var(--text-secondary);font-size:.95rem}.form-group{margin-bottom:32px}.form-label{color:var(--text-primary);display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-sublabel{color:var(--text-secondary);display:block;font-size:.85rem;margin-bottom:12px}.avatar-img{height:100%;object-fit:cover;width:100%}.file-input-hidden{display:none}.form-group-lg{margin-bottom:40px}.status-success{color:var(--success-color)}.status-error{color:var(--error-color)}.btn-full-width{width:100%}.model-verify-msg{font-size:.85rem;margin-top:10px}.checkbox-group{display:flex;gap:20px;margin-top:8px}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.95rem;gap:8px}.checkbox-label input[type=checkbox]{height:16px;width:16px}.form-sublabel-inline{margin-top:8px}.form-sublabel-block{display:block;margin-bottom:12px}.btn-tool-upload{position:relative;z-index:10}.btn-delete-overlay{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:1;position:absolute;right:-10px;top:-10px;transition:var(--transition);width:24px}.btn-delete-overlay:hover{background:#dc2626}.btn-delete-inline{border:1px solid var(--border-color);flex-shrink:0;height:32px;opacity:1;width:32px}.upload-row{align-items:center;display:flex;flex-wrap:nowrap;gap:12px}.logo-preview-img{border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-shrink:0;height:48px;min-width:48px;object-fit:cover;width:48px}.btn-compact{flex-shrink:0;margin:0;white-space:nowrap}.input-flex{flex:1;min-width:0}.avatars-row{flex-wrap:wrap;gap:24px}.avatar-group,.avatars-row{align-items:center;display:flex}.avatar-group{gap:12px}.avatar-preview-user{background:var(--bg-tertiary)}.avatar-preview-assistant,.avatar-preview-user{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.avatar-preview-assistant{background:var(--text-primary);color:var(--bg-primary)}.avatar-preview-assistant i{font-size:20px}.settings-footer-link{color:inherit;text-decoration:none}.settings-footer-link:hover{text-decoration:underline}.icon-lg{font-size:24px}.icon-xl{font-size:48px}.plugin-loading-text{color:var(--text-muted);padding:20px;text-align:center}.input-minimal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1rem;padding:10px 12px;transition:border-color .2s;width:100%}.input-minimal:focus{border-color:var(--border-focus);outline:none}.input-minimal::placeholder{color:var(--text-muted)}.toggle-row{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.toggle-info{flex:1;padding-right:20px}.toggle-switch{appearance:none;-webkit-appearance:none;background:var(--bg-tertiary);border:none;border-radius:99px;cursor:pointer;flex-shrink:0;height:20px;padding:0;position:relative;transition:background .3s;width:36px}.toggle-switch.checked{background:var(--text-primary)}.toggle-handle{background:var(--bg-primary);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1);height:16px;left:2px;position:absolute;top:2px;transition:transform .3s cubic-bezier(.16,1,.3,1);width:16px}.toggle-switch.checked .toggle-handle{transform:translateX(16px)}input[type=range]{-webkit-appearance:none;background:var(--bg-tertiary);border-radius:2px;height:4px;outline:none;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bg-primary);border:2px solid var(--text-primary);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;height:20px;transition:transform .1s;width:20px}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.collapsible-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.collapsible-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:16px 20px;transition:var(--transition);user-select:none}.collapsible-header:hover{background:var(--bg-hover)}.collapsible-title{align-items:center;color:var(--text-primary);display:flex;font-size:.95rem;font-weight:600;gap:10px}.collapsible-chevron,.collapsible-title i{color:var(--text-secondary)}.collapsible-chevron{transition:transform .2s ease}.collapsible-chevron.expanded{transform:rotate(180deg)}.collapsible-content{border-top:1px solid var(--border-color);padding:0 20px 20px}.collapsible-content .form-sublabel{margin-bottom:12px;margin-top:16px}.system-prompt-textarea{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.95rem;line-height:1.6;min-height:100px;padding:12px 14px;resize:vertical;transition:border-color .2s;width:100%}.system-prompt-textarea:focus{border-color:var(--border-focus);outline:none}.system-prompt-textarea::placeholder{color:var(--text-muted)}.model-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:20px;padding:24px;transition:var(--transition)}.model-card:hover{border-color:var(--text-muted)}.model-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.model-badge{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:4px 10px}.model-badge.active{background:var(--text-primary);border-color:transparent;color:var(--bg-primary)}.modal-actions-bar{background:var(--bg-modal);border-top:1px solid var(--border-color);display:flex;gap:16px;justify-content:flex-end;padding:20px 48px}.btn-secondary{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-weight:500;padding:10px 24px;transition:var(--transition-colors)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-primary{background:var(--text-primary);border:none;border-radius:var(--radius-sm);color:var(--bg-primary);cursor:pointer;font-weight:600;padding:10px 24px;transition:var(--transition-colors),var(--transition-transform)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.theme-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}.theme-option{border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:20px;text-align:center;transition:var(--transition)}.theme-option.active{background:var(--bg-secondary);border-color:var(--text-primary)}.upload-area{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;padding:40px;text-align:center;transition:var(--transition)}.upload-area:hover{background:var(--bg-tertiary);border-color:var(--text-primary);color:var(--text-primary)}.toast{animation:toastPop .3s cubic-bezier(.16,1,.3,1);background:var(--text-primary);border-radius:var(--radius-md);bottom:32px;box-shadow:var(--shadow-lg);color:var(--bg-primary);font-size:.9rem;font-weight:500;left:50%;padding:12px 24px;position:fixed;transform:translateX(-50%);z-index:200}.toast.error{background:var(--error-color);color:#fff}@keyframes toastPop{0%{opacity:0;transform:translate(-50%,20px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}@media (max-width:768px){body{min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh}.sidebar-overlay{background:rgba(0,0,0,.5);bottom:0;display:block;left:0;opacity:1;position:fixed;right:0;top:0;transition:opacity .3s ease;z-index:99}.sidebar-overlay[style*="display: none"]{opacity:0}.sidebar{bottom:0;box-shadow:5px 0 15px rgba(0,0,0,.2);height:100%;height:-webkit-fill-available;height:100dvh;left:0;padding-top:env(safe-area-inset-top);position:fixed;top:0;transform:translateX(0);z-index:100}.sidebar.collapsed{min-width:280px;transform:translateX(-100%);width:280px}.main-content{height:100%;height:-webkit-fill-available;height:100dvh;min-width:0;width:100%}.chat-container{contain:layout style;height:100%;max-width:100%;padding:0}.mobile-header{align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex!important;flex-shrink:0;padding:max(12px,env(safe-area-inset-top)) 16px 12px;position:sticky;top:0;z-index:10}.mobile-title{font-size:1.1rem;font-weight:700;margin-left:12px}.welcome{min-height:300px;padding:20px 16px}.welcome-logo{margin-bottom:12px}.welcome-logo-img{border-radius:16px;height:64px;width:64px}.welcome h1{font-size:1.6rem;margin-bottom:6px}.welcome-subtitle{font-size:.95rem;margin-bottom:24px}.welcome-features{gap:10px;grid-template-columns:1fr;max-width:100%}.feature{flex-direction:row;justify-content:flex-start;padding:16px 14px}.feature i{font-size:24px}.messages{padding:16px 12px;-webkit-overflow-scrolling:touch;contain:layout style;min-height:calc(100vh - 180px);min-height:calc(100dvh - 180px)}.message{gap:12px;max-width:100%;padding:16px 0}.message-avatar{height:32px;min-width:32px;width:32px}.message-content{font-size:.95rem;overflow-wrap:break-word;word-break:break-word}.message-content pre{font-size:.85rem;margin:12px 0;max-width:calc(100vw - 48px);padding:12px}.message-content table{display:block;font-size:.85rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.message-content table tbody td,.message-content table thead th{min-width:80px;padding:10px 12px;white-space:normal}.input-area{padding:12px 12px max(20px,env(safe-area-inset-bottom))}.input-container-inner{max-width:100%}.input-wrapper{border-radius:var(--radius-md);padding:12px 12px 48px}.input-wrapper textarea{font-size:16px!important}.input-toolbar{bottom:12px;left:12px;overflow-x:auto;right:52px;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap}.input-toolbar::-webkit-scrollbar{display:none}.btn-tool{min-height:44px;min-width:44px}.btn-send,.btn-stop{bottom:10px;font-size:18px;height:44px;right:10px;width:44px}.uploaded-image-preview{bottom:52px}.url-input-popup{left:-12px;min-width:calc(100vw - 48px);right:-12px}.attached-doc-preview,.parsed-url-preview{bottom:52px;max-width:calc(100vw - 100px)}.attached-doc-preview{left:0}.modal-overlay{padding:0}.settings-modal{border-radius:0;flex-direction:column;height:100%;max-height:100%;width:100%}.settings-nav{flex-direction:row;min-width:100%;overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border-color);border-right:none;flex-shrink:0;min-height:auto;padding:max(8px,env(safe-area-inset-top)) 8px 8px;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}.settings-nav::-webkit-scrollbar{display:none}.settings-footer,.settings-title{display:none}.nav-item{flex-shrink:0;font-size:.9rem;padding:8px 12px;white-space:nowrap}.settings-content{flex:1;min-height:0}.settings-scroll-area{padding:20px 16px max(100px,env(safe-area-inset-bottom) + 80px);-webkit-overflow-scrolling:touch}.section-title{font-size:1.25rem}.modal-actions-bar{padding:16px 16px max(16px,env(safe-area-inset-bottom))}.model-card{padding:16px}.theme-grid{gap:12px}.theme-option{padding:16px}.input-minimal,.input-wrapper textarea,input[type=number],input[type=password],input[type=text],select{font-size:16px!important}.btn-new-chat-collapsed{display:none}.toast{bottom:max(24px,env(safe-area-inset-bottom) + 16px);left:16px;max-width:calc(100% - 32px);right:16px;text-align:center;transform:none}}.mobile-header{display:none}.input-area{padding-bottom:max(40px,env(safe-area-inset-bottom) + 20px)}.sidebar-footer{padding-bottom:max(20px,env(safe-area-inset-bottom) + 20px)}@media (min-width:769px) and (max-width:1024px){.input-container-inner{max-width:100%;padding:0 12px}.input-toolbar{gap:4px}.rag-toggle,.thinking-toggle{min-height:44px;padding:8px 6px;-webkit-tap-highlight-color:rgba(0,0,0,.1)}.rag-slider,.thinking-slider{display:block!important;height:14px;min-height:14px;min-width:28px;-webkit-transform:translateZ(0);width:28px}.rag-slider-handle,.thinking-slider-handle{display:block!important;height:10px;min-height:10px;min-width:10px;-webkit-transform:translateZ(0);width:10px}.btn-tool{min-height:44px;min-width:44px}}@media (max-width:375px){.welcome-logo-img{height:56px;width:56px}.welcome h1{font-size:1.4rem}.welcome-subtitle{font-size:.85rem;margin-bottom:20px}.feature{gap:10px;padding:14px 12px}.message{gap:10px}.message-avatar{height:28px;min-width:28px;width:28px}.input-wrapper{padding:10px 10px 44px}.settings-scroll-area{padding:16px 12px}}@media (max-height:500px) and (max-width:900px){.welcome{padding:16px}.welcome-logo-img{height:48px;width:48px}.welcome h1{font-size:1.4rem;margin-bottom:8px}.welcome-subtitle{margin-bottom:20px}.welcome-features{grid-template-columns:repeat(3,1fr)}.feature{flex-direction:column;gap:8px;padding:12px 8px}}.thinking-block{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:16px;overflow:hidden}.thinking-header{align-items:center;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:10px 14px;transition:var(--transition);user-select:none}.thinking-header:hover{background:var(--border-color)}.thinking-header i{color:var(--text-muted);flex-shrink:0}.thinking-header .chevron{margin-left:auto;transition:transform .2s ease}.thinking-header .chevron.expanded{transform:rotate(180deg)}.thinking-content{background:var(--bg-primary);border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;line-height:1.7;max-height:400px;overflow-y:auto;padding:14px}.thinking-content p{margin-bottom:.8em}.thinking-content p:last-child{margin-bottom:0}.rag-references{border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.rag-references-header{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.85rem;gap:8px;padding:6px 10px;transition:var(--transition);user-select:none}.rag-references-header:hover{background:var(--border-color)}.rag-references-header i{flex-shrink:0}.rag-references-header .chevron{margin-left:auto;transition:transform .2s ease}.rag-references-header .chevron.expanded{transform:rotate(180deg)}.rag-references-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}.rag-reference-item{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:.85rem;padding:12px}.rag-reference-item .ref-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.rag-reference-item .ref-badge{background:var(--text-primary);border-radius:10px;color:var(--bg-primary);font-size:.7rem;font-weight:600;padding:2px 8px}.rag-reference-item .ref-score{color:var(--text-muted);font-size:.75rem}.rag-reference-item .ref-content{color:var(--text-secondary);line-height:1.5;word-break:break-word}.btn-plugins{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;padding:12px;transition:var(--transition);width:100%}.btn-plugins:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-plugins-collapsed{bottom:56px;left:50%;position:absolute;transform:translateX(-50%)}.plugin-modal.settings-modal{width:1200px}.plugin-modal .settings-content{min-height:400px}.plugin-loading{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px}.plugin-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--text-primary);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.plugin-error{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;padding:60px 20px;text-align:center}.plugin-error i{opacity:.5}.plugin-error .btn-secondary{margin-top:8px}.plugin-market-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:32px}.plugin-market-header .section-header{margin-bottom:0}.plugin-market-search-wrap{flex-shrink:0;position:relative;width:200px}.plugin-market-search-icon{color:var(--text-muted);font-size:1rem;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.plugin-market-search{padding:10px 12px 10px 36px;width:100%}.plugin-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.plugin-list{display:flex;flex-direction:column;gap:12px}.plugin-list .plugin-card{width:100%}.plugin-list .plugin-desc{display:block;max-width:400px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-card{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:row;gap:12px;padding:12px 16px;transition:var(--transition)}.plugin-card:hover{border-color:var(--text-muted)}.plugin-card-market{align-items:center;flex-direction:row;padding:10px 14px}.plugin-card-market .plugin-icon-market{flex-shrink:0;height:36px;width:36px}.plugin-card-market-body{align-items:baseline;display:flex;flex:1;gap:8px;min-width:0}.plugin-name-market{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-actions-market{flex-shrink:0}.plugin-card-market .plugin-actions-market .btn-icon-sm{font-size:.9rem;height:32px;width:32px}.plugin-info-wrap{position:relative}.plugin-info-popover{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:8px;max-width:320px;min-width:240px;padding:12px 14px;position:absolute;right:0;top:100%;z-index:50}.plugin-info-popover-title{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:4px}.plugin-info-popover-version{color:var(--text-muted);font-size:.75rem;margin-bottom:8px}.plugin-info-popover-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.45}@media (max-width:640px){.plugin-market-header{flex-direction:column;gap:16px}.plugin-market-search-wrap{width:100%}.plugin-grid{grid-template-columns:1fr}}.plugin-icon{background:var(--bg-hover);border-radius:8px;flex-shrink:0;height:36px;object-fit:cover;width:36px}.plugin-info{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.plugin-name{color:var(--text-primary);font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-version{color:var(--text-muted);font-size:.75rem}.plugin-desc{color:var(--text-secondary);font-size:.8rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.plugin-card.installed .plugin-actions{justify-content:flex-end}.plugin-card .plugin-actions .btn-icon{font-size:1rem;height:36px;width:36px}.btn-sm{font-size:.85rem;padding:6px 16px}.plugin-empty{color:var(--text-muted);grid-column:1/-1;padding:40px 20px;text-align:center}.plugin-upload{align-items:center;border:2px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px;transition:var(--transition)}.plugin-upload:hover{background:var(--bg-hover);border-color:var(--text-muted)}.plugin-upload i{opacity:.5}.plugin-upload-progress{align-items:center;color:var(--text-secondary);display:flex;gap:12px;justify-content:center;padding:20px}.plugin-upload-progress .spinner{animation:spin .8s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--text-primary);height:20px;width:20px}.plugin-dev-guide{margin-top:24px;text-align:center}.plugin-dev-guide a{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.85rem;gap:6px;text-decoration:none;transition:var(--transition)}.plugin-dev-guide a:hover{color:var(--text-secondary)}.plugin-settings-modal{background:var(--bg-modal);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:80vh;max-width:600px;width:90%}.plugin-settings-modal.custom-settings-modal{max-width:960px;width:95%}.plugin-settings-header{border-bottom:1px solid var(--border-color);padding:20px 24px}.plugin-settings-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:600}.plugin-settings-content{flex:1;overflow-y:auto;padding:24px}.plugin-settings-content.custom-settings-content{min-height:0;overflow:hidden;padding:0}.plugin-custom-settings{display:flex;flex:1;flex-direction:column;min-height:0;overflow-y:auto}.plugin-settings-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:12px;padding:16px 24px}.btn-danger{background:var(--error-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:var(--transition)}.btn-danger:hover{background:#dc2626}.plugin-no-settings{color:var(--text-muted);padding:40px 20px;text-align:center}.plugin-proxy-settings{border-top:1px solid var(--border-color);margin-top:24px;padding-top:24px}.plugin-proxy-settings h4{color:var(--text-primary);font-size:.95rem;font-weight:600;margin-bottom:16px}.plugin-toolbar-area{align-items:center;display:flex;gap:4px}.plugin-toolbar-divider{background:var(--border-color);height:20px;margin:0 4px;width:1px}.btn-tool.plugin-btn.active{background:var(--text-primary);color:var(--bg-primary)}.btn-tool.plugin-btn.active:hover{background:var(--accent-hover);color:var(--bg-primary)}.btn-tool.plugin-btn.loading{opacity:.7;pointer-events:none}.plugin-more-dropdown{position:relative}.plugin-more-menu{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);bottom:100%;box-shadow:var(--shadow-lg);margin-bottom:8px;max-height:280px;min-width:180px;overflow-y:auto;position:absolute;right:0;z-index:100}.plugin-more-item{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:10px;padding:12px 16px;transition:background .15s}.plugin-more-item:first-child{border-radius:var(--radius-md) var(--radius-md) 0 0}.plugin-more-item:last-child{border-radius:0 0 var(--radius-md) var(--radius-md)}.plugin-more-item:hover{background:var(--bg-hover);color:var(--text-primary)}.plugin-more-item.active{background:var(--bg-secondary);color:var(--text-primary)}.plugin-more-item.loading{opacity:.7;pointer-events:none}.plugin-more-item i{flex-shrink:0;font-size:16px;text-align:center;width:20px}.plugin-more-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-fullscreen-modal{z-index:1000}.plugin-fullscreen-content{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:900px;overflow:hidden;width:100%}@media (max-width:768px){.plugin-toolbar-area{gap:2px}.plugin-toolbar-divider{margin:0 2px}.plugin-fullscreen-content{border:none;border-radius:0;max-height:100%;max-width:100%}.plugin-more-menu{left:50%;min-width:200px;right:auto;transform:translateX(-50%)}}@media (min-width:769px) and (max-width:1024px){.btn-tool.plugin-btn{min-height:44px;min-width:44px}}@media (hover:none){.feature:hover{border-color:var(--border-color);box-shadow:none;transform:none}.btn-new-chat:hover{box-shadow:var(--shadow-sm);transform:none}.btn-primary:hover{opacity:1;transform:none}.btn-send:hover:not(:disabled),.btn-stop:hover{transform:none}.chat-item:hover .btn-delete{opacity:1}.model-card:hover{border-color:var(--border-color)}}
/*# sourceMappingURL=data:application/json;base64,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akIsUUFBUyxDQUNULGlCQUFrQixDQUVsQiwwQkFHSixDQUVBLDhCQUNJLG1EQUNKLENBRUEsNkJBQ0ksbURBQ0osQ0FFQSx3QkFDSSwwQkFBMkIsQ0FDM0IseUJBQ0osQ0FFQSx5QkFFSSw4QkFBK0IsQ0FEL0IseUJBRUosQ0FFQSwwQkFDSSxVQUFZLENBQ1osbUJBQ0osQ0FFQSxvQkFJSSxhQUFjLENBSGQsY0FBZSxDQUVmLGlCQUFrQixDQURsQixVQUdKLENBRUEsdUJBRUksZUFBZ0IsQ0FDaEIsc0JBQXVCLENBRnZCLGtCQUdKLENBR0EseUJBQ0ksWUFDSixDQUVBLDJCQUlJLDRCQUE2QixDQUk3QixvQ0FBcUMsQ0FIckMsOEJBQStCLENBRS9CLDJCQUE0QixDQUo1QixlQUFnQixDQURoQixlQUFnQixDQUloQixlQUFnQixDQUxoQixVQVFKLENBR0EseUJBQ0kscUJBQ0ksT0FDSixDQUVBLHdCQUNJLFlBQ0osQ0FFQSwyQkFJSSxXQUFZLENBRFosZUFBZ0IsQ0FEaEIsZUFBZ0IsQ0FEaEIsY0FJSixDQUVBLGtCQUVJLFFBQVMsQ0FFVCxlQUFnQixDQUhoQixVQUFXLENBRVgsMEJBRUosQ0FDSixDQUdBLGdEQUNJLHFCQUVJLGVBQWdCLENBRGhCLGNBRUosQ0FDSixDQUdBLG9CQUNJLGVBRUksZ0NBQWlDLENBQ2pDLGVBQWdCLENBRmhCLGNBR0osQ0FFQSxvQkFFSSwyQkFBNEIsQ0FENUIsY0FFSixDQUVBLG1CQUNJLFNBQVUsQ0FDVixjQUNKLENBTUEsK0NBQ0ksY0FDSixDQUVBLDZCQUNJLFNBQ0osQ0FFQSxrQkFDSSxnQ0FDSixDQUNKIiwiZmlsZSI6InN0eWxlcy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogR3Jvay1zdHlsZSBNaW5pbWFsaXN0IERlc2lnbiBTeXN0ZW0gKi9cbjpyb290IHtcbiAgICAvKiBIU0wgQ29sb3IgVG9rZW5zIChzaGFkY24vdWkgY29tcGF0aWJsZSkgKi9cbiAgICAtLWJhY2tncm91bmQ6IDAgMCUgMTAwJTtcbiAgICAtLWZvcmVncm91bmQ6IDAgMCUgMCU7XG4gICAgLS1jYXJkOiAwIDAlIDk3LjYlO1xuICAgIC0tY2FyZC1mb3JlZ3JvdW5kOiAwIDAlIDAlO1xuICAgIC0tcG9wb3ZlcjogMCAwJSAxMDAlO1xuICAgIC0tcG9wb3Zlci1mb3JlZ3JvdW5kOiAwIDAlIDAlO1xuICAgIC0tbXV0ZWQ6IDAgMCUgOTQuMSU7XG4gICAgLS1tdXRlZC1mb3JlZ3JvdW5kOiAwIDAlIDQwJTtcbiAgICAtLWFjY2VudDogMCAwJSA5NS4zJTtcbiAgICAtLWFjY2VudC1mb3JlZ3JvdW5kOiAwIDAlIDAlO1xuICAgIC0tZGVzdHJ1Y3RpdmU6IDAgODQuMiUgNjAuMiU7XG4gICAgLS1kZXN0cnVjdGl2ZS1mb3JlZ3JvdW5kOiAwIDAlIDEwMCU7XG4gICAgLS1zdWNjZXNzOiAxNDIuMSA3Ni4yJSAzNi4zJTtcbiAgICAtLXN1Y2Nlc3MtZm9yZWdyb3VuZDogMCAwJSAxMDAlO1xuICAgIC0tYm9yZGVyOiAwIDAlIDg5LjglO1xuICAgIC0taW5wdXQ6IDAgMCUgODkuOCU7XG4gICAgLS1yaW5nOiAwIDAlIDAlO1xuICAgIFxuICAgIC8qIExpZ2h0IFRoZW1lIC0gQ2xlYW4gV2hpdGUgKGFsaWFzZWQgZnJvbSBIU0wgdG9rZW5zKSAqL1xuICAgIC0tYmctcHJpbWFyeTogaHNsKHZhcigtLWJhY2tncm91bmQpKTtcbiAgICAtLWJnLXNlY29uZGFyeTogI2Y5ZjlmOTtcbiAgICAtLWJnLXRlcnRpYXJ5OiBoc2wodmFyKC0tbXV0ZWQpKTtcbiAgICAtLWJnLWhvdmVyOiBoc2wodmFyKC0tYWNjZW50KSk7XG4gICAgLS1iZy1pbnB1dDogaHNsKHZhcigtLWJhY2tncm91bmQpKTtcbiAgICAtLWJnLW1vZGFsOiBoc2wodmFyKC0tYmFja2dyb3VuZCkpO1xuICAgIFxuICAgIC0tdGV4dC1wcmltYXJ5OiBoc2wodmFyKC0tZm9yZWdyb3VuZCkpO1xuICAgIC0tdGV4dC1zZWNvbmRhcnk6IGhzbCh2YXIoLS1tdXRlZC1mb3JlZ3JvdW5kKSk7XG4gICAgLS10ZXh0LW11dGVkOiAjNmI2YjZiO1xuICAgIFxuICAgIC0tYm9yZGVyLWNvbG9yOiBoc2wodmFyKC0tYm9yZGVyKSk7XG4gICAgLS1ib3JkZXItZm9jdXM6IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSk7XG4gICAgXG4gICAgLS1hY2NlbnQtY29sb3I6IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSk7XG4gICAgLS1hY2NlbnQtaG92ZXI6ICMzMzMzMzM7XG4gICAgLS1vbi1hY2NlbnQ6IGhzbCh2YXIoLS1iYWNrZ3JvdW5kKSk7XG4gICAgXG4gICAgLS1zdWNjZXNzLWNvbG9yOiBoc2wodmFyKC0tc3VjY2VzcykpO1xuICAgIC0tZXJyb3ItY29sb3I6IGhzbCh2YXIoLS1kZXN0cnVjdGl2ZSkpO1xuICAgIC0tZXJyb3ItZm9yZWdyb3VuZDogaHNsKHZhcigtLWRlc3RydWN0aXZlLWZvcmVncm91bmQpKTtcbiAgICAtLXN1Y2Nlc3MtZm9yZWdyb3VuZDogaHNsKHZhcigtLXN1Y2Nlc3MtZm9yZWdyb3VuZCkpO1xuICAgIFxuICAgIC0tc2hhZG93LXNtOiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbiAgICAtLXNoYWRvdy1tZDogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAtLXNoYWRvdy1sZzogMCAyMHB4IDQwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIFxuICAgIC0tcmFkaXVzLXNtOiA2cHg7XG4gICAgLS1yYWRpdXMtbWQ6IDEycHg7XG4gICAgLS1yYWRpdXMtbGc6IDE2cHg7XG4gICAgLS1yYWRpdXMtZnVsbDogOTk5OXB4O1xuICAgIFxuICAgIC8qIFNwYWNpbmcgVG9rZW5zICovXG4gICAgLS1zcGFjaW5nLTE6IDRweDtcbiAgICAtLXNwYWNpbmctMjogOHB4O1xuICAgIC0tc3BhY2luZy0zOiAxMnB4O1xuICAgIC0tc3BhY2luZy00OiAxNnB4O1xuICAgIC0tc3BhY2luZy01OiAyMHB4O1xuICAgIC0tc3BhY2luZy02OiAyNHB4O1xuICAgIC0tc3BhY2luZy04OiAzMnB4O1xuICAgIC0tc3BhY2luZy0xMDogNDBweDtcbiAgICAtLXNwYWNpbmctMTI6IDQ4cHg7XG4gICAgXG4gICAgLyogVHlwb2dyYXBoeSBUb2tlbnMgKi9cbiAgICAtLXRleHQteHM6IDAuNzVyZW07XG4gICAgLS10ZXh0LXNtOiAwLjg3NXJlbTtcbiAgICAtLXRleHQtYmFzZTogMXJlbTtcbiAgICAtLXRleHQtbGc6IDEuMTI1cmVtO1xuICAgIC0tdGV4dC14bDogMS4yNXJlbTtcbiAgICAtLXRleHQtMnhsOiAxLjVyZW07XG4gICAgLS10ZXh0LTN4bDogMS44NzVyZW07XG4gICAgXG4gICAgLyogU3lzdGVtIGZvbnQgc3RhY2sgLSBubyBleHRlcm5hbCByZXF1ZXN0cyAqL1xuICAgIC0tZm9udC1tYWluOiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCAnTm90byBTYW5zJywgc2Fucy1zZXJpZiwgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJztcbiAgICAtLWZvbnQtbW9ubzogdWktbW9ub3NwYWNlLCAnU0YgTW9ubycsICdDYXNjYWRpYSBDb2RlJywgJ1JvYm90byBNb25vJywgTWVubG8sIE1vbmFjbywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICAgIFxuICAgIC8qIEFuaW1hdGlvbiBUb2tlbnMgKi9cbiAgICAtLWVhc2U6IGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIC0tZHVyYXRpb24tZmFzdDogMTUwbXM7XG4gICAgLS1kdXJhdGlvbi1ub3JtYWw6IDIwMG1zO1xuICAgIC0tZHVyYXRpb24tc2xvdzogMzAwbXM7XG4gICAgLS10cmFuc2l0aW9uLWNvbG9yczogY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCkgdmFyKC0tZWFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS1kdXJhdGlvbi1mYXN0KSB2YXIoLS1lYXNlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgdmFyKC0tZHVyYXRpb24tZmFzdCkgdmFyKC0tZWFzZSk7XG4gICAgLS10cmFuc2l0aW9uLXRyYW5zZm9ybTogdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLW5vcm1hbCkgdmFyKC0tZWFzZSk7XG4gICAgLS10cmFuc2l0aW9uOiBhbGwgdmFyKC0tZHVyYXRpb24tbm9ybWFsKSB2YXIoLS1lYXNlKTtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICAvKiBEYXJrIFRoZW1lIEhTTCBUb2tlbnMgKi9cbiAgICAtLWJhY2tncm91bmQ6IDAgMCUgMCU7XG4gICAgLS1mb3JlZ3JvdW5kOiAwIDAlIDEwMCU7XG4gICAgLS1jYXJkOiAwIDAlIDMuOSU7XG4gICAgLS1jYXJkLWZvcmVncm91bmQ6IDAgMCUgMTAwJTtcbiAgICAtLXBvcG92ZXI6IDAgMCUgMy45JTtcbiAgICAtLXBvcG92ZXItZm9yZWdyb3VuZDogMCAwJSAxMDAlO1xuICAgIC0tbXV0ZWQ6IDAgMCUgOC42JTtcbiAgICAtLW11dGVkLWZvcmVncm91bmQ6IDAgMCUgNjIuNyU7XG4gICAgLS1hY2NlbnQ6IDAgMCUgMTAuMiU7XG4gICAgLS1hY2NlbnQtZm9yZWdyb3VuZDogMCAwJSAxMDAlO1xuICAgIC0tYm9yZGVyOiAwIDAlIDE1LjclO1xuICAgIC0taW5wdXQ6IDAgMCUgMTUuNyU7XG4gICAgLS1yaW5nOiAwIDAlIDEwMCU7XG4gICAgXG4gICAgLyogRGFyayBUaGVtZSAtIFB1cmUgQmxhY2sgKEdyb2sgU3R5bGUpICovXG4gICAgLS1iZy1wcmltYXJ5OiBoc2wodmFyKC0tYmFja2dyb3VuZCkpO1xuICAgIC0tYmctc2Vjb25kYXJ5OiAjMGEwYTBhO1xuICAgIC0tYmctdGVydGlhcnk6IGhzbCh2YXIoLS1tdXRlZCkpO1xuICAgIC0tYmctaG92ZXI6IGhzbCh2YXIoLS1hY2NlbnQpKTtcbiAgICAtLWJnLWlucHV0OiAjMGEwYTBhO1xuICAgIC0tYmctbW9kYWw6ICMwYTBhMGE7XG4gICAgXG4gICAgLS10ZXh0LXByaW1hcnk6IGhzbCh2YXIoLS1mb3JlZ3JvdW5kKSk7XG4gICAgLS10ZXh0LXNlY29uZGFyeTogaHNsKHZhcigtLW11dGVkLWZvcmVncm91bmQpKTtcbiAgICAtLXRleHQtbXV0ZWQ6ICM3MzczNzM7XG4gICAgXG4gICAgLS1ib3JkZXItY29sb3I6IGhzbCh2YXIoLS1ib3JkZXIpKTtcbiAgICAtLWJvcmRlci1mb2N1czogaHNsKHZhcigtLWZvcmVncm91bmQpKTtcbiAgICBcbiAgICAtLWFjY2VudC1jb2xvcjogaHNsKHZhcigtLWZvcmVncm91bmQpKTtcbiAgICAtLWFjY2VudC1ob3ZlcjogI2UwZTBlMDtcbiAgICAtLW9uLWFjY2VudDogaHNsKHZhcigtLWJhY2tncm91bmQpKTtcbiAgICBcbiAgICAtLXNoYWRvdy1zbTogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAtLXNoYWRvdy1tZDogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIC0tc2hhZG93LWxnOiAwIDIwcHggNDBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbioge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuaHRtbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwZHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tYWluKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC8qIGlPUyBzYWZlIGFyZWEgc3VwcG9ydCAqL1xuICAgIHBhZGRpbmctdG9wOiBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCk7XG4gICAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xufVxuXG5beC1jbG9ha10geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogRm9jdXMgdmlzaWJsZSBzdHlsZXMgZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gKi9cbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWZvY3VzKTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG5idXR0b246Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSxcbmlucHV0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG50ZXh0YXJlYTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpLFxuc2VsZWN0OmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSksXG5bcm9sZT1cInN3aXRjaFwiXTpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBSZXNwZWN0IHJlZHVjZWQgbW90aW9uIHByZWZlcmVuY2UgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFNpZGViYXIgKi9cbi5zaWRlYmFyIHtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgbWluLXdpZHRoOiAyODBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpLCB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaWRlYmFyLmNvbGxhcHNlZCB7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgbWluLXdpZHRoOiA3MnB4O1xufVxuXG4vKiBTaWRlYmFyIE92ZXJsYXkgKG1vYmlsZSBvbmx5KSAqL1xuLnNpZGViYXItb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNpZGViYXItaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDgwcHg7XG59XG5cbi5sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmxvZ28taW1nIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ubG9nby10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5idG4taWNvbiB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWNvbG9ycyk7XG59XG5cbi5idG4taWNvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uYnRuLWljb24tZGFuZ2VyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG59XG5cbi8qIE5ldyBDaGF0IEJ1dHRvbiAqL1xuLmJ0bi1uZXctY2hhdCB7XG4gICAgbWFyZ2luOiAwIDIwcHggMjBweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xufVxuXG4uYnRuLW5ldy1jaGF0OmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb2N1cyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5idG4tY2xlYXItYWxsIHtcbiAgICBtYXJnaW46IDEwcHggMjBweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLWNsZWFyLWFsbDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xufVxuXG4uYnRuLW5ldy1jaGF0OmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uYnRuLW5ldy1jaGF0LWNvbGxhcHNlZCB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cbi5idG4tbmV3LWNoYXQtY29sbGFwc2VkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi8qIENoYXQgTGlzdCAqL1xuLmNoYXQtbGlzdCB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmNoYXQtbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIgeyB3aWR0aDogNnB4OyB9XG4uY2hhdC1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBib3JkZXItcmFkaXVzOiA2cHg7IH1cbi5jaGF0LWxpc3Q6aG92ZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogdmFyKC0tYm9yZGVyLWNvbG9yKTsgfVxuXG4uY2hhdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1jb2xvcnMpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4uY2hhdC1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5jaGF0LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5jaGF0LXRpdGxlIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLmJ0bi1kZWxldGUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5jaGF0LWl0ZW06aG92ZXIgLmJ0bi1kZWxldGUgeyBvcGFjaXR5OiAxOyB9XG4uYnRuLWRlbGV0ZTpob3ZlciB7IGNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7IGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7IH1cblxuLyogU2lkZWJhciBGb290ZXIgKi9cbi5zaWRlYmFyLWZvb3RlciB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbn1cblxuLmJ0bi1zZXR0aW5ncyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tY29sb3JzKTtcbn1cblxuLmJ0bi1zZXR0aW5nczpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4uc2lkZWJhci1zZXR0aW5ncy1jb2xsYXBzZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDI0cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLyogTWFpbiBDb250ZW50ICovXG4ubWFpbi1jb250ZW50IHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmNoYXQtY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgY29udGFpbjogbGF5b3V0IHN0eWxlO1xufVxuXG4vKiBXZWxjb21lIFNjcmVlbiAqL1xuLndlbGNvbWUge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC42cyBlYXNlLW91dDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDsgLyogUHJldmVudCBDTFMgZHVyaW5nIGNvbnRlbnQgbG9hZCAqL1xuICAgIGNvbnRhaW46IGxheW91dCBzdHlsZTsgLyogT3B0aW1pemUgcmVuZGVyaW5nICovXG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLndlbGNvbWUtbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLndlbGNvbWUtbG9nby1pbWcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG59XG5cbi53ZWxjb21lIGgxIHtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbn1cblxuLndlbGNvbWUtc3VidGl0bGUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xufVxuXG4ud2VsY29tZS1mZWF0dXJlcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuXG4uZmVhdHVyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDMycHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5mZWF0dXJlOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1tZCk7XG59XG5cbi5mZWF0dXJlIGkge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogTWVzc2FnZXMgKi9cbi5tZXNzYWdlcyB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA0MHB4IDI0cHggMjBweDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuXG4ubWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDI0cHg7XG4gICAgcGFkZGluZzogMjRweCAwO1xuICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYW5pbWF0aW9uOiBzbGlkZUluIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbiB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAgIHRvIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi5tZXNzYWdlLWF2YXRhciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIG1pbi13aWR0aDogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5tZXNzYWdlLmFzc2lzdGFudCAubWVzc2FnZS1hdmF0YXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLm1lc3NhZ2UtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIE1hcmtkb3duIFN0eWxpbmcgKi9cbi5tZXNzYWdlLWNvbnRlbnQgcCB7IG1hcmdpbi1ib3R0b206IDEuMmVtOyB9XG4ubWVzc2FnZS1jb250ZW50IHA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1lc3NhZ2UtY29udGVudCBwcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuXG4ubWVzc2FnZS1jb250ZW50IGNvZGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWVzc2FnZS1jb250ZW50IHByZSBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4vKiBNYXJrZG93biBUYWJsZXMgKi9cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgZm9udC1zaXplOiAwLjk1ZW07XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGgsXG4ubWVzc2FnZS1jb250ZW50IHRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLm1lc3NhZ2UtY29udGVudCB0YWJsZSB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcbn1cblxuLm1lc3NhZ2UtY29udGVudCB0YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xufVxuXG4vKiBNYXJrZG93biBMaXN0cyAqL1xuLm1lc3NhZ2UtY29udGVudCB1bCxcbi5tZXNzYWdlLWNvbnRlbnQgb2wge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5tZXNzYWdlLWNvbnRlbnQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ubWVzc2FnZS1jb250ZW50IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIE1hcmtkb3duIEJsb2NrcXVvdGVzICovXG4ubWVzc2FnZS1jb250ZW50IGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tcmFkaXVzLXNtKSB2YXIoLS1yYWRpdXMtc20pIDA7XG59XG5cbi8qIE1hcmtkb3duIEhvcml6b250YWwgUnVsZSAqL1xuLm1lc3NhZ2UtY29udGVudCBociB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIG1hcmdpbjogMmVtIDA7XG59XG5cbi8qIE1hcmtkb3duIExpbmtzICovXG4ubWVzc2FnZS1jb250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4ycztcbn1cblxuLm1lc3NhZ2UtY29udGVudCBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi8qIE1hcmtkb3duIEltYWdlcyAqL1xuLm1lc3NhZ2UtY29udGVudCBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBtYXJnaW46IDFlbSAwO1xufVxuXG4vKiBNZXNzYWdlIEFjdGlvbnMgQmFyIChjb3B5IGJ1dHRvbiBldGMuKSAqL1xuLm1lc3NhZ2UtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWZhc3QpIGVhc2U7XG59XG5cbi5tZXNzYWdlOmhvdmVyIC5tZXNzYWdlLWFjdGlvbnMge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5idG4tY29weSB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWNvbG9ycyk7XG59XG5cbi5idG4tY29weTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xufVxuXG4uYnRuLWNvcHkuY29waWVkIHtcbiAgICBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvcik7XG59XG5cbi8qIFRvdWNoIHNjcmVlbjogYWx3YXlzIHNob3cgbWVzc2FnZSBhY3Rpb25zICovXG5AbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgLm1lc3NhZ2UtYWN0aW9ucyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbi8qIFR5cGluZyBJbmRpY2F0b3IgKi9cbi50eXBpbmctaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xufVxuXG4udHlwaW5nLWluZGljYXRvciBzcGFuIHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xufVxuLnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMSkgeyBhbmltYXRpb24tZGVsYXk6IC0wLjMyczsgfVxuLnR5cGluZy1pbmRpY2F0b3Igc3BhbjpudGgtY2hpbGQoMikgeyBhbmltYXRpb24tZGVsYXk6IC0wLjE2czsgfVxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCA4MCUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyBvcGFjaXR5OiAwLjU7IH1cbiAgICA0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qIElucHV0IEFyZWEgKi9cbi5pbnB1dC1hcmVhIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHggNDBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1iZy1wcmltYXJ5KSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgICB6LWluZGV4OiA1O1xufVxuXG4uaW5wdXQtY29udGFpbmVyLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlucHV0LXRvb2xiYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDE2cHg7XG4gICAgbGVmdDogMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIHotaW5kZXg6IDY7XG59XG5cbi5idG4tdG9vbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ0bi10b29sIGkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmJ0bi10b29sOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5idG4tdG9vbC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLyogUkFHIFRvZ2dsZSB3aXRoIFNsaWRlciAqL1xuLnJhZy10b2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi5yYWctdG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnJhZy10b2dnbGUuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJhZy1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgbWluLWhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbi5yYWctdG9nZ2xlLmFjdGl2ZSAucmFnLXNsaWRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnJhZy1zbGlkZXItaGFuZGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWluLWhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4ucmFnLXRvZ2dsZS5hY3RpdmUgLnJhZy1zbGlkZXItaGFuZGxlIHtcbiAgICBsZWZ0OiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xufVxuXG4vKiBUaGlua2luZyBNb2RlIFRvZ2dsZSAoc2FtZSBzdHlsZSBhcyBSQUcgdG9nZ2xlKSAqL1xuLnRoaW5raW5nLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuLnRoaW5raW5nLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi50aGlua2luZy10b2dnbGUuYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRoaW5raW5nLXNsaWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1pbi13aWR0aDogMjhweDtcbiAgICBtaW4taGVpZ2h0OiAxNHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXRlcnRpYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuLnRoaW5raW5nLXRvZ2dsZS5hY3RpdmUgLnRoaW5raW5nLXNsaWRlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRoaW5raW5nLXNsaWRlci1oYW5kbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAycHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBtaW4taGVpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbi50aGlua2luZy10b2dnbGUuYWN0aXZlIC50aGlua2luZy1zbGlkZXItaGFuZGxlIHtcbiAgICBsZWZ0OiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xufVxuXG4uaW5wdXQtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgcGFkZGluZzogMTZweCAxNnB4IDU2cHggMTZweDsgLyogRXh0cmEgYm90dG9tIHBhZGRpbmcgZm9yIHRvb2xiYXIgKi9cbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctc20pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlucHV0LXdyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb2N1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW1kKTtcbn1cblxuLmlucHV0LXdyYXBwZXIgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgcmVzaXplOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xufVxuXG4uYnRuLXNlbmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEycHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLXNlbmQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5idG4tc2VuZDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogU3RvcCBCdXR0b24gKi9cbi5idG4tc3RvcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTJweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmJ0bi1zdG9wOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi8qIEltYWdlIFByZXZpZXcgKi9cbi51cGxvYWRlZC1pbWFnZS1wcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA2MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnM7XG59XG5cbi51cGxvYWRlZC1pbWFnZS1wcmV2aWV3IGltZyB7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogVVJMIElucHV0IFBvcHVwICovXG4udXJsLWlucHV0LXBvcHVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA0NHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMTVzIGVhc2Utb3V0O1xufVxuXG4udXJsLWlucHV0LWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4udXJsLWlucHV0LXBvcHVwIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4udXJsLWlucHV0LXBvcHVwIGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb2N1cyk7XG59XG5cbi51cmwtaW5wdXQtcG9wdXAgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi51cmwtaW5wdXQtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xufVxuXG4udXJsLWlucHV0LWFjdGlvbnMgLmJ0bi1jYW5jZWwge1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4udXJsLWlucHV0LWFjdGlvbnMgLmJ0bi1jYW5jZWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnVybC1pbnB1dC1hY3Rpb25zIC5idG4tY29uZmlybSB7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi51cmwtaW5wdXQtYWN0aW9ucyAuYnRuLWNvbmZpcm06aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1ob3Zlcik7XG59XG5cbi51cmwtaW5wdXQtYWN0aW9ucyAuYnRuLWNvbmZpcm06ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vKiBQYXJzZWQgVVJMIFByZXZpZXcgKi9cbi5wYXJzZWQtdXJsLXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDYwcHg7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycztcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4ucGFyc2VkLXVybC1wcmV2aWV3IGkge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucGFyc2VkLXVybC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmJ0bi1yZW1vdmUtdXJsIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLXJlbW92ZS11cmw6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkYzI2MjY7XG59XG5cbi8qIEF0dGFjaGVkIERvY3VtZW50IFByZXZpZXcgKi9cbi5hdHRhY2hlZC1kb2MtcHJldmlldyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICBsZWZ0OiAxMDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC4ycztcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xufVxuXG4uYXR0YWNoZWQtZG9jLXByZXZpZXcgaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5hdHRhY2hlZC1kb2MtbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLmJ0bi1yZW1vdmUtZG9jIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLXJlbW92ZS1kb2M6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkYzI2MjY7XG59XG5cbi8qIFNwaW5uaW5nIGFuaW1hdGlvbiBmb3IgbG9hZGluZyAqL1xuQGtleWZyYW1lcyBzcGluIHtcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLnNwaW4ge1xuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIC0tLSBOZXcgU2V0dGluZ3MgTW9kYWwgKEdyb2sgU3R5bGUpIC0tLSAqL1xuLm1vZGFsLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbn1cblxuLnNldHRpbmdzLW1vZGFsIHtcbiAgICB3aWR0aDogOTAwcHg7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLW1vZGFsKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYW5pbWF0aW9uOiBtb2RhbFNjYWxlIDAuMjVzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsU2NhbGUge1xuICAgIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpOyB9XG4gICAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbi8qIFNldHRpbmdzIExlZnQgTmF2ICovXG4uc2V0dGluZ3MtbmF2IHtcbiAgICB3aWR0aDogMjQwcHg7XG4gICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogMjRweCAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnNldHRpbmdzLW5hdjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZXR0aW5ncy1uYXYge1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG59XG5cbi5zZXR0aW5ncy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAwIDEycHggMjRweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLm5hdi1pdGVtIHtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1jb2xvcnMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5uYXYtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4ubmF2LWl0ZW0uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNldHRpbmdzLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBTZXR0aW5ncyBDb250ZW50ICovXG4uc2V0dGluZ3MtY29udGVudCB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNldHRpbmdzLXNjcm9sbC1hcmVhIHtcbiAgICBmbGV4OiAxO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDQwcHggNDhweDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbn1cblxuLnNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5zZWN0aW9uLWRlc2Mge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuXG4vKiBGb3JtIFN0eWxlcyAqL1xuLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi5mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5mb3JtLXN1YmxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4vKiAtLS0gVXRpbGl0eSBDbGFzc2VzIChleHRyYWN0ZWQgZnJvbSBpbmxpbmUgc3R5bGVzKSAtLS0gKi9cblxuLyogQXZhdGFyIGltYWdlIGluc2lkZSBjaXJjdWxhciBjb250YWluZXIgKi9cbi5hdmF0YXItaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qIEhpZGRlbiBmaWxlIGlucHV0IChhY2Nlc3NpYmxlKSAqL1xuLmZpbGUtaW5wdXQtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBGb3JtIGdyb3VwIHdpdGggZXh0cmEgYm90dG9tIHNwYWNpbmcgKFVJIHNldHRpbmdzIHNlY3Rpb25zKSAqL1xuLmZvcm0tZ3JvdXAtbGcge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi8qIFN0YXR1cyBpbmRpY2F0b3JzICovXG4uc3RhdHVzLXN1Y2Nlc3MgeyBjb2xvcjogdmFyKC0tc3VjY2Vzcy1jb2xvcik7IH1cbi5zdGF0dXMtZXJyb3IgeyBjb2xvcjogdmFyKC0tZXJyb3ItY29sb3IpOyB9XG5cbi8qIEZ1bGwtd2lkdGggYnV0dG9uICovXG4uYnRuLWZ1bGwtd2lkdGggeyB3aWR0aDogMTAwJTsgfVxuXG4vKiBNb2RlbCB2ZXJpZmljYXRpb24gbWVzc2FnZSAqL1xuLm1vZGVsLXZlcmlmeS1tc2cge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xufVxuXG4vKiBDaGVja2JveCBncm91cCBmb3IgbW9kZWwgY2FwYWJpbGl0aWVzICovXG4uY2hlY2tib3gtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmNoZWNrYm94LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoZWNrYm94LWxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4vKiBGb3JtIHN1YmxhYmVsIGlubGluZSBoZWxwZXIgKi9cbi5mb3JtLXN1YmxhYmVsLWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uZm9ybS1zdWJsYWJlbC1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogVXBsb2FkIHRvb2wgbGFiZWwgKHotaW5kZXggZm9yIGZpbGUgaW5wdXQpICovXG4uYnRuLXRvb2wtdXBsb2FkIHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEltYWdlIGRlbGV0ZSBvdmVybGF5IGJ1dHRvbiAqL1xuLmJ0bi1kZWxldGUtb3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTBweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZXJyb3ItY29sb3IpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLWRlbGV0ZS1vdmVybGF5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xufVxuXG4vKiBMb2dvIHNldHRpbmdzIGRlbGV0ZSBidXR0b24gKi9cbi5idG4tZGVsZXRlLWlubGluZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogVXBsb2FkIHJvdyBsYXlvdXQgKi9cbi51cGxvYWQtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4vKiBMb2dvIHByZXZpZXcgaW1hZ2UgKi9cbi5sb2dvLXByZXZpZXctaW1nIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWluLXdpZHRoOiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLyogQnV0dG9uIHdpdGggbm8gZXh0cmEgbWFyZ2luICovXG4uYnRuLWNvbXBhY3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBJbnB1dCB0aGF0IGZpbGxzIHJlbWFpbmluZyBzcGFjZSAqL1xuLmlucHV0LWZsZXgge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiBBdmF0YXJzIHJvdyBsYXlvdXQgKi9cbi5hdmF0YXJzLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjRweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hdmF0YXItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi8qIEF2YXRhciBwcmV2aWV3IGNvbnRhaW5lciAqL1xuLmF2YXRhci1wcmV2aWV3LXVzZXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYXZhdGFyLXByZXZpZXctYXNzaXN0YW50IHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYXZhdGFyLXByZXZpZXctYXNzaXN0YW50IGkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLyogU2V0dGluZ3MgZm9vdGVyIGxpbmsgKi9cbi5zZXR0aW5ncy1mb290ZXItbGluayB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uc2V0dGluZ3MtZm9vdGVyLWxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBFcnJvciBpY29uIHNpemUgKi9cbi5pY29uLWxnIHsgZm9udC1zaXplOiAyNHB4OyB9XG4uaWNvbi14bCB7IGZvbnQtc2l6ZTogNDhweDsgfVxuXG4vKiBQbHVnaW4gbG9hZGluZyB0ZXh0ICovXG4ucGx1Z2luLWxvYWRpbmctdGV4dCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBNaW5pbWFsIElucHV0ICovXG4uaW5wdXQtbWluaW1hbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG59XG5cbi5pbnB1dC1taW5pbWFsOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWZvY3VzKTtcbn1cblxuLmlucHV0LW1pbmltYWw6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFRvZ2dsZSBTd2l0Y2ggLSBjb21wYWN0IHNpemUgKDM2eDIwKSBmb3IgcGx1Z2luLXN0eWxlIGNvbnNpc3RlbmN5ICovXG4udG9nZ2xlLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA4cHggMDtcbn1cblxuLnRvZ2dsZS1pbmZvIHsgZmxleDogMTsgcGFkZGluZy1yaWdodDogMjBweDsgfVxuXG4udG9nZ2xlLXN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4udG9nZ2xlLXN3aXRjaC5jaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4udG9nZ2xlLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnB4O1xuICAgIGxlZnQ6IDJweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjE2LCAxLCAwLjMsIDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuMSk7XG59XG5cbi50b2dnbGUtc3dpdGNoLmNoZWNrZWQgLnRvZ2dsZS1oYW5kbGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxNnB4KTtcbn1cblxuLyogUmFuZ2UgU2xpZGVyICovXG5pbnB1dFt0eXBlPXJhbmdlXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctdGVydGlhcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcztcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLDAsMCwwLjEpO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWI6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLyogQ29sbGFwc2libGUgU2VjdGlvbiAqL1xuLmNvbGxhcHNpYmxlLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb2xsYXBzaWJsZS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmNvbGxhcHNpYmxlLWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xufVxuXG4uY29sbGFwc2libGUtdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG59XG5cbi5jb2xsYXBzaWJsZS10aXRsZSBpIHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4uY29sbGFwc2libGUtY2hldnJvbiB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4uY29sbGFwc2libGUtY2hldnJvbi5leHBhbmRlZCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmNvbGxhcHNpYmxlLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMjBweCAyMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4uY29sbGFwc2libGUtY29udGVudCAuZm9ybS1zdWJsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4uc3lzdGVtLXByb21wdC10ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4uc3lzdGVtLXByb21wdC10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1mb2N1cyk7XG59XG5cbi5zeXN0ZW0tcHJvbXB0LXRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4vKiBNb2RlbCBDYXJkcyAqL1xuLm1vZGVsLWNhcmQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLm1vZGVsLWNhcmQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5tb2RlbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLm1vZGVsLWJhZGdlIHtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm1vZGVsLWJhZGdlLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogTW9kYWwgQWN0aW9ucyAqL1xuLm1vZGFsLWFjdGlvbnMtYmFyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQ4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGdhcDogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1tb2RhbCk7XG59XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tY29sb3JzKTtcbn1cblxuLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLmJ0bi1wcmltYXJ5IHtcbiAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1jb2xvcnMpLCB2YXIoLS10cmFuc2l0aW9uLXRyYW5zZm9ybSk7XG59XG5cbi5idG4tcHJpbWFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWhvdmVyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIFRoZW1lIEdyaWQgKi9cbi50aGVtZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDIwcHg7XG59XG5cbi50aGVtZS1vcHRpb24ge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi50aGVtZS1vcHRpb24uYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbn1cblxuLyogRmlsZSBVcGxvYWQgKi9cbi51cGxvYWQtYXJlYSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWNvbmRhcnkpO1xufVxuXG4udXBsb2FkLWFyZWE6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG59XG5cbi8qIFRvYXN0ICovXG4udG9hc3Qge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDMycHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIGFuaW1hdGlvbjogdG9hc3RQb3AgMC4zcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcbn1cblxuLnRvYXN0LmVycm9yIHsgYmFja2dyb3VuZDogdmFyKC0tZXJyb3ItY29sb3IpOyBjb2xvcjogd2hpdGU7IH1cblxuQGtleWZyYW1lcyB0b2FzdFBvcCB7XG4gICAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDIwcHgpIHNjYWxlKDAuOSk7IH1cbiAgICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpOyB9XG59XG5cbi8qIE1vYmlsZSBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgICB9XG4gICAgXG4gICAgLnNpZGViYXItb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgfVxuICAgIFxuICAgIC5zaWRlYmFyLW92ZXJsYXlbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBsZWZ0OiAwOyBcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDVweCAwIDE1cHggcmdiYSgwLDAsMCwwLjIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICAgIH1cbiAgICBcbiAgICAuc2lkZWJhci5jb2xsYXBzZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjgwcHg7XG4gICAgfVxuICAgIFxuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgICAgICAgaGVpZ2h0OiAxMDBkdmg7XG4gICAgfVxuICAgIFxuICAgIC5jaGF0LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb250YWluOiBsYXlvdXQgc3R5bGU7XG4gICAgfVxuICAgIFxuICAgIC5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBtYXgoMTJweCwgZW52KHNhZmUtYXJlYS1pbnNldC10b3ApKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgXG4gICAgLm1vYmlsZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICB9XG5cbiAgICAud2VsY29tZSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTZweDtcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7IC8qIFByZXZlbnQgQ0xTIG9uIG1vYmlsZSAqL1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZS1sb2dvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG4gICAgXG4gICAgLndlbGNvbWUtbG9nby1pbWcge1xuICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZS1mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgLmZlYXR1cmUge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDE0cHg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgXG4gICAgLmZlYXR1cmUgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG5cbiAgICAubWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDE4MHB4KTtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDBkdmggLSAxODBweCk7XG4gICAgICAgIGNvbnRhaW46IGxheW91dCBzdHlsZTsgLyogUHJldmVudCBDTFMgKi9cbiAgICB9XG4gICAgXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAubWVzc2FnZS1hdmF0YXIge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgfVxuICAgIFxuICAgIC5tZXNzYWdlLWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICAgIFxuICAgIC5tZXNzYWdlLWNvbnRlbnQgcHJlIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNDhweCk7XG4gICAgfVxuICAgIFxuICAgIC8qIFRhYmxlIHJlc3BvbnNpdmUgb24gbW9iaWxlICovXG4gICAgLm1lc3NhZ2UtY29udGVudCB0YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG4gICAgXG4gICAgLm1lc3NhZ2UtY29udGVudCB0YWJsZSB0aGVhZCB0aCxcbiAgICAubWVzc2FnZS1jb250ZW50IHRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgfVxuICAgIFxuICAgIC5pbnB1dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IG1heCgyMHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTJweCA0OHB4IDEycHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgfVxuICAgIFxuICAgIC5pbnB1dC13cmFwcGVyIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7IC8qIFByZXZlbnQgaU9TIHpvb20gKi9cbiAgICB9XG4gICAgXG4gICAgLmlucHV0LXRvb2xiYXIge1xuICAgICAgICBib3R0b206IDEycHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICAgIHJpZ2h0OiA1MnB4O1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICAgIFxuICAgIC5pbnB1dC10b29sYmFyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5idG4tdG9vbCB7XG4gICAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICB9XG4gICAgXG4gICAgLmJ0bi1zZW5kLFxuICAgIC5idG4tc3RvcCB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgXG4gICAgLnVwbG9hZGVkLWltYWdlLXByZXZpZXcge1xuICAgICAgICBib3R0b206IDUycHg7XG4gICAgfVxuICAgIFxuICAgIC51cmwtaW5wdXQtcG9wdXAge1xuICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwdncgLSA0OHB4KTtcbiAgICAgICAgbGVmdDogLTEycHg7XG4gICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICB9XG4gICAgXG4gICAgLnBhcnNlZC11cmwtcHJldmlldyB7XG4gICAgICAgIGJvdHRvbTogNTJweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTAwcHgpO1xuICAgIH1cbiAgICBcbiAgICAuYXR0YWNoZWQtZG9jLXByZXZpZXcge1xuICAgICAgICBib3R0b206IDUycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDEwMHB4KTtcbiAgICB9XG4gICAgXG4gICAgLyogU2V0dGluZ3MgTW9kYWwgTW9iaWxlICovXG4gICAgLm1vZGFsLW92ZXJsYXkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICAuc2V0dGluZ3MtbW9kYWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICBcbiAgICAuc2V0dGluZ3MtbmF2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBtYXgoOHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgYmxhY2sgMTZweCwgYmxhY2sgY2FsYygxMDAlIC0gMTZweCksIHRyYW5zcGFyZW50KTtcbiAgICAgICAgbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgYmxhY2sgMTZweCwgYmxhY2sgY2FsYygxMDAlIC0gMTZweCksIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLW5hdjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuc2V0dGluZ3MtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuc2V0dGluZ3MtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLm5hdi1pdGVtIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLWNvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAuc2V0dGluZ3Mtc2Nyb2xsLWFyZWEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBtYXgoMTAwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDgwcHgpO1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICAgIFxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgICBcbiAgICAubW9kYWwtYWN0aW9ucy1iYXIge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogbWF4KDE2cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgfVxuICAgIFxuICAgIC5tb2RlbC1jYXJkIHtcbiAgICAgICAgcGFkZGluZzogMTZweDtcbiAgICB9XG4gICAgXG4gICAgLnRoZW1lLWdyaWQge1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgfVxuICAgIFxuICAgIC50aGVtZS1vcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAvKiBQcmV2ZW50IGlPUyB6b29tIG9uIGlucHV0cyAqL1xuICAgIC5pbnB1dC1taW5pbWFsLCBcbiAgICAuaW5wdXQtd3JhcHBlciB0ZXh0YXJlYSxcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICBzZWxlY3Qge1xuICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLyogSGlkZSBuZXcgY2hhdCBidXR0b24gaW4gY29sbGFwc2VkIHNpZGViYXIgb24gbW9iaWxlICovXG4gICAgLmJ0bi1uZXctY2hhdC1jb2xsYXBzZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAvKiBUb2FzdCBwb3NpdGlvbmluZyBmb3IgbW9iaWxlICovXG4gICAgLnRvYXN0IHtcbiAgICAgICAgYm90dG9tOiBtYXgoMjRweCwgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMTZweCk7XG4gICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzJweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi8qIERlZmF1bHQgc3RhdGUgZm9yIG1vYmlsZSBoZWFkZXIgKi9cbi5tb2JpbGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTYWZlIEFyZWEgU3VwcG9ydCBmb3IgaVBob25lIFgrICovXG4uaW5wdXQtYXJlYSB7XG4gICAgcGFkZGluZy1ib3R0b206IG1heCg0MHB4LCBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyAyMHB4KTtcbn1cblxuLnNpZGViYXItZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogbWF4KDIwcHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDIwcHgpO1xufVxuXG4vKiBUYWJsZXQgb3B0aW1pemF0aW9uIChpUGFkLCBldGMuKSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmlucHV0LWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgIH1cbiAgICBcbiAgICAuaW5wdXQtdG9vbGJhciB7XG4gICAgICAgIGdhcDogNHB4O1xuICAgIH1cbiAgICBcbiAgICAvKiBFbnN1cmUgdG91Y2gtZnJpZW5kbHkgc2l6ZSBmb3IgdG9nZ2xlcyAqL1xuICAgIC50aGlua2luZy10b2dnbGUsXG4gICAgLnJhZy10b2dnbGUge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggNnB4O1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB9XG4gICAgXG4gICAgLnRoaW5raW5nLXNsaWRlcixcbiAgICAucmFnLXNsaWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIG1pbi13aWR0aDogMjhweDtcbiAgICAgICAgbWluLWhlaWdodDogMTRweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuICAgIFxuICAgIC50aGlua2luZy1zbGlkZXItaGFuZGxlLFxuICAgIC5yYWctc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMTBweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuICAgIFxuICAgIC5idG4tdG9vbCB7XG4gICAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICB9XG59XG5cbi8qIEV4dHJhIHNtYWxsIHNjcmVlbnMgKGlQaG9uZSBTRSwgZXRjLikgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAzNzVweCkge1xuICAgIC53ZWxjb21lLWxvZ28taW1nIHtcbiAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIGhlaWdodDogNTZweDtcbiAgICB9XG4gICAgXG4gICAgLndlbGNvbWUgaDEge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gICAgXG4gICAgLndlbGNvbWUtc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIFxuICAgIC5mZWF0dXJlIHtcbiAgICAgICAgcGFkZGluZzogMTRweCAxMnB4O1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAubWVzc2FnZS1hdmF0YXIge1xuICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBtaW4td2lkdGg6IDI4cHg7XG4gICAgfVxuICAgIFxuICAgIC5pbnB1dC13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDQ0cHggMTBweDtcbiAgICB9XG4gICAgXG4gICAgLnNldHRpbmdzLXNjcm9sbC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAxMnB4O1xuICAgIH1cbn1cblxuLyogTGFuZHNjYXBlIG1vZGUgZml4ZXMgZm9yIG1vYmlsZSAqL1xuQG1lZGlhIChtYXgtaGVpZ2h0OiA1MDBweCkgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLndlbGNvbWUge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZS1sb2dvLWltZyB7XG4gICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgfVxuICAgIFxuICAgIC53ZWxjb21lIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gICAgXG4gICAgLndlbGNvbWUtc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAud2VsY29tZS1mZWF0dXJlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICAgIFxuICAgIC5mZWF0dXJlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cbn1cblxuLyogVGhpbmtpbmcgQmxvY2sgKi9cbi50aGlua2luZy1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctc2Vjb25kYXJ5KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udGhpbmtpbmctaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi50aGlua2luZy1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi50aGlua2luZy1oZWFkZXIgaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4udGhpbmtpbmctaGVhZGVyIC5jaGV2cm9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuXG4udGhpbmtpbmctaGVhZGVyIC5jaGV2cm9uLmV4cGFuZGVkIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4udGhpbmtpbmctY29udGVudCB7XG4gICAgcGFkZGluZzogMTRweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnRoaW5raW5nLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG59XG5cbi50aGlua2luZy1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogUkFHIFJlZmVyZW5jZXMgQnViYmxlICovXG4ucmFnLXJlZmVyZW5jZXMge1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG59XG5cbi5yYWctcmVmZXJlbmNlcy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5yYWctcmVmZXJlbmNlcy1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5yYWctcmVmZXJlbmNlcy1oZWFkZXIgaSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yYWctcmVmZXJlbmNlcy1oZWFkZXIgLmNoZXZyb24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5yYWctcmVmZXJlbmNlcy1oZWFkZXIgLmNoZXZyb24uZXhwYW5kZWQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5yYWctcmVmZXJlbmNlcy1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5yYWctcmVmZXJlbmNlLWl0ZW0ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5yYWctcmVmZXJlbmNlLWl0ZW0gLnJlZi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucmFnLXJlZmVyZW5jZS1pdGVtIC5yZWYtYmFkZ2Uge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG4ucmFnLXJlZmVyZW5jZS1pdGVtIC5yZWYtc2NvcmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5yYWctcmVmZXJlbmNlLWl0ZW0gLnJlZi1jb250ZW50IHtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLyogPT09PT09PT09PT09IFBsdWdpbiBTeXN0ZW0gU3R5bGVzID09PT09PT09PT09PSAqL1xuXG4vKiBQbHVnaW4gQnV0dG9uIGluIFNpZGViYXIgKi9cbi5idG4tcGx1Z2lucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLXBsdWdpbnM6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWhvdmVyKTtcbn1cblxuLnNpZGViYXItcGx1Z2lucy1jb2xsYXBzZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDU2cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLyogUGx1Z2luIE1vZGFsIC0gd2lkZXIgZm9yIDItY29sIGdyaWQgKi9cbi5wbHVnaW4tbW9kYWwuc2V0dGluZ3MtbW9kYWwge1xuICAgIHdpZHRoOiAxMjAwcHg7XG59XG5cbi5wbHVnaW4tbW9kYWwgLnNldHRpbmdzLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xufVxuXG4vKiBQbHVnaW4gTG9hZGluZyAqL1xuLnBsdWdpbi1sb2FkaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5wbHVnaW4tbG9hZGluZyAuc3Bpbm5lciB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxufVxuXG4vKiBQbHVnaW4gRXJyb3IgKi9cbi5wbHVnaW4tZXJyb3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDYwcHggMjBweDtcbiAgICBnYXA6IDE2cHg7XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBsdWdpbi1lcnJvciBpIHtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5wbHVnaW4tZXJyb3IgLmJ0bi1zZWNvbmRhcnkge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLyogUGx1Z2luIE1hcmtldCBIZWFkZXIgd2l0aCBTZWFyY2ggKi9cbi5wbHVnaW4tbWFya2V0LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi5wbHVnaW4tbWFya2V0LWhlYWRlciAuc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wbHVnaW4tbWFya2V0LXNlYXJjaC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDIwMHB4O1xufVxuXG4ucGx1Z2luLW1hcmtldC1zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wbHVnaW4tbWFya2V0LXNlYXJjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAxMnB4IDEwcHggMzZweDtcbn1cblxuLyogUGx1Z2luIEdyaWQgLSAyIGNvbHVtbnMgZm9yIG1hcmtldCAqL1xuLnBsdWdpbi1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4vKiBQbHVnaW4gTGlzdCAtIE9uZSBwZXIgcm93IGZvciBpbnN0YWxsZWQgcGx1Z2lucyAqL1xuLnBsdWdpbi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucGx1Z2luLWxpc3QgLnBsdWdpbi1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBsdWdpbi1saXN0IC5wbHVnaW4tZGVzYyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG59XG5cbi8qIFBsdWdpbiBDYXJkIC0gQ29tcGFjdCBob3Jpem9udGFsIGxheW91dCAqL1xuLnBsdWdpbi1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy10ZXJ0aWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5wbHVnaW4tY2FyZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbn1cblxuLyogUGx1Z2luIENhcmQgLSBNYXJrZXQgKGhvcml6b250YWwgcm93OiBsb2dvIHwgdGl0bGUrdmVyc2lvbiB8IGJ1dHRvbnMpICovXG4ucGx1Z2luLWNhcmQtbWFya2V0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAxNHB4O1xufVxuXG4ucGx1Z2luLWNhcmQtbWFya2V0IC5wbHVnaW4taWNvbi1tYXJrZXQge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnBsdWdpbi1jYXJkLW1hcmtldC1ib2R5IHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IDhweDtcbn1cblxuLnBsdWdpbi1uYW1lLW1hcmtldCB7XG4gICAgZm9udC1zaXplOiAwLjkycmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnBsdWdpbi1hY3Rpb25zLW1hcmtldCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wbHVnaW4tY2FyZC1tYXJrZXQgLnBsdWdpbi1hY3Rpb25zLW1hcmtldCAuYnRuLWljb24tc20ge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcbn1cblxuLyogUGx1Z2luIGluZm8gcG9wb3ZlciAqL1xuLnBsdWdpbi1pbmZvLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBsdWdpbi1pbmZvLXBvcG92ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1pbi13aWR0aDogMjQwcHg7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgei1pbmRleDogNTA7XG59XG5cbi5wbHVnaW4taW5mby1wb3BvdmVyLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5wbHVnaW4taW5mby1wb3BvdmVyLXZlcnNpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ucGx1Z2luLWluZm8tcG9wb3Zlci1kZXNjIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLnBsdWdpbi1tYXJrZXQtaGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAucGx1Z2luLW1hcmtldC1zZWFyY2gtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAucGx1Z2luLWdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5cbi5wbHVnaW4taWNvbiB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5wbHVnaW4taW5mbyB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4ucGx1Z2luLW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnBsdWdpbi12ZXJzaW9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXRleHQtbXV0ZWQpO1xufVxuXG4ucGx1Z2luLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wbHVnaW4tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucGx1Z2luLWNhcmQuaW5zdGFsbGVkIC5wbHVnaW4tYWN0aW9ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLyogUGx1Z2luIGNhcmQgc2V0dGluZ3MvZGVsZXRlIGljb25zOiBzYW1lIHNpemUgYXMgc2lkZWJhciBzZXR0aW5ncyBpY29uICguYnRuLWljb24gMzbDlzM2KSAqL1xuLnBsdWdpbi1jYXJkIC5wbHVnaW4tYWN0aW9ucyAuYnRuLWljb24ge1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5idG4tc20ge1xuICAgIHBhZGRpbmc6IDZweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbn1cblxuLyogUGx1Z2luIEVtcHR5IFN0YXRlICovXG4ucGx1Z2luLWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xufVxuXG4vKiBQbHVnaW4gVXBsb2FkIEFyZWEgKi9cbi5wbHVnaW4tdXBsb2FkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucGx1Z2luLXVwbG9hZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1ob3Zlcik7XG59XG5cbi5wbHVnaW4tdXBsb2FkIGkge1xuICAgIG9wYWNpdHk6IDAuNTtcbn1cblxuLnBsdWdpbi11cGxvYWQtcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucGx1Z2luLXVwbG9hZC1wcm9ncmVzcyAuc3Bpbm5lciB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiBQbHVnaW4gRGV2IEd1aWRlIExpbmsgKi9cbi5wbHVnaW4tZGV2LWd1aWRlIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnBsdWdpbi1kZXYtZ3VpZGUgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLnBsdWdpbi1kZXYtZ3VpZGUgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLyogUGx1Z2luIFNldHRpbmdzIE1vZGFsICovXG4ucGx1Z2luLXNldHRpbmdzLW1vZGFsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1tb2RhbCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWxnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xufVxuXG4vKiBDdXN0b20gU2V0dGluZ3MgTW9kYWwgLSBMYXJnZXIgc2l6ZSBmb3IgY29tcGxleCBVSXMgKi9cbi5wbHVnaW4tc2V0dGluZ3MtbW9kYWwuY3VzdG9tLXNldHRpbmdzLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIHdpZHRoOiA5NSU7XG59XG5cbi5wbHVnaW4tc2V0dGluZ3MtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5wbHVnaW4tc2V0dGluZ3MtaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4ucGx1Z2luLXNldHRpbmdzLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBmbGV4OiAxO1xufVxuXG4ucGx1Z2luLXNldHRpbmdzLWNvbnRlbnQuY3VzdG9tLXNldHRpbmdzLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgIC8qIExldCBjaGlsZCBoYW5kbGUgc2Nyb2xsaW5nICovXG4gICAgbWluLWhlaWdodDogMDsgIC8qIENyaXRpY2FsIGZvciBmbGV4IHNocmlua2luZyAqL1xufVxuXG4vKiBQbHVnaW4gQ3VzdG9tIFNldHRpbmdzIENvbnRhaW5lciAqL1xuLnBsdWdpbi1jdXN0b20tc2V0dGluZ3Mge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogMDsgIC8qIENyaXRpY2FsOiBhbGxvd3MgZmxleCBjaGlsZCB0byBzaHJpbmsgYmVsb3cgY29udGVudCBzaXplICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5wbHVnaW4tc2V0dGluZ3MtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbn1cblxuLmJ0bi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYnRuLWRhbmdlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2RjMjYyNjtcbn1cblxuLnBsdWdpbi1uby1zZXR0aW5ncyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgICBjb2xvcjogdmFyKC0tdGV4dC1tdXRlZCk7XG59XG5cbi5wbHVnaW4tcHJveHktc2V0dGluZ3Mge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi5wbHVnaW4tcHJveHktc2V0dGluZ3MgaDQge1xuICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi8qID09PT09PT09PT09PSBQbHVnaW4gVG9vbGJhciBFeHRlbnNpb24gQXJlYSA9PT09PT09PT09PT0gKi9cblxuLyogUGx1Z2luIFRvb2xiYXIgQXJlYSBDb250YWluZXIgKi9cbi5wbHVnaW4tdG9vbGJhci1hcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5wbHVnaW4tdG9vbGJhci1kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIG1hcmdpbjogMCA0cHg7XG59XG5cbi8qIFBsdWdpbiBCdXR0b24gQWN0aXZlIFN0YXRlICovXG4uYnRuLXRvb2wucGx1Z2luLWJ0bi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRleHQtcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xufVxuXG4uYnRuLXRvb2wucGx1Z2luLWJ0bi5hY3RpdmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudC1ob3Zlcik7XG4gICAgY29sb3I6IHZhcigtLWJnLXByaW1hcnkpO1xufVxuXG4vKiBQbHVnaW4gQnV0dG9uIExvYWRpbmcgU3RhdGUgKi9cbi5idG4tdG9vbC5wbHVnaW4tYnRuLmxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNztcbn1cblxuLyogUGx1Z2luIE1vcmUgRHJvcGRvd24gKi9cbi5wbHVnaW4tbW9yZS1kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGx1Z2luLW1vcmUtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctcHJpbWFyeSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1sZyk7XG4gICAgbWluLXdpZHRoOiAxODBweDtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cblxuLnBsdWdpbi1tb3JlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG59XG5cbi5wbHVnaW4tbW9yZS1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpIHZhcigtLXJhZGl1cy1tZCkgMCAwO1xufVxuXG4ucGx1Z2luLW1vcmUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgdmFyKC0tcmFkaXVzLW1kKSB2YXIoLS1yYWRpdXMtbWQpO1xufVxuXG4ucGx1Z2luLW1vcmUtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmctaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xufVxuXG4ucGx1Z2luLW1vcmUtaXRlbS5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXNlY29uZGFyeSk7XG59XG5cbi5wbHVnaW4tbW9yZS1pdGVtLmxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnBsdWdpbi1tb3JlLWl0ZW0gaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnBsdWdpbi1tb3JlLWl0ZW0gc3BhbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBQbHVnaW4gRnVsbHNjcmVlbiBNb2RhbCAqL1xuLnBsdWdpbi1mdWxsc2NyZWVuLW1vZGFsIHtcbiAgICB6LWluZGV4OiAxMDAwO1xufVxuXG4ucGx1Z2luLWZ1bGxzY3JlZW4tY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLXByaW1hcnkpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbGcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG59XG5cbi8qIE1vYmlsZTogUGx1Z2luIFRvb2xiYXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wbHVnaW4tdG9vbGJhci1hcmVhIHtcbiAgICAgICAgZ2FwOiAycHg7XG4gICAgfVxuICAgIFxuICAgIC5wbHVnaW4tdG9vbGJhci1kaXZpZGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICB9XG4gICAgXG4gICAgLnBsdWdpbi1mdWxsc2NyZWVuLWNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLnBsdWdpbi1tb3JlLW1lbnUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgfVxufVxuXG4vKiBUYWJsZXQ6IFBsdWdpbiBUb29sYmFyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYnRuLXRvb2wucGx1Z2luLWJ0biB7XG4gICAgICAgIG1pbi13aWR0aDogNDRweDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICB9XG59XG5cbi8qIC0tLSBUb3VjaCBzY3JlZW46IGRpc2FibGUgc3RpY2t5IGhvdmVyIGVmZmVjdHMgLS0tICovXG5AbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgLmZlYXR1cmU6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmJ0bi1uZXctY2hhdDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LXNtKTtcbiAgICB9XG4gICAgXG4gICAgLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuYnRuLXNlbmQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5idG4tc3RvcDpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmNoYXQtaXRlbTpob3ZlciAuYnRuLWRlbGV0ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIFxuICAgIC5tb2RlbC1jYXJkOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIH1cbn1cblxuIl19 */