Todo lo que necesitas saber sobre el volante BMW E90: características, funcionalidades y consejos de mantenimiento

El volante BMW E90 es una pieza esencial en el interior de tu vehículo. Con un diseño elegante y funcional, este componente te brinda un mejor control y comodidad al conducir. Descubre cómo elegir el volante adecuado para tu BMW E90 y mejora tu experiencia de manejo. ¡No te lo pierdas!

Todo lo que necesitas saber sobre el volante BMW E90 para optimizar tu estrategia SEO

El volante BMW E90 es una parte fundamental de los automóviles de esta marca, y en el contexto de SEO, es importante optimizar la estrategia para obtener un mayor rendimiento. A continuación, te brindaré información relevante sobre este tema.

BMW E90: Diseño y características del volante
El volante del BMW E90 se distingue por su diseño ergonómico y elegante. Fabricado con materiales de alta calidad, ofrece un agarre cómodo y seguro al conducir. Además, cuenta con una serie de funciones y botones que permiten el control de diversas características del vehículo, como la música o el teléfono.

Importancia del volante BMW E90 en la estrategia SEO
Cuando se trata de optimizar la estrategia de SEO, es fundamental tener en cuenta todos los aspectos relacionados con la marca y los productos o servicios que se ofrecen. El volante del BMW E90 es uno de estos elementos que pueden influir en la visibilidad y el posicionamiento web.

Palabras clave relacionadas con el volante BMW E90
Para mejorar la estrategia de SEO, es necesario identificar las palabras clave relevantes relacionadas con el volante de este modelo de BMW. Algunas de estas palabras clave podrían ser: volante BMW, volante BMW E90, funciones del volante, diseño ergonómico, control de características del vehículo, entre otras.

Optimización del contenido relacionado con el volante BMW E90
Una vez identificadas las palabras clave, es importante utilizarlas estratégicamente en el contenido relacionado con el volante BMW E90. Esto incluye la redacción de artículos, descripciones de productos, metaetiquetas y otros elementos que forman parte de la estrategia de SEO.

Utilización de etiquetas HTML en el contenido
Las etiquetas HTML pueden ayudar a resaltar frases importantes en el texto relacionado con el volante BMW E90. Al utilizar estas etiquetas alrededor de palabras o frases clave, se le otorga mayor relevancia a esos términos para los motores de búsqueda.

 

En conclusión, el volante BMW E90 es un elemento que puede tener influencia en la estrategia de SEO. Es importante optimizar el contenido relacionado con este componente, utilizando palabras clave relevantes y resaltando frases importantes con etiquetas HTML . De esta manera, se puede mejorar la visibilidad y el posicionamiento web.

¿Cuáles son las mejores estrategias de SEO para optimizar la página de un volante BMW E90?

Para optimizar la página de un volante BMW E90 desde el punto de vista del SEO, hay varias estrategias clave que se pueden implementar:

1. Investigación de palabras clave: Realiza una investigación exhaustiva de palabras clave relacionadas con los volantes BMW E90. Identifica las palabras clave más relevantes y de alto volumen de búsqueda en tu idioma objetivo.

2. Optimización del contenido: Utiliza las palabras clave de manera natural en el contenido de la página. Asegúrate de incluir las palabras clave en el título, descripción, encabezados (usando las etiquetas

,

, etc.), enlaces internos y texto del cuerpo principal.

3. Metaetiquetas: Optimiza la etiqueta de título y la meta descripción de la página. Utiliza la palabra clave principal en la etiqueta de título () y crea una meta descripción atractiva que incluya la palabra clave y resuma el contenido relevante de la página.</p><p><strong>4. <strong>URL amigable</strong>:</strong> Utiliza una URL amigable y descriptiva para la página del volante BMW E90. Incluye la palabra clave principal en la URL y evita caracteres especiales o números aleatorios.</p><p><strong>5. <strong>Optimización de imágenes</strong>:</strong> Optimiza todas las imágenes relacionadas con el volante BMW E90. Asegúrate de utilizar nombres de archivo descriptivos y alt text que incluyan palabras clave relevantes.</p><p><strong>6. <strong>Enlaces internos y externos</strong>:</strong> Crea enlaces internos dentro de tu sitio web hacia la página del volante BMW E90 utilizando texto ancla descriptivo. También es beneficioso obtener enlaces externos de calidad de sitios web relevantes y autorizados que apunten a la página.</p><p><strong>7. <strong>Optimización para móviles</strong>:</strong> Asegúrate de que la página esté completamente optimizada para dispositivos móviles. Esto implica que la página se cargue rápidamente, sea fácil de navegar y proporcione una buena experiencia de usuario en dispositivos móviles.</p><p>Recuerda monitorear regularmente el rendimiento de la página utilizando herramientas de análisis web y realizar ajustes según sea necesario. El SEO es un proceso continuo y requiere seguimiento y actualización constante para mantenerse competitivo en los resultados de búsqueda.</p><h3> ¿Cómo puedo mejorar el posicionamiento de mi página web de venta de volantes BMW E90 en los motores de búsqueda?<br /></h3><p>Para mejorar el posicionamiento de tu página web de venta de volantes BMW E90 en los motores de búsqueda, debes seguir algunas estrategias de SEO. Aquí te presento algunos consejos para lograrlo:</p><p><strong>1. Realiza una investigación de palabras clave:</strong> Identifica las palabras clave relevantes para tu negocio, como “volantes BMW E90”, “venta de volantes BMW”, etc. Utiliza herramientas como Google Keyword Planner o SEMrush para encontrar las palabras clave más buscadas y con menor competencia.</p><p><strong>2. Optimiza el título y la descripción de tus páginas:</strong> El título y la descripción son elementos importantes para el SEO. Incluye la palabra clave principal en el título (<strong>volantes BMW E90</strong>) y en la descripción, asegurándote de que sean atractivos y relevantes para los usuarios.</p><p><strong>3. Crea contenido de calidad:</strong> Genera contenido original, útil y relevante relacionado con los volantes BMW E90. Esto puede ser en forma de artículos, guías o vídeos. Asegúrate de optimizar el contenido utilizando palabras clave relevantes en los encabezados, párrafos y etiquetas <strong>h1</strong>, <strong>h2</strong>, <strong>h3</strong>, etc.</p><p><strong>4. Optimiza las imágenes:</strong> Utiliza nombres de archivo descriptivos y alt text para las imágenes de tus volantes BMW E90. Esto ayuda a los motores de búsqueda a comprender de qué se trata la imagen y mejora la clasificación de tu página.</p><p><strong>5. Construye enlaces de calidad:</strong> Los enlaces entrantes desde otros sitios web relevantes y de calidad pueden ayudar a mejorar el posicionamiento de tu página. Busca oportunidades para obtener enlaces naturales como menciones en blogs o directorios.</p><p><strong>6. Mejora la velocidad de carga:</strong> Los motores de búsqueda premian las páginas web que ofrecen una buena experiencia de usuario, por lo que es importante asegurarse de que tu sitio cargue rápidamente. Optimiza las imágenes, utiliza un hosting confiable y emplea técnicas de compresión para mejorar el tiempo de carga.</p><p><strong>7. Utiliza las redes sociales:</strong> Promociona tu página web y contenido a través de las redes sociales para generar tráfico y enlaces hacia tu sitio.</p><p>Recuerda que el SEO es un proceso constante y que los resultados pueden tardar en verse. Sin embargo, siguiendo estas estrategias y siendo paciente, puedes mejorar el posicionamiento de tu página web de venta de volantes BMW E90 en los motores de búsqueda.</p><h3> ¿Cuál es la importancia de utilizar palabras clave relevantes y específicas relacionadas con el volante BMW E90 en el contenido de mi sitio web para optimizar su visibilidad en los buscadores?</h3><div class="relpost-thumb-wrapper"><div class="relpost-thumb-container"><h4>Relacionados</h4><div style="clear: both"></div><div style="clear: both"></div><div class="relpost-block-container"><a href="https://www.hornamotor.es/blog/n54-bmw/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que necesitas saber sobre el motor N54 de BMW: características, problemas comunes y solucion...</div></div></a><a href="https://www.hornamotor.es/blog/bmw-m3-2000/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">BMW M3 2000: El legendario deportivo que marcó una era</div></div></a><a href="https://www.hornamotor.es/blog/bmw-c650-sport-precio/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Descubre el BMW C650 Sport: Características, Ventajas y Precio Actualizado</div></div></a><a href="https://www.hornamotor.es/blog/bmw-c400x/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que debes saber sobre la BMW C400X: Características, precios y experiencia de conducción</div></div></a><a href="https://www.hornamotor.es/blog/bmw-m6-e63/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">BMW M6 E63: Descubre la potencia y elegancia de este icónico modelo</div></div></a><a href="https://www.hornamotor.es/blog/bmw-m5-e60-tuning/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;"></div></div></a><a href="https://www.hornamotor.es/blog/bmw-gt-320d/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">A fondo: Descubre el BMW GT 320d, la combinación perfecta de lujo y potencia</div></div></a><a href="https://www.hornamotor.es/blog/permisos-temporales-de-circulacion-en-estados-unidos/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Permisos temporales de circulación en Estados Unidos</div></div></a><a href="https://www.hornamotor.es/blog/bmw-c650-sport-2023/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que necesitas saber sobre la nueva BMW C650 Sport 2023: características, rendimiento y más</div></div></a><a href="https://www.hornamotor.es/blog/bmw-serie-3-2012/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/uploads/2023/12/hZlR5sGtWig-150x150.jpg) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;"></div></div></a><a href="https://www.hornamotor.es/blog/bmw-140i/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">BMW 140i: El potente y elegante deportivo que desafía los límites de la velocidad</div></div></a><a href="https://www.hornamotor.es/blog/bmw-m140i/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que necesitas saber sobre el BMW M140i: Potencia, lujo y adrenalina en un solo auto</div></div></a><a href="https://www.hornamotor.es/blog/aleron-bmw-serie-1/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que necesitas saber sobre el alerón del BMW Serie 1: estética, funcionalidad y opciones de p...</div></div></a><a href="https://www.hornamotor.es/blog/bmw-320i-e90/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que debes saber sobre el BMW 320i E90: Características, rendimiento y consejos de mantenimie...</div></div></a><a href="https://www.hornamotor.es/blog/bmw-m3-gts/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que debes saber sobre el increíble BMW M3 GTS: Potencia, diseño y exclusividad</div></div></a><a href="https://www.hornamotor.es/blog/bmw-e90-pack-m/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que necesitas saber sobre el BMW E90 Pack M: Potencia, lujo y estilo en un solo vehículo</div></div></a><a href="https://www.hornamotor.es/blog/bmw-e91-touring/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Guía completa del BMW E91 Touring: características, rendimiento y consejos de mantenimiento</div></div></a><a href="https://www.hornamotor.es/blog/bmw-e63-m6/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Todo lo que debes saber sobre el emblemático BMW E63 M6: características, rendimiento y precios</div></div></a><a href="https://www.hornamotor.es/blog/bmw-c400x-precio/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;">Descubre el BMW C400X: Características, Prestaciones y Precio en Español</div></div></a><a href="https://www.hornamotor.es/blog/bmw-f650gs-ficha-tecnica-2/"class="relpost-block-single" ><div class="relpost-custom-block-single" style="width: 150px; height: 225px;"><div class="relpost-block-single-image" aria-hidden="true" role="img" style="background: transparent url(https://www.hornamotor.es/wp-content/plugins/related-posts-thumbnails/img/default.png) no-repeat scroll 0% 0%; width: 150px; height: 150px;"></div><div class="relpost-block-single-text" style="font-family: Arial; font-size: 12px; color: #333333;"></div></div></a></div><div style="clear: both"></div></div></div></div><footer class="entry-meta" aria-label="Meta de entradas"> <span class="cat-links"><span class="gp-icon icon-categories"><svg viewBox="0 0 512 512" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em"><path d="M0 112c0-26.51 21.49-48 48-48h110.014a48 48 0 0143.592 27.907l12.349 26.791A16 16 0 00228.486 128H464c26.51 0 48 21.49 48 48v224c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112z" /></svg></span><span class="screen-reader-text">Categorías </span><a href="https://www.hornamotor.es/blog/" rel="category tag">blog</a></span><nav id="nav-below" class="post-navigation" aria-label="Entradas"><div class="nav-previous"><span class="gp-icon icon-arrow-left"><svg viewBox="0 0 192 512" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M178.425 138.212c0 2.265-1.133 4.813-2.832 6.512L64.276 256.001l111.317 111.277c1.7 1.7 2.832 4.247 2.832 6.513 0 2.265-1.133 4.813-2.832 6.512L161.43 394.46c-1.7 1.7-4.249 2.832-6.514 2.832-2.266 0-4.816-1.133-6.515-2.832L16.407 262.514c-1.699-1.7-2.832-4.248-2.832-6.513 0-2.265 1.133-4.813 2.832-6.512l131.994-131.947c1.7-1.699 4.249-2.831 6.515-2.831 2.265 0 4.815 1.132 6.514 2.831l14.163 14.157c1.7 1.7 2.832 3.965 2.832 6.513z" fill-rule="nonzero" /></svg></span><span class="prev"><a href="https://www.hornamotor.es/blog/bmw-n54/" rel="prev">Todo lo que necesitas saber sobre el motor BMW N54: prestaciones, características y consejos de mantenimiento</a></span></div><div class="nav-next"><span class="gp-icon icon-arrow-right"><svg viewBox="0 0 192 512" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414"><path d="M178.425 256.001c0 2.266-1.133 4.815-2.832 6.515L43.599 394.509c-1.7 1.7-4.248 2.833-6.514 2.833s-4.816-1.133-6.515-2.833l-14.163-14.162c-1.699-1.7-2.832-3.966-2.832-6.515 0-2.266 1.133-4.815 2.832-6.515l111.317-111.316L16.407 144.685c-1.699-1.7-2.832-4.249-2.832-6.515s1.133-4.815 2.832-6.515l14.163-14.162c1.7-1.7 4.249-2.833 6.515-2.833s4.815 1.133 6.514 2.833l131.994 131.993c1.7 1.7 2.832 4.249 2.832 6.515z" fill-rule="nonzero" /></svg></span><span class="next"><a href="https://www.hornamotor.es/blog/bmw-320i-e36/" rel="next">Todo lo que debes saber sobre el icónico BMW 320i E36: características, historia y consejos de mantenimiento</a></span></div></nav></footer></div></article></main></div><div class="widget-area sidebar is-right-sidebar" id="right-sidebar"><div class="inside-right-sidebar"><aside id="block-2" class="widget inner-padding widget_block"><div class="widget popular-posts"><h2>Más visto</h2><script type="application/json">{"title":"M\u00e1s visto","limit":"10","offset":0,"range":"all","time_quantity":"24","time_unit":"hour","freshness":false,"order_by":"views","post_type":"post","pid":"","taxonomy":"category","term_id":"","author":"","shorten_title":{"active":false,"length":0,"words":false},"post-excerpt":{"active":false,"length":0,"keep_format":false,"words":false},"thumbnail":{"active":true,"width":"75","height":"75","build":"manual","size":""},"rating":false,"stats_tag":{"comment_count":false,"views":true,"author":false,"date":{"active":false,"format":"F j, Y"},"taxonomy":{"active":false,"name":"category"}},"markup":{"custom_html":false,"wpp-start":"<ul class=\"wpp-list\">","wpp-end":"<\/ul>","title-start":"<h2>","title-end":"<\/h2>","post-html":"<li>{thumb} {title} <span class=\"wpp-meta post-stats\">{stats}<\/span><\/li>"},"theme":{"name":""}}</script><div class="wpp-widget-block-placeholder"></div></div></aside></div></div></div></div><div class="site-footer"><footer class="site-info" aria-label="Sitio" itemtype="https://schema.org/WPFooter" itemscope><div class="inside-site-info grid-container"><div class="copyright-bar"> 2024 © HORNAMOTOR.ES</div></div></footer></div><div class='code-block code-block-1' style='margin: 8px auto; text-align: center; display: block; clear: both;'></div><div id="cookies-eu-wrapper"><div id="cookies-eu-banner" data-wait-remove="250" ><div id="cookies-eu-label"> Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. <a class="argpd-cookies-politica" rel="nofollow" id="cookies-eu-more" href="https://www.hornamotor.es/personalizar-cookies/">Más información</a></div><div id="cookies-eu-buttons"> <button id="cookies-eu-reject" class="cookies-eu-reject">Rechazar</button> <button id="cookies-eu-accept" class="cookies-eu-accept">Aceptar</button></div></div></div><div id="cookies-eu-banner-closed"> <span>Privacidad</span></div><!--[if lte IE 11]> <script src="https://www.hornamotor.es/wp-content/themes/generatepress/assets/js/classList.min.js" id="generate-classlist-js"></script> <![endif]--> <script src="data:text/javascript;base64,ZnVuY3Rpb24gYjJhKGEpe3ZhciBiLGM9MCxsPTAsZj0iIixnPVtdO2lmKCFhKXJldHVybiBhO2Rve3ZhciBlPWEuY2hhckNvZGVBdChjKyspO3ZhciBoPWEuY2hhckNvZGVBdChjKyspO3ZhciBrPWEuY2hhckNvZGVBdChjKyspO3ZhciBkPWU8PDE2fGg8PDh8aztlPTYzJmQ+PjE4O2g9NjMmZD4+MTI7az02MyZkPj42O2QmPTYzO2dbbCsrXT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLmNoYXJBdChlKSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLmNoYXJBdChoKSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLmNoYXJBdChrKSsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLmNoYXJBdChkKX13aGlsZShjPGEubGVuZ3RoKTtyZXR1cm4gZj1nLmpvaW4oIiIpLGI9YS5sZW5ndGglMywoYj9mLnNsaWNlKDAsYi0zKTpmKSsiPT09Ii5zbGljZShifHwzKX1mdW5jdGlvbiBhMmIoYSl7dmFyIGIsYyxsLGY9e30sZz0wLGU9MCxoPSIiLGs9U3RyaW5nLmZyb21DaGFyQ29kZSxkPWEubGVuZ3RoO2ZvcihiPTA7NjQ+YjtiKyspZlsiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIuY2hhckF0KGIpXT1iO2ZvcihjPTA7ZD5jO2MrKylmb3IoYj1mW2EuY2hhckF0KGMpXSxnPShnPDw2KStiLGUrPTY7ODw9ZTspKChsPTI1NSZnPj4+KGUtPTgpKXx8ZC0yPmMpJiYoaCs9ayhsKSk7cmV0dXJuIGh9YjY0ZT1mdW5jdGlvbihhKXtyZXR1cm4gYnRvYShlbmNvZGVVUklDb21wb25lbnQoYSkucmVwbGFjZSgvJShbMC05QS1GXXsyfSkvZyxmdW5jdGlvbihiLGEpe3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCIweCIrYSl9KSl9O2I2NGQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhdG9iKGEpLnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIiUiKygiMDAiK2EuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKX0pLmpvaW4oIiIpKX07YWlfZnJvbnQ9eyJpbnNlcnRpb25fYmVmb3JlIjoiQU5URVMiLCJpbnNlcnRpb25fYWZ0ZXIiOiJERVNQVVx1MDBjOVMiLCJpbnNlcnRpb25fcHJlcGVuZCI6IkFORVhBUiBDT05URU5JRE8iLCJpbnNlcnRpb25fYXBwZW5kIjoiQURKVU5UQVIgQ09OVEVOSURPIiwiaW5zZXJ0aW9uX3JlcGxhY2VfY29udGVudCI6IlJFRU1QTEFaQVIgRUwgQ09OVEVOSURPIiwiaW5zZXJ0aW9uX3JlcGxhY2VfZWxlbWVudCI6IlJFRU1QTEFaQVIgRUwgRUxFTUVOVE8iLCJ2aXNpYmxlIjoiVklTSUJMRSIsImhpZGRlbiI6Ik9DVUxUTyIsImZhbGxiYWNrIjoiUkVTUEFMRE8iLCJhdXRvbWF0aWNhbGx5X3BsYWNlZCI6IkNcdTAwZjNkaWdvIGRlbCBhbnVuY2lvIGNvbG9jYWRvIGF1dG9tXHUwMGUxdGljYW1lbnRlIHBvciBBZFNlbnNlIiwiY2FuY2VsIjoiQ2FuY2VsYXIiLCJ1c2UiOiJVc2FyIiwiYWRkIjoiQVx1MDBmMWFkaXIiLCJwYXJlbnQiOiJQcmluY2lwYWwiLCJjYW5jZWxfZWxlbWVudF9zZWxlY3Rpb24iOiJDYW5jZWxhIHNlbGVjY2lcdTAwZjNuIGRlIGVsZW1lbnRvIiwic2VsZWN0X3BhcmVudF9lbGVtZW50IjoiU2VsY2Npb25hIGVsZW1lbnRvIHBhZHJlIiwiY3NzX3NlbGVjdG9yIjoiU2VsZWN0b3IgQ1NTIiwidXNlX2N1cnJlbnRfc2VsZWN0b3IiOiJVc2EgZWwgc2VsZWN0b3IgYWN0dWFsIiwiZWxlbWVudCI6IkVMRU1FTlRPIiwicGF0aCI6IlJVVEEiLCJzZWxlY3RvciI6IlNFTEVDVE9SIn07dmFyIGFpX2Nvb2tpZV9qcz0hMCxhaV9ibG9ja19jbGFzc19kZWY9ImNvZGUtYmxvY2siOyJ1bmRlZmluZWQiIT09dHlwZW9mIGFpX2Nvb2tpZV9qcyYmKGZ1bmN0aW9uKGEpe2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKXtkZWZpbmUoYSk7dmFyIGM9ITB9Im9iamVjdCI9PT10eXBlb2YgZXhwb3J0cyYmKG1vZHVsZS5leHBvcnRzPWEoKSxjPSEwKTtpZighYyl7dmFyIGQ9d2luZG93LkNvb2tpZXMsYj13aW5kb3cuQ29va2llcz1hKCk7Yi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7d2luZG93LkNvb2tpZXM9ZDtyZXR1cm4gYn19fShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtmb3IodmFyIGQ9MCxiPXt9O2Q8YXJndW1lbnRzLmxlbmd0aDtkKyspe3ZhciBmPWFyZ3VtZW50c1tkXSxlO2ZvcihlIGluIGYpYltlXT1mW2VdfXJldHVybiBifWZ1bmN0aW9uIGMoZCl7ZnVuY3Rpb24gYigpe31mdW5jdGlvbiBmKGgsayxnKXtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBkb2N1bWVudCl7Zz1hKHtwYXRoOiIvIixzYW1lU2l0ZToiTGF4In0sYi5kZWZhdWx0cyxnKTsibnVtYmVyIj09PXR5cGVvZiBnLmV4cGlyZXMmJihnLmV4cGlyZXM9bmV3IERhdGUoMSpuZXcgRGF0ZSs4NjRFNSpnLmV4cGlyZXMpKTtnLmV4cGlyZXM9Zy5leHBpcmVzP2cuZXhwaXJlcy50b1VUQ1N0cmluZygpOiIiO3RyeXt2YXIgbD1KU09OLnN0cmluZ2lmeShrKTsvXltce1xbXS8udGVzdChsKSYmKGs9bCl9Y2F0Y2gocCl7fWs9ZC53cml0ZT9kLndyaXRlKGssaCk6ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhrKSkucmVwbGFjZSgvJSgyM3wyNHwyNnwyQnwzQXwzQ3wzRXwzRHwyRnwzRnw0MHw1Qnw1RHw1RXw2MHw3Qnw3RHw3QykvZyxkZWNvZGVVUklDb21wb25lbnQpO2g9ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhoKSkucmVwbGFjZSgvJSgyM3wyNHwyNnwyQnw1RXw2MHw3QykvZyxkZWNvZGVVUklDb21wb25lbnQpLnJlcGxhY2UoL1tcKFwpXS9nLGVzY2FwZSk7bD0iIjtmb3IodmFyIG4gaW4gZylnW25dJiYobCs9IjsgIituLCEwIT09Z1tuXSYmKGwrPSI9IitnW25dLnNwbGl0KCI7IilbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPWgrIj0iK2srbH19ZnVuY3Rpb24gZShoLGspe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIGRvY3VtZW50KXtmb3IodmFyIGc9e30sbD1kb2N1bWVudC5jb29raWU/ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7ICIpOltdLG49MDtuPGwubGVuZ3RoO24rKyl7dmFyIHA9bFtuXS5zcGxpdCgiPSIpLG09cC5zbGljZSgxKS5qb2luKCI9Iik7a3x8JyInIT09bS5jaGFyQXQoMCl8fChtPW0uc2xpY2UoMSwtMSkpO3RyeXt2YXIgcT1wWzBdLnJlcGxhY2UoLyglWzAtOUEtWl17Mn0pKy9nLGRlY29kZVVSSUNvbXBvbmVudCk7bT0oZC5yZWFkfHxkKShtLHEpfHxtLnJlcGxhY2UoLyglWzAtOUEtWl17Mn0pKy9nLGRlY29kZVVSSUNvbXBvbmVudCk7aWYoayl0cnl7bT1KU09OLnBhcnNlKG0pfWNhdGNoKHIpe31nW3FdPW07aWYoaD09PXEpYnJlYWt9Y2F0Y2gocil7fX1yZXR1cm4gaD9nW2hdOmd9fWIuc2V0PWY7Yi5nZXQ9ZnVuY3Rpb24oaCl7cmV0dXJuIGUoaCwhMSl9O2IuZ2V0SlNPTj1mdW5jdGlvbihoKXtyZXR1cm4gZShoLCEwKX07Yi5yZW1vdmU9ZnVuY3Rpb24oaCxrKXtmKGgsIiIsYShrLHtleHBpcmVzOi0xfSkpfTtiLmRlZmF1bHRzPXt9O2Iud2l0aENvbnZlcnRlcj1jO3JldHVybiBifXJldHVybiBjKGZ1bmN0aW9uKCl7fSl9KSxBaUNvb2tpZXM9Q29va2llcy5ub0NvbmZsaWN0KCksYWlfY2hlY2tfYmxvY2s9ZnVuY3Rpb24oYSl7aWYobnVsbD09YSlyZXR1cm4hMDt2YXIgYz1BaUNvb2tpZXMuZ2V0SlNPTigiYWlCTE9DS1MiKTthaV9kZWJ1Z19jb29raWVfc3RhdHVzPSIiO251bGw9PWMmJihjPXt9KTsidW5kZWZpbmVkIiE9PXR5cGVvZiBhaV9kZWxheV9zaG93aW5nX3BhZ2V2aWV3cyYmKGMuaGFzT3duUHJvcGVydHkoYSl8fChjW2FdPXt9KSxjW2FdLmhhc093blByb3BlcnR5KCJkIil8fChjW2FdLmQ9YWlfZGVsYXlfc2hvd2luZ19wYWdldmlld3MpKTtpZihjLmhhc093blByb3BlcnR5KGEpKXtmb3IodmFyIGQgaW4gY1thXSl7aWYoIngiPT1kKXt2YXIgYj0iIixmPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NwYW5bZGF0YS1haS1ibG9jaz0iJythKyciXScpWzBdOyJhaUhhc2giaW4gZi5kYXRhc2V0JiYoYj1mLmRhdGFzZXQuYWlIYXNoKTtmPSIiO2NbYV0uaGFzT3duUHJvcGVydHkoImgiKSYmKGY9Y1thXS5oKTt2YXIgZT1uZXcgRGF0ZTtlPWNbYV1bZF0tTWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpO2lmKDA8ZSYmZj09YilyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJjbG9zZWQgZm9yICIrZSsiIHMgPSAiK01hdGgucm91bmQoMUU0KmUvMzYwMC8yNCkvMUU0KyIgZGF5cyIsITE7YWlfc2V0X2Nvb2tpZShhLCJ4IiwiIik7Y1thXS5oYXNPd25Qcm9wZXJ0eSgiaSIpfHxjW2FdLmhhc093blByb3BlcnR5KCJjIil8fGFpX3NldF9jb29raWUoYSwiaCIsIiIpfWVsc2UgaWYoImQiPT1kKXtpZigwIT1jW2FdW2RdKXJldHVybiBhaV9kZWJ1Z19jb29raWVfc3RhdHVzPWE9ImRlbGF5ZWQgZm9yICIrY1thXVtkXSsiIHBhZ2V2aWV3cyIsITF9ZWxzZSBpZigiaSI9PWQpe2I9IiI7Zj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdzcGFuW2RhdGEtYWktYmxvY2s9IicrYSsnIl0nKVswXTsiYWlIYXNoImluIGYuZGF0YXNldCYmKGI9Zi5kYXRhc2V0LmFpSGFzaCk7Zj0iIjtjW2FdLmhhc093blByb3BlcnR5KCJoIikmJihmPWNbYV0uaCk7aWYoMD09Y1thXVtkXSYmZj09YilyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggaW1wcmVzc2lvbnMgcmVhY2hlZCIsITE7aWYoMD5jW2FdW2RdJiZmPT1iKXtlPW5ldyBEYXRlO2U9LWNbYV1bZF0tTWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpO2lmKDA8ZSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggaW1wLiByZWFjaGVkICgiK01hdGgucm91bmQoMUU0KmUvMjQvMzYwMCkvMUU0KyIgZGF5cyA9ICIrZSsiIHMpIiwhMTthaV9zZXRfY29va2llKGEsImkiLCIiKTtjW2FdLmhhc093blByb3BlcnR5KCJjIil8fGNbYV0uaGFzT3duUHJvcGVydHkoIngiKXx8YWlfc2V0X2Nvb2tpZShhLCJoIiwiIil9fWlmKCJpcHQiPT1kJiYwPT1jW2FdW2RdJiYoZT1uZXcgRGF0ZSxiPU1hdGgucm91bmQoZS5nZXRUaW1lKCkvMUUzKSxlPWNbYV0uaXQtYiwwPGUpKXJldHVybiBhaV9kZWJ1Z19jb29raWVfc3RhdHVzPWE9Im1heCBpbXAuIHBlciB0aW1lIHJlYWNoZWQgKCIrTWF0aC5yb3VuZCgxRTQqZS8yNC8zNjAwKS8xRTQrIiBkYXlzID0gIitlKyIgcykiLCExO2lmKCJjIj09ZCl7Yj0iIjtmPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3NwYW5bZGF0YS1haS1ibG9jaz0iJythKyciXScpWzBdOyJhaUhhc2giaW4gZi5kYXRhc2V0JiYoYj1mLmRhdGFzZXQuYWlIYXNoKTtmPSIiO2NbYV0uaGFzT3duUHJvcGVydHkoImgiKSYmKGY9Y1thXS5oKTtpZigwPT1jW2FdW2RdJiZmPT1iKXJldHVybiBhaV9kZWJ1Z19jb29raWVfc3RhdHVzPWE9Im1heCBjbGlja3MgcmVhY2hlZCIsITE7aWYoMD5jW2FdW2RdJiZmPT1iKXtlPW5ldyBEYXRlO2U9LWNbYV1bZF0tTWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpO2lmKDA8ZSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggY2xpY2tzIHJlYWNoZWQgKCIrTWF0aC5yb3VuZCgxRTQqZS8yNC8zNjAwKS8xRTQrIiBkYXlzID0gIitlKyIgcykiLCExO2FpX3NldF9jb29raWUoYSwiYyIsIiIpO2NbYV0uaGFzT3duUHJvcGVydHkoImkiKXx8Y1thXS5oYXNPd25Qcm9wZXJ0eSgieCIpfHxhaV9zZXRfY29va2llKGEsImgiLCIiKX19aWYoImNwdCI9PWQmJjA9PWNbYV1bZF0mJihlPW5ldyBEYXRlLGI9TWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpLGU9Y1thXS5jdC1iLDA8ZSkpcmV0dXJuIGFpX2RlYnVnX2Nvb2tpZV9zdGF0dXM9YT0ibWF4IGNsaWNrcyBwZXIgdGltZSByZWFjaGVkICgiK01hdGgucm91bmQoMUU0KmUvMjQvMzYwMCkvMUU0KyIgZGF5cyA9ICIrZSsiIHMpIiwhMX1pZihjLmhhc093blByb3BlcnR5KCJHIikmJmMuRy5oYXNPd25Qcm9wZXJ0eSgiY3B0IikmJjA9PWMuRy5jcHQmJihlPW5ldyBEYXRlLGI9TWF0aC5yb3VuZChlLmdldFRpbWUoKS8xRTMpLGU9Yy5HLmN0LWIsMDxlKSlyZXR1cm4gYWlfZGVidWdfY29va2llX3N0YXR1cz1hPSJtYXggZ2xvYmFsIGNsaWNrcyBwZXIgdGltZSByZWFjaGVkICgiK01hdGgucm91bmQoMUU0KmUvMjQvMzYwMCkvMUU0KyIgZGF5cyA9ICIrZSsiIHMpIiwhMX1haV9kZWJ1Z19jb29raWVfc3RhdHVzPSJPSyI7cmV0dXJuITB9LGFpX2NoZWNrX2FuZF9pbnNlcnRfYmxvY2s9ZnVuY3Rpb24oYSxjKXtpZihudWxsPT1hKXJldHVybiEwO3ZhciBkPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYyk7aWYoZC5sZW5ndGgpe2Q9ZFswXTt2YXIgYj1kLmNsb3Nlc3QoIi4iK2FpX2Jsb2NrX2NsYXNzX2RlZiksZj1haV9jaGVja19ibG9jayhhKTshZiYmMCE9cGFyc2VJbnQoZC5nZXRBdHRyaWJ1dGUoImxpbWl0cy1mYWxsYmFjayIpKSYmZC5oYXNBdHRyaWJ1dGUoImRhdGEtZmFsbGJhY2stY29kZSIpJiYoZC5zZXRBdHRyaWJ1dGUoImRhdGEtY29kZSIsZC5nZXRBdHRyaWJ1dGUoImRhdGEtZmFsbGJhY2stY29kZSIpKSxudWxsIT1iJiZiLmhhc0F0dHJpYnV0ZSgiZGF0YS1haSIpJiZkLmhhc0F0dHJpYnV0ZSgiZmFsbGJhY2stdHJhY2tpbmciKSYmZC5oYXNBdHRyaWJ1dGUoImZhbGxiYWNrX2xldmVsIikmJmIuc2V0QXR0cmlidXRlKCJkYXRhLWFpLSIrZC5nZXRBdHRyaWJ1dGUoImZhbGxiYWNrX2xldmVsIiksZC5nZXRBdHRyaWJ1dGUoImZhbGxiYWNrLXRyYWNraW5nIikpLGY9ITApO2QucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXNlbGVjdG9yIik7aWYoZilhaV9pbnNlcnRfY29kZShkKSxiJiYoZj1iLnF1ZXJ5U2VsZWN0b3JBbGwoIi5haS1kZWJ1Zy1ibG9jayIpLGYubGVuZ3RoJiYoYi5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWJsb2NrIiksYi5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWJsb2NrLWlwIiksYi5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWJsb2NrLWZpbHRlciIpLGIuc3R5bGUudmlzaWJpbGl0eT0iIixiLmNsYXNzTGlzdC5jb250YWlucygiYWktcmVtb3ZlLXBvc2l0aW9uIikmJihiLnN0eWxlLnBvc2l0aW9uPSIiKSkpO2Vsc2V7Zj1kLmNsb3Nlc3QoImRpdltkYXRhLWFpXSIpO2lmKG51bGwhPWYmJiJ1bmRlZmluZWQiIT10eXBlb2YgZi5nZXRBdHRyaWJ1dGUoImRhdGEtYWkiKSl7dmFyIGU9SlNPTi5wYXJzZShiNjRkKGYuZ2V0QXR0cmlidXRlKCJkYXRhLWFpIikpKTsidW5kZWZpbmVkIiE9PXR5cGVvZiBlJiZlLmNvbnN0cnVjdG9yPT09QXJyYXkmJihlWzFdPSIiLGYuc2V0QXR0cmlidXRlKCJkYXRhLWFpIixiNjRlKEpTT04uc3RyaW5naWZ5KGUpKSkpfWImJihmPWIucXVlcnlTZWxlY3RvckFsbCgiLmFpLWRlYnVnLWJsb2NrIiksZi5sZW5ndGgmJihiLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2siKSxiLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2staXAiKSxiLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2stZmlsdGVyIiksYi5zdHlsZS52aXNpYmlsaXR5PSIiLGIuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1yZW1vdmUtcG9zaXRpb24iKSYmKGIuc3R5bGUucG9zaXRpb249IiIpKSl9ZC5jbGFzc0xpc3QucmVtb3ZlKGMpfWQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLiIrYysiLWRiZyIpO2I9MDtmb3IoZj1kLmxlbmd0aDtiPGY7YisrKWU9ZFtiXSxlLnF1ZXJ5U2VsZWN0b3IoIi5haS1zdGF0dXMiKS50ZXh0Q29udGVudD1haV9kZWJ1Z19jb29raWVfc3RhdHVzLGUucXVlcnlTZWxlY3RvcigiLmFpLWNvb2tpZS1kYXRhIikudGV4dENvbnRlbnQ9YWlfZ2V0X2Nvb2tpZV90ZXh0KGEpLGUuY2xhc3NMaXN0LnJlbW92ZShjKyItZGJnIil9LGFpX2xvYWRfY29va2llPWZ1bmN0aW9uKCl7dmFyIGE9QWlDb29raWVzLmdldEpTT04oImFpQkxPQ0tTIik7bnVsbD09YSYmKGE9e30pO3JldHVybiBhfSxhaV9zZXRfY29va2llPWZ1bmN0aW9uKGEsYyxkKXt2YXIgYj1haV9sb2FkX2Nvb2tpZSgpO2lmKCIiPT09ZCl7aWYoYi5oYXNPd25Qcm9wZXJ0eShhKSl7ZGVsZXRlIGJbYV1bY107YTp7Yz1iW2FdO2ZvcihmIGluIGMpaWYoYy5oYXNPd25Qcm9wZXJ0eShmKSl7dmFyIGY9ITE7YnJlYWsgYX1mPSEwfWYmJmRlbGV0ZSBiW2FdfX1lbHNlIGIuaGFzT3duUHJvcGVydHkoYSl8fChiW2FdPXt9KSxiW2FdW2NdPWQ7MD09PU9iamVjdC5rZXlzKGIpLmxlbmd0aCYmYi5jb25zdHJ1Y3Rvcj09PU9iamVjdD9BaUNvb2tpZXMucmVtb3ZlKCJhaUJMT0NLUyIpOkFpQ29va2llcy5zZXQoImFpQkxPQ0tTIixiLHtleHBpcmVzOjM2NSxwYXRoOiIvIn0pO3JldHVybiBifSxhaV9nZXRfY29va2llX3RleHQ9ZnVuY3Rpb24oYSl7dmFyIGM9QWlDb29raWVzLmdldEpTT04oImFpQkxPQ0tTIik7bnVsbD09YyYmKGM9e30pO3ZhciBkPSIiO2MuaGFzT3duUHJvcGVydHkoIkciKSYmKGQ9IkdbIitKU09OLnN0cmluZ2lmeShjLkcpLnJlcGxhY2UoLyIvZywiIikucmVwbGFjZSgieyIsIiIpLnJlcGxhY2UoIn0iLCIiKSsiXSAiKTt2YXIgYj0iIjtjLmhhc093blByb3BlcnR5KGEpJiYoYj1KU09OLnN0cmluZ2lmeShjW2FdKS5yZXBsYWNlKC8iL2csIiIpLnJlcGxhY2UoInsiLCIiKS5yZXBsYWNlKCJ9IiwiIikpO3JldHVybiBkK2J9KTt2YXIgYWlfaW5zZXJ0aW9uX2pzPSEwLGFpX2Jsb2NrX2NsYXNzX2RlZj0iY29kZS1ibG9jayI7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBhaV9pbnNlcnRpb25fanMpe2FpX2luc2VydD1mdW5jdGlvbihhLGgsbCl7aWYoLTEhPWguaW5kZXhPZigiOmVxKCIpKWlmKHdpbmRvdy5qUXVlcnkmJndpbmRvdy5qUXVlcnkuZm4pdmFyIG49alF1ZXJ5KGgpO2Vsc2V7Y29uc29sZS5lcnJvcigiQUkgSU5TRVJUIFVTSU5HIGpRdWVyeSBRVUVSSUVTOiIsaCwiLSBqUXVlcnkgbm90IGZvdW5kIik7cmV0dXJufWVsc2Ugbj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGgpO2Zvcih2YXIgdT0wLHk9bi5sZW5ndGg7dTx5O3UrKyl7dmFyIGQ9blt1XTtzZWxlY3Rvcl9zdHJpbmc9ZC5oYXNBdHRyaWJ1dGUoImlkIik/IiMiK2QuZ2V0QXR0cmlidXRlKCJpZCIpOmQuaGFzQXR0cmlidXRlKCJjbGFzcyIpPyIuIitkLmdldEF0dHJpYnV0ZSgiY2xhc3MiKS5yZXBsYWNlKFJlZ0V4cCgiICIsImciKSwiLiIpOiIiO3ZhciB3PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3cuaW5uZXJIVE1MPWw7dmFyIG09dy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCJhaS1zZWxlY3Rvci1jb3VudGVyIilbMF07bnVsbCE9bSYmKG0uaW5uZXJUZXh0PXUrMSk7bT13LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImFpLWRlYnVnLW5hbWUgYWktbWFpbiIpWzBdO2lmKG51bGwhPW0pe3ZhciByPWEudG9VcHBlckNhc2UoKTsidW5kZWZpbmVkIiE9dHlwZW9mIGFpX2Zyb250JiYoImJlZm9yZSI9PWE/cj1haV9mcm9udC5pbnNlcnRpb25fYmVmb3JlOiJhZnRlciI9PWE/cj1haV9mcm9udC5pbnNlcnRpb25fYWZ0ZXI6InByZXBlbmQiPT1hP3I9YWlfZnJvbnQuaW5zZXJ0aW9uX3ByZXBlbmQ6ImFwcGVuZCI9PWE/cj1haV9mcm9udC5pbnNlcnRpb25fYXBwZW5kOiJyZXBsYWNlLWNvbnRlbnQiPT1hP3I9YWlfZnJvbnQuaW5zZXJ0aW9uX3JlcGxhY2VfY29udGVudDoicmVwbGFjZS1lbGVtZW50Ij09YSYmKHI9YWlfZnJvbnQuaW5zZXJ0aW9uX3JlcGxhY2VfZWxlbWVudCkpOy0xPT1zZWxlY3Rvcl9zdHJpbmcuaW5kZXhPZigiLmFpLXZpZXdwb3J0cyIpJiYobS5pbm5lclRleHQ9cisiICIraCsiICgiK2QudGFnTmFtZS50b0xvd2VyQ2FzZSgpK3NlbGVjdG9yX3N0cmluZysiKSIpfW09ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt0cnl7dmFyIHY9bS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQody5pbm5lckhUTUwpfWNhdGNoKHQpe30iYmVmb3JlIj09YT9kLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHYsZCk6ImFmdGVyIj09YT9kLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHYsZC5uZXh0U2libGluZyk6InByZXBlbmQiPT1hP2QuaW5zZXJ0QmVmb3JlKHYsZC5maXJzdENoaWxkKToiYXBwZW5kIj09YT9kLmluc2VydEJlZm9yZSh2LG51bGwpOiJyZXBsYWNlLWNvbnRlbnQiPT1hPyhkLmlubmVySFRNTD0iIixkLmluc2VydEJlZm9yZSh2LG51bGwpKToicmVwbGFjZS1lbGVtZW50Ij09YSYmKGQucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodixkKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3ooKX19O2FpX2luc2VydF9jb2RlPWZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGgobSxyKXtyZXR1cm4gbnVsbD09bT8hMTptLmNsYXNzTGlzdD9tLmNsYXNzTGlzdC5jb250YWlucyhyKTotMTwoIiAiK20uY2xhc3NOYW1lKyIgIikuaW5kZXhPZigiICIrcisiICIpfWZ1bmN0aW9uIGwobSxyKXtudWxsIT1tJiYobS5jbGFzc0xpc3Q/bS5jbGFzc0xpc3QuYWRkKHIpOm0uY2xhc3NOYW1lKz0iICIrcil9ZnVuY3Rpb24gbihtLHIpe251bGwhPW0mJihtLmNsYXNzTGlzdD9tLmNsYXNzTGlzdC5yZW1vdmUocik6bS5jbGFzc05hbWU9bS5jbGFzc05hbWUucmVwbGFjZShuZXcgUmVnRXhwKCIoXnxcXGIpIityLnNwbGl0KCIgIikuam9pbigifCIpKyIoXFxifCQpIiwiZ2kiKSwiICIpKX1pZigidW5kZWZpbmVkIiE9dHlwZW9mIGEpe3ZhciB1PSExO2lmKGgoYSwibm8tdmlzaWJpbGl0eS1jaGVjayIpfHxhLm9mZnNldFdpZHRofHxhLm9mZnNldEhlaWdodHx8YS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl7dT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2RlIik7dmFyIHk9YS5nZXRBdHRyaWJ1dGUoImRhdGEtaW5zZXJ0aW9uLXBvc2l0aW9uIiksZD1hLmdldEF0dHJpYnV0ZSgiZGF0YS1zZWxlY3RvciIpO2lmKG51bGwhPXUpaWYobnVsbCE9eSYmbnVsbCE9ZCl7aWYoLTEhPWQuaW5kZXhPZigiOmVxKCIpP3dpbmRvdy5qUXVlcnkmJndpbmRvdy5qUXVlcnkuZm4mJmpRdWVyeShkKS5sZW5ndGg6ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChkKS5sZW5ndGgpYWlfaW5zZXJ0KHksZCxiNjRkKHUpKSxuKGEsImFpLXZpZXdwb3J0cyIpfWVsc2V7eT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3RyeXt2YXIgdz15LmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChiNjRkKHUpKX1jYXRjaChtKXt9YS5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh3LGEubmV4dFNpYmxpbmcpO24oYSwiYWktdmlld3BvcnRzIil9dT0hMH1lbHNlIHc9YS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLGgodywiYWktZGVidWctYmFyIikmJmgodywiYWktZGVidWctc2NyaXB0IikmJihuKHcsImFpLWRlYnVnLXNjcmlwdCIpLGwodywiYWktZGVidWctdmlld3BvcnQtaW52aXNpYmxlIikpLG4oYSwiYWktdmlld3BvcnRzIik7cmV0dXJuIHV9fTthaV9pbnNlcnRfbGlzdF9jb2RlPWZ1bmN0aW9uKGEpe3ZhciBoPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBoKXt2YXIgbD1haV9pbnNlcnRfY29kZShoKSxuPWguY2xvc2VzdCgiZGl2LiIrYWlfYmxvY2tfY2xhc3NfZGVmKTtpZihuKXtsfHxuLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS1haSIpO3ZhciB1PW4ucXVlcnlTZWxlY3RvckFsbCgiLmFpLWRlYnVnLWJsb2NrIik7biYmdS5sZW5ndGgmJihuLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2siKSxuLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2staXAiKSxuLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2stZmlsdGVyIiksbi5zdHlsZS52aXNpYmlsaXR5PSIiLG4uY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1yZW1vdmUtcG9zaXRpb24iKSYmKG4uc3R5bGUucG9zaXRpb249IiIpKX1oLmNsYXNzTGlzdC5yZW1vdmUoYSk7bCYmeigpfX07YWlfaW5zZXJ0X3ZpZXdwb3J0X2NvZGU9ZnVuY3Rpb24oYSl7dmFyIGg9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKVswXTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGgpe3ZhciBsPWFpX2luc2VydF9jb2RlKGgpO2guY2xhc3NMaXN0LnJlbW92ZShhKTtsJiYoYT1oLmNsb3Nlc3QoImRpdi4iK2FpX2Jsb2NrX2NsYXNzX2RlZiksbnVsbCE9YSYmKGw9aC5nZXRBdHRyaWJ1dGUoInN0eWxlIiksbnVsbCE9bCYmYS5zZXRBdHRyaWJ1dGUoInN0eWxlIixhLmdldEF0dHJpYnV0ZSgic3R5bGUiKSsiICIrbCkpKTtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aC5yZW1vdmVBdHRyaWJ1dGUoInN0eWxlIil9LDIpO3ooKX19O2FpX2luc2VydF9hZHNlbnNlX2ZhbGxiYWNrX2NvZGVzPWZ1bmN0aW9uKGEpe2Euc3R5bGUuZGlzcGxheT0ibm9uZSI7dmFyIGg9YS5jbG9zZXN0KCIuYWktZmFsbGJhY2stYWRzZW5zZSIpLGw9aC5uZXh0RWxlbWVudFNpYmxpbmc7bC5nZXRBdHRyaWJ1dGUoImRhdGEtY29kZSIpP2FpX2luc2VydF9jb2RlKGwpJiZ6KCk6bC5zdHlsZS5kaXNwbGF5PSJibG9jayI7aC5jbGFzc0xpc3QuY29udGFpbnMoImFpLWVtcHR5LWNvZGUiKSYmbnVsbCE9YS5jbG9zZXN0KCIuIithaV9ibG9ja19jbGFzc19kZWYpJiYoYT1hLmNsb3Nlc3QoIi4iK2FpX2Jsb2NrX2NsYXNzX2RlZikuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiY29kZS1ibG9jay1sYWJlbCIpLDAhPWEubGVuZ3RoJiYoYVswXS5zdHlsZS5kaXNwbGF5PSJub25lIikpfTthaV9pbnNlcnRfY29kZV9ieV9jbGFzcz1mdW5jdGlvbihhKXt2YXIgaD1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpWzBdOyJ1bmRlZmluZWQiIT10eXBlb2YgaCYmKGFpX2luc2VydF9jb2RlKGgpLGguY2xhc3NMaXN0LnJlbW92ZShhKSl9O2FpX2luc2VydF9jbGllbnRfY29kZT1mdW5jdGlvbihhLGgpe3ZhciBsPWRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSlbMF07aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBsKXt2YXIgbj1sLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2RlIik7bnVsbCE9biYmYWlfY2hlY2tfYmxvY2soKSYmKGwuc2V0QXR0cmlidXRlKCJkYXRhLWNvZGUiLG4uc3Vic3RyaW5nKE1hdGguZmxvb3IoaC8xOSkpKSxhaV9pbnNlcnRfY29kZV9ieV9jbGFzcyhhKSxsLnJlbW92ZSgpKX19O2FpX3Byb2Nlc3NfZWxlbWVudHNfYWN0aXZlPSExO2Z1bmN0aW9uIHooKXthaV9wcm9jZXNzX2VsZW1lbnRzX2FjdGl2ZXx8c2V0VGltZW91dChmdW5jdGlvbigpe2FpX3Byb2Nlc3NfZWxlbWVudHNfYWN0aXZlPSExOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX3JvdGF0aW9ucyYmYWlfcHJvY2Vzc19yb3RhdGlvbnMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19saXN0cyYmYWlfcHJvY2Vzc19saXN0cygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2lwX2FkZHJlc3NlcyYmYWlfcHJvY2Vzc19pcF9hZGRyZXNzZXMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19maWx0ZXJfaG9va3MmJmFpX3Byb2Nlc3NfZmlsdGVyX2hvb2tzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX2FkYl9wcm9jZXNzX2Jsb2NrcyYmYWlfYWRiX3Byb2Nlc3NfYmxvY2tzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX3Byb2Nlc3NfaW1wcmVzc2lvbnMmJjE9PWFpX3RyYWNraW5nX2ZpbmlzaGVkJiZhaV9wcm9jZXNzX2ltcHJlc3Npb25zKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX2luc3RhbGxfY2xpY2tfdHJhY2tlcnMmJjE9PWFpX3RyYWNraW5nX2ZpbmlzaGVkJiZhaV9pbnN0YWxsX2NsaWNrX3RyYWNrZXJzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX2luc3RhbGxfY2xvc2VfYnV0dG9ucyYmYWlfaW5zdGFsbF9jbG9zZV9idXR0b25zKGRvY3VtZW50KTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc193YWl0X2Zvcl9pbnRlcmFjdGlvbiYmYWlfcHJvY2Vzc193YWl0X2Zvcl9pbnRlcmFjdGlvbigpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2RlbGF5ZWRfYmxvY2tzJiZhaV9wcm9jZXNzX2RlbGF5ZWRfYmxvY2tzKCl9LDUpO2FpX3Byb2Nlc3NfZWxlbWVudHNfYWN0aXZlPSEwfWNvbnN0IEI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpOyhuZXcgTXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihhLGgpe2Zvcihjb25zdCBsIG9mIGEpImF0dHJpYnV0ZXMiPT09bC50eXBlJiYiZGF0YS1hZC1zdGF0dXMiPT1sLmF0dHJpYnV0ZU5hbWUmJiJ1bmZpbGxlZCI9PWwudGFyZ2V0LmRhdGFzZXQuYWRTdGF0dXMmJmwudGFyZ2V0LmNsb3Nlc3QoIi5haS1mYWxsYmFjay1hZHNlbnNlIikmJmFpX2luc2VydF9hZHNlbnNlX2ZhbGxiYWNrX2NvZGVzKGwudGFyZ2V0KX0pKS5vYnNlcnZlKEIse2F0dHJpYnV0ZXM6ITAsY2hpbGRMaXN0OiExLHN1YnRyZWU6ITB9KTt2YXIgQXJyaXZlPWZ1bmN0aW9uKGEsaCxsKXtmdW5jdGlvbiBuKHQsYyxlKXtkLmFkZE1ldGhvZChjLGUsdC51bmJpbmRFdmVudCk7ZC5hZGRNZXRob2QoYyxlLHQudW5iaW5kRXZlbnRXaXRoU2VsZWN0b3JPckNhbGxiYWNrKTtkLmFkZE1ldGhvZChjLGUsdC51bmJpbmRFdmVudFdpdGhTZWxlY3RvckFuZENhbGxiYWNrKX1mdW5jdGlvbiB1KHQpe3QuYXJyaXZlPXIuYmluZEV2ZW50O24ocix0LCJ1bmJpbmRBcnJpdmUiKTt0LmxlYXZlPXYuYmluZEV2ZW50O24odix0LCJ1bmJpbmRMZWF2ZSIpfWlmKGEuTXV0YXRpb25PYnNlcnZlciYmInVuZGVmaW5lZCIhPT10eXBlb2YgSFRNTEVsZW1lbnQpe3ZhciB5PTAsZD1mdW5jdGlvbigpe3ZhciB0PUhUTUxFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzfHxIVE1MRWxlbWVudC5wcm90b3R5cGUud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxIVE1MRWxlbWVudC5wcm90b3R5cGUubW96TWF0Y2hlc1NlbGVjdG9yfHxIVE1MRWxlbWVudC5wcm90b3R5cGUubXNNYXRjaGVzU2VsZWN0b3I7cmV0dXJue21hdGNoZXNTZWxlY3RvcjpmdW5jdGlvbihjLGUpe3JldHVybiBjIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJnQuY2FsbChjLGUpfSxhZGRNZXRob2Q6ZnVuY3Rpb24oYyxlLGYpe3ZhciBiPWNbZV07Y1tlXT1mdW5jdGlvbigpe2lmKGYubGVuZ3RoPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBmLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYilyZXR1cm4gYi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSxjYWxsQ2FsbGJhY2tzOmZ1bmN0aW9uKGMsZSl7ZSYmZS5vcHRpb25zLm9uY2VPbmx5JiYxPT1lLmZpcmVkRWxlbXMubGVuZ3RoJiYoYz1bY1swXV0pO2Zvcih2YXIgZj0wLGI7Yj1jW2ZdO2YrKyliJiZiLmNhbGxiYWNrJiZiLmNhbGxiYWNrLmNhbGwoYi5lbGVtLGIuZWxlbSk7ZSYmZS5vcHRpb25zLm9uY2VPbmx5JiYxPT1lLmZpcmVkRWxlbXMubGVuZ3RoJiZlLm1lLnVuYmluZEV2ZW50V2l0aFNlbGVjdG9yQW5kQ2FsbGJhY2suY2FsbChlLnRhcmdldCxlLnNlbGVjdG9yLGUuY2FsbGJhY2spfSxjaGVja0NoaWxkTm9kZXNSZWN1cnNpdmVseTpmdW5jdGlvbihjLGUsZixiKXtmb3IodmFyIGc9MCxrO2s9Y1tnXTtnKyspZihrLGUsYikmJmIucHVzaCh7Y2FsbGJhY2s6ZS5jYWxsYmFjayxlbGVtOmt9KSwwPGsuY2hpbGROb2Rlcy5sZW5ndGgmJmQuY2hlY2tDaGlsZE5vZGVzUmVjdXJzaXZlbHkoay5jaGlsZE5vZGVzLGUsZixiKX0sbWVyZ2VBcnJheXM6ZnVuY3Rpb24oYyxlKXt2YXIgZj17fSxiO2ZvcihiIGluIGMpYy5oYXNPd25Qcm9wZXJ0eShiKSYmKGZbYl09Y1tiXSk7Zm9yKGIgaW4gZSllLmhhc093blByb3BlcnR5KGIpJiYoZltiXT1lW2JdKTtyZXR1cm4gZn0sdG9FbGVtZW50c0FycmF5OmZ1bmN0aW9uKGMpeyJ1bmRlZmluZWQiPT09dHlwZW9mIGN8fCJudW1iZXIiPT09dHlwZW9mIGMubGVuZ3RoJiZjIT09YXx8KGM9W2NdKTtyZXR1cm4gY319fSgpLHc9ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbigpe3RoaXMuX2V2ZW50c0J1Y2tldD1bXTt0aGlzLl9iZWZvcmVSZW1vdmluZz10aGlzLl9iZWZvcmVBZGRpbmc9bnVsbH07dC5wcm90b3R5cGUuYWRkRXZlbnQ9ZnVuY3Rpb24oYyxlLGYsYil7Yz17dGFyZ2V0OmMsc2VsZWN0b3I6ZSxvcHRpb25zOmYsY2FsbGJhY2s6YixmaXJlZEVsZW1zOltdfTt0aGlzLl9iZWZvcmVBZGRpbmcmJnRoaXMuX2JlZm9yZUFkZGluZyhjKTt0aGlzLl9ldmVudHNCdWNrZXQucHVzaChjKTtyZXR1cm4gY307dC5wcm90b3R5cGUucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oYyl7Zm9yKHZhciBlPXRoaXMuX2V2ZW50c0J1Y2tldC5sZW5ndGgtMSxmO2Y9dGhpcy5fZXZlbnRzQnVja2V0W2VdO2UtLSljKGYpJiYodGhpcy5fYmVmb3JlUmVtb3ZpbmcmJnRoaXMuX2JlZm9yZVJlbW92aW5nKGYpLChmPXRoaXMuX2V2ZW50c0J1Y2tldC5zcGxpY2UoZSwxKSkmJmYubGVuZ3RoJiYoZlswXS5jYWxsYmFjaz1udWxsKSl9O3QucHJvdG90eXBlLmJlZm9yZUFkZGluZz1mdW5jdGlvbihjKXt0aGlzLl9iZWZvcmVBZGRpbmc9Y307dC5wcm90b3R5cGUuYmVmb3JlUmVtb3Zpbmc9ZnVuY3Rpb24oYyl7dGhpcy5fYmVmb3JlUmVtb3Zpbmc9Y307cmV0dXJuIHR9KCksbT1mdW5jdGlvbih0LGMpe3ZhciBlPW5ldyB3LGY9dGhpcyxiPXtmaXJlT25BdHRyaWJ1dGVzTW9kaWZpY2F0aW9uOiExfTtlLmJlZm9yZUFkZGluZyhmdW5jdGlvbihnKXt2YXIgaz1nLnRhcmdldDtpZihrPT09YS5kb2N1bWVudHx8az09PWEpaz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaHRtbCIpWzBdO3ZhciBwPW5ldyBNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKHgpe2MuY2FsbCh0aGlzLHgsZyl9KTt2YXIgcT10KGcub3B0aW9ucyk7cC5vYnNlcnZlKGsscSk7Zy5vYnNlcnZlcj1wO2cubWU9Zn0pO2UuYmVmb3JlUmVtb3ZpbmcoZnVuY3Rpb24oZyl7Zy5vYnNlcnZlci5kaXNjb25uZWN0KCl9KTt0aGlzLmJpbmRFdmVudD1mdW5jdGlvbihnLGsscCl7az1kLm1lcmdlQXJyYXlzKGIsayk7Zm9yKHZhciBxPWQudG9FbGVtZW50c0FycmF5KHRoaXMpLHg9MDt4PHEubGVuZ3RoO3grKyllLmFkZEV2ZW50KHFbeF0sZyxrLHApfTt0aGlzLnVuYmluZEV2ZW50PWZ1bmN0aW9uKCl7dmFyIGc9ZC50b0VsZW1lbnRzQXJyYXkodGhpcyk7ZS5yZW1vdmVFdmVudChmdW5jdGlvbihrKXtmb3IodmFyIHA9MDtwPGcubGVuZ3RoO3ArKylpZih0aGlzPT09bHx8ay50YXJnZXQ9PT1nW3BdKXJldHVybiEwO3JldHVybiExfSl9O3RoaXMudW5iaW5kRXZlbnRXaXRoU2VsZWN0b3JPckNhbGxiYWNrPWZ1bmN0aW9uKGcpe3ZhciBrPWQudG9FbGVtZW50c0FycmF5KHRoaXMpO2UucmVtb3ZlRXZlbnQoImZ1bmN0aW9uIj09PXR5cGVvZiBnP2Z1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8ay5sZW5ndGg7cSsrKWlmKCh0aGlzPT09bHx8cC50YXJnZXQ9PT1rW3FdKSYmcC5jYWxsYmFjaz09PWcpcmV0dXJuITA7cmV0dXJuITF9OmZ1bmN0aW9uKHApe2Zvcih2YXIgcT0wO3E8ay5sZW5ndGg7cSsrKWlmKCh0aGlzPT09bHx8cC50YXJnZXQ9PT1rW3FdKSYmcC5zZWxlY3Rvcj09PWcpcmV0dXJuITA7cmV0dXJuITF9KX07dGhpcy51bmJpbmRFdmVudFdpdGhTZWxlY3RvckFuZENhbGxiYWNrPWZ1bmN0aW9uKGcsayl7dmFyIHA9ZC50b0VsZW1lbnRzQXJyYXkodGhpcyk7ZS5yZW1vdmVFdmVudChmdW5jdGlvbihxKXtmb3IodmFyIHg9MDt4PHAubGVuZ3RoO3grKylpZigodGhpcz09PWx8fHEudGFyZ2V0PT09cFt4XSkmJnEuc2VsZWN0b3I9PT1nJiZxLmNhbGxiYWNrPT09aylyZXR1cm4hMDtyZXR1cm4hMX0pfTtyZXR1cm4gdGhpc30scj1uZXcgZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGYsYixnKXtyZXR1cm4gZC5tYXRjaGVzU2VsZWN0b3IoZixiLnNlbGVjdG9yKSYmKGYuX2lkPT09bCYmKGYuX2lkPXkrKyksLTE9PWIuZmlyZWRFbGVtcy5pbmRleE9mKGYuX2lkKSk/KGIuZmlyZWRFbGVtcy5wdXNoKGYuX2lkKSwhMCk6ITF9dmFyIGM9e2ZpcmVPbkF0dHJpYnV0ZXNNb2RpZmljYXRpb246ITEsb25jZU9ubHk6ITEsZXhpc3Rpbmc6ITF9O3I9bmV3IG0oZnVuY3Rpb24oZil7dmFyIGI9e2F0dHJpYnV0ZXM6ITEsY2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9O2YuZmlyZU9uQXR0cmlidXRlc01vZGlmaWNhdGlvbiYmKGIuYXR0cmlidXRlcz0hMCk7cmV0dXJuIGJ9LGZ1bmN0aW9uKGYsYil7Zi5mb3JFYWNoKGZ1bmN0aW9uKGcpe3ZhciBrPWcuYWRkZWROb2RlcyxwPWcudGFyZ2V0LHE9W107bnVsbCE9PWsmJjA8ay5sZW5ndGg/ZC5jaGVja0NoaWxkTm9kZXNSZWN1cnNpdmVseShrLGIsdCxxKToiYXR0cmlidXRlcyI9PT1nLnR5cGUmJnQocCxiLHEpJiZxLnB1c2goe2NhbGxiYWNrOmIuY2FsbGJhY2ssZWxlbTpwfSk7ZC5jYWxsQ2FsbGJhY2tzKHEsYil9KX0pO3ZhciBlPXIuYmluZEV2ZW50O3IuYmluZEV2ZW50PWZ1bmN0aW9uKGYsYixnKXsidW5kZWZpbmVkIj09PXR5cGVvZiBnPyhnPWIsYj1jKTpiPWQubWVyZ2VBcnJheXMoYyxiKTt2YXIgaz1kLnRvRWxlbWVudHNBcnJheSh0aGlzKTtpZihiLmV4aXN0aW5nKXtmb3IodmFyIHA9W10scT0wO3E8ay5sZW5ndGg7cSsrKWZvcih2YXIgeD1rW3FdLnF1ZXJ5U2VsZWN0b3JBbGwoZiksQT0wO0E8eC5sZW5ndGg7QSsrKXAucHVzaCh7Y2FsbGJhY2s6ZyxlbGVtOnhbQV19KTtpZihiLm9uY2VPbmx5JiZwLmxlbmd0aClyZXR1cm4gZy5jYWxsKHBbMF0uZWxlbSxwWzBdLmVsZW0pO3NldFRpbWVvdXQoZC5jYWxsQ2FsbGJhY2tzLDEscCl9ZS5jYWxsKHRoaXMsZixiLGcpfTtyZXR1cm4gcn0sdj1uZXcgZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGYsYil7cmV0dXJuIGQubWF0Y2hlc1NlbGVjdG9yKGYsYi5zZWxlY3Rvcil9dmFyIGM9e307dj1uZXcgbShmdW5jdGlvbigpe3JldHVybntjaGlsZExpc3Q6ITAsc3VidHJlZTohMH19LGZ1bmN0aW9uKGYsYil7Zi5mb3JFYWNoKGZ1bmN0aW9uKGcpe2c9Zy5yZW1vdmVkTm9kZXM7dmFyIGs9W107bnVsbCE9PWcmJjA8Zy5sZW5ndGgmJmQuY2hlY2tDaGlsZE5vZGVzUmVjdXJzaXZlbHkoZyxiLHQsayk7ZC5jYWxsQ2FsbGJhY2tzKGssYil9KX0pO3ZhciBlPXYuYmluZEV2ZW50O3YuYmluZEV2ZW50PWZ1bmN0aW9uKGYsYixnKXsidW5kZWZpbmVkIj09PXR5cGVvZiBnPyhnPWIsYj1jKTpiPWQubWVyZ2VBcnJheXMoYyxiKTtlLmNhbGwodGhpcyxmLGIsZyl9O3JldHVybiB2fTtoJiZ1KGguZm4pO3UoSFRNTEVsZW1lbnQucHJvdG90eXBlKTt1KE5vZGVMaXN0LnByb3RvdHlwZSk7dShIVE1MQ29sbGVjdGlvbi5wcm90b3R5cGUpO3UoSFRNTERvY3VtZW50LnByb3RvdHlwZSk7dShXaW5kb3cucHJvdG90eXBlKTtoPXt9O24ocixoLCJ1bmJpbmRBbGxBcnJpdmUiKTtuKHYsaCwidW5iaW5kQWxsTGVhdmUiKTtyZXR1cm4gaH19KHdpbmRvdywidW5kZWZpbmVkIj09PXR5cGVvZiBqUXVlcnk/bnVsbDpqUXVlcnksdm9pZCAwKX07dmFyIGFpX3JvdGF0aW9uX3RyaWdnZXJzPVtdLGFpX2Jsb2NrX2NsYXNzX2RlZj0iY29kZS1ibG9jayI7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBhaV9yb3RhdGlvbl90cmlnZ2Vycyl7YWlfcHJvY2Vzc19yb3RhdGlvbj1mdW5jdGlvbihiKXt2YXIgZD0ibnVtYmVyIj09dHlwZW9mIGIubGVuZ3RoO3dpbmRvdy5qUXVlcnkmJndpbmRvdy5qUXVlcnkuZm4mJmIgaW5zdGFuY2VvZiBqUXVlcnkmJihiPWQ/QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYik6YlswXSk7aWYoZCl7dmFyIGU9ITE7Yi5mb3JFYWNoKChjLGgpPT57aWYoYy5jbGFzc0xpc3QuY29udGFpbnMoImFpLXVucHJvY2Vzc2VkIil8fGMuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS10aW1lciIpKWU9ITB9KTtpZighZSlyZXR1cm47Yi5mb3JFYWNoKChjLGgpPT57Yy5jbGFzc0xpc3QucmVtb3ZlKCJhaS11bnByb2Nlc3NlZCIpO2MuY2xhc3NMaXN0LnJlbW92ZSgiYWktdGltZXIiKX0pfWVsc2V7aWYoIWIuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS11bnByb2Nlc3NlZCIpJiYhYi5jbGFzc0xpc3QuY29udGFpbnMoImFpLXRpbWVyIikpcmV0dXJuO2IuY2xhc3NMaXN0LnJlbW92ZSgiYWktdW5wcm9jZXNzZWQiKTtiLmNsYXNzTGlzdC5yZW1vdmUoImFpLXRpbWVyIil9dmFyIGE9ITE7aWYoZD9iWzBdLmhhc0F0dHJpYnV0ZSgiZGF0YS1pbmZvIik6Yi5oYXNBdHRyaWJ1dGUoImRhdGEtaW5mbyIpKXt2YXIgZj0iZGl2LmFpLXJvdGF0ZS5haS0iKyhkP0pTT04ucGFyc2UoYXRvYihiWzBdLmRhdGFzZXQuaW5mbykpOkpTT04ucGFyc2UoYXRvYihiLmRhdGFzZXQuaW5mbykpKVswXTthaV9yb3RhdGlvbl90cmlnZ2Vycy5pbmNsdWRlcyhmKSYmKGFpX3JvdGF0aW9uX3RyaWdnZXJzLnNwbGljZShhaV9yb3RhdGlvbl90cmlnZ2Vycy5pbmRleE9mKGYpLDEpLGE9ITApfWlmKGQpZm9yKGQ9MDtkPGIubGVuZ3RoO2QrKykwPT1kP2FpX3Byb2Nlc3Nfc2luZ2xlX3JvdGF0aW9uKGJbZF0sITApOmFpX3Byb2Nlc3Nfc2luZ2xlX3JvdGF0aW9uKGJbZF0sITEpO2Vsc2UgYWlfcHJvY2Vzc19zaW5nbGVfcm90YXRpb24oYiwhYSl9O2FpX3Byb2Nlc3Nfc2luZ2xlX3JvdGF0aW9uPWZ1bmN0aW9uKGIsZCl7dmFyIGU9W107QXJyYXkuZnJvbShiLmNoaWxkcmVuKS5mb3JFYWNoKChnLHApPT57Zy5tYXRjaGVzKCIuYWktcm90YXRlLW9wdGlvbiIpJiZlLnB1c2goZyl9KTtpZigwIT1lLmxlbmd0aCl7ZS5mb3JFYWNoKChnLHApPT57Zy5zdHlsZS5kaXNwbGF5PSJub25lIn0pO2lmKGIuaGFzQXR0cmlidXRlKCJkYXRhLW5leHQiKSl7az1wYXJzZUludChiLmdldEF0dHJpYnV0ZSgiZGF0YS1uZXh0IikpO3ZhciBhPWVba107aWYoYS5oYXNBdHRyaWJ1dGUoImRhdGEtY29kZSIpKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGM9ITA7dHJ5e3ZhciBoPWYuY3JlYXRlQ29udGV4dHVhbEZyYWdtZW50KGI2NGQoYS5kYXRhc2V0LmNvZGUpKX1jYXRjaChnKXtjPSExfWMmJihhPWgpfTAhPWEucXVlcnlTZWxlY3RvckFsbCgic3BhbltkYXRhLWFpLWdyb3Vwc10iKS5sZW5ndGgmJjAhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5haS1yb3RhdGlvbi1ncm91cHMiKS5sZW5ndGgmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXtCKCl9LDUpfWVsc2UgaWYoZVswXS5oYXNBdHRyaWJ1dGUoImRhdGEtZ3JvdXAiKSl7dmFyIGs9LTEsdT1bXTtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJzcGFuW2RhdGEtYWktZ3JvdXBzXSIpLmZvckVhY2goKGcscCk9PnsoZy5vZmZzZXRXaWR0aHx8Zy5vZmZzZXRIZWlnaHR8fGcuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGgpJiZ1LnB1c2goZyl9KTsxPD11Lmxlbmd0aCYmKHRpbWVkX2dyb3Vwcz1bXSxncm91cHM9W10sdS5mb3JFYWNoKGZ1bmN0aW9uKGcscCl7YWN0aXZlX2dyb3Vwcz1KU09OLnBhcnNlKGI2NGQoZy5kYXRhc2V0LmFpR3JvdXBzKSk7dmFyIHI9ITE7Zz1nLmNsb3Nlc3QoIi5haS1yb3RhdGUiKTtudWxsIT1nJiZnLmNsYXNzTGlzdC5jb250YWlucygiYWktdGltZWQtcm90YXRpb24iKSYmKHI9ITApO2FjdGl2ZV9ncm91cHMuZm9yRWFjaChmdW5jdGlvbih0LHYpe2dyb3Vwcy5wdXNoKHQpO3ImJnRpbWVkX2dyb3Vwcy5wdXNoKHQpfSl9KSxncm91cHMuZm9yRWFjaChmdW5jdGlvbihnLHApey0xPT1rJiZlLmZvckVhY2goKHIsdCk9Pnt2YXIgdj1iNjRkKHIuZGF0YXNldC5ncm91cCk7b3B0aW9uX2dyb3VwX2l0ZW1zPXYuc3BsaXQoIiwiKTtvcHRpb25fZ3JvdXBfaXRlbXMuZm9yRWFjaChmdW5jdGlvbihDLEUpey0xPT1rJiZDLnRyaW0oKT09ZyYmKGs9dCx0aW1lZF9ncm91cHMuaW5jbHVkZXModikmJmIuY2xhc3NMaXN0LmFkZCgiYWktdGltZWQtcm90YXRpb24iKSl9KX0pfSkpfWVsc2UgaWYoYi5oYXNBdHRyaWJ1dGUoImRhdGEtc2hhcmVzIikpZm9yKGY9SlNPTi5wYXJzZShhdG9iKGIuZGF0YXNldC5zaGFyZXMpKSxhPU1hdGgucm91bmQoMTAwKk1hdGgucmFuZG9tKCkpLGM9MDtjPGYubGVuZ3RoJiYoaz1jLDA+ZltjXXx8IShhPD1mW2NdKSk7YysrKTtlbHNlIGY9Yi5jbGFzc0xpc3QuY29udGFpbnMoImFpLXVuaXF1ZSIpLGE9bmV3IERhdGUsZj8oIm51bWJlciIhPXR5cGVvZiBhaV9yb3RhdGlvbl9zZWVkJiYoYWlfcm90YXRpb25fc2VlZD0oTWF0aC5mbG9vcigxRTMqTWF0aC5yYW5kb20oKSkrYS5nZXRNaWxsaXNlY29uZHMoKSklZS5sZW5ndGgpLGY9YWlfcm90YXRpb25fc2VlZCxmPmUubGVuZ3RoJiYoZiU9ZS5sZW5ndGgpLGE9cGFyc2VJbnQoYi5kYXRhc2V0LmNvdW50ZXIpLGE8PWUubGVuZ3RoPyhrPXBhcnNlSW50KGYrYS0xKSxrPj1lLmxlbmd0aCYmKGstPWUubGVuZ3RoKSk6az1lLmxlbmd0aCk6KGs9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmUubGVuZ3RoKSxhLmdldE1pbGxpc2Vjb25kcygpJTImJihrPWUubGVuZ3RoLWstMSkpO2lmKGIuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1yb3RhdGlvbi1zY2hlZHVsaW5nIikpZm9yKGs9LTEsZj0wO2Y8ZS5sZW5ndGg7ZisrKWlmKGE9ZVtmXSxhLmhhc0F0dHJpYnV0ZSgiZGF0YS1zY2hlZHVsaW5nIikpe2M9YjY0ZChhLmRhdGFzZXQuc2NoZWR1bGluZyk7YT0hMDswPT1jLmluZGV4T2YoIl4iKSYmKGE9ITEsYz1jLnN1YnN0cmluZygxKSk7dmFyIHE9Yy5zcGxpdCgiPSIpLG09LTEhPWMuaW5kZXhPZigiJSIpP3FbMF0uc3BsaXQoIiUiKTpbcVswXV07Yz1tWzBdLnRyaW0oKS50b0xvd2VyQ2FzZSgpO209InVuZGVmaW5lZCIhPXR5cGVvZiBtWzFdP21bMV0udHJpbSgpOjA7cT1xWzFdLnJlcGxhY2UoIiAiLCIiKTt2YXIgbj0obmV3IERhdGUpLmdldFRpbWUoKTtuPW5ldyBEYXRlKG4pO3ZhciBsPTA7c3dpdGNoKGMpe2Nhc2UgInMiOmw9bi5nZXRTZWNvbmRzKCk7YnJlYWs7Y2FzZSAiaSI6bD1uLmdldE1pbnV0ZXMoKTticmVhaztjYXNlICJoIjpsPW4uZ2V0SG91cnMoKTticmVhaztjYXNlICJkIjpsPW4uZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UgIm0iOmw9bi5nZXRNb250aCgpO2JyZWFrO2Nhc2UgInkiOmw9bi5nZXRGdWxsWWVhcigpO2JyZWFrO2Nhc2UgInciOmw9bi5nZXREYXkoKSxsPTA9PWw/NjpsLTF9Yz0wIT1tP2wlbTpsO209cS5zcGxpdCgiLCIpO3E9IWE7Zm9yKG49MDtuPG0ubGVuZ3RoO24rKylpZihsPW1bbl0sLTEhPWwuaW5kZXhPZigiLSIpKXtpZihsPWwuc3BsaXQoIi0iKSxjPj1sWzBdJiZjPD1sWzFdKXtxPWE7YnJlYWt9fWVsc2UgaWYoYz09bCl7cT1hO2JyZWFrfWlmKHEpe2s9ZjticmVha319aWYoISgwPmt8fGs+PWUubGVuZ3RoKSl7YT1lW2tdO3ZhciB6PSIiLHc9Yi5jbGFzc0xpc3QuY29udGFpbnMoImFpLXRpbWVkLXJvdGF0aW9uIik7ZS5mb3JFYWNoKChnLHApPT57Zy5oYXNBdHRyaWJ1dGUoImRhdGEtdGltZSIpJiYodz0hMCl9KTtpZihhLmhhc0F0dHJpYnV0ZSgiZGF0YS10aW1lIikpe2Y9YXRvYihhLmRhdGFzZXQudGltZSk7aWYoMD09ZiYmMTxlLmxlbmd0aCl7Yz1rO2Rve2MrKztjPj1lLmxlbmd0aCYmKGM9MCk7bT1lW2NdO2lmKCFtLmhhc0F0dHJpYnV0ZSgiZGF0YS10aW1lIikpe2s9YzthPWVba107Zj0wO2JyZWFrfW09YXRvYihtLmRhdGFzZXQudGltZSl9d2hpbGUoMD09bSYmYyE9ayk7MCE9ZiYmKGs9YyxhPWVba10sZj1hdG9iKGEuZGF0YXNldC50aW1lKSl9aWYoMDxmJiYoYz1rKzEsYz49ZS5sZW5ndGgmJihjPTApLGIuaGFzQXR0cmlidXRlKCJkYXRhLWluZm8iKSkpe209SlNPTi5wYXJzZShhdG9iKGIuZGF0YXNldC5pbmZvKSlbMF07Yi5zZXRBdHRyaWJ1dGUoImRhdGEtbmV4dCIsYyk7dmFyIHg9ImRpdi5haS1yb3RhdGUuYWktIittO2FpX3JvdGF0aW9uX3RyaWdnZXJzLmluY2x1ZGVzKHgpJiYoZD0hMSk7ZCYmKGFpX3JvdGF0aW9uX3RyaWdnZXJzLnB1c2goeCksc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBnPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoeCk7Zy5mb3JFYWNoKChwLHIpPT57cC5jbGFzc0xpc3QuYWRkKCJhaS10aW1lciIpfSk7YWlfcHJvY2Vzc19yb3RhdGlvbihnKX0sMUUzKmYpKTt6PSIgKCIrZisiIHMpIn19ZWxzZSBhLmhhc0F0dHJpYnV0ZSgiZGF0YS1ncm91cCIpfHxlLmZvckVhY2goKGcscCk9PntwIT1rJiZnLnJlbW92ZSgpfSk7YS5zdHlsZS5kaXNwbGF5PSIiO2Euc3R5bGUudmlzaWJpbGl0eT0iIjthLnN0eWxlLnBvc2l0aW9uPSIiO2Euc3R5bGUud2lkdGg9IiI7YS5zdHlsZS5oZWlnaHQ9IiI7YS5zdHlsZS50b3A9IiI7YS5zdHlsZS5sZWZ0PSIiO2EuY2xhc3NMaXN0LnJlbW92ZSgiYWktcm90YXRlLWhpZGRlbiIpO2EuY2xhc3NMaXN0LnJlbW92ZSgiYWktcm90YXRlLWhpZGRlbi0yIik7Yi5zdHlsZS5wb3NpdGlvbj0iIjtpZihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1jb2RlIikpe2UuZm9yRWFjaCgoZyxwKT0+e2cuaW5uZXJUZXh0PSIifSk7ZD1iNjRkKGEuZGF0YXNldC5jb2RlKTtmPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Yz0hMDt0cnl7aD1mLmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChkKX1jYXRjaChnKXtjPSExfWEuYXBwZW5kKGgpO0QoKX1mPXBhcnNlSW50KGEuZGF0YXNldC5pbmRleCk7dmFyIHk9YjY0ZChhLmRhdGFzZXQubmFtZSk7ZD1iLmNsb3Nlc3QoIi5haS1kZWJ1Zy1ibG9jayIpO2lmKG51bGwhPWQpe2g9ZC5xdWVyeVNlbGVjdG9yQWxsKCJrYmQuYWktb3B0aW9uLW5hbWUiKTtkPWQucXVlcnlTZWxlY3RvckFsbCgiLmFpLWRlYnVnLWJsb2NrIik7aWYoMCE9ZC5sZW5ndGgpe3ZhciBBPVtdO2QuZm9yRWFjaCgoZyxwKT0+e2cucXVlcnlTZWxlY3RvckFsbCgia2JkLmFpLW9wdGlvbi1uYW1lIikuZm9yRWFjaCgocix0KT0+e0EucHVzaChyKX0pfSk7aD1BcnJheS5mcm9tKGgpO2g9aC5zbGljZSgwLGgubGVuZ3RoLUEubGVuZ3RoKX0wIT1oLmxlbmd0aCYmKHNlcGFyYXRvcj1oWzBdLmhhc0F0dHJpYnV0ZSgiZGF0YS1zZXBhcmF0b3IiKT9oWzBdLmRhdGFzZXQuc2VwYXJhdG9yOiIiLGguZm9yRWFjaCgoZyxwKT0+e2cuaW5uZXJUZXh0PXNlcGFyYXRvcit5K3p9KSl9ZD0hMTthPWIuY2xvc2VzdCgiLmFpLWFkYi1zaG93Iik7bnVsbCE9YSYmYS5oYXNBdHRyaWJ1dGUoImRhdGEtYWktdHJhY2tpbmciKSYmKGg9SlNPTi5wYXJzZShiNjRkKGEuZ2V0QXR0cmlidXRlKCJkYXRhLWFpLXRyYWNraW5nIikpKSwidW5kZWZpbmVkIiE9PXR5cGVvZiBoJiZoLmNvbnN0cnVjdG9yPT09QXJyYXkmJihoWzFdPWYsaFszXT15LGEuc2V0QXR0cmlidXRlKCJkYXRhLWFpLXRyYWNraW5nIixiNjRlKEpTT04uc3RyaW5naWZ5KGgpKSksYS5jbGFzc0xpc3QuYWRkKCJhaS10cmFjayIpLHcmJmFpX3RyYWNraW5nX2ZpbmlzaGVkJiZhLmNsYXNzTGlzdC5hZGQoImFpLW5vLXBhZ2V2aWV3IiksZD0hMCkpO2R8fChkPWIuY2xvc2VzdCgiZGl2W2RhdGEtYWldIiksbnVsbCE9ZCYmZC5oYXNBdHRyaWJ1dGUoImRhdGEtYWkiKSYmKGg9SlNPTi5wYXJzZShiNjRkKGQuZ2V0QXR0cmlidXRlKCJkYXRhLWFpIikpKSwidW5kZWZpbmVkIiE9PXR5cGVvZiBoJiZoLmNvbnN0cnVjdG9yPT09QXJyYXkmJihoWzFdPWYsaFszXT15LGQuc2V0QXR0cmlidXRlKCJkYXRhLWFpIixiNjRlKEpTT04uc3RyaW5naWZ5KGgpKSksZC5jbGFzc0xpc3QuYWRkKCJhaS10cmFjayIpLHcmJmFpX3RyYWNraW5nX2ZpbmlzaGVkJiZkLmNsYXNzTGlzdC5hZGQoImFpLW5vLXBhZ2V2aWV3IikpKSl9fX07YWlfcHJvY2Vzc19yb3RhdGlvbnM9ZnVuY3Rpb24oKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuYWktcm90YXRlIikuZm9yRWFjaCgoYixkKT0+e2FpX3Byb2Nlc3Nfcm90YXRpb24oYil9KX07ZnVuY3Rpb24gQigpe2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRpdi5haS1yb3RhdGUuYWktcm90YXRpb24tZ3JvdXBzIikuZm9yRWFjaCgoYixkKT0+e2IuY2xhc3NMaXN0LmFkZCgiYWktdGltZXIiKTthaV9wcm9jZXNzX3JvdGF0aW9uKGIpfSl9YWlfcHJvY2Vzc19yb3RhdGlvbnNfaW5fZWxlbWVudD1mdW5jdGlvbihiKXtudWxsIT1iJiZiLnF1ZXJ5U2VsZWN0b3JBbGwoImRpdi5haS1yb3RhdGUiKS5mb3JFYWNoKChkLGUpPT57YWlfcHJvY2Vzc19yb3RhdGlvbihkKX0pfTsoZnVuY3Rpb24oYil7ImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWRvY3VtZW50LnJlYWR5U3RhdGUmJiFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/YigpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGIpfSkoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YWlfcHJvY2Vzc19yb3RhdGlvbnMoKX0sMTApfSk7YWlfcHJvY2Vzc19lbGVtZW50c19hY3RpdmU9ITE7ZnVuY3Rpb24gRCgpe2FpX3Byb2Nlc3NfZWxlbWVudHNfYWN0aXZlfHxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YWlfcHJvY2Vzc19lbGVtZW50c19hY3RpdmU9ITE7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX3Byb2Nlc3Nfcm90YXRpb25zJiZhaV9wcm9jZXNzX3JvdGF0aW9ucygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2xpc3RzJiZhaV9wcm9jZXNzX2xpc3RzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX3Byb2Nlc3NfaXBfYWRkcmVzc2VzJiZhaV9wcm9jZXNzX2lwX2FkZHJlc3NlcygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2ZpbHRlcl9ob29rcyYmYWlfcHJvY2Vzc19maWx0ZXJfaG9va3MoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfYWRiX3Byb2Nlc3NfYmxvY2tzJiZhaV9hZGJfcHJvY2Vzc19ibG9ja3MoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19pbXByZXNzaW9ucyYmMT09YWlfdHJhY2tpbmdfZmluaXNoZWQmJmFpX3Byb2Nlc3NfaW1wcmVzc2lvbnMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfaW5zdGFsbF9jbGlja190cmFja2VycyYmMT09YWlfdHJhY2tpbmdfZmluaXNoZWQmJmFpX2luc3RhbGxfY2xpY2tfdHJhY2tlcnMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfaW5zdGFsbF9jbG9zZV9idXR0b25zJiZhaV9pbnN0YWxsX2Nsb3NlX2J1dHRvbnMoZG9jdW1lbnQpfSw1KTthaV9wcm9jZXNzX2VsZW1lbnRzX2FjdGl2ZT0hMH19OyFmdW5jdGlvbihhLGIpe2EoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYShhLGIpe3JldHVybiBudWxsIT1hJiZudWxsIT1iJiZhLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gYyhhLGIpe3ZhciBjLGQsZT1hLmxlbmd0aDtpZighZXx8IWIpcmV0dXJuITE7Zm9yKGM9Yi50b0xvd2VyQ2FzZSgpLGQ9MDtkPGU7KytkKWlmKGM9PT1hW2RdLnRvTG93ZXJDYXNlKCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gZChhKXtmb3IodmFyIGIgaW4gYSlpLmNhbGwoYSxiKSYmKGFbYl09bmV3IFJlZ0V4cChhW2JdLCJpIikpfWZ1bmN0aW9uIGUoYSl7cmV0dXJuKGF8fCIiKS5zdWJzdHIoMCw1MDApfWZ1bmN0aW9uIGYoYSxiKXt0aGlzLnVhPWUoYSksdGhpcy5fY2FjaGU9e30sdGhpcy5tYXhQaG9uZVdpZHRoPWJ8fDYwMH12YXIgZz17fTtnLm1vYmlsZURldGVjdFJ1bGVzPXtwaG9uZXM6e2lQaG9uZToiXFxiaVBob25lXFxifFxcYmlQb2RcXGIiLEJsYWNrQmVycnk6IkJsYWNrQmVycnl8XFxiQkIxMFxcYnxyaW1bMC05XSt8XFxiKEJCQTEwMHxCQkIxMDB8QkJEMTAwfEJCRTEwMHxCQkYxMDB8U1RIMTAwKVxcYi1bMC05XSsiLFBpeGVsOiI7IFxcYlBpeGVsXFxiIixIVEM6IkhUQ3xIVEMuKihTZW5zYXRpb258RXZvfFZpc2lvbnxFeHBsb3Jlcnw2ODAwfDgxMDB8ODkwMHxBNzI3MnxTNTEwZXxDMTEwZXxMZWdlbmR8RGVzaXJlfFQ4MjgyKXxBUFg1MTVDS1R8UXRlazkwOTB8QVBBOTI5MktUfEhEX21pbml8U2Vuc2F0aW9uLipaNzEwZXxQRzg2MTAwfFo3MTVlfERlc2lyZS4qKEE4MTgxfEhEKXxBRFI2MjAwfEFEUjY0MDBMfEFEUjY0MjV8MDAxSFR8SW5zcGlyZSA0R3xBbmRyb2lkLipcXGJFVk9cXGJ8VC1Nb2JpbGUgRzF8WjUyMG18QW5kcm9pZCBbMC05Ll0rOyBQaXhlbCIsTmV4dXM6Ik5leHVzIE9uZXxOZXh1cyBTfEdhbGF4eS4qTmV4dXN8QW5kcm9pZC4qTmV4dXMuKk1vYmlsZXxOZXh1cyA0fE5leHVzIDV8TmV4dXMgNVh8TmV4dXMgNiIsRGVsbDoiRGVsbFs7XT8gKFN0cmVha3xBZXJvfFZlbnVlfFZlbnVlIFByb3xGbGFzaHxTbW9rZXxNaW5pIDNpWCl8WENEMjh8WENEMzV8XFxiMDAxRExcXGJ8XFxiMTAxRExcXGJ8XFxiR1MwMVxcYiIsTW90b3JvbGE6Ik1vdG9yb2xhfERST0lEWHxEUk9JRCBCSU9OSUN8XFxiRHJvaWRcXGIuKkJ1aWxkfEFuZHJvaWQuKlhvb218SFJJMzl8TU9ULXxBMTI2MHxBMTY4MHxBNTU1fEE4NTN8QTg1NXxBOTUzfEE5NTV8QTk1NnxNb3Rvcm9sYS4qRUxFQ1RSSUZZfE1vdG9yb2xhLippMXxpODY3fGk5NDB8TUIyMDB8TUIzMDB8TUI1MDF8TUI1MDJ8TUI1MDh8TUI1MTF8TUI1MjB8TUI1MjV8TUI1MjZ8TUI2MTF8TUI2MTJ8TUI2MzJ8TUI4MTB8TUI4NTV8TUI4NjB8TUI4NjF8TUI4NjV8TUI4NzB8TUU1MDF8TUU1MDJ8TUU1MTF8TUU1MjV8TUU2MDB8TUU2MzJ8TUU3MjJ8TUU4MTF8TUU4NjB8TUU4NjN8TUU4NjV8TVQ2MjB8TVQ3MTB8TVQ3MTZ8TVQ3MjB8TVQ4MTB8TVQ4NzB8TVQ5MTd8TW90b3JvbGEuKlRJVEFOSVVNfFdYNDM1fFdYNDQ1fFhUMzAwfFhUMzAxfFhUMzExfFhUMzE2fFhUMzE3fFhUMzE5fFhUMzIwfFhUMzkwfFhUNTAyfFhUNTMwfFhUNTMxfFhUNTMyfFhUNTM1fFhUNjAzfFhUNjEwfFhUNjExfFhUNjE1fFhUNjgxfFhUNzAxfFhUNzAyfFhUNzExfFhUNzIwfFhUODAwfFhUODA2fFhUODYwfFhUODYyfFhUODc1fFhUODgyfFhUODgzfFhUODk0fFhUOTAxfFhUOTA3fFhUOTA5fFhUOTEwfFhUOTEyfFhUOTI4fFhUOTI2fFhUOTE1fFhUOTE5fFhUOTI1fFhUMTAyMXxcXGJNb3RvIEVcXGJ8WFQxMDY4fFhUMTA5MnxYVDEwNTIiLFNhbXN1bmc6IlxcYlNhbXN1bmdcXGJ8U00tRzk1MEZ8U00tRzk1NUZ8U00tRzkyNTB8R1QtMTkzMDB8U0dILUkzMzd8QkdULVM1MjMwfEdULUIyMTAwfEdULUIyNzAwfEdULUIyNzEwfEdULUIzMjEwfEdULUIzMzEwfEdULUIzNDEwfEdULUIzNzMwfEdULUIzNzQwfEdULUI1NTEwfEdULUI1NTEyfEdULUI1NzIyfEdULUI2NTIwfEdULUI3MzAwfEdULUI3MzIwfEdULUI3MzMwfEdULUI3MzUwfEdULUI3NTEwfEdULUI3NzIyfEdULUI3ODAwfEdULUMzMDEwfEdULUMzMDExfEdULUMzMDYwfEdULUMzMjAwfEdULUMzMjEyfEdULUMzMjEySXxHVC1DMzI2MnxHVC1DMzIyMnxHVC1DMzMwMHxHVC1DMzMwMEt8R1QtQzMzMDN8R1QtQzMzMDNLfEdULUMzMzEwfEdULUMzMzIyfEdULUMzMzMwfEdULUMzMzUwfEdULUMzNTAwfEdULUMzNTEwfEdULUMzNTMwfEdULUMzNjMwfEdULUMzNzgwfEdULUM1MDEwfEdULUM1MjEyfEdULUM2NjIwfEdULUM2NjI1fEdULUM2NzEyfEdULUUxMDUwfEdULUUxMDcwfEdULUUxMDc1fEdULUUxMDgwfEdULUUxMDgxfEdULUUxMDg1fEdULUUxMDg3fEdULUUxMTAwfEdULUUxMTA3fEdULUUxMTEwfEdULUUxMTIwfEdULUUxMTI1fEdULUUxMTMwfEdULUUxMTYwfEdULUUxMTcwfEdULUUxMTc1fEdULUUxMTgwfEdULUUxMTgyfEdULUUxMjAwfEdULUUxMjEwfEdULUUxMjI1fEdULUUxMjMwfEdULUUxMzkwfEdULUUyMTAwfEdULUUyMTIwfEdULUUyMTIxfEdULUUyMTUyfEdULUUyMjIwfEdULUUyMjIyfEdULUUyMjMwfEdULUUyMjMyfEdULUUyMjUwfEdULUUyMzcwfEdULUUyNTUwfEdULUUyNjUyfEdULUUzMjEwfEdULUUzMjEzfEdULUk1NTAwfEdULUk1NTAzfEdULUk1NzAwfEdULUk1ODAwfEdULUk1ODAxfEdULUk2NDEwfEdULUk2NDIwfEdULUk3MTEwfEdULUk3NDEwfEdULUk3NTAwfEdULUk4MDAwfEdULUk4MTUwfEdULUk4MTYwfEdULUk4MTkwfEdULUk4MzIwfEdULUk4MzMwfEdULUk4MzUwfEdULUk4NTMwfEdULUk4NzAwfEdULUk4NzAzfEdULUk4OTEwfEdULUk5MDAwfEdULUk5MDAxfEdULUk5MDAzfEdULUk5MDEwfEdULUk5MDIwfEdULUk5MDIzfEdULUk5MDcwfEdULUk5MDgyfEdULUk5MTAwfEdULUk5MTAzfEdULUk5MjIwfEdULUk5MjUwfEdULUk5MzAwfEdULUk5MzA1fEdULUk5NTAwfEdULUk5NTA1fEdULU0zNTEwfEdULU01NjUwfEdULU03NTAwfEdULU03NjAwfEdULU03NjAzfEdULU04ODAwfEdULU04OTEwfEdULU43MDAwfEdULVMzMTEwfEdULVMzMzEwfEdULVMzMzUwfEdULVMzMzUzfEdULVMzMzcwfEdULVMzNjUwfEdULVMzNjUzfEdULVMzNzcwfEdULVMzODUwfEdULVM1MjEwfEdULVM1MjIwfEdULVM1MjI5fEdULVM1MjMwfEdULVM1MjMzfEdULVM1MjUwfEdULVM1MjUzfEdULVM1MjYwfEdULVM1MjYzfEdULVM1MjcwfEdULVM1MzAwfEdULVM1MzMwfEdULVM1MzUwfEdULVM1MzYwfEdULVM1MzYzfEdULVM1MzY5fEdULVM1MzgwfEdULVM1MzgwRHxHVC1TNTU2MHxHVC1TNTU3MHxHVC1TNTYwMHxHVC1TNTYwM3xHVC1TNTYxMHxHVC1TNTYyMHxHVC1TNTY2MHxHVC1TNTY3MHxHVC1TNTY5MHxHVC1TNTc1MHxHVC1TNTc4MHxHVC1TNTgzMHxHVC1TNTgzOXxHVC1TNjEwMnxHVC1TNjUwMHxHVC1TNzA3MHxHVC1TNzIwMHxHVC1TNzIyMHxHVC1TNzIzMHxHVC1TNzIzM3xHVC1TNzI1MHxHVC1TNzUwMHxHVC1TNzUzMHxHVC1TNzU1MHxHVC1TNzU2MnxHVC1TNzcxMHxHVC1TODAwMHxHVC1TODAwM3xHVC1TODUwMHxHVC1TODUzMHxHVC1TODYwMHxTQ0gtQTMxMHxTQ0gtQTUzMHxTQ0gtQTU3MHxTQ0gtQTYxMHxTQ0gtQTYzMHxTQ0gtQTY1MHxTQ0gtQTc5MHxTQ0gtQTc5NXxTQ0gtQTg1MHxTQ0gtQTg3MHxTQ0gtQTg5MHxTQ0gtQTkzMHxTQ0gtQTk1MHxTQ0gtQTk3MHxTQ0gtQTk5MHxTQ0gtSTEwMHxTQ0gtSTExMHxTQ0gtSTQwMHxTQ0gtSTQwNXxTQ0gtSTUwMHxTQ0gtSTUxMHxTQ0gtSTUxNXxTQ0gtSTYwMHxTQ0gtSTczMHxTQ0gtSTc2MHxTQ0gtSTc3MHxTQ0gtSTgzMHxTQ0gtSTkxMHxTQ0gtSTkyMHxTQ0gtSTk1OXxTQ0gtTEMxMXxTQ0gtTjE1MHxTQ0gtTjMwMHxTQ0gtUjEwMHxTQ0gtUjMwMHxTQ0gtUjM1MXxTQ0gtUjQwMHxTQ0gtUjQxMHxTQ0gtVDMwMHxTQ0gtVTMxMHxTQ0gtVTMyMHxTQ0gtVTM1MHxTQ0gtVTM2MHxTQ0gtVTM2NXxTQ0gtVTM3MHxTQ0gtVTM4MHxTQ0gtVTQxMHxTQ0gtVTQzMHxTQ0gtVTQ1MHxTQ0gtVTQ2MHxTQ0gtVTQ3MHxTQ0gtVTQ5MHxTQ0gtVTU0MHxTQ0gtVTU1MHxTQ0gtVTYyMHxTQ0gtVTY0MHxTQ0gtVTY1MHxTQ0gtVTY2MHxTQ0gtVTcwMHxTQ0gtVTc0MHxTQ0gtVTc1MHxTQ0gtVTgxMHxTQ0gtVTgyMHxTQ0gtVTkwMHxTQ0gtVTk0MHxTQ0gtVTk2MHxTQ1MtMjZVQ3xTR0gtQTEwN3xTR0gtQTExN3xTR0gtQTEyN3xTR0gtQTEzN3xTR0gtQTE1N3xTR0gtQTE2N3xTR0gtQTE3N3xTR0gtQTE4N3xTR0gtQTE5N3xTR0gtQTIyN3xTR0gtQTIzN3xTR0gtQTI1N3xTR0gtQTQzN3xTR0gtQTUxN3xTR0gtQTU5N3xTR0gtQTYzN3xTR0gtQTY1N3xTR0gtQTY2N3xTR0gtQTY4N3xTR0gtQTY5N3xTR0gtQTcwN3xTR0gtQTcxN3xTR0gtQTcyN3xTR0gtQTczN3xTR0gtQTc0N3xTR0gtQTc2N3xTR0gtQTc3N3xTR0gtQTc5N3xTR0gtQTgxN3xTR0gtQTgyN3xTR0gtQTgzN3xTR0gtQTg0N3xTR0gtQTg2N3xTR0gtQTg3N3xTR0gtQTg4N3xTR0gtQTg5N3xTR0gtQTkyN3xTR0gtQjEwMHxTR0gtQjEzMHxTR0gtQjIwMHxTR0gtQjIyMHxTR0gtQzEwMHxTR0gtQzExMHxTR0gtQzEyMHxTR0gtQzEzMHxTR0gtQzE0MHxTR0gtQzE2MHxTR0gtQzE3MHxTR0gtQzE4MHxTR0gtQzIwMHxTR0gtQzIwN3xTR0gtQzIxMHxTR0gtQzIyNXxTR0gtQzIzMHxTR0gtQzQxN3xTR0gtQzQ1MHxTR0gtRDMwN3xTR0gtRDM0N3xTR0gtRDM1N3xTR0gtRDQwN3xTR0gtRDQxNXxTR0gtRDc4MHxTR0gtRDgwN3xTR0gtRDk4MHxTR0gtRTEwNXxTR0gtRTIwMHxTR0gtRTMxNXxTR0gtRTMxNnxTR0gtRTMxN3xTR0gtRTMzNXxTR0gtRTU5MHxTR0gtRTYzNXxTR0gtRTcxNXxTR0gtRTg5MHxTR0gtRjMwMHxTR0gtRjQ4MHxTR0gtSTIwMHxTR0gtSTMwMHxTR0gtSTMyMHxTR0gtSTU1MHxTR0gtSTU3N3xTR0gtSTYwMHxTR0gtSTYwN3xTR0gtSTYxN3xTR0gtSTYyN3xTR0gtSTYzN3xTR0gtSTY3N3xTR0gtSTcwMHxTR0gtSTcxN3xTR0gtSTcyN3xTR0gtaTc0N018U0dILUk3Nzd8U0dILUk3ODB8U0dILUk4Mjd8U0dILUk4NDd8U0dILUk4NTd8U0dILUk4OTZ8U0dILUk4OTd8U0dILUk5MDB8U0dILUk5MDd8U0dILUk5MTd8U0dILUk5Mjd8U0dILUk5Mzd8U0dILUk5OTd8U0dILUoxNTB8U0dILUoyMDB8U0dILUwxNzB8U0dILUw3MDB8U0dILU0xMTB8U0dILU0xNTB8U0dILU0yMDB8U0dILU4xMDV8U0dILU41MDB8U0dILU42MDB8U0dILU42MjB8U0dILU42MjV8U0dILU43MDB8U0dILU43MTB8U0dILVAxMDd8U0dILVAyMDd8U0dILVAzMDB8U0dILVAzMTB8U0dILVA1MjB8U0dILVA3MzV8U0dILVA3Nzd8U0dILVExMDV8U0dILVIyMTB8U0dILVIyMjB8U0dILVIyMjV8U0dILVMxMDV8U0dILVMzMDd8U0dILVQxMDl8U0dILVQxMTl8U0dILVQxMzl8U0dILVQyMDl8U0dILVQyMTl8U0dILVQyMjl8U0dILVQyMzl8U0dILVQyNDl8U0dILVQyNTl8U0dILVQzMDl8U0dILVQzMTl8U0dILVQzMjl8U0dILVQzMzl8U0dILVQzNDl8U0dILVQzNTl8U0dILVQzNjl8U0dILVQzNzl8U0dILVQ0MDl8U0dILVQ0Mjl8U0dILVQ0Mzl8U0dILVQ0NTl8U0dILVQ0Njl8U0dILVQ0Nzl8U0dILVQ0OTl8U0dILVQ1MDl8U0dILVQ1MTl8U0dILVQ1Mzl8U0dILVQ1NTl8U0dILVQ1ODl8U0dILVQ2MDl8U0dILVQ2MTl8U0dILVQ2Mjl8U0dILVQ2Mzl8U0dILVQ2NTl8U0dILVQ2Njl8U0dILVQ2Nzl8U0dILVQ3MDl8U0dILVQ3MTl8U0dILVQ3Mjl8U0dILVQ3Mzl8U0dILVQ3NDZ8U0dILVQ3NDl8U0dILVQ3NTl8U0dILVQ3Njl8U0dILVQ4MDl8U0dILVQ4MTl8U0dILVQ4Mzl8U0dILVQ5MTl8U0dILVQ5Mjl8U0dILVQ5Mzl8U0dILVQ5NTl8U0dILVQ5ODl8U0dILVUxMDB8U0dILVUyMDB8U0dILVU4MDB8U0dILVYyMDV8U0dILVYyMDZ8U0dILVgxMDB8U0dILVgxMDV8U0dILVgxMjB8U0dILVgxNDB8U0dILVg0MjZ8U0dILVg0Mjd8U0dILVg0NzV8U0dILVg0OTV8U0dILVg0OTd8U0dILVg1MDd8U0dILVg2MDB8U0dILVg2MTB8U0dILVg2MjB8U0dILVg2MzB8U0dILVg3MDB8U0dILVg4MjB8U0dILVg4OTB8U0dILVoxMzB8U0dILVoxNTB8U0dILVoxNzB8U0dILVpYMTB8U0dILVpYMjB8U0hXLU0xMTB8U1BILUExMjB8U1BILUE0MDB8U1BILUE0MjB8U1BILUE0NjB8U1BILUE1MDB8U1BILUE1NjB8U1BILUE2MDB8U1BILUE2MjB8U1BILUE2NjB8U1BILUE3MDB8U1BILUE3NDB8U1BILUE3NjB8U1BILUE3OTB8U1BILUE4MDB8U1BILUE4MjB8U1BILUE4NDB8U1BILUE4ODB8U1BILUE5MDB8U1BILUE5NDB8U1BILUE5NjB8U1BILUQ2MDB8U1BILUQ3MDB8U1BILUQ3MTB8U1BILUQ3MjB8U1BILUkzMDB8U1BILUkzMjV8U1BILUkzMzB8U1BILUkzNTB8U1BILUk1MDB8U1BILUk2MDB8U1BILUk3MDB8U1BILUw3MDB8U1BILU0xMDB8U1BILU0yMjB8U1BILU0yNDB8U1BILU0zMDB8U1BILU0zMDV8U1BILU0zMjB8U1BILU0zMzB8U1BILU0zNTB8U1BILU0zNjB8U1BILU0zNzB8U1BILU0zODB8U1BILU01MTB8U1BILU01NDB8U1BILU01NTB8U1BILU01NjB8U1BILU01NzB8U1BILU01ODB8U1BILU02MTB8U1BILU02MjB8U1BILU02MzB8U1BILU04MDB8U1BILU04MTB8U1BILU04NTB8U1BILU05MDB8U1BILU05MTB8U1BILU05MjB8U1BILU05MzB8U1BILU4xMDB8U1BILU4yMDB8U1BILU4yNDB8U1BILU4zMDB8U1BILU40MDB8U1BILVo0MDB8U1dDLUUxMDB8U0NILWk5MDl8R1QtTjcxMDB8R1QtTjcxMDV8U0NILUk1MzV8U00tTjkwMEF8U0dILUkzMTd8U0dILVQ5OTlMfEdULVM1MzYwQnxHVC1JODI2MnxHVC1TNjgwMnxHVC1TNjMxMnxHVC1TNjMxMHxHVC1TNTMxMnxHVC1TNTMxMHxHVC1JOTEwNXxHVC1JODUxMHxHVC1TNjc5ME58U00tRzcxMDV8U00tTjkwMDV8R1QtUzUzMDF8R1QtSTkyOTV8R1QtSTkxOTV8U00tQzEwMXxHVC1TNzM5MnxHVC1TNzU2MHxHVC1CNzYxMHxHVC1JNTUxMHxHVC1TNzU4MnxHVC1TNzUzMEV8R1QtSTg3NTB8U00tRzkwMDZWfFNNLUc5MDA4VnxTTS1HOTAwOUR8U00tRzkwMEF8U00tRzkwMER8U00tRzkwMEZ8U00tRzkwMEh8U00tRzkwMEl8U00tRzkwMEp8U00tRzkwMEt8U00tRzkwMEx8U00tRzkwME18U00tRzkwMFB8U00tRzkwMFI0fFNNLUc5MDBTfFNNLUc5MDBUfFNNLUc5MDBWfFNNLUc5MDBXOHxTSFYtRTE2MEt8U0NILVA3MDl8U0NILVA3Mjl8U00tVDI1NTh8R1QtSTkyMDV8U00tRzkzNTB8U00tSjEyMEZ8U00tRzkyMEZ8U00tRzkyMFZ8U00tRzkzMEZ8U00tTjkxMEN8U00tQTMxMEZ8R1QtSTkxOTB8U00tSjUwMEZOfFNNLUc5MDNGfFNNLUozMzBGfFNNLUc2MTBGfFNNLUc5ODFCfFNNLUc4OTJBfFNNLUE1MzBGIixMRzoiXFxiTEdcXGI7fExHWy0gXT8oQzgwMHxDOTAwfEU0MDB8RTYxMHxFOTAwfEUtOTAwfEYxNjB8RjE4MEt8RjE4MEx8RjE4MFN8NzMwfDg1NXxMMTYwfExTNzQwfExTODQwfExTOTcwfExVNjIwMHxNUzY5MHxNUzY5NXxNUzc3MHxNUzg0MHxNUzg3MHxNUzkxMHxQNTAwfFA3MDB8UDcwNXxWTTY5NnxBUzY4MHxBUzY5NXxBWDg0MHxDNzI5fEU5NzB8R1M1MDV8MjcyfEMzOTV8RTczOUJLfEU5NjB8TDU1Q3xMNzVDfExTNjk2fExTODYwfFA3NjlCS3xQMzUwfFA1MDB8UDUwOXxQODcwfFVOMjcyfFVTNzMwfFZTODQwfFZTOTUwfExOMjcyfExONTEwfExTNjcwfExTODU1fExXNjkwfE1OMjcwfE1ONTEwfFA1MDl8UDc2OXxQOTMwfFVOMjAwfFVOMjcwfFVONTEwfFVONjEwfFVTNjcwfFVTNzQwfFVTNzYwfFVYMjY1fFVYODQwfFZOMjcxfFZONTMwfFZTNjYwfFZTNzAwfFZTNzQwfFZTNzUwfFZTOTEwfFZTOTIwfFZTOTMwfFZYOTIwMHxWWDExMDAwfEFYODQwQXxMVzc3MHxQNTA2fFA5MjV8UDk5OXxFNjEyfEQ5NTV8RDgwMnxNUzMyM3xNMjU3KXxMTS1HNzEwIixTb255OiJTb255U1R8U29ueUxUfFNvbnlFcmljc3NvbnxTb255RXJpY3Nzb25MVDE1aXZ8TFQxOGl8RTEwaXxMVDI4aHxMVDI2d3xTb255RXJpY3Nzb25NVDI3aXxDNTMwM3xDNjkwMnxDNjkwM3xDNjkwNnxDNjk0M3xEMjUzM3xTT1YzNHw2MDFTT3xGODMzMiIsQXN1czoiQXN1cy4qR2FsYXh5fFBhZEZvbmUuKk1vYmlsZSIsWGlhb21pOiJeKD8hLipcXGJ4MTFcXGIpLip4aWFvbWkuKiR8UE9DT1BIT05FIEYxfE1JIDh8UmVkbWkgTm90ZSA5U3xSZWRtaSBOb3RlIDVBIFByaW1lfE4yRzQ3SHxNMjAwMUoyR3xNMjAwMUoySXxNMTgwNUUxMEF8TTIwMDRKMTFHfE0xOTAyRjFHfE0yMDAySjlHfE0yMDA0SjE5R3xNMjAwM0o2QTFHIixOb2tpYUx1bWlhOiJMdW1pYSBbMC05XXszLDR9IixNaWNyb21heDoiTWljcm9tYXguKlxcYihBMjEwfEE5MnxBODh8QTcyfEExMTF8QTExMFF8QTExNXxBMTE2fEExMTB8QTkwU3xBMjZ8QTUxfEEzNXxBNTR8QTI1fEEyN3xBODl8QTY4fEE2NXxBNTd8QTkwKVxcYiIsUGFsbToiUGFsbVNvdXJjZXxQYWxtIixWZXJ0dToiVmVydHV8VmVydHUuKkx0ZHxWZXJ0dS4qQXNjZW50fFZlcnR1LipBeXh0YXxWZXJ0dS4qQ29uc3RlbGxhdGlvbihGfFF1ZXN0KT98VmVydHUuKk1vbmlrYXxWZXJ0dS4qU2lnbmF0dXJlIixQYW50ZWNoOiJQQU5URUNIfElNLUE4NTBTfElNLUE4NDBTfElNLUE4MzBMfElNLUE4MzBLfElNLUE4MzBTfElNLUE4MjBMfElNLUE4MTBLfElNLUE4MTBTfElNLUE4MDBTfElNLVQxMDBLfElNLUE3MjVMfElNLUE3ODBMfElNLUE3NzVDfElNLUE3NzBLfElNLUE3NjBTfElNLUE3NTBLfElNLUE3NDBTfElNLUE3MzBTfElNLUE3MjBMfElNLUE3MTBLfElNLUE2OTBMfElNLUE2OTBTfElNLUE2NTBTfElNLUE2MzBLfElNLUE2MDBTfFZFR0EgUFRMMjF8UFQwMDN8UDgwMTB8QURSOTEwTHxQNjAzMHxQNjAyMHxQOTA3MHxQNDEwMHxQOTA2MHxQNTAwMHxDRE04OTkyfFRYVDgwNDV8QURSODk5NXxJUzExUFR8UDIwMzB8UDYwMTB8UDgwMDB8UFQwMDJ8SVMwNnxDRE04OTk5fFA5MDUwfFBUMDAxfFRYVDgwNDB8UDIwMjB8UDkwMjB8UDIwMDB8UDcwNDB8UDcwMDB8Qzc5MCIsRmx5OiJJUTIzMHxJUTQ0NHxJUTQ1MHxJUTQ0MHxJUTQ0MnxJUTQ0MXxJUTI0NXxJUTI1NnxJUTIzNnxJUTI1NXxJUTIzNXxJUTI0NXxJUTI3NXxJUTI0MHxJUTI4NXxJUTI4MHxJUTI3MHxJUTI2MHxJUTI1MCIsV2lrbzoiS0lURSA0R3xISUdIV0FZfEdFVEFXQVl8U1RBSVJXQVl8REFSS1NJREV8REFSS0ZVTEx8REFSS05JR0hUfERBUktNT09OfFNMSURFfFdBWCA0R3xSQUlOQk9XfEJMT09NfFNVTlNFVHxHT0EoPyFubmEpfExFTk5ZfEJBUlJZfElHR1l8T1paWXxDSU5LIEZJVkV8Q0lOSyBQRUFYfENJTksgUEVBWCAyfENJTksgU0xJTXxDSU5LIFNMSU0gMnxDSU5LICt8Q0lOSyBLSU5HfENJTksgUEVBWHxDSU5LIFNMSU18U1VCTElNIixpTW9iaWxlOiJpLW1vYmlsZSAoSVF8aS1TVFlMRXxpZGVhfFpBQXxIaXR6KSIsU2ltVmFsbGV5OiJcXGIoU1AtODB8WFQtOTMwfFNYLTM0MHxYVC05MzB8U1gtMzEwfFNQLTM2MHxTUDYwfFNQVC04MDB8U1AtMTIwfFNQVC04MDB8U1AtMTQwfFNQWC01fFNQWC04fFNQLTEwMHxTUFgtOHxTUFgtMTIpXFxiIixXb2xmZ2FuZzoiQVQtQjI0RHxBVC1BUzUwSER8QVQtQVM0MFd8QVQtQVM1NUhEfEFULUFTNDVxMnxBVC1CMjZEfEFULUFTNTBRIixBbGNhdGVsOiJBbGNhdGVsIixOaW50ZW5kbzoiTmludGVuZG8gKDNEU3xTd2l0Y2gpIixBbW9pOiJBbW9pIixJTlE6IklOUSIsT25lUGx1czoiT05FUExVUyIsR2VuZXJpY1Bob25lOiJUYXBhdGFsa3xQREE7fFNBR0VNfFxcYm1tcFxcYnxwb2NrZXR8XFxicHNwXFxifHN5bWJpYW58U21hcnRwaG9uZXxzbWFydGZvbnx0cmVvfHVwLmJyb3dzZXJ8dXAubGlua3x2b2RhZm9uZXxcXGJ3YXBcXGJ8bm9raWF8U2VyaWVzNDB8U2VyaWVzNjB8UzYwfFNvbnlFcmljc3NvbnxOOTAwfE1BVUkuKldBUC4qQnJvd3NlciJ9LHRhYmxldHM6e2lQYWQ6ImlQYWR8aVBhZC4qTW9iaWxlIixOZXh1c1RhYmxldDoiQW5kcm9pZC4qTmV4dXNbXFxzXSsoN3w5fDEwKSIsR29vZ2xlVGFibGV0OiJBbmRyb2lkLipQaXhlbCBDIixTYW1zdW5nVGFibGV0OiJTQU1TVU5HLipUYWJsZXR8R2FsYXh5LipUYWJ8U0MtMDFDfEdULVAxMDAwfEdULVAxMDAzfEdULVAxMDEwfEdULVAzMTA1fEdULVA2MjEwfEdULVA2ODAwfEdULVA2ODEwfEdULVA3MTAwfEdULVA3MzAwfEdULVA3MzEwfEdULVA3NTAwfEdULVA3NTEwfFNDSC1JODAwfFNDSC1JODE1fFNDSC1JOTA1fFNHSC1JOTU3fFNHSC1JOTg3fFNHSC1UODQ5fFNHSC1UODU5fFNHSC1UODY5fFNQSC1QMTAwfEdULVAzMTAwfEdULVAzMTA4fEdULVAzMTEwfEdULVA1MTAwfEdULVA1MTEwfEdULVA2MjAwfEdULVA3MzIwfEdULVA3NTExfEdULU44MDAwfEdULVA4NTEwfFNHSC1JNDk3fFNQSC1QNTAwfFNHSC1UNzc5fFNDSC1JNzA1fFNDSC1JOTE1fEdULU44MDEzfEdULVAzMTEzfEdULVA1MTEzfEdULVA4MTEwfEdULU44MDEwfEdULU44MDA1fEdULU44MDIwfEdULVAxMDEzfEdULVA2MjAxfEdULVA3NTAxfEdULU41MTAwfEdULU41MTA1fEdULU41MTEwfFNIVi1FMTQwS3xTSFYtRTE0MEx8U0hWLUUxNDBTfFNIVi1FMTUwU3xTSFYtRTIzMEt8U0hWLUUyMzBMfFNIVi1FMjMwU3xTSFctTTE4MEt8U0hXLU0xODBMfFNIVy1NMTgwU3xTSFctTTE4MFd8U0hXLU0zMDBXfFNIVy1NMzA1V3xTSFctTTM4MEt8U0hXLU0zODBTfFNIVy1NMzgwV3xTSFctTTQzMFd8U0hXLU00ODBLfFNIVy1NNDgwU3xTSFctTTQ4MFd8U0hXLU00ODVXfFNIVy1NNDg2V3xTSFctTTUwMFd8R1QtSTkyMjh8U0NILVA3Mzl8U0NILUk5MjV8R1QtSTkyMDB8R1QtUDUyMDB8R1QtUDUyMTB8R1QtUDUyMTBYfFNNLVQzMTF8U00tVDMxMHxTTS1UMzEwWHxTTS1UMjEwfFNNLVQyMTBSfFNNLVQyMTF8U00tUDYwMHxTTS1QNjAxfFNNLVA2MDV8U00tUDkwMHxTTS1QOTAxfFNNLVQyMTd8U00tVDIxN0F8U00tVDIxN1N8U00tUDYwMDB8U00tVDMxMDB8U0dILUk0Njd8WEU1MDB8U00tVDExMHxHVC1QNTIyMHxHVC1JOTIwMFh8R1QtTjUxMTBYfEdULU41MTIwfFNNLVA5MDV8U00tVDExMXxTTS1UMjEwNXxTTS1UMzE1fFNNLVQzMjB8U00tVDMyMFh8U00tVDMyMXxTTS1UNTIwfFNNLVQ1MjV8U00tVDUzME5VfFNNLVQyMzBOVXxTTS1UMzMwTlV8U00tVDkwMHxYRTUwMFQxQ3xTTS1QNjA1VnxTTS1QOTA1VnxTTS1UMzM3VnxTTS1UNTM3VnxTTS1UNzA3VnxTTS1UODA3VnxTTS1QNjAwWHxTTS1QOTAwWHxTTS1UMjEwWHxTTS1UMjMwfFNNLVQyMzBYfFNNLVQzMjV8R1QtUDc1MDN8U00tVDUzMXxTTS1UMzMwfFNNLVQ1MzB8U00tVDcwNXxTTS1UNzA1Q3xTTS1UNTM1fFNNLVQzMzF8U00tVDgwMHxTTS1UNzAwfFNNLVQ1Mzd8U00tVDgwN3xTTS1QOTA3QXxTTS1UMzM3QXxTTS1UNTM3QXxTTS1UNzA3QXxTTS1UODA3QXxTTS1UMjM3fFNNLVQ4MDdQfFNNLVA2MDdUfFNNLVQyMTdUfFNNLVQzMzdUfFNNLVQ4MDdUfFNNLVQxMTZOUXxTTS1UMTE2QlV8U00tUDU1MHxTTS1UMzUwfFNNLVQ1NTB8U00tVDkwMDB8U00tUDkwMDB8U00tVDcwNVl8U00tVDgwNXxHVC1QMzExM3xTTS1UNzEwfFNNLVQ4MTB8U00tVDgxNXxTTS1UMzYwfFNNLVQ1MzN8U00tVDExM3xTTS1UMzM1fFNNLVQ3MTV8U00tVDU2MHxTTS1UNjcwfFNNLVQ2Nzd8U00tVDM3N3xTTS1UNTY3fFNNLVQzNTdUfFNNLVQ1NTV8U00tVDU2MXxTTS1UNzEzfFNNLVQ3MTl8U00tVDgxM3xTTS1UODE5fFNNLVQ1ODB8U00tVDM1NVk/fFNNLVQyODB8U00tVDgxN0F8U00tVDgyMHxTTS1XNzAwfFNNLVA1ODB8U00tVDU4N3xTTS1QMzUwfFNNLVA1NTVNfFNNLVAzNTVNfFNNLVQxMTNOVXxTTS1UODE1WXxTTS1UNTg1fFNNLVQyODV8U00tVDgyNXxTTS1XNzA4fFNNLVQ4MzV8U00tVDgzMHxTTS1UODM3VnxTTS1UNzIwfFNNLVQ1MTB8U00tVDM4N1Z8U00tUDYxMHxTTS1UMjkwfFNNLVQ1MTV8U00tVDU5MHxTTS1UNTk1fFNNLVQ3MjV8U00tVDgxN1B8U00tUDU4NU4wfFNNLVQzOTV8U00tVDI5NXxTTS1UODY1fFNNLVA2MTBOfFNNLVA2MTV8U00tVDk3MHxTTS1UMzgwfFNNLVQ1OTUwfFNNLVQ5MDV8U00tVDIzMXxTTS1UNTAwfFNNLVQ4NjAiLEtpbmRsZToiS2luZGxlfFNpbGsuKkFjY2VsZXJhdGVkfEFuZHJvaWQuKlxcYihLRk9UfEtGVFR8S0ZKV0l8S0ZKV0F8S0ZPVEV8S0ZTT1dJfEtGVEhXSXxLRlRIV0F8S0ZBUFdJfEtGQVBXQXxXRkpXQUV8S0ZTQVdBfEtGU0FXSXxLRkFTV0l8S0ZBUldJfEtGRk9XSXxLRkdJV0l8S0ZNRVdJKVxcYnxBbmRyb2lkLipTaWxrL1swLTkuXSsgbGlrZSBDaHJvbWUvWzAtOS5dKyAoPyFNb2JpbGUpIixTdXJmYWNlVGFibGV0OiJXaW5kb3dzIE5UIFswLTkuXSs7IEFSTTsuKihUYWJsZXR8QVJNQkpTKSIsSFBUYWJsZXQ6IkhQIFNsYXRlICg3fDh8MTApfEhQIEVsaXRlUGFkIDkwMHxocC10YWJsZXR8RWxpdGVCb29rLipUb3VjaHxIUCA4fFNsYXRlIDIxfEhQIFNsYXRlQm9vayAxMCIsQXN1c1RhYmxldDoiXi4qUGFkRm9uZSgoPyFNb2JpbGUpLikqJHxUcmFuc2Zvcm1lcnxURjEwMXxURjEwMUd8VEYzMDBUfFRGMzAwVEd8VEYzMDBUTHxURjcwMFR8VEY3MDBLTHxURjcwMVR8VEY4MTBDfE1FMTcxfE1FMzAxVHxNRTMwMkN8TUUzNzFNR3xNRTM3MFR8TUUzNzJNR3xNRTE3MlZ8TUUxNzNYfE1FNDAwQ3xTbGlkZXIgU0wxMDF8XFxiSzAwRlxcYnxcXGJLMDBDXFxifFxcYkswMEVcXGJ8XFxiSzAwTFxcYnxUWDIwMUxBfE1FMTc2Q3xNRTEwMkF8XFxiTTgwVEFcXGJ8TUUzNzJDTHxNRTU2MENHfE1FMzcyQ0d8TUUzMDJLTHwgSzAxMCB8IEswMTEgfCBLMDE3IHwgSzAxRSB8TUU1NzJDfE1FMTAzS3xNRTE3MEN8TUUxNzFDfFxcYk1FNzBDXFxifE1FNTgxQ3xNRTU4MUNMfE1FODUxMEN8TUUxODFDfFAwMVl8UE8xTUF8UDAxWnxcXGJQMDI3XFxifFxcYlAwMjRcXGJ8XFxiUDAwQ1xcYiIsQmxhY2tCZXJyeVRhYmxldDoiUGxheUJvb2t8UklNIFRhYmxldCIsSFRDdGFibGV0OiJIVENfRmx5ZXJfUDUxMnxIVEMgRmx5ZXJ8SFRDIEpldHN0cmVhbXxIVEMtUDcxNWF8SFRDIEVWTyBWaWV3IDRHfFBHNDEyMDB8UEcwOTQxMCIsTW90b3JvbGFUYWJsZXQ6Inhvb218c2hvbGVzdHxNWjYxNXxNWjYwNXxNWjUwNXxNWjYwMXxNWjYwMnxNWjYwM3xNWjYwNHxNWjYwNnxNWjYwN3xNWjYwOHxNWjYwOXxNWjYxNXxNWjYxNnxNWjYxNyIsTm9va1RhYmxldDoiQW5kcm9pZC4qTm9va3xOb29rQ29sb3J8bm9vayBicm93c2VyfEJOUlYyMDB8Qk5SVjIwMEF8Qk5UVjI1MHxCTlRWMjUwQXxCTlRWNDAwfEJOVFY2MDB8TG9naWNQRCBab29tMiIsQWNlclRhYmxldDoiQW5kcm9pZC4qOyBcXGIoQTEwMHxBMTAxfEExMTB8QTIwMHxBMjEwfEEyMTF8QTUwMHxBNTAxfEE1MTB8QTUxMXxBNzAwfEE3MDF8VzUwMHxXNTAwUHxXNTAxfFc1MDFQfFc1MTB8VzUxMXxXNzAwfEcxMDB8RzEwMFd8QjEtQTcxfEIxLTcxMHxCMS03MTF8QTEtODEwfEExLTgxMXxBMS04MzApXFxifFczLTgxMHxcXGJBMy1BMTBcXGJ8XFxiQTMtQTExXFxifFxcYkEzLUEyMFxcYnxcXGJBMy1BMzB8QTMtQTQwIixUb3NoaWJhVGFibGV0OiJBbmRyb2lkLiooQVQxMDB8QVQxMDV8QVQyMDB8QVQyMDV8QVQyNzB8QVQyNzV8QVQzMDB8QVQzMDV8QVQxUzV8QVQ1MDB8QVQ1NzB8QVQ3MDB8QVQ4MzApfFRPU0hJQkEuKkZPTElPIixMR1RhYmxldDoiXFxiTC0wNkN8TEctVjkwOXxMRy1WOTAwfExHLVY3MDB8TEctVjUxMHxMRy1WNTAwfExHLVY0MTB8TEctVjQwMHxMRy1WSzgxMFxcYiIsRnVqaXRzdVRhYmxldDoiQW5kcm9pZC4qXFxiKEYtMDFEfEYtMDJGfEYtMDVFfEYtMTBEfE01MzJ8UTU3MilcXGIiLFByZXN0aWdpb1RhYmxldDoiUE1QMzE3MEJ8UE1QMzI3MEJ8UE1QMzQ3MEJ8UE1QNzE3MEJ8UE1QMzM3MEJ8UE1QMzU3MEN8UE1QNTg3MEN8UE1QMzY3MEJ8UE1QNTU3MEN8UE1QNTc3MER8UE1QMzk3MEJ8UE1QMzg3MEN8UE1QNTU4MEN8UE1QNTg4MER8UE1QNTc4MER8UE1QNTU4OEN8UE1QNzI4MEN8UE1QNzI4MEMzR3xQTVA3MjgwfFBNUDc4ODBEfFBNUDU1OTdEfFBNUDU1OTd8UE1QNzEwMER8UEVSMzQ2NHxQRVIzMjc0fFBFUjM1NzR8UEVSMzg4NHxQRVI1Mjc0fFBFUjU0NzR8UE1QNTA5N0NQUk98UE1QNTA5N3xQTVA3MzgwRHxQTVA1Mjk3Q3xQTVA1Mjk3Q19RVUFEfFBNUDgxMkV8UE1QODEyRTNHfFBNUDgxMkZ8UE1QODEwRXxQTVA4ODBURHxQTVQzMDE3fFBNVDMwMzd8UE1UMzA0N3xQTVQzMDU3fFBNVDcwMDh8UE1UNTg4N3xQTVQ1MDAxfFBNVDUwMDIiLExlbm92b1RhYmxldDoiTGVub3ZvIFRBQnxJZGVhKFRhYnxQYWQpKCBBMXxBMTB8IEsxfCl8VGhpbmtQYWQoWyBdKyk/VGFibGV0fFlUMy04NTBNfFlUMy1YOTBMfFlUMy1YOTBGfFlUMy1YOTBYfExlbm92by4qKFMyMTA5fFMyMTEwfFM1MDAwfFM2MDAwfEszMDExfEEzMDAwfEEzNTAwfEExMDAwfEEyMTA3fEEyMTA5fEExMTA3fEE1NTAwfEE3NjAwfEI2MDAwfEI4MDAwfEI4MDgwKSgtfCkoRkx8RnxIVnxIfCl8VEItWDEwM0Z8VEItWDMwNFh8VEItWDMwNEZ8VEItWDMwNEx8VEItWDUwNUZ8VEItWDUwNUx8VEItWDUwNVh8VEItWDYwNUZ8VEItWDYwNUx8VEItODcwM0Z8VEItODcwM1h8VEItODcwM058VEItODcwNE58VEItODcwNEZ8VEItODcwNFh8VEItODcwNFZ8VEItNzMwNEZ8VEItNzMwNEl8VEItNzMwNFh8VGFiMkE3LTEwRnxUYWIyQTctMjBGfFRCMi1YMzBMfFlUMy1YNTBMfFlUMy1YNTBGfFlUMy1YNTBNfFlULVg3MDVGfFlULVg3MDNGfFlULVg3MDNMfFlULVg3MDVMfFlULVg3MDVYfFRCMi1YMzBGfFRCMi1YMzBMfFRCMi1YMzBNfEEyMTA3QS1GfEEyMTA3QS1IfFRCMy03MzBGfFRCMy03MzBNfFRCMy03MzBYfFRCLTc1MDRGfFRCLTc1MDRYfFRCLVg3MDRGfFRCLVgxMDRGfFRCMy1YNzBGfFRCLVg3MDVGfFRCLTg1MDRGfFRCMy1YNzBMfFRCMy03MTBGfFRCLVg3MDRMIixEZWxsVGFibGV0OiJWZW51ZSAxMXxWZW51ZSA4fFZlbnVlIDd8RGVsbCBTdHJlYWsgMTB8RGVsbCBTdHJlYWsgNyIsWWFydmlrVGFibGV0OiJBbmRyb2lkLipcXGIoVEFCMjEwfFRBQjIxMXxUQUIyMjR8VEFCMjUwfFRBQjI2MHxUQUIyNjR8VEFCMzEwfFRBQjM2MHxUQUIzNjR8VEFCNDEwfFRBQjQxMXxUQUI0MjB8VEFCNDI0fFRBQjQ1MHxUQUI0NjB8VEFCNDYxfFRBQjQ2NHxUQUI0NjV8VEFCNDY3fFRBQjQ2OHxUQUIwNy0xMDB8VEFCMDctMTAxfFRBQjA3LTE1MHxUQUIwNy0xNTF8VEFCMDctMTUyfFRBQjA3LTIwMHxUQUIwNy0yMDEtM0d8VEFCMDctMjEwfFRBQjA3LTIxMXxUQUIwNy0yMTJ8VEFCMDctMjE0fFRBQjA3LTIyMHxUQUIwNy00MDB8VEFCMDctNDg1fFRBQjA4LTE1MHxUQUIwOC0yMDB8VEFCMDgtMjAxLTNHfFRBQjA4LTIwMS0zMHxUQUIwOS0xMDB8VEFCMDktMjExfFRBQjA5LTQxMHxUQUIxMC0xNTB8VEFCMTAtMjAxfFRBQjEwLTIxMXxUQUIxMC00MDB8VEFCMTAtNDEwfFRBQjEzLTIwMXxUQUIyNzRFVUt8VEFCMjc1RVVLfFRBQjM3NEVVS3xUQUI0NjJFVUt8VEFCNDc0RVVLfFRBQjktMjAwKVxcYiIsTWVkaW9uVGFibGV0OiJBbmRyb2lkLipcXGJPWU9cXGJ8TElGRS4qKFA5MjEyfFA5NTE0fFA5NTE2fFM5NTEyKXxMSUZFVEFCIixBcm5vdmFUYWJsZXQ6Ijk3RzR8QU4xMEcyfEFON2JHM3xBTjdmRzN8QU44RzN8QU44Y0czfEFON0czfEFOOUczfEFON2RHM3xBTjdkRzNTVHxBTjdkRzNDaGlsZFBhZHxBTjEwYkczfEFOMTBiRzNEVHxBTjlHMiIsSW50ZW5zb1RhYmxldDoiSU5NODAwMktQfElOTTEwMTBGUHxJTk04MDVORHxJbnRlbnNvIFRhYnxUQUIxMDA0IixJUlVUYWJsZXQ6Ik03MDJwcm8iLE1lZ2Fmb25UYWJsZXQ6Ik1lZ2FGb24gVjl8XFxiWlRFIFY5XFxifEFuZHJvaWQuKlxcYk1UN0FcXGIiLEVib2RhVGFibGV0OiJFLUJvZGEgKFN1cHJlbWV8SW1wcmVzc3BlZWR8SXp6eWNvbW18RXNzZW50aWFsKSIsQWxsVmlld1RhYmxldDoiQWxsdmlldy4qKFZpdmF8QWxsZHJvfENpdHl8U3BlZWR8QWxsIFRWfEZyZW56eXxRdWFzYXJ8U2hpbmV8VFgxfEFYMXxBWDIpIixBcmNob3NUYWJsZXQ6IlxcYigxMDFHOXw4MEc5fEExMDFJVClcXGJ8UWlsaXZlIDk3UnxBcmNob3M1fFxcYkFSQ0hPUyAoNzB8Nzl8ODB8OTB8OTd8MTAxfEZBTUlMWVBBRHwpKGJ8Y3wpKEcxMHwgQ29iYWx0fCBUSVRBTklVTShIRHwpfCBYZW5vbnwgTmVvbnxYU0t8IDJ8IFhTIDJ8IFBMQVRJTlVNfCBDQVJCT058R0FNRVBBRClcXGIiLEFpbm9sVGFibGV0OiJOT1ZPN3xOT1ZPOHxOT1ZPMTB8Tm92bzdBdXJvcmF8Tm92bzdCYXNpY3xOT1ZPN1BBTEFESU58bm92bzktU3BhcmsiLE5va2lhTHVtaWFUYWJsZXQ6Ikx1bWlhIDI1MjAiLFNvbnlUYWJsZXQ6IlNvbnkuKlRhYmxldHxYcGVyaWEgVGFibGV0fFNvbnkgVGFibGV0IFN8U08tMDNFfFNHUFQxMnxTR1BUMTN8U0dQVDExNHxTR1BUMTIxfFNHUFQxMjJ8U0dQVDEyM3xTR1BUMTExfFNHUFQxMTJ8U0dQVDExM3xTR1BUMTMxfFNHUFQxMzJ8U0dQVDEzM3xTR1BUMjExfFNHUFQyMTJ8U0dQVDIxM3xTR1AzMTF8U0dQMzEyfFNHUDMyMXxFQlJEMTEwMXxFQlJEMTEwMnxFQlJEMTIwMXxTR1AzNTF8U0dQMzQxfFNHUDUxMXxTR1A1MTJ8U0dQNTIxfFNHUDU0MXxTR1A1NTF8U0dQNjIxfFNHUDY0MXxTR1A2MTJ8U09UMzF8U0dQNzcxfFNHUDYxMXxTR1A2MTJ8U0dQNzEyIixQaGlsaXBzVGFibGV0OiJcXGIoUEkyMDEwfFBJMzAwMHxQSTMxMDB8UEkzMTA1fFBJMzExMHxQSTMyMDV8UEkzMjEwfFBJMzkwMHxQSTQwMTB8UEk3MDAwfFBJNzEwMClcXGIiLEN1YmVUYWJsZXQ6IkFuZHJvaWQuKihLOEdUfFU5R1R8VTEwR1R8VTE2R1R8VTE3R1R8VTE4R1R8VTE5R1R8VTIwR1R8VTIzR1R8VTMwR1QpfENVQkUgVThHVCIsQ29ieVRhYmxldDoiTUlEMTA0MnxNSUQxMDQ1fE1JRDExMjV8TUlEMTEyNnxNSUQ3MDEyfE1JRDcwMTR8TUlENzAxNXxNSUQ3MDM0fE1JRDcwMzV8TUlENzAzNnxNSUQ3MDQyfE1JRDcwNDh8TUlENzEyN3xNSUQ4MDQyfE1JRDgwNDh8TUlEODEyN3xNSUQ5MDQyfE1JRDk3NDB8TUlEOTc0MnxNSUQ3MDIyfE1JRDcwMTAiLE1JRFRhYmxldDoiTTk3MDF8TTkwMDB8TTkxMDB8TTgwNnxNMTA1MnxNODA2fFQ3MDN8TUlENzAxfE1JRDcxM3xNSUQ3MTB8TUlENzI3fE1JRDc2MHxNSUQ4MzB8TUlENzI4fE1JRDkzM3xNSUQxMjV8TUlEODEwfE1JRDczMnxNSUQxMjB8TUlEOTMwfE1JRDgwMHxNSUQ3MzF8TUlEOTAwfE1JRDEwMHxNSUQ4MjB8TUlENzM1fE1JRDk4MHxNSUQxMzB8TUlEODMzfE1JRDczN3xNSUQ5NjB8TUlEMTM1fE1JRDg2MHxNSUQ3MzZ8TUlEMTQwfE1JRDkzMHxNSUQ4MzV8TUlENzMzfE1JRDRYMTAiLE1TSVRhYmxldDoiTVNJIFxcYihQcmltbyA3M0t8UHJpbW8gNzNMfFByaW1vIDgxTHxQcmltbyA3N3xQcmltbyA5M3xQcmltbyA3NXxQcmltbyA3NnxQcmltbyA3M3xQcmltbyA4MXxQcmltbyA5MXxQcmltbyA5MHxFbmpveSA3MXxFbmpveSA3fEVuam95IDEwKVxcYiIsU01pVFRhYmxldDoiQW5kcm9pZC4qKFxcYk1JRFxcYnxNSUQtNTYwfE1UVi1UMTIwMHxNVFYtUE5ENTMxfE1UVi1QMTEwMXxNVFYtUE5ENTMwKSIsUm9ja0NoaXBUYWJsZXQ6IkFuZHJvaWQuKihSSzI4MTh8UksyODA4QXxSSzI5MTh8UkszMDY2KXxSSzI3Mzh8UksyODA4QSIsRmx5VGFibGV0OiJJUTMxMHxGbHkgVmlzaW9uIixicVRhYmxldDoiQW5kcm9pZC4qKGJxKT8uKlxcYihFbGNhbm98Q3VyaWV8RWRpc29ufE1heHdlbGx8S2VwbGVyfFBhc2NhbHxUZXNsYXxIeXBhdGlhfFBsYXRvbnxOZXd0b258TGl2aW5nc3RvbmV8Q2VydmFudGVzfEF2YW50fEFxdWFyaXMgKFtFfE1dMTB8TTgpKVxcYnxNYXh3ZWxsLipMaXRlfE1heHdlbGwuKlBsdXMiLEh1YXdlaVRhYmxldDoiTWVkaWFQYWR8TWVkaWFQYWQgNyBZb3V0aHxJREVPUyBTN3xTNy0yMDFjfFM3LTIwMnV8UzctMTAxfFM3LTEwM3xTNy0xMDR8UzctMTA1fFM3LTEwNnxTNy0yMDF8UzctU2xpbXxNMi1BMDFMfEJBSC1MMDl8QkFILVcwOXxBR1MtTDA5fENNUi1BTDE5IixOZWNUYWJsZXQ6IlxcYk4tMDZEfFxcYk4tMDhEIixQYW50ZWNoVGFibGV0OiJQYW50ZWNoLipQNDEwMCIsQnJvbmNob1RhYmxldDoiQnJvbmNoby4qKE43MDF8TjcwOHxOODAyfGE3MTApIixWZXJzdXNUYWJsZXQ6IlRPVUNIUEFELipbNzg5MTBdfFxcYlRPVUNIVEFCXFxiIixaeW5jVGFibGV0OiJ6MTAwMHxaOTkgMkd8ejkzMHx6OTkwfHo5MDl8WjkxOXx6OTAwIixQb3NpdGl2b1RhYmxldDoiVEIwN1NUQXxUQjEwU1RBfFRCMDdGVEF8VEIxMEZUQSIsTmFiaVRhYmxldDoiQW5kcm9pZC4qXFxiTmFiaSIsS29ib1RhYmxldDoiS29ibyBUb3VjaHxcXGJLMDgwXFxifFxcYlZveFxcYiBCdWlsZHxcXGJBcmNcXGIgQnVpbGQiLERhbmV3VGFibGV0OiJEU2xpZGUuKlxcYig3MDB8NzAxUnw3MDJ8NzAzUnw3MDR8ODAyfDk3MHw5NzF8OTcyfDk3M3w5NzR8MTAxMHwxMDEyKVxcYiIsVGV4ZXRUYWJsZXQ6Ik5hdmlQYWR8VEItNzcyQXxUTS03MDQ1fFRNLTcwNTV8VE0tOTc1MHxUTS03MDE2fFRNLTcwMjR8VE0tNzAyNnxUTS03MDQxfFRNLTcwNDN8VE0tNzA0N3xUTS04MDQxfFRNLTk3NDF8VE0tOTc0N3xUTS05NzQ4fFRNLTk3NTF8VE0tNzAyMnxUTS03MDIxfFRNLTcwMjB8VE0tNzAxMXxUTS03MDEwfFRNLTcwMjN8VE0tNzAyNXxUTS03MDM3V3xUTS03MDM4V3xUTS03MDI3V3xUTS05NzIwfFRNLTk3MjV8VE0tOTczN1d8VE0tMTAyMHxUTS05NzM4V3xUTS05NzQwfFRNLTk3NDNXfFRCLTgwN0F8VEItNzcxQXxUQi03MjdBfFRCLTcyNUF8VEItNzE5QXxUQi04MjNBfFRCLTgwNUF8VEItNzIzQXxUQi03MTVBfFRCLTcwN0F8VEItNzA1QXxUQi03MDlBfFRCLTcxMUF8VEItODkwSER8VEItODgwSER8VEItNzkwSER8VEItNzgwSER8VEItNzcwSER8VEItNzIxSER8VEItNzEwSER8VEItNDM0SER8VEItODYwSER8VEItODQwSER8VEItNzYwSER8VEItNzUwSER8VEItNzQwSER8VEItNzMwSER8VEItNzIySER8VEItNzIwSER8VEItNzAwSER8VEItNTAwSER8VEItNDcwSER8VEItNDMxSER8VEItNDMwSER8VEItNTA2fFRCLTUwNHxUQi00NDZ8VEItNDM2fFRCLTQxNnxUQi0xNDZTRXxUQi0xMjZTRSIsUGxheXN0YXRpb25UYWJsZXQ6IlBsYXlzdGF0aW9uLiooUG9ydGFibGV8Vml0YSkiLFRyZWtzdG9yVGFibGV0OiJTVDEwNDE2LTF8VlQxMDQxNi0xfFNUNzA0MDgtMXxTVDcwMnh4LTF8U1Q3MDJ4eC0yfFNUODAyMDh8U1Q5NzIxNnxTVDcwMTA0LTJ8VlQxMDQxNi0yfFNUMTAyMTYtMkF8U3VyZlRhYiIsUHlsZUF1ZGlvVGFibGV0OiJcXGIoUFRCTDEwQ0VVfFBUQkwxMEN8UFRCTDcyQkN8UFRCTDcyQkNFVXxQVEJMN0NFVXxQVEJMN0N8UFRCTDkyQkN8UFRCTDkyQkNFVXxQVEJMOUNFVXxQVEJMOUNVS3xQVEJMOUMpXFxiIixBZHZhblRhYmxldDoiQW5kcm9pZC4qIFxcYihFM0F8VDNYfFQ1Q3xUNUJ8VDNFfFQzQ3xUM0J8VDFKfFQxRnxUMkF8VDFIfFQxaXxFMUN8VDEtRXxUNS1BfFQ0fEUxLUJ8VDJDaXxUMS1CfFQxLUR8TzEtQXxFMS1BfFQxLUF8VDNBfFQ0aSlcXGIgIixEYW55VGVjaFRhYmxldDoiR2VuaXVzIFRhYiBHM3xHZW5pdXMgVGFiIFMyfEdlbml1cyBUYWIgUTN8R2VuaXVzIFRhYiBHNHxHZW5pdXMgVGFiIFE0fEdlbml1cyBUYWIgRy1JSXxHZW5pdXMgVEFCIEdJSXxHZW5pdXMgVEFCIEdJSUl8R2VuaXVzIFRhYiBTMSIsR2FsYXBhZFRhYmxldDoiQW5kcm9pZCBbMC05Ll0rOyBbYS16LV0rOyBcXGJHMVxcYiIsTWljcm9tYXhUYWJsZXQ6IkZ1bmJvb2t8TWljcm9tYXguKlxcYihQMjUwfFA1NjB8UDM2MHxQMzYyfFA2MDB8UDMwMHxQMzUwfFA1MDB8UDI3NSlcXGIiLEthcmJvbm5UYWJsZXQ6IkFuZHJvaWQuKlxcYihBMzl8QTM3fEEzNHxTVDh8U1QxMHxTVDd8U21hcnQgVGFiM3xTbWFydCBUYWIyKVxcYiIsQWxsRmluZVRhYmxldDoiRmluZTcgR2VuaXVzfEZpbmU3IFNoaW5lfEZpbmU3IEFpcnxGaW5lOCBTdHlsZXxGaW5lOSBNb3JlfEZpbmUxMCBKb3l8RmluZTExIFdpZGUiLFBST1NDQU5UYWJsZXQ6IlxcYihQRU02M3xQTFQxMDIzR3xQTFQxMDQxfFBMVDEwNDR8UExUMTA0NEd8UExUMTA5MXxQTFQ0MzExfFBMVDQzMTFQTHxQTFQ0MzE1fFBMVDcwMzB8UExUNzAzM3xQTFQ3MDMzRHxQTFQ3MDM1fFBMVDcwMzVEfFBMVDcwNDRLfFBMVDcwNDVLfFBMVDcwNDVLQnxQTFQ3MDcxS0d8UExUNzA3MnxQTFQ3MjIzR3xQTFQ3MjI1R3xQTFQ3Nzc3R3xQTFQ3ODEwS3xQTFQ3ODQ5R3xQTFQ3ODUxR3xQTFQ3ODUyR3xQTFQ4MDE1fFBMVDgwMzF8UExUODAzNHxQTFQ4MDM2fFBMVDgwODBLfFBMVDgwODJ8UExUODA4OHxQTFQ4MjIzR3xQTFQ4MjM0R3xQTFQ4MjM1R3xQTFQ4ODE2S3xQTFQ5MDExfFBMVDkwNDVLfFBMVDkyMzNHfFBMVDk3MzV8UExUOTc2MEd8UExUOTc3MEcpXFxiIixZT05FU1RhYmxldDoiQlExMDc4fEJDMTAwM3xCQzEwNzd8Uks5NzAyfEJDOTczMHxCQzkwMDF8SVQ5MDAxfEJDNzAwOHxCQzcwMTB8QkM3MDh8QkM3Mjh8QkM3MDEyfEJDNzAzMHxCQzcwMjd8QkM3MDI2IixDaGFuZ0ppYVRhYmxldDoiVFBDNzEwMnxUUEM3MTAzfFRQQzcxMDV8VFBDNzEwNnxUUEM3MTA3fFRQQzcyMDF8VFBDNzIwM3xUUEM3MjA1fFRQQzcyMTB8VFBDNzcwOHxUUEM3NzA5fFRQQzc3MTJ8VFBDNzExMHxUUEM4MTAxfFRQQzgxMDN8VFBDODEwNXxUUEM4MTA2fFRQQzgyMDN8VFBDODIwNXxUUEM4NTAzfFRQQzkxMDZ8VFBDOTcwMXxUUEM5NzEwMXxUUEM5NzEwM3xUUEM5NzEwNXxUUEM5NzEwNnxUUEM5NzExMXxUUEM5NzExM3xUUEM5NzIwM3xUUEM5NzYwM3xUUEM5NzgwOXxUUEM5NzIwNXxUUEMxMDEwMXxUUEMxMDEwM3xUUEMxMDEwNnxUUEMxMDExMXxUUEMxMDIwM3xUUEMxMDIwNXxUUEMxMDUwMyIsR1VUYWJsZXQ6IlRYLUExMzAxfFRYLU05MDAyfFE3MDJ8a2YwMjYiLFBvaW50T2ZWaWV3VGFibGV0OiJUQUItUDUwNnxUQUItbmF2aS03LTNHLU18VEFCLVA1MTd8VEFCLVAtNTI3fFRBQi1QNzAxfFRBQi1QNzAzfFRBQi1QNzIxfFRBQi1QNzMxTnxUQUItUDc0MXxUQUItUDgyNXxUQUItUDkwNXxUQUItUDkyNXxUQUItUFI5NDV8VEFCLVBMMTAxNXxUQUItUDEwMjV8VEFCLVBJMTA0NXxUQUItUDEzMjV8VEFCLVBST1RBQlswLTldK3xUQUItUFJPVEFCMjV8VEFCLVBST1RBQjI2fFRBQi1QUk9UQUIyN3xUQUItUFJPVEFCMjZYTHxUQUItUFJPVEFCMi1JUFM5fFRBQi1QUk9UQUIzMC1JUFM5fFRBQi1QUk9UQUIyNVhYTHxUQUItUFJPVEFCMjYtSVBTMTB8VEFCLVBST1RBQjMwLUlQUzEwIixPdmVybWF4VGFibGV0OiJPVi0oU3RlZWxDb3JlfE5ld0Jhc2V8QmFzZWNvcmV8QmFzZW9uZXxFeGVsbGVufFF1YXR0b3J8RWR1VGFifFNvbHV0aW9ufEFDVElPTnxCYXNpY1RhYnxUZWRkeVRhYnxNYWdpY1RhYnxTdHJlYW18VEItMDh8VEItMDkpfFF1YWxjb3JlIDEwMjciLEhDTFRhYmxldDoiSENMLipUYWJsZXR8Q29ubmVjdC0zRy0yLjB8Q29ubmVjdC0yRy0yLjB8TUUgVGFibGV0IFUxfE1FIFRhYmxldCBVMnxNRSBUYWJsZXQgRzF8TUUgVGFibGV0IFgxfE1FIFRhYmxldCBZMnxNRSBUYWJsZXQgU3luYyIsRFBTVGFibGV0OiJEUFMgRHJlYW0gOXxEUFMgRHVhbCA3IixWaXN0dXJlVGFibGV0OiJWOTcgSER8aTc1IDNHfFZpc3R1cmUgVjQoIEhEKT98VmlzdHVyZSBWNSggSEQpP3xWaXN0dXJlIFYxMCIsQ3Jlc3RhVGFibGV0OiJDVFAoLSk/ODEwfENUUCgtKT84MTh8Q1RQKC0pPzgyOHxDVFAoLSk/ODM4fENUUCgtKT84ODh8Q1RQKC0pPzk3OHxDVFAoLSk/OTgwfENUUCgtKT85ODd8Q1RQKC0pPzk4OHxDVFAoLSk/OTg5IixNZWRpYXRla1RhYmxldDoiXFxiTVQ4MTI1fE1UODM4OXxNVDgxMzV8TVQ4Mzc3XFxiIixDb25jb3JkZVRhYmxldDoiQ29uY29yZGUoWyBdKyk/VGFifENvbkNvcmRlIFJlYWRNYW4iLEdvQ2xldmVyVGFibGV0OiJHT0NMRVZFUiBUQUJ8QTdHT0NMRVZFUnxNMTA0MnxNNzg0MXxNNzQyfFIxMDQyQkt8UjEwNDF8VEFCIEE5NzV8VEFCIEE3ODQyfFRBQiBBNzQxfFRBQiBBNzQxTHxUQUIgTTcyM0d8VEFCIE03MjF8VEFCIEExMDIxfFRBQiBJOTIxfFRBQiBSNzIxfFRBQiBJNzIwfFRBQiBUNzZ8VEFCIFI3MHxUQUIgUjc2LjJ8VEFCIFIxMDZ8VEFCIFI4My4yfFRBQiBNODEzR3xUQUIgSTcyMXxHQ1RBNzIyfFRBQiBJNzB8VEFCIEk3MXxUQUIgUzczfFRBQiBSNzN8VEFCIFI3NHxUQUIgUjkzfFRBQiBSNzV8VEFCIFI3Ni4xfFRBQiBBNzN8VEFCIEE5M3xUQUIgQTkzLjJ8VEFCIFQ3MnxUQUIgUjgzfFRBQiBSOTc0fFRBQiBSOTczfFRBQiBBMTAxfFRBQiBBMTAzfFRBQiBBMTA0fFRBQiBBMTA0LjJ8UjEwNUJLfE03MTNHfEE5NzJCS3xUQUIgQTk3MXxUQUIgUjk3NC4yfFRBQiBSMTA0fFRBQiBSODMuM3xUQUIgQTEwNDIiLE1vZGVjb21UYWJsZXQ6IkZyZWVUQUIgOTAwMHxGcmVlVEFCIDcuNHxGcmVlVEFCIDcwMDR8RnJlZVRBQiA3ODAwfEZyZWVUQUIgMjA5NnxGcmVlVEFCIDcuNXxGcmVlVEFCIDEwMTR8RnJlZVRBQiAxMDAxIHxGcmVlVEFCIDgwMDF8RnJlZVRBQiA5NzA2fEZyZWVUQUIgOTcwMnxGcmVlVEFCIDcwMDN8RnJlZVRBQiA3MDAyfEZyZWVUQUIgMTAwMnxGcmVlVEFCIDc4MDF8RnJlZVRBQiAxMzMxfEZyZWVUQUIgMTAwNHxGcmVlVEFCIDgwMDJ8RnJlZVRBQiA4MDE0fEZyZWVUQUIgOTcwNHxGcmVlVEFCIDEwMDMiLFZvbmlub1RhYmxldDoiXFxiKEFyZ3VzWyBfXT9TfERpYW1vbmRbIF9dPzc5SER8RW1lcmFsZFsgX10/NzhFfEx1bmFbIF9dPzcwQ3xPbnl4WyBfXT9TfE9ueXhbIF9dP1p8T3JpblsgX10/SER8T3JpblsgX10/U3xPdGlzWyBfXT9TfFNwZWVkU3RhclsgX10/U3xNYWduZXRbIF9dP005fFByaW11c1sgX10/OTRbIF9dPzNHfFByaW11c1sgX10/OTRIRHxQcmltdXNbIF9dP1FTfEFuZHJvaWQuKlxcYlE4XFxifFNpcml1c1sgX10/RVZPWyBfXT9RU3xTaXJpdXNbIF9dP1FTfFNwaXJpdFsgX10/UylcXGIiLEVDU1RhYmxldDoiVjA3T1QyfFRNMTA1QXxTMTBPVDF8VFIxMENTMSIsU3RvcmV4VGFibGV0OiJlWmVlW18nXT8oVGFifEdvKVswLTldK3xUYWJMQzd8TG9vbmV5IFR1bmVzIFRhYiIsVm9kYWZvbmVUYWJsZXQ6IlNtYXJ0VGFiKFsgXSspP1swLTldK3xTbWFydFRhYklJMTB8U21hcnRUYWJJSTd8VkYtMTQ5N3xWRkQgMTQwMCIsRXNzZW50aWVsQlRhYmxldDoiU21hcnRbICddP1RBQlsgXSs/WzAtOV0rfEZhbWlseVsgJ10/VEFCMiIsUm9zc01vb3JUYWJsZXQ6IlJNLTc5MHxSTS05OTd8Uk1ELTg3OEd8Uk1ELTk3NFJ8Uk1ULTcwNUF8Uk1ULTcwMXxSTUUtNjAxfFJNVC01MDF8Uk1ULTcxMSIsaU1vYmlsZVRhYmxldDoiaS1tb2JpbGUgaS1ub3RlIixUb2xpbm9UYWJsZXQ6InRvbGlubyB0YWIgWzAtOS5dK3x0b2xpbm8gc2hpbmUiLEF1ZGlvU29uaWNUYWJsZXQ6IlxcYkMtMjJRfFQ3LVFDfFQtMTdCfFQtMTdQXFxiIixBTVBFVGFibGV0OiJBbmRyb2lkLiogQTc4ICIsU2trVGFibGV0OiJBbmRyb2lkLiogKFNLWVBBRHxQSE9FTklYfENZQ0xPUFMpIixUZWNub1RhYmxldDoiVEVDTk8gUDl8VEVDTk8gRFA4RCIsSlhEVGFibGV0OiJBbmRyb2lkLiogXFxiKEYzMDAwfEEzMzAwfEpYRDUwMDB8SlhEMzAwMHxKWEQyMDAwfEpYRDMwMEJ8SlhEMzAwfFM1ODAwfFM3ODAwfFM2MDJifFM1MTEwYnxTNzMwMHxTNTMwMHxTNjAyfFM2MDN8UzUxMDB8UzUxMTB8UzYwMXxTNzEwMGF8UDMwMDBGfFAzMDAwc3xQMTAxfFAyMDBzfFAxMDAwbXxQMjAwbXxQOTEwMHxQMTAwMHN8UzY2MDBifFM5MDh8UDEwMDB8UDMwMHxTMTh8UzY2MDB8UzkxMDApXFxiIixpSm95VGFibGV0OiJUYWJsZXQgKFNwaXJpdCA3fEVzc2VudGlhfEdhbGF0ZWF8RnVzaW9ufE9uaXggN3xMYW5kYXxUaXRhbnxTY29vYnl8RGVveHxTdGVsbGF8VGhlbWlzfEFyZ29ufFVuaXF1ZSA3fFN5Z251c3xIZXhlbnxGaW5pdHkgN3xDcmVhbXxDcmVhbSBYMnxKYWRlfE5lb24gN3xOZXJvbiA3fEthbmR5fFNjYXBlfFNhcGh5ciA3fFJlYmVsfEJpb3h8UmViZWx8UmViZWwgOEdCfE15c3R8RHJhY28gN3xNeXN0fFRhYjctMDA0fE15c3R8VGFkZW8gSm9uZXN8VGFibGV0IEJvaW5nfEFycm93fERyYWNvIER1YWwgQ2FtfEF1cml4fE1pbnR8QW1pdHl8UmV2b2x1dGlvbnxGaW5pdHkgOXxOZW9uIDl8VDl3fEFtaXR5IDRHQiBEdWFsIENhbXxTdG9uZSA0R0J8U3RvbmUgOEdCfEFuZHJvbWVkYXxTaWxrZW58WDJ8QW5kcm9tZWRhIElJfEhhbGxleXxGbGFtZXxTYXBoeXIgOSw3fFRvdWNoIDh8UGxhbmV0fFRyaXRvbnxVbmlxdWUgMTB8SGV4ZW4gMTB8TWVtcGhpcyA0R0J8TWVtcGhpcyA4R0J8T25peCAxMCkiLEZYMlRhYmxldDoiRlgyIFBBRDd8RlgyIFBBRDEwIixYb3JvVGFibGV0OiJLaWRzUEFEIDcwMXxQQURbIF0/NzEyfFBBRFsgXT83MTR8UEFEWyBdPzcxNnxQQURbIF0/NzE3fFBBRFsgXT83MTh8UEFEWyBdPzcyMHxQQURbIF0/NzIxfFBBRFsgXT83MjJ8UEFEWyBdPzc5MHxQQURbIF0/NzkyfFBBRFsgXT85MDB8UEFEWyBdPzk3MTVEfFBBRFsgXT85NzE2RFJ8UEFEWyBdPzk3MThEUnxQQURbIF0/OTcxOVFSfFBBRFsgXT85NzIwUVJ8VGVsZVBBRDEwMzB8VGVsZXBhZDEwMzJ8VGVsZVBBRDczMHxUZWxlUEFENzMxfFRlbGVQQUQ3MzJ8VGVsZVBBRDczNVF8VGVsZVBBRDgzMHxUZWxlUEFEOTczMHxUZWxlUEFENzk1fE1lZ2FQQUQgMTMzMXxNZWdhUEFEIDE4NTF8TWVnYVBBRCAyMTUxIixWaWV3c29uaWNUYWJsZXQ6IlZpZXdQYWQgMTBwaXxWaWV3UGFkIDEwZXxWaWV3UGFkIDEwc3xWaWV3UGFkIEU3MnxWaWV3UGFkN3xWaWV3UGFkIEUxMDB8Vmlld1BhZCA3ZXxWaWV3U29uaWMgVkI3MzN8VkIxMDBhIixWZXJpem9uVGFibGV0OiJRVEFRWjN8UVRBSVI3fFFUQVFUWjN8UVRBU1VOMXxRVEFTVU4yfFFUQVhJQTEiLE9keXNUYWJsZXQ6IkxPT1h8WEVOTzEwfE9EWVNbIC1dKFNwYWNlfEVWT3xYcHJlc3N8Tk9PTil8XFxiWEVMSU9cXGJ8WGVsaW8xMFByb3xYRUxJTzdQSE9ORVRBQnxYRUxJTzEwRVhUUkVNRXxYRUxJT1BUMnxORU9fUVVBRDEwIixDYXB0aXZhVGFibGV0OiJDQVBUSVZBIFBBRCIsSWNvbmJpdFRhYmxldDoiTmV0VEFCfE5ULTM3MDJ8TlQtMzcwMlN8TlQtMzcwMlN8TlQtMzYwM1B8TlQtMzYwM1B8TlQtMDcwNFN8TlQtMDcwNFN8TlQtMzgwNUN8TlQtMzgwNUN8TlQtMDgwNkN8TlQtMDgwNkN8TlQtMDkwOVR8TlQtMDkwOVR8TlQtMDkwN1N8TlQtMDkwN1N8TlQtMDkwMlN8TlQtMDkwMlMiLFRlY2xhc3RUYWJsZXQ6IlQ5OCA0R3xcXGJQODBcXGJ8XFxiWDkwSERcXGJ8WDk4IEFpcnxYOTggQWlyIDNHfFxcYlg4OVxcYnxQODAgM0d8XFxiWDgwaFxcYnxQOTggQWlyfFxcYlg4OUhEXFxifFA5OCAzR3xcXGJQOTBIRFxcYnxQODkgM0d8WDk4IDNHfFxcYlA3MGhcXGJ8UDc5SEQgM0d8RzE4ZCAzR3xcXGJQNzlIRFxcYnxcXGJQODlzXFxifFxcYkE4OFxcYnxcXGJQMTBIRFxcYnxcXGJQMTlIRFxcYnxHMTggM0d8XFxiUDc4SERcXGJ8XFxiQTc4XFxifFxcYlA3NVxcYnxHMTdzIDNHfEcxN2ggM0d8XFxiUDg1dFxcYnxcXGJQOTBcXGJ8XFxiUDExXFxifFxcYlA5OHRcXGJ8XFxiUDk4SERcXGJ8XFxiRzE4ZFxcYnxcXGJQODVzXFxifFxcYlAxMUhEXFxifFxcYlA4OHNcXGJ8XFxiQTgwSERcXGJ8XFxiQTgwc2VcXGJ8XFxiQTEwaFxcYnxcXGJQODlcXGJ8XFxiUDc4c1xcYnxcXGJHMThcXGJ8XFxiUDg1XFxifFxcYkE3MGhcXGJ8XFxiQTcwXFxifFxcYkcxN1xcYnxcXGJQMThcXGJ8XFxiQTgwc1xcYnxcXGJBMTFzXFxifFxcYlA4OEhEXFxifFxcYkE4MGhcXGJ8XFxiUDc2c1xcYnxcXGJQNzZoXFxifFxcYlA5OFxcYnxcXGJBMTBIRFxcYnxcXGJQNzhcXGJ8XFxiUDg4XFxifFxcYkExMVxcYnxcXGJBMTB0XFxifFxcYlA3NmFcXGJ8XFxiUDc2dFxcYnxcXGJQNzZlXFxifFxcYlA4NUhEXFxifFxcYlA4NWFcXGJ8XFxiUDg2XFxifFxcYlA3NUhEXFxifFxcYlA3NnZcXGJ8XFxiQTEyXFxifFxcYlA3NWFcXGJ8XFxiQTE1XFxifFxcYlA3NlRpXFxifFxcYlA4MUhEXFxifFxcYkExMFxcYnxcXGJUNzYwVkVcXGJ8XFxiVDcyMEhEXFxifFxcYlA3NlxcYnxcXGJQNzNcXGJ8XFxiUDcxXFxifFxcYlA3MlxcYnxcXGJUNzIwU0VcXGJ8XFxiQzUyMFRpXFxifFxcYlQ3NjBcXGJ8XFxiVDcyMFZFXFxifFQ3MjAtM0dFfFQ3MjAtV2lGaSIsT25kYVRhYmxldDoiXFxiKFY5NzVpfFZpMzB8Vlg1MzB8VjcwMXxWaTYwfFY3MDFzfFZpNTB8VjgwMXN8VjcxOXxWeDYxMHd8Vlg2MTBXfFY4MTlpfFZpMTB8Vlg1ODBXfFZpMTB8VjcxMXN8VjgxM3xWODExfFY4MjB3fFY4MjB8VmkyMHxWNzExfFZJMzBXfFY3MTJ8Vjg5MXd8Vjk3MnxWODE5d3xWODIwd3xWaTYwfFY4MjB3fFY3MTF8VjgxM3N8VjgwMXxWODE5fFY5NzVzfFY4MDF8VjgxOXxWODE5fFY4MTh8VjgxMXxWNzEyfFY5NzVtfFYxMDF3fFY5NjF3fFY4MTJ8VjgxOHxWOTcxfFY5NzFzfFY5MTl8Vjk4OXxWMTE2d3xWMTAyd3xWOTczfFZpNDApXFxiW1xcc10rfFYxMCBcXGI0R1xcYiIsSmF5dGVjaFRhYmxldDoiVFBDLVBBNzYyIixCbGF1cHVua3RUYWJsZXQ6IkVuZGVhdm91ciA4MDBOR3xFbmRlYXZvdXIgMTAxMCIsRGlnbWFUYWJsZXQ6IlxcYihpRHgxMHxpRHg5fGlEeDh8aUR4N3xpRHhEN3xpRHhEOHxpRHNROHxpRHNRN3xpRHNROHxpRHNEMTB8aURuRDd8M1RTODA0SHxpRHNRMTF8aURqN3xpRHMxMClcXGIiLEV2b2xpb1RhYmxldDoiQVJJQV9NaW5pX3dpZml8QXJpYVsgX11NaW5pfEV2b2xpbyBYMTB8RXZvbGlvIFg3fEV2b2xpbyBYOHxcXGJFdm90YWJcXGJ8XFxiTmV1cmFcXGIiLExhdmFUYWJsZXQ6IlFQQUQgRTcwNHxcXGJJdm9yeVNcXGJ8RS1UQUIgSVZPUll8XFxiRS1UQUJcXGIiLEFvY1RhYmxldDoiTVcwODExfE1XMDgxMnxNVzA5MjJ8TVRLODM4MnxNVzEwMzF8TVcwODMxfE1XMDgyMXxNVzA5MzF8TVcwNzEyIixNcG1hblRhYmxldDoiTVAxMSBPQ1RBfE1QMTAgT0NUQXxNUFFDMTExNHxNUFFDMTAwNHxNUFFDOTk0fE1QUUM5NzR8TVBRQzk3M3xNUFFDODA0fE1QUUM3ODR8TVBRQzc4MHxcXGJNUEc3XFxifE1QRENHNzV8TVBEQ0c3MXxNUERDMTAwNnxNUDEwMURDfE1QREM5MDAwfE1QREM5MDV8TVBEQzcwNkhEfE1QREM3MDZ8TVBEQzcwNXxNUERDMTEwfE1QREMxMDB8TVBEQzk5fE1QREM5N3xNUERDODh8TVBEQzh8TVBEQzc3fE1QNzA5fE1JRDcwMXxNSUQ3MTF8TUlEMTcwfE1QREM3MDN8TVBRQzEwMTAiLENlbGtvblRhYmxldDoiQ1Q2OTV8Q1Q4ODh8Q1RbXFxzXT85MTB8Q1Q3IFRhYnxDVDkgVGFifENUMyBUYWJ8Q1QyIFRhYnxDVDEgVGFifEM4MjB8QzcyMHxcXGJDVC0xXFxiIixXb2xkZXJUYWJsZXQ6Im1pVGFiIFxcYihESUFNT05EfFNQQUNFfEJST09LTFlOfE5FT3xGTFl8TUFOSEFUVEFOfEZVTkt8RVZPTFVUSU9OfFNLWXxHT0NBUnxJUk9OfEdFTklVU3xQT1B8TUlOVHxFUFNJTE9OfEJST0FEV0FZfEpVTVB8SE9QfExFR0VORHxORVcgQUdFfExJTkV8QURWQU5DRXxGRUVMfEZPTExPV3xMSUtFfExJTkt8TElWRXxUSElOS3xGUkVFRE9NfENISUNBR098Q0xFVkVMQU5EfEJBTFRJTU9SRS1HSHxJT1dBfEJPU1RPTnxTRUFUVExFfFBIT0VOSVh8REFMTEFTfElOIDEwMXxNYXN0ZXJDaGVmKVxcYiIsTWVkaWFjb21UYWJsZXQ6Ik0tTVBJMTBDM0d8TS1TUDEwRUd8TS1TUDEwRUdQfE0tU1AxMEhYQUh8TS1TUDdIWEFIfE0tU1AxMEhYQkh8TS1TUDhIWEFIfE0tU1A4TVhBIixNaVRhYmxldDoiXFxiTUkgUEFEXFxifFxcYkhNIE5PVEUgMVdcXGIiLE5pYmlydVRhYmxldDoiTmliaXJ1IE0xfE5pYmlydSBKdXBpdGVyIE9uZSIsTmV4b1RhYmxldDoiTkVYTyBOT1ZBfE5FWE8gMTB8TkVYTyBBVklPfE5FWE8gRlJFRXxORVhPIEdPfE5FWE8gRVZPfE5FWE8gM0d8TkVYTyBTTUFSVHxORVhPIEtJRERPfE5FWE8gTU9CSSIsTGVhZGVyVGFibGV0OiJUQkxUMTBRfFRCTFQxMEl8VEJMLTEwV0RLQnxUQkwtMTBXREtCTzIwMTN8VEJMLVcyMzBWMnxUQkwtVzQ1MHxUQkwtVzUwMHxTVjU3MnxUQkxUN0l8VEJBLUFDNy04R3xUQkxUNzl8VEJMLThXMTZ8VEJMLTEwVzMyfFRCTC0xMFdLQnxUQkwtVzEwMCIsVWJpc2xhdGVUYWJsZXQ6IlViaVNsYXRlW1xcc10/N0MiLFBvY2tldEJvb2tUYWJsZXQ6IlBvY2tldGJvb2siLEtvY2Fzb1RhYmxldDoiXFxiKFRCLTEyMDcpXFxiIixIaXNlbnNlVGFibGV0OiJcXGIoRjUyODF8RTIzNzEpXFxiIixIdWRsOiJIdWRsIEhUN1MzfEh1ZGwgMiIsVGVsc3RyYVRhYmxldDoiVC1IdWIyIixHZW5lcmljVGFibGV0OiJBbmRyb2lkLipcXGI5N0RcXGJ8VGFibGV0KD8hLipQQyl8Qk5UVjI1MEF8TUlELVdDRE1BfExvZ2ljUEQgWm9vbTJ8XFxiQTdFQlxcYnxDYXROb3ZhOHxBMV8wN3xDVDcwNHxDVDEwMDJ8XFxiTTcyMVxcYnxyazMwc2RrfFxcYkVWT1RBQlxcYnxNNzU4QXxFVDkwNHxBTFVNSVVNMTB8U21hcnRmcmVuIFRhYnxFbmRlYXZvdXIgMTAxMHxUYWJsZXQtUEMtNHxUYWdpIFRhYnxcXGJNNnByb1xcYnxDVDEwMjBXfGFyYyAxMEhEfFxcYlRQNzUwXFxifFxcYlFUQVFaM1xcYnxXVlQxMDF8VE0xMDg4fEtUMTA3In0sb3NzOntBbmRyb2lkT1M6IkFuZHJvaWQiLEJsYWNrQmVycnlPUzoiYmxhY2tiZXJyeXxcXGJCQjEwXFxifHJpbSB0YWJsZXQgb3MiLFBhbG1PUzoiUGFsbU9TfGF2YW50Z298YmxhemVyfGVsYWluZXxoaXB0b3B8cGFsbXxwbHVja2VyfHhpaW5vIixTeW1iaWFuT1M6IlN5bWJpYW58U3ltYk9TfFNlcmllczYwfFNlcmllczQwfFNZQi1bMC05XSt8XFxiUzYwXFxiIixXaW5kb3dzTW9iaWxlT1M6IldpbmRvd3MgQ0UuKihQUEN8U21hcnRwaG9uZXxNb2JpbGV8WzAtOV17M314WzAtOV17M30pfFdpbmRvd3MgTW9iaWxlfFdpbmRvd3MgUGhvbmUgWzAtOS5dK3xXQ0U7IixXaW5kb3dzUGhvbmVPUzoiV2luZG93cyBQaG9uZSAxMC4wfFdpbmRvd3MgUGhvbmUgOC4xfFdpbmRvd3MgUGhvbmUgOC4wfFdpbmRvd3MgUGhvbmUgT1N8WEJMV1A3fFp1bmVXUDd8V2luZG93cyBOVCA2LlsyM107IEFSTTsiLGlPUzoiXFxiaVBob25lLipNb2JpbGV8XFxiaVBvZHxcXGJpUGFkfEFwcGxlQ29yZU1lZGlhIixpUGFkT1M6IkNQVSBPUyAxMyIsU2FpbGZpc2hPUzoiU2FpbGZpc2giLE1lZUdvT1M6Ik1lZUdvIixNYWVtb09TOiJNYWVtbyIsSmF2YU9TOiJKMk1FL3xcXGJNSURQXFxifFxcYkNMRENcXGIiLHdlYk9TOiJ3ZWJPU3xocHdPUyIsYmFkYU9TOiJcXGJCYWRhXFxiIixCUkVXT1M6IkJSRVcifSx1YXM6e0Nocm9tZToiXFxiQ3JNb1xcYnxDcmlPU3xBbmRyb2lkLipDaHJvbWUvWy4wLTldKiAoTW9iaWxlKT8iLERvbGZpbjoiXFxiRG9sZmluXFxiIixPcGVyYToiT3BlcmEuKk1pbml8T3BlcmEuKk1vYml8QW5kcm9pZC4qT3BlcmF8TW9iaWxlLipPUFIvWzAtOS5dKyR8Q29hc3QvWzAtOS5dKyIsU2t5ZmlyZToiU2t5ZmlyZSIsRWRnZToiXFxiRWRnaU9TXFxifE1vYmlsZSBTYWZhcmkvWy4wLTldKiBFZGdlIixJRToiSUVNb2JpbGV8TVNJRU1vYmlsZSIsRmlyZWZveDoiZmVubmVjfGZpcmVmb3guKm1hZW1vfChNb2JpbGV8VGFibGV0KS4qRmlyZWZveHxGaXJlZm94LipNb2JpbGV8RnhpT1MiLEJvbHQ6ImJvbHQiLFRlYVNoYXJrOiJ0ZWFzaGFyayIsQmxhemVyOiJCbGF6ZXIiLFNhZmFyaToiVmVyc2lvbigoPyFcXGJFZGdpT1NcXGIpLikqTW9iaWxlLipTYWZhcml8U2FmYXJpLipNb2JpbGV8TW9iaWxlU2FmYXJpIixXZUNoYXQ6IlxcYk1pY3JvTWVzc2VuZ2VyXFxiIixVQ0Jyb3dzZXI6IlVDLipCcm93c2VyfFVDV0VCIixiYWlkdWJveGFwcDoiYmFpZHVib3hhcHAiLGJhaWR1YnJvd3NlcjoiYmFpZHVicm93c2VyIixEaWlnb0Jyb3dzZXI6IkRpaWdvQnJvd3NlciIsTWVyY3VyeToiXFxiTWVyY3VyeVxcYiIsT2JpZ29Ccm93c2VyOiJPYmlnbyIsTmV0RnJvbnQ6Ik5GLUJyb3dzZXIiLEdlbmVyaWNCcm93c2VyOiJOb2tpYUJyb3dzZXJ8T3ZpQnJvd3NlcnxPbmVCcm93c2VyfFR3b25reUJlYW1Ccm93c2VyfFNFTUMuKkJyb3dzZXJ8Rmx5Rmxvd3xNaW5pbW98TmV0RnJvbnR8Tm92YXJyYS1WaXNpb258TVFRQnJvd3NlcnxNaWNyb01lc3NlbmdlciIsUGFsZU1vb246IkFuZHJvaWQuKlBhbGVNb29ufE1vYmlsZS4qUGFsZU1vb24ifSxwcm9wczp7TW9iaWxlOiJNb2JpbGUvW1ZFUl0iLEJ1aWxkOiJCdWlsZC9bVkVSXSIsVmVyc2lvbjoiVmVyc2lvbi9bVkVSXSIsVmVuZG9ySUQ6IlZlbmRvcklEL1tWRVJdIixpUGFkOiJpUGFkLipDUFVbYS16IF0rW1ZFUl0iLGlQaG9uZToiaVBob25lLipDUFVbYS16IF0rW1ZFUl0iLGlQb2Q6ImlQb2QuKkNQVVthLXogXStbVkVSXSIsS2luZGxlOiJLaW5kbGUvW1ZFUl0iLENocm9tZTpbIkNocm9tZS9bVkVSXSIsIkNyaU9TL1tWRVJdIiwiQ3JNby9bVkVSXSJdLENvYXN0OlsiQ29hc3QvW1ZFUl0iXSxEb2xmaW46IkRvbGZpbi9bVkVSXSIsRmlyZWZveDpbIkZpcmVmb3gvW1ZFUl0iLCJGeGlPUy9bVkVSXSJdLEZlbm5lYzoiRmVubmVjL1tWRVJdIixFZGdlOiJFZGdlL1tWRVJdIixJRTpbIklFTW9iaWxlL1tWRVJdOyIsIklFTW9iaWxlIFtWRVJdIiwiTVNJRSBbVkVSXTsiLCJUcmlkZW50L1swLTkuXSs7LipydjpbVkVSXSJdLE5ldEZyb250OiJOZXRGcm9udC9bVkVSXSIsTm9raWFCcm93c2VyOiJOb2tpYUJyb3dzZXIvW1ZFUl0iLE9wZXJhOlsiIE9QUi9bVkVSXSIsIk9wZXJhIE1pbmkvW1ZFUl0iLCJWZXJzaW9uL1tWRVJdIl0sIk9wZXJhIE1pbmkiOiJPcGVyYSBNaW5pL1tWRVJdIiwiT3BlcmEgTW9iaSI6IlZlcnNpb24vW1ZFUl0iLFVDQnJvd3NlcjpbIlVDV0VCW1ZFUl0iLCJVQy4qQnJvd3Nlci9bVkVSXSJdLE1RUUJyb3dzZXI6Ik1RUUJyb3dzZXIvW1ZFUl0iLE1pY3JvTWVzc2VuZ2VyOiJNaWNyb01lc3Nlbmdlci9bVkVSXSIsYmFpZHVib3hhcHA6ImJhaWR1Ym94YXBwL1tWRVJdIixiYWlkdWJyb3dzZXI6ImJhaWR1YnJvd3Nlci9bVkVSXSIsU2Ftc3VuZ0Jyb3dzZXI6IlNhbXN1bmdCcm93c2VyL1tWRVJdIixJcm9uOiJJcm9uL1tWRVJdIixTYWZhcmk6WyJWZXJzaW9uL1tWRVJdIiwiU2FmYXJpL1tWRVJdIl0sU2t5ZmlyZToiU2t5ZmlyZS9bVkVSXSIsVGl6ZW46IlRpemVuL1tWRVJdIixXZWJraXQ6IndlYmtpdFsgL11bVkVSXSIsUGFsZU1vb246IlBhbGVNb29uL1tWRVJdIixTYWlsZmlzaEJyb3dzZXI6IlNhaWxmaXNoQnJvd3Nlci9bVkVSXSIsR2Vja286IkdlY2tvL1tWRVJdIixUcmlkZW50OiJUcmlkZW50L1tWRVJdIixQcmVzdG86IlByZXN0by9bVkVSXSIsR29hbm5hOiJHb2FubmEvW1ZFUl0iLGlPUzoiIFxcYmk/T1NcXGIgW1ZFUl1bIDtdezF9IixBbmRyb2lkOiJBbmRyb2lkIFtWRVJdIixTYWlsZmlzaDoiU2FpbGZpc2ggW1ZFUl0iLEJsYWNrQmVycnk6WyJCbGFja0JlcnJ5W1xcd10rL1tWRVJdIiwiQmxhY2tCZXJyeS4qVmVyc2lvbi9bVkVSXSIsIlZlcnNpb24vW1ZFUl0iXSxCUkVXOiJCUkVXIFtWRVJdIixKYXZhOiJKYXZhL1tWRVJdIiwiV2luZG93cyBQaG9uZSBPUyI6WyJXaW5kb3dzIFBob25lIE9TIFtWRVJdIiwiV2luZG93cyBQaG9uZSBbVkVSXSJdLCJXaW5kb3dzIFBob25lIjoiV2luZG93cyBQaG9uZSBbVkVSXSIsIldpbmRvd3MgQ0UiOiJXaW5kb3dzIENFL1tWRVJdIiwiV2luZG93cyBOVCI6IldpbmRvd3MgTlQgW1ZFUl0iLFN5bWJpYW46WyJTeW1iaWFuT1MvW1ZFUl0iLCJTeW1iaWFuL1tWRVJdIl0sd2ViT1M6WyJ3ZWJPUy9bVkVSXSIsImhwd09TL1tWRVJdOyJdfSx1dGlsczp7Qm90OiJHb29nbGVib3R8ZmFjZWJvb2tleHRlcm5hbGhpdHxHb29nbGUtQU1QSFRNTHxzfmFtcC12YWxpZGF0b3J8QWRzQm90LUdvb2dsZXxHb29nbGUgS2V5d29yZCBTdWdnZXN0aW9ufEZhY2Vib3R8WWFuZGV4Qm90fFlhbmRleE1vYmlsZUJvdHxiaW5nYm90fGlhX2FyY2hpdmVyfEFocmVmc0JvdHxFem9vbXN8R1NMRmJvdHxXQlNlYXJjaEJvdHxUd2l0dGVyYm90fFR3ZWV0bWVtZUJvdHxUd2lrbGV8UGFwZXJMaUJvdHxXb3Rib3h8VW53aW5kRmV0Y2hvcnxFeGFib3R8TUoxMmJvdHxZYW5kZXhJbWFnZXN8VHVybml0aW5Cb3R8UGluZ2RvbXxjb250ZW50a2luZ2FwcHxBc3BpZWdlbEJvdCIsTW9iaWxlQm90OiJHb29nbGVib3QtTW9iaWxlfEFkc0JvdC1Hb29nbGUtTW9iaWxlfFlhaG9vU2Vla2VyL00xQTEtUjJEMiIsRGVza3RvcE1vZGU6IldQRGVza3RvcCIsVFY6IlNvbnlEVFZ8SGJiVFYiLFdlYktpdDoiKHdlYmtpdClbIC9dKFtcXHcuXSspIixDb25zb2xlOiJcXGIoTmludGVuZG98TmludGVuZG8gV2lpVXxOaW50ZW5kbyAzRFN8TmludGVuZG8gU3dpdGNofFBMQVlTVEFUSU9OfFhib3gpXFxiIixXYXRjaDoiU00tVjcwMCJ9fSxnLmRldGVjdE1vYmlsZUJyb3dzZXJzPXtmdWxsUGF0dGVybjovKGFuZHJvaWR8YmJcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlyaXN8a2luZGxlfGxnZSB8bWFlbW98bWlkcHxtbXB8bW9iaWxlLitmaXJlZm94fG5ldGZyb250fG9wZXJhIG0ob2J8aW4paXxwYWxtKCBvcyk/fHBob25lfHAoaXhpfHJlKVwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXC4oYnJvd3NlcnxsaW5rKXx2b2RhZm9uZXx3YXB8d2luZG93cyBjZXx4ZGF8eGlpbm8vaSxzaG9ydFBhdHRlcm46LzEyMDd8NjMxMHw2NTkwfDNnc298NHRocHw1MFsxLTZdaXw3NzBzfDgwMnN8YSB3YXxhYmFjfGFjKGVyfG9vfHNcLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcLW18ciB8cyApfGF2YW58YmUoY2t8bGx8bnEpfGJpKGxifHJkKXxibChhY3xheil8YnIoZXx2KXd8YnVtYnxid1wtKG58dSl8YzU1XC98Y2FwaXxjY3dhfGNkbVwtfGNlbGx8Y2h0bXxjbGRjfGNtZFwtfGNvKG1wfG5kKXxjcmF3fGRhKGl0fGxsfG5nKXxkYnRlfGRjXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KFwtfF8pfGcxIHV8ZzU2MHxnZW5lfGdmXC01fGdcLW1vfGdvKFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZFwtKG18cHx0KXxoZWlcLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzXC1jfGh0KGMoXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXC0oMjB8Z298bWEpfGkyMzB8aWFjKCB8XC18XC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XC8pfGtsb258a3B0IHxrd2NcLXxreW8oY3xrKXxsZShub3x4aSl8bGcoIGd8XC8oa3xsfHUpfDUwfDU0fFwtW2Etd10pfGxpYnd8bHlueHxtMVwtd3xtM2dhfG01MFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVwtY3J8bWUocmN8cmkpfG1pKG84fG9hfHRzKXxtbWVmfG1vKDAxfDAyfGJpfGRlfGRvfHQoXC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKVwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcLShbMS04XXxjKSl8cGhpbHxwaXJlfHBsKGF5fHVjKXxwblwtMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0XC1nfHFhXC1hfHFjKDA3fDEyfDIxfDMyfDYwfFwtWzItN118aVwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVwvfHNhKGdlfG1hfG1tfG1zfG55fHZhKXxzYygwMXxoXC18b298cFwtKXxzZGtcL3xzZShjKFwtfDB8MSl8NDd8bWN8bmR8cmkpfHNnaFwtfHNoYXJ8c2llKFwtfG0pfHNrXC0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGhcLXx2XC18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2xcLXx0ZGdcLXx0ZWwoaXxtKXx0aW1cLXx0XC1tb3x0byhwbHxzaCl8dHMoNzB8bVwtfG0zfG01KXx0eFwtOXx1cChcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXNcLXx5b3VyfHpldG98enRlXC0vaSx0YWJsZXRQYXR0ZXJuOi9hbmRyb2lkfGlwYWR8cGxheWJvb2t8c2lsay9pfTt2YXIgaCxpPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7cmV0dXJuIGcuRkFMTEJBQ0tfUEhPTkU9IlVua25vd25QaG9uZSIsZy5GQUxMQkFDS19UQUJMRVQ9IlVua25vd25UYWJsZXQiLGcuRkFMTEJBQ0tfTU9CSUxFPSJVbmtub3duTW9iaWxlIixoPSJpc0FycmF5ImluIEFycmF5P0FycmF5LmlzQXJyYXk6ZnVuY3Rpb24oYSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKX0sZnVuY3Rpb24oKXt2YXIgYSxiLGMsZSxmLGosaz1nLm1vYmlsZURldGVjdFJ1bGVzO2ZvcihhIGluIGsucHJvcHMpaWYoaS5jYWxsKGsucHJvcHMsYSkpe2ZvcihiPWsucHJvcHNbYV0saChiKXx8KGI9W2JdKSxmPWIubGVuZ3RoLGU9MDtlPGY7KytlKWM9YltlXSxqPWMuaW5kZXhPZigiW1ZFUl0iKSxqPj0wJiYoYz1jLnN1YnN0cmluZygwLGopKyIoW1xcdy5fXFwrXSspIitjLnN1YnN0cmluZyhqKzUpKSxiW2VdPW5ldyBSZWdFeHAoYywiaSIpO2sucHJvcHNbYV09Yn1kKGsub3NzKSxkKGsucGhvbmVzKSxkKGsudGFibGV0cyksZChrLnVhcyksZChrLnV0aWxzKSxrLm9zczA9e1dpbmRvd3NQaG9uZU9TOmsub3NzLldpbmRvd3NQaG9uZU9TLFdpbmRvd3NNb2JpbGVPUzprLm9zcy5XaW5kb3dzTW9iaWxlT1N9fSgpLGcuZmluZE1hdGNoPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoaS5jYWxsKGEsYykmJmFbY10udGVzdChiKSlyZXR1cm4gYztyZXR1cm4gbnVsbH0sZy5maW5kTWF0Y2hlcz1mdW5jdGlvbihhLGIpe3ZhciBjPVtdO2Zvcih2YXIgZCBpbiBhKWkuY2FsbChhLGQpJiZhW2RdLnRlc3QoYikmJmMucHVzaChkKTtyZXR1cm4gY30sZy5nZXRWZXJzaW9uU3RyPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsaD1nLm1vYmlsZURldGVjdFJ1bGVzLnByb3BzO2lmKGkuY2FsbChoLGEpKWZvcihjPWhbYV0sZT1jLmxlbmd0aCxkPTA7ZDxlOysrZClpZihmPWNbZF0uZXhlYyhiKSxudWxsIT09ZilyZXR1cm4gZlsxXTtyZXR1cm4gbnVsbH0sZy5nZXRWZXJzaW9uPWZ1bmN0aW9uKGEsYil7dmFyIGM9Zy5nZXRWZXJzaW9uU3RyKGEsYik7cmV0dXJuIGM/Zy5wcmVwYXJlVmVyc2lvbk5vKGMpOk5hTn0sZy5wcmVwYXJlVmVyc2lvbk5vPWZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBiPWEuc3BsaXQoL1thLXouXyBcL1wtXS9pKSwxPT09Yi5sZW5ndGgmJihhPWJbMF0pLGIubGVuZ3RoPjEmJihhPWJbMF0rIi4iLGIuc2hpZnQoKSxhKz1iLmpvaW4oIiIpKSxOdW1iZXIoYSl9LGcuaXNNb2JpbGVGYWxsYmFjaz1mdW5jdGlvbihhKXtyZXR1cm4gZy5kZXRlY3RNb2JpbGVCcm93c2Vycy5mdWxsUGF0dGVybi50ZXN0KGEpfHxnLmRldGVjdE1vYmlsZUJyb3dzZXJzLnNob3J0UGF0dGVybi50ZXN0KGEuc3Vic3RyKDAsNCkpfSxnLmlzVGFibGV0RmFsbGJhY2s9ZnVuY3Rpb24oYSl7cmV0dXJuIGcuZGV0ZWN0TW9iaWxlQnJvd3NlcnMudGFibGV0UGF0dGVybi50ZXN0KGEpfSxnLnByZXBhcmVEZXRlY3Rpb25DYWNoZT1mdW5jdGlvbihhLGMsZCl7aWYoYS5tb2JpbGU9PT1iKXt2YXIgZSxoLGk7cmV0dXJuKGg9Zy5maW5kTWF0Y2goZy5tb2JpbGVEZXRlY3RSdWxlcy50YWJsZXRzLGMpKT8oYS5tb2JpbGU9YS50YWJsZXQ9aCx2b2lkKGEucGhvbmU9bnVsbCkpOihlPWcuZmluZE1hdGNoKGcubW9iaWxlRGV0ZWN0UnVsZXMucGhvbmVzLGMpKT8oYS5tb2JpbGU9YS5waG9uZT1lLHZvaWQoYS50YWJsZXQ9bnVsbCkpOnZvaWQoZy5pc01vYmlsZUZhbGxiYWNrKGMpPyhpPWYuaXNQaG9uZVNpemVkKGQpLGk9PT1iPyhhLm1vYmlsZT1nLkZBTExCQUNLX01PQklMRSxhLnRhYmxldD1hLnBob25lPW51bGwpOmk/KGEubW9iaWxlPWEucGhvbmU9Zy5GQUxMQkFDS19QSE9ORSxhLnRhYmxldD1udWxsKTooYS5tb2JpbGU9YS50YWJsZXQ9Zy5GQUxMQkFDS19UQUJMRVQsYS5waG9uZT1udWxsKSk6Zy5pc1RhYmxldEZhbGxiYWNrKGMpPyhhLm1vYmlsZT1hLnRhYmxldD1nLkZBTExCQUNLX1RBQkxFVCxhLnBob25lPW51bGwpOmEubW9iaWxlPWEudGFibGV0PWEucGhvbmU9bnVsbCl9fSxnLm1vYmlsZUdyYWRlPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwhPT1hLm1vYmlsZSgpO3JldHVybiBhLm9zKCJpT1MiKSYmYS52ZXJzaW9uKCJpUGFkIik+PTQuM3x8YS5vcygiaU9TIikmJmEudmVyc2lvbigiaVBob25lIik+PTMuMXx8YS5vcygiaU9TIikmJmEudmVyc2lvbigiaVBvZCIpPj0zLjF8fGEudmVyc2lvbigiQW5kcm9pZCIpPjIuMSYmYS5pcygiV2Via2l0Iil8fGEudmVyc2lvbigiV2luZG93cyBQaG9uZSBPUyIpPj03fHxhLmlzKCJCbGFja0JlcnJ5IikmJmEudmVyc2lvbigiQmxhY2tCZXJyeSIpPj02fHxhLm1hdGNoKCJQbGF5Ym9vay4qVGFibGV0Iil8fGEudmVyc2lvbigid2ViT1MiKT49MS40JiZhLm1hdGNoKCJQYWxtfFByZXxQaXhpIil8fGEubWF0Y2goImhwLipUb3VjaFBhZCIpfHxhLmlzKCJGaXJlZm94IikmJmEudmVyc2lvbigiRmlyZWZveCIpPj0xMnx8YS5pcygiQ2hyb21lIikmJmEuaXMoIkFuZHJvaWRPUyIpJiZhLnZlcnNpb24oIkFuZHJvaWQiKT49NHx8YS5pcygiU2t5ZmlyZSIpJiZhLnZlcnNpb24oIlNreWZpcmUiKT49NC4xJiZhLmlzKCJBbmRyb2lkT1MiKSYmYS52ZXJzaW9uKCJBbmRyb2lkIik+PTIuM3x8YS5pcygiT3BlcmEiKSYmYS52ZXJzaW9uKCJPcGVyYSBNb2JpIik+MTEmJmEuaXMoIkFuZHJvaWRPUyIpfHxhLmlzKCJNZWVHb09TIil8fGEuaXMoIlRpemVuIil8fGEuaXMoIkRvbGZpbiIpJiZhLnZlcnNpb24oIkJhZGEiKT49Mnx8KGEuaXMoIlVDIEJyb3dzZXIiKXx8YS5pcygiRG9sZmluIikpJiZhLnZlcnNpb24oIkFuZHJvaWQiKT49Mi4zfHxhLm1hdGNoKCJLaW5kbGUgRmlyZSIpfHxhLmlzKCJLaW5kbGUiKSYmYS52ZXJzaW9uKCJLaW5kbGUiKT49M3x8YS5pcygiQW5kcm9pZE9TIikmJmEuaXMoIk5vb2tUYWJsZXQiKXx8YS52ZXJzaW9uKCJDaHJvbWUiKT49MTEmJiFifHxhLnZlcnNpb24oIlNhZmFyaSIpPj01JiYhYnx8YS52ZXJzaW9uKCJGaXJlZm94Iik+PTQmJiFifHxhLnZlcnNpb24oIk1TSUUiKT49NyYmIWJ8fGEudmVyc2lvbigiT3BlcmEiKT49MTAmJiFiPyJBIjphLm9zKCJpT1MiKSYmYS52ZXJzaW9uKCJpUGFkIik8NC4zfHxhLm9zKCJpT1MiKSYmYS52ZXJzaW9uKCJpUGhvbmUiKTwzLjF8fGEub3MoImlPUyIpJiZhLnZlcnNpb24oImlQb2QiKTwzLjF8fGEuaXMoIkJsYWNrYmVycnkiKSYmYS52ZXJzaW9uKCJCbGFja0JlcnJ5Iik+PTUmJmEudmVyc2lvbigiQmxhY2tCZXJyeSIpPDZ8fGEudmVyc2lvbigiT3BlcmEgTWluaSIpPj01JiZhLnZlcnNpb24oIk9wZXJhIE1pbmkiKTw9Ni41JiYoYS52ZXJzaW9uKCJBbmRyb2lkIik+PTIuM3x8YS5pcygiaU9TIikpfHxhLm1hdGNoKCJOb2tpYU44fE5va2lhQzd8Tjk3LipTZXJpZXM2MHxTeW1iaWFuLzMiKXx8YS52ZXJzaW9uKCJPcGVyYSBNb2JpIik+PTExJiZhLmlzKCJTeW1iaWFuT1MiKT8iQiI6KGEudmVyc2lvbigiQmxhY2tCZXJyeSIpPDV8fGEubWF0Y2goIk1TSUVNb2JpbGV8V2luZG93cyBDRS4qTW9iaWxlIil8fGEudmVyc2lvbigiV2luZG93cyBNb2JpbGUiKTw9NS4yLCJDIil9LGcuZGV0ZWN0T1M9ZnVuY3Rpb24oYSl7cmV0dXJuIGcuZmluZE1hdGNoKGcubW9iaWxlRGV0ZWN0UnVsZXMub3NzMCxhKXx8Zy5maW5kTWF0Y2goZy5tb2JpbGVEZXRlY3RSdWxlcy5vc3MsYSl9LGcuZ2V0RGV2aWNlU21hbGxlclNpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnNjcmVlbi53aWR0aDx3aW5kb3cuc2NyZWVuLmhlaWdodD93aW5kb3cuc2NyZWVuLndpZHRoOndpbmRvdy5zY3JlZW4uaGVpZ2h0fSxmLnByb3RvdHlwZT17Y29uc3RydWN0b3I6Zixtb2JpbGU6ZnVuY3Rpb24oKXtyZXR1cm4gZy5wcmVwYXJlRGV0ZWN0aW9uQ2FjaGUodGhpcy5fY2FjaGUsdGhpcy51YSx0aGlzLm1heFBob25lV2lkdGgpLHRoaXMuX2NhY2hlLm1vYmlsZX0scGhvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gZy5wcmVwYXJlRGV0ZWN0aW9uQ2FjaGUodGhpcy5fY2FjaGUsdGhpcy51YSx0aGlzLm1heFBob25lV2lkdGgpLHRoaXMuX2NhY2hlLnBob25lfSx0YWJsZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZy5wcmVwYXJlRGV0ZWN0aW9uQ2FjaGUodGhpcy5fY2FjaGUsdGhpcy51YSx0aGlzLm1heFBob25lV2lkdGgpLHRoaXMuX2NhY2hlLnRhYmxldH0sdXNlckFnZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhY2hlLnVzZXJBZ2VudD09PWImJih0aGlzLl9jYWNoZS51c2VyQWdlbnQ9Zy5maW5kTWF0Y2goZy5tb2JpbGVEZXRlY3RSdWxlcy51YXMsdGhpcy51YSkpLHRoaXMuX2NhY2hlLnVzZXJBZ2VudH0sdXNlckFnZW50czpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYWNoZS51c2VyQWdlbnRzPT09YiYmKHRoaXMuX2NhY2hlLnVzZXJBZ2VudHM9Zy5maW5kTWF0Y2hlcyhnLm1vYmlsZURldGVjdFJ1bGVzLnVhcyx0aGlzLnVhKSksdGhpcy5fY2FjaGUudXNlckFnZW50c30sb3M6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FjaGUub3M9PT1iJiYodGhpcy5fY2FjaGUub3M9Zy5kZXRlY3RPUyh0aGlzLnVhKSksdGhpcy5fY2FjaGUub3N9LHZlcnNpb246ZnVuY3Rpb24oYSl7cmV0dXJuIGcuZ2V0VmVyc2lvbihhLHRoaXMudWEpfSx2ZXJzaW9uU3RyOmZ1bmN0aW9uKGEpe3JldHVybiBnLmdldFZlcnNpb25TdHIoYSx0aGlzLnVhKX0saXM6ZnVuY3Rpb24oYil7cmV0dXJuIGModGhpcy51c2VyQWdlbnRzKCksYil8fGEoYix0aGlzLm9zKCkpfHxhKGIsdGhpcy5waG9uZSgpKXx8YShiLHRoaXMudGFibGV0KCkpfHxjKGcuZmluZE1hdGNoZXMoZy5tb2JpbGVEZXRlY3RSdWxlcy51dGlscyx0aGlzLnVhKSxiKX0sbWF0Y2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBSZWdFeHB8fChhPW5ldyBSZWdFeHAoYSwiaSIpKSxhLnRlc3QodGhpcy51YSl9LGlzUGhvbmVTaXplZDpmdW5jdGlvbihhKXtyZXR1cm4gZi5pc1Bob25lU2l6ZWQoYXx8dGhpcy5tYXhQaG9uZVdpZHRoKX0sbW9iaWxlR3JhZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FjaGUuZ3JhZGU9PT1iJiYodGhpcy5fY2FjaGUuZ3JhZGU9Zy5tb2JpbGVHcmFkZSh0aGlzKSksdGhpcy5fY2FjaGUuZ3JhZGV9fSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LnNjcmVlbj9mLmlzUGhvbmVTaXplZD1mdW5jdGlvbihhKXtyZXR1cm4gYTwwP2I6Zy5nZXREZXZpY2VTbWFsbGVyU2lkZSgpPD1hfTpmLmlzUGhvbmVTaXplZD1mdW5jdGlvbigpe30sZi5faW1wbD1nLGYudmVyc2lvbj0iMS40LjUgMjAyMS0wMy0xMyIsZn0pfShmdW5jdGlvbihhKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMpcmV0dXJuIGZ1bmN0aW9uKGEpe21vZHVsZS5leHBvcnRzPWEoKX07aWYoImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZClyZXR1cm4gZGVmaW5lO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXJldHVybiBmdW5jdGlvbihhKXt3aW5kb3cuTW9iaWxlRGV0ZWN0PWEoKX07dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGVudmlyb25tZW50Iil9KCkpO3ZhciBhaV9saXN0cz0hMCxhaV9ibG9ja19jbGFzc19kZWY9ImNvZGUtYmxvY2siO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYWlfbGlzdHMpe2Z1bmN0aW9uIFgoYixlKXtmb3IodmFyIHA9W107Yj1iLnByZXZpb3VzRWxlbWVudFNpYmxpbmc7KSgidW5kZWZpbmVkIj09dHlwZW9mIGV8fGIubWF0Y2hlcyhlKSkmJnAucHVzaChiKTtyZXR1cm4gcH1mdW5jdGlvbiBmYShiLGUpe2Zvcih2YXIgcD1bXTtiPWIubmV4dEVsZW1lbnRTaWJsaW5nOykoInVuZGVmaW5lZCI9PXR5cGVvZiBlfHxiLm1hdGNoZXMoZSkpJiZwLnB1c2goYik7cmV0dXJuIHB9dmFyIGhvc3RfcmVnZXhwPVJlZ0V4cCgiOlxcL1xcLyguW14vOl0rKSIsImkiKTtmdW5jdGlvbiBoYShiKXtiPWIubWF0Y2goaG9zdF9yZWdleHApO3JldHVybiBudWxsIT1iJiYxPGIubGVuZ3RoJiYic3RyaW5nIj09PXR5cGVvZiBiWzFdJiYwPGJbMV0ubGVuZ3RoP2JbMV0udG9Mb3dlckNhc2UoKTpudWxsfWZ1bmN0aW9uIFEoYil7cmV0dXJuIGIuaW5jbHVkZXMoIjoiKT8oYj1iLnNwbGl0KCI6IiksMUUzKigzNjAwKnBhcnNlSW50KGJbMF0pKzYwKnBhcnNlSW50KGJbMV0pK3BhcnNlSW50KGJbMl0pKSk6bnVsbH1mdW5jdGlvbiBZKGIpe3RyeXt2YXIgZT1EYXRlLnBhcnNlKGIpO2lzTmFOKGUpJiYoZT1udWxsKX1jYXRjaChwKXtlPW51bGx9aWYobnVsbD09ZSYmYi5pbmNsdWRlcygiICIpKXtiPWIuc3BsaXQoIiAiKTt0cnl7ZT1EYXRlLnBhcnNlKGJbMF0pLGUrPVEoYlsxXSksaXNOYU4oZSkmJihlPW51bGwpfWNhdGNoKHApe2U9bnVsbH19cmV0dXJuIGV9ZnVuY3Rpb24gWigpe251bGw9PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLWJhciIpJiZudWxsPT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuYWktbGlzdC1tYW51YWwiKXx8ImZ1bmN0aW9uIiE9dHlwZW9mIF9fdGNmYXBpfHwiZnVuY3Rpb24iIT10eXBlb2YgYWlfbG9hZF9ibG9ja3N8fCJ1bmRlZmluZWQiIT10eXBlb2YgYWlfaWFiX3RjZl9jYWxsYmFja19pbnN0YWxsZWR8fChfX3RjZmFwaSgiYWRkRXZlbnRMaXN0ZW5lciIsMixmdW5jdGlvbihiLGUpe2UmJiJ1c2VyYWN0aW9uY29tcGxldGUiPT09Yi5ldmVudFN0YXR1cyYmKGFpX3RjRGF0YT1iLGFpX2xvYWRfYmxvY2tzKCksYj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKSxudWxsIT1iJiYoYi50ZXh0Q29udGVudD0iSUFCIFRDRiAyLjAgREFUQSBMT0FERUQiKSxiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLWJhciIpLG51bGwhPWImJihiLmNsYXNzTGlzdC5yZW1vdmUoInN0YXR1cy1lcnJvciIpLGIuY2xhc3NMaXN0LmFkZCgic3RhdHVzLW9rIikpKX0pLGFpX2lhYl90Y2ZfY2FsbGJhY2tfaW5zdGFsbGVkPSEwKX1haV9wcm9jZXNzX2xpc3RzPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGUoYSxkLGspe2lmKDA9PWEubGVuZ3RoKXtpZigiIUAhIj09aylyZXR1cm4hMDtkIT1rJiYoInRydWUiPT1rLnRvTG93ZXJDYXNlKCk/az0hMDoiZmFsc2UiPT1rLnRvTG93ZXJDYXNlKCkmJihrPSExKSk7cmV0dXJuIGQ9PWt9aWYoIm9iamVjdCIhPXR5cGVvZiBkJiYiYXJyYXkiIT10eXBlb2YgZClyZXR1cm4hMTt2YXIgbD1hWzBdO2E9YS5zbGljZSgxKTtpZigiKiI9PWwpZm9yKGxldFssbl1vZiBPYmplY3QuZW50cmllcyhkKSl7aWYoZShhLG4saykpcmV0dXJuITB9ZWxzZSBpZihsIGluIGQpcmV0dXJuIGUoYSxkW2xdLGspO3JldHVybiExfWZ1bmN0aW9uIHAoYSxkLGspe2lmKCJvYmplY3QiIT10eXBlb2YgYXx8LTE9PWQuaW5kZXhPZigiWyIpKXJldHVybiExO2Q9ZC5yZXBsYWNlKC9dfCAvZ2ksIiIpLnNwbGl0KCJbIik7cmV0dXJuIGUoZCxhLGspfWZ1bmN0aW9uIHooKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgX190Y2ZhcGkpe3ZhciBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLXN0YXR1cyIpLGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpLWlhYi10Y2YtYmFyIik7bnVsbCE9YSYmKGEudGV4dENvbnRlbnQ9IklBQiBUQ0YgMi4wIERFVEVDVEVEIik7X190Y2ZhcGkoImdldFRDRGF0YSIsMixmdW5jdGlvbihrLGwpe2w/KG51bGwhPWQmJmQuY2xhc3NMaXN0LmFkZCgic3RhdHVzLW9rIiksInRjbG9hZGVkIj09ay5ldmVudFN0YXR1c3x8InVzZXJhY3Rpb25jb21wbGV0ZSI9PWsuZXZlbnRTdGF0dXMpPyhhaV90Y0RhdGE9ayxrLmdkcHJBcHBsaWVzP251bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBEQVRBIExPQURFRCIpOm51bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBHRFBSIERPRVMgTk9UIEFQUExZIiksbnVsbCE9ZCYmKGQuY2xhc3NMaXN0LnJlbW92ZSgic3RhdHVzLWVycm9yIiksZC5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtb2siKSksc2V0VGltZW91dChmdW5jdGlvbigpe2FpX3Byb2Nlc3NfbGlzdHMoKX0sMTApKToiY21wdWlzaG93biI9PWsuZXZlbnRTdGF0dXMmJihhaV9jbXB1aXNob3duPSEwLG51bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBDTVAgVUkgU0hPV04iKSxudWxsIT1kJiYoZC5jbGFzc0xpc3QucmVtb3ZlKCJzdGF0dXMtZXJyb3IiKSxkLmNsYXNzTGlzdC5hZGQoInN0YXR1cy1vayIpKSk6KG51bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBfX3RjZmFwaSBnZXRUQ0RhdGEgZmFpbGVkIiksbnVsbCE9ZCYmKGQuY2xhc3NMaXN0LnJlbW92ZSgic3RhdHVzLW9rIiksZC5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtZXJyb3IiKSkpfSl9fWZ1bmN0aW9uIEMoYSl7ImZ1bmN0aW9uIj09dHlwZW9mIF9fdGNmYXBpPyhhaV90Y2ZhcGlfZm91bmQ9ITAsInVuZGVmaW5lZCI9PXR5cGVvZiBhaV9pYWJfdGNmX2NhbGxiYWNrX2luc3RhbGxlZCYmWigpLCJ1bmRlZmluZWQiPT10eXBlb2YgYWlfdGNEYXRhX3JlcXVlc3RlZCYmKGFpX3RjRGF0YV9yZXF1ZXN0ZWQ9ITAseigpLGNvb2tpZXNfbmVlZF90Y0RhdGE9ITApKTphJiYoInVuZGVmaW5lZCI9PXR5cGVvZiBhaV90Y2ZhcGlfZm91bmQmJihhaV90Y2ZhcGlfZm91bmQ9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe2FpX3Byb2Nlc3NfbGlzdHMoKX0sMTApKSxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLXN0YXR1cyIpLG51bGwhPWEmJihhLnRleHRDb250ZW50PSJJQUIgVENGIDIuMCBNSVNTSU5HOiBfX3RjZmFwaSBmdW5jdGlvbiBub3QgZm91bmQiKSxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLWJhciIpLG51bGwhPWEmJihhLmNsYXNzTGlzdC5yZW1vdmUoInN0YXR1cy1vayIpLGEuY2xhc3NMaXN0LmFkZCgic3RhdHVzLWVycm9yIikpKX1pZihudWxsPT1iKWI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZGl2LmFpLWxpc3QtZGF0YSwgbWV0YS5haS1saXN0LWRhdGEiKTtlbHNle3dpbmRvdy5qUXVlcnkmJndpbmRvdy5qUXVlcnkuZm4mJmIgaW5zdGFuY2VvZiBqUXVlcnkmJihiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGIpKTt2YXIgeD1bXTtiLmZvckVhY2goKGEsZCk9PnthLm1hdGNoZXMoIi5haS1saXN0LWRhdGEiKT94LnB1c2goYSk6KGE9YS5xdWVyeVNlbGVjdG9yQWxsKCIuYWktbGlzdC1kYXRhIiksYS5sZW5ndGgmJmEuZm9yRWFjaCgoayxsKT0+e3gucHVzaChrKX0pKX0pO2I9eH1pZihiLmxlbmd0aCl7Yi5mb3JFYWNoKChhLGQpPT57YS5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWRhdGEiKX0pO3ZhciBMPWlhKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO2lmKG51bGwhPUwucmVmZXJyZXIpdmFyIEE9TC5yZWZlcnJlcjtlbHNlIEE9ZG9jdW1lbnQucmVmZXJyZXIsIiIhPUEmJihBPWhhKEEpKTt2YXIgUj13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCxTPVIudG9Mb3dlckNhc2UoKSxhYT1uYXZpZ2F0b3IubGFuZ3VhZ2UsTT1hYS50b0xvd2VyQ2FzZSgpO2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIE1vYmlsZURldGVjdCl2YXIgYmE9bmV3IE1vYmlsZURldGVjdChSKTtiLmZvckVhY2goKGEsZCk9Pnt2YXIgaz1kb2N1bWVudC5jb29raWUuc3BsaXQoIjsiKTtrLmZvckVhY2goZnVuY3Rpb24oZixoKXtrW2hdPWYudHJpbSgpfSk7ZD1hLmNsb3Nlc3QoImRpdi4iK2FpX2Jsb2NrX2NsYXNzX2RlZik7dmFyIGw9ITA7aWYoYS5oYXNBdHRyaWJ1dGUoInJlZmVyZXItbGlzdCIpKXt2YXIgbj1hLmdldEF0dHJpYnV0ZSgicmVmZXJlci1saXN0Iik7bj1iNjRkKG4pLnNwbGl0KCIsIik7dmFyIHY9YS5nZXRBdHRyaWJ1dGUoInJlZmVyZXItbGlzdC10eXBlIiksRT0hMTtuLmV2ZXJ5KChmLGgpPT57Zj1mLnRyaW0oKTtpZigiIj09ZilyZXR1cm4hMDtpZigiKiI9PWYuY2hhckF0KDApKWlmKCIqIj09Zi5jaGFyQXQoZi5sZW5ndGgtMSkpe2lmKGY9Zi5zdWJzdHIoMSxmLmxlbmd0aC0yKSwtMSE9QS5pbmRleE9mKGYpKXJldHVybiBFPSEwLCExfWVsc2V7aWYoZj1mLnN1YnN0cigxKSxBLnN1YnN0cigtZi5sZW5ndGgpPT1mKXJldHVybiBFPSEwLCExfWVsc2UgaWYoIioiPT1mLmNoYXJBdChmLmxlbmd0aC0xKSl7aWYoZj1mLnN1YnN0cigwLGYubGVuZ3RoLTEpLDA9PUEuaW5kZXhPZihmKSlyZXR1cm4gRT0hMCwhMX1lbHNlIGlmKCIjIj09Zil7aWYoIiI9PUEpcmV0dXJuIEU9ITAsITF9ZWxzZSBpZihmPT1BKXJldHVybiBFPSEwLCExO3JldHVybiEwfSk7dmFyIHI9RTtzd2l0Y2godil7Y2FzZSAiQiI6ciYmKGw9ITEpO2JyZWFrO2Nhc2UgIlciOnJ8fChsPSExKX19aWYobCYmYS5oYXNBdHRyaWJ1dGUoImNsaWVudC1saXN0IikmJiJ1bmRlZmluZWQiIT09dHlwZW9mIGJhKXN3aXRjaChuPWEuZ2V0QXR0cmlidXRlKCJjbGllbnQtbGlzdCIpLG49YjY0ZChuKS5zcGxpdCgiLCIpLHY9YS5nZXRBdHRyaWJ1dGUoImNsaWVudC1saXN0LXR5cGUiKSxyPSExLG4uZXZlcnkoKGYsaCk9PntpZigiIj09Zi50cmltKCkpcmV0dXJuITA7Zi5zcGxpdCgiJiYiKS5ldmVyeSgoYyx0KT0+e3Q9ITA7dmFyIHc9ITE7Zm9yKGM9Yy50cmltKCk7IiEhIj09Yy5zdWJzdHJpbmcoMCwyKTspdD0hdCxjPWMuc3Vic3RyaW5nKDIpOyJsYW5ndWFnZToiPT1jLnN1YnN0cmluZygwLDkpJiYodz0hMCxjPWMuc3Vic3RyaW5nKDkpLnRvTG93ZXJDYXNlKCkpO3ZhciBxPSExO3c/IioiPT1jLmNoYXJBdCgwKT8iKiI9PWMuY2hhckF0KGMubGVuZ3RoLTEpPyhjPWMuc3Vic3RyKDEsYy5sZW5ndGgtMikudG9Mb3dlckNhc2UoKSwtMSE9TS5pbmRleE9mKGMpJiYocT0hMCkpOihjPWMuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCksTS5zdWJzdHIoLWMubGVuZ3RoKT09YyYmKHE9ITApKToiKiI9PWMuY2hhckF0KGMubGVuZ3RoLTEpPyhjPWMuc3Vic3RyKDAsYy5sZW5ndGgtMSkudG9Mb3dlckNhc2UoKSwwPT1NLmluZGV4T2YoYykmJihxPSEwKSk6Yz09TSYmKHE9ITApOiIqIj09Yy5jaGFyQXQoMCk/IioiPT1jLmNoYXJBdChjLmxlbmd0aC0xKT8oYz1jLnN1YnN0cigxLGMubGVuZ3RoLTIpLnRvTG93ZXJDYXNlKCksLTEhPVMuaW5kZXhPZihjKSYmKHE9ITApKTooYz1jLnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpLFMuc3Vic3RyKC1jLmxlbmd0aCk9PWMmJihxPSEwKSk6IioiPT1jLmNoYXJBdChjLmxlbmd0aC0xKT8oYz1jLnN1YnN0cigwLGMubGVuZ3RoLTEpLnRvTG93ZXJDYXNlKCksMD09Uy5pbmRleE9mKGMpJiYocT0hMCkpOmJhLmlzKGMpJiYocT0hMCk7cmV0dXJuKHI9cT90OiF0KT8hMDohMX0pO3JldHVybiByPyExOiEwfSksdil7Y2FzZSAiQiI6ciYmKGw9ITEpO2JyZWFrO2Nhc2UgIlciOnJ8fChsPSExKX12YXIgTj1uPSExO2Zvcih2PTE7Mj49djt2KyspaWYobCl7c3dpdGNoKHYpe2Nhc2UgMTp2YXIgZz1hLmdldEF0dHJpYnV0ZSgiY29va2llLWxpc3QiKTticmVhaztjYXNlIDI6Zz1hLmdldEF0dHJpYnV0ZSgicGFyYW1ldGVyLWxpc3QiKX1pZihudWxsIT1nKXtnPWI2NGQoZyk7c3dpdGNoKHYpe2Nhc2UgMTp2YXIgeT1hLmdldEF0dHJpYnV0ZSgiY29va2llLWxpc3QtdHlwZSIpO2JyZWFrO2Nhc2UgMjp5PWEuZ2V0QXR0cmlidXRlKCJwYXJhbWV0ZXItbGlzdC10eXBlIil9Zz1nLnJlcGxhY2UoInRjZi1nZHByIiwidGNmLXYyW2dkcHJBcHBsaWVzXT10cnVlIik7Zz1nLnJlcGxhY2UoInRjZi1uby1nZHByIiwidGNmLXYyW2dkcHJBcHBsaWVzXT1mYWxzZSIpO2c9Zy5yZXBsYWNlKCJ0Y2YtZ29vZ2xlIiwidGNmLXYyW3ZlbmRvcl1bY29uc2VudHNdWzc1NV09dHJ1ZSAmJiB0Y2YtdjJbcHVycG9zZV1bY29uc2VudHNdWzFdPXRydWUiKTtnPWcucmVwbGFjZSgidGNmLW5vLWdvb2dsZSIsIiEhdGNmLXYyW3ZlbmRvcl1bY29uc2VudHNdWzc1NV0iKTtnPWcucmVwbGFjZSgidGNmLW1lZGlhLm5ldCIsInRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVsxNDJdPXRydWUgJiYgdGNmLXYyW3B1cnBvc2VdW2NvbnNlbnRzXVsxXT10cnVlIik7Zz1nLnJlcGxhY2UoInRjZi1uby1tZWRpYS5uZXQiLCIhIXRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVsxNDJdIik7Zz1nLnJlcGxhY2UoInRjZi1hbWF6b24iLCJ0Y2YtdjJbdmVuZG9yXVtjb25zZW50c11bNzkzXT10cnVlICYmIHRjZi12MltwdXJwb3NlXVtjb25zZW50c11bMV09dHJ1ZSIpO2c9Zy5yZXBsYWNlKCJ0Y2Ytbm8tYW1hem9uIiwiISF0Y2YtdjJbdmVuZG9yXVtjb25zZW50c11bNzkzXSIpO2c9Zy5yZXBsYWNlKCJ0Y2YtZXpvaWMiLCJ0Y2YtdjJbdmVuZG9yXVtjb25zZW50c11bMzQ3XT10cnVlICYmIHRjZi12MltwdXJwb3NlXVtjb25zZW50c11bMV09dHJ1ZSIpO2c9Zy5yZXBsYWNlKCJ0Y2Ytbm8tZXpvaWMiLCIhIXRjZi12Mlt2ZW5kb3JdW2NvbnNlbnRzXVszNDddIik7dmFyIEY9Zy5zcGxpdCgiLCIpLGNhPVtdO2suZm9yRWFjaChmdW5jdGlvbihmKXtmPWYuc3BsaXQoIj0iKTt0cnl7dmFyIGg9SlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoZlsxXSkpfWNhdGNoKGMpe2g9ZGVjb2RlVVJJQ29tcG9uZW50KGZbMV0pfWNhW2ZbMF1dPWh9KTtyPSExO3ZhciBJPWE7Ri5ldmVyeSgoZixoKT0+e2Yuc3BsaXQoIiYmIikuZXZlcnkoKGMsdCk9Pnt0PSEwO2ZvcihjPWMudHJpbSgpOyIhISI9PWMuc3Vic3RyaW5nKDAsMik7KXQ9IXQsYz1jLnN1YnN0cmluZygyKTt2YXIgdz1jLHE9IiFAISIsVD0idGNmLXYyIj09dyYmIiFAISI9PXEsQj0tMSE9Yy5pbmRleE9mKCJbIiksSj0wPT1jLmluZGV4T2YoInRjZi12MiIpfHwwPT1jLmluZGV4T2YoImV1Y29uc2VudC12MiIpO0o9SiYmKEJ8fFQpOy0xIT1jLmluZGV4T2YoIj0iKSYmKHE9Yy5zcGxpdCgiPSIpLHc9cVswXSxxPXFbMV0sQj0tMSE9dy5pbmRleE9mKCJbIiksSj0oSj0wPT13LmluZGV4T2YoInRjZi12MiIpfHwwPT13LmluZGV4T2YoImV1Y29uc2VudC12MiIpKSYmKEJ8fFQpKTtpZihKKWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaS1pYWItdGNmLXN0YXR1cyIpLEI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpLWlhYi10Y2YtYmFyIiksbnVsbCE9QiYmKEIuc3R5bGUuZGlzcGxheT0iYmxvY2siKSxUJiYiYm9vbGVhbiI9PXR5cGVvZiBhaV90Y2ZhcGlfZm91bmQ/cj1haV90Y2ZhcGlfZm91bmQ/dDohdDoib2JqZWN0Ij09dHlwZW9mIGFpX3RjRGF0YT8obnVsbCE9QiYmQi5jbGFzc0xpc3QuYWRkKCJzdGF0dXMtb2siKSx3PXcucmVwbGFjZSgvXXwgL2dpLCIiKS5zcGxpdCgiWyIpLHcuc2hpZnQoKSxyPSh3PWUodyxhaV90Y0RhdGEscSkpP3Q6IXQpOiJ1bmRlZmluZWQiPT10eXBlb2YgYWlfdGNmYXBpX2ZvdW5kJiYoSS5jbGFzc0xpc3QuYWRkKCJhaS1saXN0LWRhdGEiKSxOPSEwLCJmdW5jdGlvbiI9PXR5cGVvZiBfX3RjZmFwaT9DKCExKToidW5kZWZpbmVkIj09dHlwZW9mIGFpX3RjRGF0YV9yZXRyeWluZyYmKGFpX3RjRGF0YV9yZXRyeWluZz0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09dHlwZW9mIF9fdGNmYXBpP0MoITEpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXsiZnVuY3Rpb24iPT10eXBlb2YgX190Y2ZhcGk/QyghMSk6c2V0VGltZW91dChmdW5jdGlvbigpe0MoITApfSwzRTMpfSwxRTMpfSw2MDApKSk7ZWxzZSBpZihCKXI9KHc9cChjYSx3LHEpKT90OiF0O2Vsc2V7dmFyIFU9ITE7IiFAISI9PXE/ay5ldmVyeShmdW5jdGlvbihqYSl7cmV0dXJuIGphLnNwbGl0KCI9IilbMF09PWM/KFU9ITAsITEpOiEwfSk6VT0tMSE9ay5pbmRleE9mKGMpO3I9VT90OiF0fXJldHVybiByPyEwOiExfSk7cmV0dXJuIHI/ITE6ITB9KTtyJiYoTj0hMSxJLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtZGF0YSIpKTtzd2l0Y2goeSl7Y2FzZSAiQiI6ciYmKGw9ITEpO2JyZWFrO2Nhc2UgIlciOnJ8fChsPSExKX19fWEuY2xhc3NMaXN0LmNvbnRhaW5zKCJhaS1saXN0LW1hbnVhbCIpJiYobD8oSS5jbGFzc0xpc3QucmVtb3ZlKCJhaS1saXN0LWRhdGEiKSxJLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtbWFudWFsIikpOihuPSEwLEkuY2xhc3NMaXN0LmFkZCgiYWktbGlzdC1kYXRhIikpKTsobHx8IW4mJiFOKSYmYS5oYXNBdHRyaWJ1dGUoImRhdGEtZGVidWctaW5mbyIpJiYoZz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuIithLmRhdGFzZXQuZGVidWdJbmZvKSxudWxsIT1nJiYoZz1nLnBhcmVudEVsZW1lbnQsbnVsbCE9ZyYmZy5jbGFzc0xpc3QuY29udGFpbnMoImFpLWRlYnVnLWluZm8iKSYmZy5yZW1vdmUoKSkpO3k9WChhLCIuYWktZGVidWctYmFyLmFpLWRlYnVnLWxpc3RzIik7dmFyIGthPSIiPT1BPyIjIjpBOzAhPXkubGVuZ3RoJiZ5LmZvckVhY2goKGYsaCk9PntoPWYucXVlcnlTZWxlY3RvcigiLmFpLWRlYnVnLW5hbWUuYWktbGlzdC1pbmZvIik7bnVsbCE9aCYmKGgudGV4dENvbnRlbnQ9a2EsaC50aXRsZT1SKyJcbiIrYWEpO2g9Zi5xdWVyeVNlbGVjdG9yKCIuYWktZGVidWctbmFtZS5haS1saXN0LXN0YXR1cyIpO251bGwhPWgmJihoLnRleHRDb250ZW50PWw/YWlfZnJvbnQudmlzaWJsZTphaV9mcm9udC5oaWRkZW4pfSk7Zz0hMTtpZihsJiZhLmhhc0F0dHJpYnV0ZSgic2NoZWR1bGluZy1zdGFydCIpJiZhLmhhc0F0dHJpYnV0ZSgic2NoZWR1bGluZy1lbmQiKSYmYS5oYXNBdHRyaWJ1dGUoInNjaGVkdWxpbmctZGF5cyIpKXt2YXIgdT1hLmdldEF0dHJpYnV0ZSgic2NoZWR1bGluZy1zdGFydCIpO3Y9YS5nZXRBdHRyaWJ1dGUoInNjaGVkdWxpbmctZW5kIik7eT1hLmdldEF0dHJpYnV0ZSgic2NoZWR1bGluZy1kYXlzIik7Zz0hMDt1PWI2NGQodSk7Rj1iNjRkKHYpO3ZhciBWPXBhcnNlSW50KGEuZ2V0QXR0cmlidXRlKCJzY2hlZHVsaW5nLWZhbGxiYWNrIikpLE89cGFyc2VJbnQoYS5nZXRBdHRyaWJ1dGUoImdtdCIpKTtpZih1LmluY2x1ZGVzKCItIil8fEYuaW5jbHVkZXMoIi0iKSlQPVkodSkrTyxLPVkoRikrTztlbHNlIHZhciBQPVEodSksSz1RKEYpO1A/Pz0wO0s/Pz0wO3ZhciBXPWI2NGQoeSkuc3BsaXQoIiwiKTt5PWEuZ2V0QXR0cmlidXRlKCJzY2hlZHVsaW5nLXR5cGUiKTt2YXIgRD0obmV3IERhdGUpLmdldFRpbWUoKStPO3Y9bmV3IERhdGUoRCk7dmFyIEc9di5nZXREYXkoKTswPT1HP0c9NjpHLS07dS5pbmNsdWRlcygiLSIpfHxGLmluY2x1ZGVzKCItIil8fCh1PShuZXcgRGF0ZSh2LmdldEZ1bGxZZWFyKCksdi5nZXRNb250aCgpLHYuZ2V0RGF0ZSgpKSkuZ2V0VGltZSgpK08sRC09dSwwPkQmJihEKz04NjRFNSkpO3NjaGVkdWxpbmdfc3RhcnRfZGF0ZV9vaz1EPj1QO3NjaGVkdWxpbmdfZW5kX2RhdGVfb2s9MD09S3x8RDxLO3U9c2NoZWR1bGluZ19zdGFydF9kYXRlX29rJiZzY2hlZHVsaW5nX2VuZF9kYXRlX29rJiZXLmluY2x1ZGVzKEcudG9TdHJpbmcoKSk7c3dpdGNoKHkpe2Nhc2UgIkIiOnU9IXV9dXx8KGw9ITEpO3ZhciBsYT12LnRvSVNPU3RyaW5nKCkuc3BsaXQoIi4iKVswXS5yZXBsYWNlKCJUIiwiICIpO3k9WChhLCIuYWktZGVidWctYmFyLmFpLWRlYnVnLXNjaGVkdWxpbmciKTswIT15Lmxlbmd0aCYmeS5mb3JFYWNoKChmLGgpPT57aD1mLnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1uYW1lLmFpLXNjaGVkdWxpbmctaW5mbyIpO251bGwhPWgmJihoLnRleHRDb250ZW50PWxhKyIgIitHKyIgY3VycmVudF90aW1lOiAiK01hdGguZmxvb3IoRC50b1N0cmluZygpLzFFMykrIiAgc3RhcnRfZGF0ZToiK01hdGguZmxvb3IoUC8xRTMpLnRvU3RyaW5nKCkrIj0+IitzY2hlZHVsaW5nX3N0YXJ0X2RhdGVfb2sudG9TdHJpbmcoKSsiIGVuZF9kYXRlOiIrTWF0aC5mbG9vcihLLzFFMykudG9TdHJpbmcoKSsiPT4iK3NjaGVkdWxpbmdfZW5kX2RhdGVfb2sudG9TdHJpbmcoKSsiIGRheXM6IitXLnRvU3RyaW5nKCkrIj0+IitXLmluY2x1ZGVzKEcudG9TdHJpbmcoKSkudG9TdHJpbmcoKSk7aD1mLnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1uYW1lLmFpLXNjaGVkdWxpbmctc3RhdHVzIik7bnVsbCE9aCYmKGgudGV4dENvbnRlbnQ9bD9haV9mcm9udC52aXNpYmxlOmFpX2Zyb250LmhpZGRlbik7bHx8MD09Vnx8KGYuY2xhc3NMaXN0LnJlbW92ZSgiYWktZGVidWctc2NoZWR1bGluZyIpLGYuY2xhc3NMaXN0LmFkZCgiYWktZGVidWctZmFsbGJhY2siKSxoPWYucXVlcnlTZWxlY3RvcigiLmFpLWRlYnVnLW5hbWUuYWktc2NoZWR1bGluZy1zdGF0dXMiKSxudWxsIT1oJiYoaC50ZXh0Q29udGVudD1haV9mcm9udC5mYWxsYmFjaysiID0gIitWKSl9KX1pZihufHwhbCYmTilyZXR1cm4hMDthLnN0eWxlLnZpc2liaWxpdHk9IiI7YS5zdHlsZS5wb3NpdGlvbj0iIjthLnN0eWxlLndpZHRoPSIiO2Euc3R5bGUuaGVpZ2h0PSIiO2Euc3R5bGUuekluZGV4PSIiO2lmKGwpe2lmKG51bGwhPWQmJihkLnN0eWxlLnZpc2liaWxpdHk9IiIsZC5jbGFzc0xpc3QuY29udGFpbnMoImFpLXJlbW92ZS1wb3NpdGlvbiIpJiYoZC5zdHlsZS5wb3NpdGlvbj0iIikpLGEuaGFzQXR0cmlidXRlKCJkYXRhLWNvZGUiKSl7bj1iNjRkKGEuZGF0YXNldC5jb2RlKTt1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Zz0hMDt0cnl7SD11LmNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChuKX1jYXRjaChmKXtnPSExfWcmJihudWxsIT1hLmNsb3Nlc3QoImhlYWQiKT8oYS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShILGEubmV4dFNpYmxpbmcpLGEucmVtb3ZlKCkpOmEuYXBwZW5kKEgpKTtkYShhKX19ZWxzZSBpZihnJiYhdSYmMCE9Vil7bnVsbCE9ZCYmKGQuc3R5bGUudmlzaWJpbGl0eT0iIixkLmNsYXNzTGlzdC5jb250YWlucygiYWktcmVtb3ZlLXBvc2l0aW9uIikmJmQuY3NzKHtwb3NpdGlvbjoiIn0pKTtuPWZhKGEsIi5haS1mYWxsYmFjayIpOzAhPW4ubGVuZ3RoJiZuLmZvckVhY2goKGYsaCk9PntmLmNsYXNzTGlzdC5yZW1vdmUoImFpLWZhbGxiYWNrIil9KTtpZihhLmhhc0F0dHJpYnV0ZSgiZGF0YS1mYWxsYmFjay1jb2RlIikpe249YjY0ZChhLmRhdGFzZXQuZmFsbGJhY2tDb2RlKTt1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Zz0hMDt0cnl7dmFyIEg9dS5jcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQobil9Y2F0Y2goZil7Zz0hMX1nJiZhLmFwcGVuZChIKTtkYShhKX1lbHNlIGEuc3R5bGUuZGlzcGxheT0ibm9uZSIsbnVsbCE9ZCYmbnVsbD09ZC5xdWVyeVNlbGVjdG9yKCIuYWktZGVidWctYmxvY2siKSYmZC5oYXNBdHRyaWJ1dGUoInN0eWxlIikmJi0xPT1kLmdldEF0dHJpYnV0ZSgic3R5bGUiKS5pbmRleE9mKCJoZWlnaHQ6IikmJihkLnN0eWxlLmRpc3BsYXk9Im5vbmUiKTtudWxsIT1kJiZkLmhhc0F0dHJpYnV0ZSgiZGF0YS1haSIpJiYoZC5nZXRBdHRyaWJ1dGUoImRhdGEtYWkiKSxhLmhhc0F0dHJpYnV0ZSgiZmFsbGJhY2stdHJhY2tpbmciKSYmKEg9YS5nZXRBdHRyaWJ1dGUoImZhbGxiYWNrLXRyYWNraW5nIiksZC5zZXRBdHRyaWJ1dGUoImRhdGEtYWktIithLmdldEF0dHJpYnV0ZSgiZmFsbGJhY2tfbGV2ZWwiKSxIKSkpfWVsc2UgYS5zdHlsZS5kaXNwbGF5PSJub25lIixudWxsIT1kJiYoZC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtYWkiKSxkLmNsYXNzTGlzdC5yZW1vdmUoImFpLXRyYWNrIiksbnVsbCE9ZC5xdWVyeVNlbGVjdG9yKCIuYWktZGVidWctYmxvY2siKT8oZC5zdHlsZS52aXNpYmlsaXR5PSIiLGQuY2xhc3NMaXN0LnJlbW92ZSgiYWktY2xvc2UiKSxkLmNsYXNzTGlzdC5jb250YWlucygiYWktcmVtb3ZlLXBvc2l0aW9uIikmJihkLnN0eWxlLnBvc2l0aW9uPSIiKSk6ZC5oYXNBdHRyaWJ1dGUoInN0eWxlIikmJi0xPT1kLmdldEF0dHJpYnV0ZSgic3R5bGUiKS5pbmRleE9mKCJoZWlnaHQ6IikmJihkLnN0eWxlLmRpc3BsYXk9Im5vbmUiKSk7YS5zZXRBdHRyaWJ1dGUoImRhdGEtY29kZSIsIiIpO2Euc2V0QXR0cmlidXRlKCJkYXRhLWZhbGxiYWNrLWNvZGUiLCIiKTtudWxsIT1kJiZkLmNsYXNzTGlzdC5yZW1vdmUoImFpLWxpc3QtYmxvY2siKX0pfX07ZnVuY3Rpb24gZWEoYil7Yj1gOyAke2RvY3VtZW50LmNvb2tpZX1gLnNwbGl0KGA7ICR7Yn09YCk7aWYoMj09PWIubGVuZ3RoKXJldHVybiBiLnBvcCgpLnNwbGl0KCI7Iikuc2hpZnQoKX1mdW5jdGlvbiBtYShiLGUscCl7ZWEoYikmJihkb2N1bWVudC5jb29raWU9YisiPSIrKGU/IjtwYXRoPSIrZToiIikrKHA/Ijtkb21haW49IitwOiIiKSsiO2V4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQiKX1mdW5jdGlvbiBtKGIpe2VhKGIpJiYobWEoYiwiLyIsd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSxkb2N1bWVudC5jb29raWU9YisiPTsgUGF0aD0vOyBFeHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDEgR01UOyIpfShmdW5jdGlvbihiKXsiY29tcGxldGUiPT09ZG9jdW1lbnQucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09ZG9jdW1lbnQucmVhZHlTdGF0ZSYmIWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9iKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsYil9KShmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXthaV9wcm9jZXNzX2xpc3RzKCk7c2V0VGltZW91dChmdW5jdGlvbigpe1ooKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYWlfbG9hZF9ibG9ja3Mpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNtcGx6RW5hYmxlU2NyaXB0cyIsZSk7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY21wbHpfZXZlbnRfbWFya2V0aW5nIixlKTtmdW5jdGlvbiBlKHApeyJjbXBsekVuYWJsZVNjcmlwdHMiIT1wLnR5cGUmJiJhbGwiIT09cC5jb25zZW50TGV2ZWx8fGFpX2xvYWRfYmxvY2tzKCl9fX0sNTApO3ZhciBiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5haS1kZWJ1Zy1wYWdlLXR5cGUiKTtudWxsIT1iJiZiLmFkZEV2ZW50TGlzdGVuZXIoImRibGNsaWNrIixlPT57ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKTtudWxsIT1lJiYoZS50ZXh0Q29udGVudD0iQ09OU0VOVCBDT09LSUVTIik7ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1iYXIiKTtudWxsIT1lJiYoZS5zdHlsZS5kaXNwbGF5PSJibG9jayIpfSk7Yj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1iYXIiKTtudWxsIT1iJiZiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixlPT57bSgiZXVjb25zZW50LXYyIik7bSgiX19seEdfX2NvbnNlbnRfX3YyIik7bSgiX19seEdfX2NvbnNlbnRfX3YyX2RhaXN5Yml0Iik7bSgiX19seEdfX2NvbnNlbnRfX3YyX2dkYWlzeWJpdCIpO20oIkNvb2tpZUxhd0luZm9Db25zZW50Iik7bSgiY29va2llbGF3aW5mby1jaGVja2JveC1hZHZlcnRpc2VtZW50Iik7bSgiY29va2llbGF3aW5mby1jaGVja2JveC1hbmFseXRpY3MiKTttKCJjb29raWVsYXdpbmZvLWNoZWNrYm94LW5lY2Vzc2FyeSIpO20oImNvbXBsaWFuel9wb2xpY3lfaWQiKTttKCJjb21wbGlhbnpfY29uc2VudF9zdGF0dXMiKTttKCJjbXBsel9tYXJrZXRpbmciKTttKCJjbXBsel9jb25zZW50X3N0YXR1cyIpO20oImNtcGx6X3ByZWZlcmVuY2VzIik7bSgiY21wbHpfc3RhdGlzdGljcy1hbm9ueW1vdXMiKTttKCJjbXBsel9jaG9pY2UiKTttKCJjbXBsel9iYW5uZXItc3RhdHVzIik7bSgiY21wbHpfZnVuY3Rpb25hbCIpO20oImNtcGx6X3BvbGljeV9pZCIpO20oImNtcGx6X3N0YXRpc3RpY3MiKTttKCJtb292ZV9nZHByX3BvcHVwIik7bSgicmVhbF9jb29raWVfYmFubmVyLWJsb2c6MS10Y2YiKTttKCJyZWFsX2Nvb2tpZV9iYW5uZXItYmxvZzoxIik7ZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWktaWFiLXRjZi1zdGF0dXMiKTtudWxsIT1lJiYoZS50ZXh0Q29udGVudD0iQ09OU0VOVCBDT09LSUVTIERFTEVURUQiKX0pfSw1KX0pO2Z1bmN0aW9uIGRhKGIpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19yb3RhdGlvbnNfaW5fZWxlbWVudCYmYWlfcHJvY2Vzc19yb3RhdGlvbnNfaW5fZWxlbWVudChiKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19saXN0cyYmYWlfcHJvY2Vzc19saXN0cygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2lwX2FkZHJlc3NlcyYmYWlfcHJvY2Vzc19pcF9hZGRyZXNzZXMoKTsiZnVuY3Rpb24iPT10eXBlb2YgYWlfcHJvY2Vzc19maWx0ZXJfaG9va3MmJmFpX3Byb2Nlc3NfZmlsdGVyX2hvb2tzKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGFpX2FkYl9wcm9jZXNzX2Jsb2NrcyYmYWlfYWRiX3Byb2Nlc3NfYmxvY2tzKGIpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9wcm9jZXNzX2ltcHJlc3Npb25zJiYxPT1haV90cmFja2luZ19maW5pc2hlZCYmYWlfcHJvY2Vzc19pbXByZXNzaW9ucygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9pbnN0YWxsX2NsaWNrX3RyYWNrZXJzJiYxPT1haV90cmFja2luZ19maW5pc2hlZCYmYWlfaW5zdGFsbF9jbGlja190cmFja2VycygpOyJmdW5jdGlvbiI9PXR5cGVvZiBhaV9pbnN0YWxsX2Nsb3NlX2J1dHRvbnMmJmFpX2luc3RhbGxfY2xvc2VfYnV0dG9ucyhkb2N1bWVudCl9LDUpfWZ1bmN0aW9uIGlhKGIpe3ZhciBlPWI/Yi5zcGxpdCgiPyIpWzFdOndpbmRvdy5sb2NhdGlvbi5zZWFyY2guc2xpY2UoMSk7Yj17fTtpZihlKXtlPWUuc3BsaXQoIiMiKVswXTtlPWUuc3BsaXQoIiYiKTtmb3IodmFyIHA9MDtwPGUubGVuZ3RoO3ArKyl7dmFyIHo9ZVtwXS5zcGxpdCgiPSIpLEM9dm9pZCAwLHg9elswXS5yZXBsYWNlKC9cW1xkKlxdLyxmdW5jdGlvbihMKXtDPUwuc2xpY2UoMSwtMSk7cmV0dXJuIiJ9KTt6PSJ1bmRlZmluZWQiPT09dHlwZW9mIHpbMV0/IiI6elsxXTt4PXgudG9Mb3dlckNhc2UoKTt6PXoudG9Mb3dlckNhc2UoKTtiW3hdPygic3RyaW5nIj09PXR5cGVvZiBiW3hdJiYoYlt4XT1bYlt4XV0pLCJ1bmRlZmluZWQiPT09dHlwZW9mIEM/Ylt4XS5wdXNoKHopOmJbeF1bQ109eik6Ylt4XT16fX1yZXR1cm4gYn19O2FpX3J1bl80NDIwNTg5NjA5MzQ9ZnVuY3Rpb24oKXthaV9kb2N1bWVudF93cml0ZT1kb2N1bWVudC53cml0ZTtkb2N1bWVudC53cml0ZT1mdW5jdGlvbihhKXsiaW50ZXJhY3RpdmUiPT1kb2N1bWVudC5yZWFkeVN0YXRlPyhjb25zb2xlLmVycm9yKCJkb2N1bWVudC53cml0ZSBjYWxsZWQgYWZ0ZXIgcGFnZSBsb2FkOiAiLGEpLCJ1bmRlZmluZWQiIT10eXBlb2YgYWlfanNfZXJyb3JzJiZhaV9qc19lcnJvcnMucHVzaChbImRvY3VtZW50LndyaXRlIGNhbGxlZCBhZnRlciBwYWdlIGxvYWQiLGEsMF0pKTphaV9kb2N1bWVudF93cml0ZS5jYWxsKGRvY3VtZW50LGEpfTthaV9pbnNlcnQoJ2FmdGVyJywnaDEsaDIsaDMnLGI2NGQoJ1BHUnBkaUJqYkdGemN6MG5ZMjlrWlMxaWJHOWpheUJqYjJSbExXSnNiMk5yTFRJbklITjBlV3hsUFNkdFlYSm5hVzQ2SURod2VDQXdPeUJqYkdWaGNqb2dZbTkwYURzblBnbzhjMk55YVhCMElHRnplVzVqSUhOeVl6MGlhSFIwY0hNNkx5OXdZV2RsWVdReUxtZHZiMmRzWlhONWJtUnBZMkYwYVc5dUxtTnZiUzl3WVdkbFlXUXZhbk12WVdSellubG5iMjluYkdVdWFuTS9ZMnhwWlc1MFBXTmhMWEIxWWkwMk16Y3hOemN6T1RFd09ERXlOakl3SWdvZ0lDQWdJR055YjNOemIzSnBaMmx1UFNKaGJtOXVlVzF2ZFhNaVBqd3ZjMk55YVhCMFBqd3ZaR2wyUGdvPScpKX07aWYoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSdjb21wbGV0ZSd8fChkb2N1bWVudC5yZWFkeVN0YXRlIT09J2xvYWRpbmcnJiYhZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKSlhaV9ydW5fNDQyMDU4OTYwOTM0KCk7ZWxzZSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJyxhaV9ydW5fNDQyMDU4OTYwOTM0KTthaV9qc19jb2RlPSEw" defer></script> <script data-no-optimize="1">!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).LazyLoad=e()}(this,function(){"use strict";function e(){return(e=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n,a=arguments[e];for(n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t}).apply(this,arguments)}function i(t){return e({},it,t)}function o(t,e){var n,a="LazyLoad::Initialized",i=new t(e);try{n=new CustomEvent(a,{detail:{instance:i}})}catch(t){(n=document.createEvent("CustomEvent")).initCustomEvent(a,!1,!1,{instance:i})}window.dispatchEvent(n)}function l(t,e){return t.getAttribute(gt+e)}function c(t){return l(t,bt)}function s(t,e){return function(t,e,n){e=gt+e;null!==n?t.setAttribute(e,n):t.removeAttribute(e)}(t,bt,e)}function r(t){return s(t,null),0}function u(t){return null===c(t)}function d(t){return c(t)===vt}function f(t,e,n,a){t&&(void 0===a?void 0===n?t(e):t(e,n):t(e,n,a))}function _(t,e){nt?t.classList.add(e):t.className+=(t.className?" ":"")+e}function v(t,e){nt?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\s+)"+e+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")}function g(t){return t.llTempImage}function b(t,e){!e||(e=e._observer)&&e.unobserve(t)}function p(t,e){t&&(t.loadingCount+=e)}function h(t,e){t&&(t.toLoadCount=e)}function n(t){for(var e,n=[],a=0;e=t.children[a];a+=1)"SOURCE"===e.tagName&&n.push(e);return n}function m(t,e){(t=t.parentNode)&&"PICTURE"===t.tagName&&n(t).forEach(e)}function a(t,e){n(t).forEach(e)}function E(t){return!!t[st]}function I(t){return t[st]}function y(t){return delete t[st]}function A(e,t){var n;E(e)||(n={},t.forEach(function(t){n[t]=e.getAttribute(t)}),e[st]=n)}function k(a,t){var i;E(a)&&(i=I(a),t.forEach(function(t){var e,n;e=a,(t=i[n=t])?e.setAttribute(n,t):e.removeAttribute(n)}))}function L(t,e,n){_(t,e.class_loading),s(t,ut),n&&(p(n,1),f(e.callback_loading,t,n))}function w(t,e,n){n&&t.setAttribute(e,n)}function x(t,e){w(t,ct,l(t,e.data_sizes)),w(t,rt,l(t,e.data_srcset)),w(t,ot,l(t,e.data_src))}function O(t,e,n){var a=l(t,e.data_bg_multi),i=l(t,e.data_bg_multi_hidpi);(a=at&&i?i:a)&&(t.style.backgroundImage=a,n=n,_(t=t,(e=e).class_applied),s(t,ft),n&&(e.unobserve_completed&&b(t,e),f(e.callback_applied,t,n)))}function N(t,e){!e||0<e.loadingCount||0<e.toLoadCount||f(t.callback_finish,e)}function C(t,e,n){t.addEventListener(e,n),t.llEvLisnrs[e]=n}function M(t){return!!t.llEvLisnrs}function z(t){if(M(t)){var e,n,a=t.llEvLisnrs;for(e in a){var i=a[e];n=e,i=i,t.removeEventListener(n,i)}delete t.llEvLisnrs}}function R(t,e,n){var a;delete t.llTempImage,p(n,-1),(a=n)&&--a.toLoadCount,v(t,e.class_loading),e.unobserve_completed&&b(t,n)}function T(o,r,c){var l=g(o)||o;M(l)||function(t,e,n){M(t)||(t.llEvLisnrs={});var a="VIDEO"===t.tagName?"loadeddata":"load";C(t,a,e),C(t,"error",n)}(l,function(t){var e,n,a,i;n=r,a=c,i=d(e=o),R(e,n,a),_(e,n.class_loaded),s(e,dt),f(n.callback_loaded,e,a),i||N(n,a),z(l)},function(t){var e,n,a,i;n=r,a=c,i=d(e=o),R(e,n,a),_(e,n.class_error),s(e,_t),f(n.callback_error,e,a),i||N(n,a),z(l)})}function G(t,e,n){var a,i,o,r,c;t.llTempImage=document.createElement("IMG"),T(t,e,n),E(c=t)||(c[st]={backgroundImage:c.style.backgroundImage}),o=n,r=l(a=t,(i=e).data_bg),c=l(a,i.data_bg_hidpi),(r=at&&c?c:r)&&(a.style.backgroundImage='url("'.concat(r,'")'),g(a).setAttribute(ot,r),L(a,i,o)),O(t,e,n)}function D(t,e,n){var a;T(t,e,n),a=e,e=n,(t=It[(n=t).tagName])&&(t(n,a),L(n,a,e))}function V(t,e,n){var a;a=t,(-1<yt.indexOf(a.tagName)?D:G)(t,e,n)}function F(t,e,n){var a;t.setAttribute("loading","lazy"),T(t,e,n),a=e,(e=It[(n=t).tagName])&&e(n,a),s(t,vt)}function j(t){t.removeAttribute(ot),t.removeAttribute(rt),t.removeAttribute(ct)}function P(t){m(t,function(t){k(t,Et)}),k(t,Et)}function S(t){var e;(e=At[t.tagName])?e(t):E(e=t)&&(t=I(e),e.style.backgroundImage=t.backgroundImage)}function U(t,e){var n;S(t),n=e,u(e=t)||d(e)||(v(e,n.class_entered),v(e,n.class_exited),v(e,n.class_applied),v(e,n.class_loading),v(e,n.class_loaded),v(e,n.class_error)),r(t),y(t)}function $(t,e,n,a){var i;n.cancel_on_exit&&(c(t)!==ut||"IMG"===t.tagName&&(z(t),m(i=t,function(t){j(t)}),j(i),P(t),v(t,n.class_loading),p(a,-1),r(t),f(n.callback_cancel,t,e,a)))}function q(t,e,n,a){var i,o,r=(o=t,0<=pt.indexOf(c(o)));s(t,"entered"),_(t,n.class_entered),v(t,n.class_exited),i=t,o=a,n.unobserve_entered&&b(i,o),f(n.callback_enter,t,e,a),r||V(t,n,a)}function H(t){return t.use_native&&"loading"in HTMLImageElement.prototype}function B(t,i,o){t.forEach(function(t){return(a=t).isIntersecting||0<a.intersectionRatio?q(t.target,t,i,o):(e=t.target,n=t,a=i,t=o,void(u(e)||(_(e,a.class_exited),$(e,n,a,t),f(a.callback_exit,e,n,t))));var e,n,a})}function J(e,n){var t;et&&!H(e)&&(n._observer=new IntersectionObserver(function(t){B(t,e,n)},{root:(t=e).container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}))}function K(t){return Array.prototype.slice.call(t)}function Q(t){return t.container.querySelectorAll(t.elements_selector)}function W(t){return c(t)===_t}function X(t,e){return e=t||Q(e),K(e).filter(u)}function Y(e,t){var n;(n=Q(e),K(n).filter(W)).forEach(function(t){v(t,e.class_error),r(t)}),t.update()}function t(t,e){var n,a,t=i(t);this._settings=t,this.loadingCount=0,J(t,this),n=t,a=this,Z&&window.addEventListener("online",function(){Y(n,a)}),this.update(e)}var Z="undefined"!=typeof window,tt=Z&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),et=Z&&"IntersectionObserver"in window,nt=Z&&"classList"in document.createElement("p"),at=Z&&1<window.devicePixelRatio,it={elements_selector:".lazy",container:tt||Z?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"litespeed-loading",class_loaded:"litespeed-loaded",class_error:"error",class_entered:"entered",class_exited:"exited",unobserve_completed:!0,unobserve_entered:!1,cancel_on_exit:!0,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},ot="src",rt="srcset",ct="sizes",lt="poster",st="llOriginalAttrs",ut="loading",dt="loaded",ft="applied",_t="error",vt="native",gt="data-",bt="ll-status",pt=[ut,dt,ft,_t],ht=[ot],mt=[ot,lt],Et=[ot,rt,ct],It={IMG:function(t,e){m(t,function(t){A(t,Et),x(t,e)}),A(t,Et),x(t,e)},IFRAME:function(t,e){A(t,ht),w(t,ot,l(t,e.data_src))},VIDEO:function(t,e){a(t,function(t){A(t,ht),w(t,ot,l(t,e.data_src))}),A(t,mt),w(t,lt,l(t,e.data_poster)),w(t,ot,l(t,e.data_src)),t.load()}},yt=["IMG","IFRAME","VIDEO"],At={IMG:P,IFRAME:function(t){k(t,ht)},VIDEO:function(t){a(t,function(t){k(t,ht)}),k(t,mt),t.load()}},kt=["IMG","IFRAME","VIDEO"];return t.prototype={update:function(t){var e,n,a,i=this._settings,o=X(t,i);{if(h(this,o.length),!tt&&et)return H(i)?(e=i,n=this,o.forEach(function(t){-1!==kt.indexOf(t.tagName)&&F(t,e,n)}),void h(n,0)):(t=this._observer,i=o,t.disconnect(),a=t,void i.forEach(function(t){a.observe(t)}));this.loadAll(o)}},destroy:function(){this._observer&&this._observer.disconnect(),Q(this._settings).forEach(function(t){y(t)}),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var e=this,n=this._settings;X(t,n).forEach(function(t){b(t,e),V(t,n,e)})},restoreAll:function(){var e=this._settings;Q(e).forEach(function(t){U(t,e)})}},t.load=function(t,e){e=i(e);V(t,e)},t.resetStatus=function(t){r(t)},Z&&function(t,e){if(e)if(e.length)for(var n,a=0;n=e[a];a+=1)o(t,n);else o(t,e)}(t,window.lazyLoadOptions),t});!function(e,t){"use strict";function a(){t.body.classList.add("litespeed_lazyloaded")}function n(){console.log("[LiteSpeed] Start Lazy Load Images"),d=new LazyLoad({elements_selector:"[data-lazyloaded]",callback_finish:a}),o=function(){d.update()},e.MutationObserver&&new MutationObserver(o).observe(t.documentElement,{childList:!0,subtree:!0,attributes:!0})}var d,o;e.addEventListener?e.addEventListener("load",n,!1):e.attachEvent("onload",n)}(window,document);</script><script data-optimized="1" src="https://www.hornamotor.es/wp-content/litespeed/js/81d748a1022aa44b6171d805e4c60778.js?ver=eadf7" defer></script></body></html> <!-- Page optimized by LiteSpeed Cache @2024-04-28 06:07:07 --> <!-- Page cached by LiteSpeed Cache 6.2.0.1 on 2024-04-28 06:07:07 -->