• PORTADA
    • Últimas noticias
    • España
      • Andalucía
      • Aragón
      • Canarias
      • Castilla y León
      • Castilla-La Mancha
      • Cataluña
      • Comunidad Valenciana
      • Madrid
      • Galicia
      • País Vasco
    • OKBaleares
    • Navarra.com
    • Opinión
    • Investigación
    • Economía
      • Empresas
      • Consumo
      • Empleo
    • Sociedad
    • Metabolic
    • Talent24H
    • Techy
    • Diario Madridista
      • Últimas noticias
      • Real Madrid
    • Deportes
      • Fútbol
      • Atlético de Madrid
      • Barcelona
      • Champions League
      • Tenis
      • Fórmula 1
    • Mundial 2026
    • Sucesos
    • Internacional
    • Cool
      • Actualidad
      • Belleza
      • Casa Real
      • Famosos
      • Moda
      • Lifestyle
      • Televisión
    • HappyFM
    • Cine y Series
    • OKMotor
    • OKSalud
    • OKGreen
    • Curiosidades
    • ESPECIALES
      • Recetas
      • ¿Cómo se hace?
      • Religión
      • Mascotas
      • Bebés
      • Tecnología
      • Naturaleza
      • Educación
      • Historia
      • Ciencia
      • Listas
      • Gastronomía
      • Historia
      • Horóscopo
    • OKPlanes
    • OKCLUB
    • OkShopping
    • Lotería
    • SER PADRES
    • MIA REVISTA
    • Muy interesante
Destacados:
  • Cócteles molotov Ceuta
  • Protestas Ceuta
  • Marlaska inmigrantes ilegales
  • Sin ayudas para Ceuta
  • ‘Consulado móvil’ Ley de Nietos
  • Ataques playa de Palma
  • Louzán y De la Fuente Ceuta
  • Pateras de inmigrantes Canarias
  • Liderazgo aceite de oliva
  • Alcaldesa socialista Espartinas
  • Detenidos futbolistas Mallorca
  • Trump petróleo
  • Detenido conductor VTC
  • Precio gasolina hoy
  • Calendario US Open 2026
  • Horario Rafa Jódar – Kokkinakis
  • Horario y dónde ver Alcaraz
  • Horario toros Feria Bilbao 2026
  • Horario MotoGP Aragón
  • La Vuelta España hoy
  • Horario Sevilla – Atlético de Madrid
  • Últimas noticias
Más

    El sitio de los inconformistas

    29 Ago 2026
    Actualizado 12:10 CET
    INICIAR SESIÓN
    Es Noticia
    • Llevar una MONEDA de 50 céntimos en el BOLSILLO
    • PLAGA de PULPOS en Reino Unido
    • ADVERTENCIA de los BOMBEROS sobre los eléctricos de noche
    • Miguel INDURAÍN reflexiona sobre la VUELTA CICLISTA
    • El mejor COLCHÓN TÉRMICO para una vivienda
    • La LECCIÓN de SANCHO PANZA sobre la humildad
    • La REFLEXIÓN de LUTHER KING sobre el aprendizaje
    • MEZCLA de bicarbonato, vinagre y limón
    • La PSICOLOGÍA sobre las personas que callan
    • AGATHA CHRISTIE sobre el envejecimiento
    • Las condiciones laborables de un español en FINLANDIA
    • La reflexión de SERRAT sobre la crianza
    • El sustituto del BIDET ya ha llegado a España
    • Los ESPAÑOLES llevarán el DNI y el carnet de conducir en el móvil
    • El agua del AIRE ACONDICIONADO se reutiliza
    • Se buscan voluntarios para vivir gratis en HAWAI
    • MARIO BENEDETTI sobre la mente y el corazón
    • Se buscan voluntarios para vivir gratis en AUSTRALIA
    • Un AGRICULTOR afronta cárcel por acumular basura en su finca
    • El refugio preferido de MANUEL CARRASCO
    • Los VETERINARIOS alertan a quienes tienen dos gatos

    Okdiario

    • España
    • Economía
    • Deportes
    • Investigación
    • Cool
    • Mundial
    • Opinión
    • Sociedad
    • Diario Madridista
    • Ceuta es un polvorín: los policías denuncian que los ilegales de la invasión ya fabrican cócteles molotov
        • España
        • España

      Ceuta es un polvorín: los policías denuncian que los ilegales de la invasión ya fabrican cócteles molotov

      • Diego Buenosvinos
      • 2026-08-29 05:50
    • Ceuta denuncia el abandono del Gobierno ante la invasión con banderas de España y lanzando claveles frente a la Delegación: Éstas son nuestras armas
        • España
        • España

      Ceuta denuncia el abandono del Gobierno lanzando claveles frente a la Delegación: "Éstas son nuestras armas"

      Claveles y banderas de España y de Ceuta han llenado la Plaza de los Reyes, frente a la Delegación del Gobierno, donde un centenar de ceutíes se ha concentrado para denunciar el abandono ante la invasión. Los vecinos han reivindicado el carácter pacífico de las protestas mientras cargaban contra la gestión del Ejecutivo de Pedro Sánchez. Hombres, mujeres y familias enteras han lanzado los claveles hacia la sede de la Administración General del Estado: "Estas son nuestras armas".
      • Charo Miñano
      • 2026-08-28 21:52
    • Marlaska pide ayuda a Europa un mes después de la invasión para identificar a los invasores que siguen en Ceuta
        • España
        • España

      Marlaska pide ayuda a Europa un mes después de la invasión para identificar a los ilegales 

      • María Ruiz
      • 2026-08-28 19:20
    • El Gobierno tiene 825 millones para emergencias pero sigue sin dar ayudas a las empresas golpeadas por la crisis de Ceuta
    • Cruz Roja recibe las pateras de inmigrantes a un metro del pescado fresco en el puerto de Arrecife: Es insalubre
        • España
        • España

      Cruz Roja recibe las pateras de inmigrantes a un metro del pescado fresco en el puerto de Arrecife: "Es insalubre"

      El puerto de Naos, en Arrecife (Lanzarote), se ha convertido en el punto de llegada de embarcaciones con inmigrantes y, al mismo tiempo, en el lugar donde los pescadores descargan el pescado fresco que han capturado. La cercanía entre las zonas está provocando el malestar de trabajadores del sector pesquero, que consideran que la situación no reúne las condiciones de salubridad que debería tener un espacio destinado a la manipulación de productos destinados al consumo.
      • Ezequiel Marín
      • 2026-08-29 05:45
    • PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3VzZS50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9wLnR5cGVraXQubmV0IiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VzZS50eXBla2l0Lm5ldC9pcWExcWViLmNzcyI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Sb2JvdG86d2dodEA0MDA7NzAwJmRpc3BsYXk9c3dhcCI+CjxzdHlsZT4KLyogYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQ6IHZlciByZWxhdGVkVXBwZXJjYXNlVGl0bGVGb250IG3hcyBhYmFqby4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCI7CiAgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBNZWRpdW0lMjBDbmQub3RmIik7Cn0KLyogYW1wbGl0dWRlLWJvb2s6IHZlciByZWxhdGVkQXV0aG9yRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLWJvb2siOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwQm9vay5vdGYiKTsKfQovKiBjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZSBhcXXtIGVzIGltcHJlc2NpbmRpYmxlOiBjb252aWVydGUgZXN0ZSBibG9xdWUKICAgZW4gZWwgY29udGVuZWRvciBkZSByZWZlcmVuY2lhIHBhcmEgbG9zICJAY29udGFpbmVyICguLi4taW5saW5lLXNpemUuLi4pIgogICBkZSBt4XMgYWJham8uIFVzYW1vcyBAY29udGFpbmVyIGVuIHZleiBkZSBAbWVkaWEgcG9ycXVlICJAbWVkaWEKICAgKG1heC1pbmxpbmUtc2l6ZTouLi4pIiBOTyBlcyB1bmEgY29uZGljafNuIENTUyB24WxpZGEgJiM4MjEyOyBpbmxpbmUtc2l6ZSBzb2xvCiAgIGV4aXN0ZSBjb21vIGNhcmFjdGVy7XN0aWNhIGRlIEBjb250YWluZXIsIG51bmNhIGRlIEBtZWRpYSAmIzgyMTI7IGFz7SBxdWUgZXNhcwogICByZWdsYXMgamFt4XMgc2UgYWN0aXZhYmFuICh2ZXJpZmljYWRvIGNvbiBtYXRjaE1lZGlhOiBzaWVtcHJlIGZhbHNlLCBzaW4KICAgaW1wb3J0YXIgZWwgYW5jaG8pLCB5IHBvciBlc28gbGEgbm90aWNpYSBwcmluY2lwYWwgcG9k7WEgZGVzYXBhcmVjZXIgbyBlbAogICBkaXNl8W8gbfN2aWwgbm8gc2UgYWN0aXZhYmEgbnVuY2EuIEBjb250YWluZXIgc+0gc29wb3J0YSBpbmxpbmUtc2l6ZSBkZQogICBmb3JtYSB24WxpZGEsIHkgZXZpdGEgaWd1YWxtZW50ZSBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsCiAgIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUyBkaXJlY3RhbWVudGUuICovCi8qIEZJWCBPS0RJQVJJTyAqLwogICAgLml0ZW0gYXJ0aWNsZSAuYXJ0aWNsZS1zY3JpcHQgewogICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB9Ci8qIENvbnRlbmVkb3IgZGUgdG9kYSBsYSBhcGVydHVyYSAoY2FiZWNlcmEgKyBub3RpY2lhIHByaW5jaXBhbCArIGNvbHVtbmEpOgogICBmb25kbyBibGFuY28geSBhaXJlIGFscmVkZWRvciwgc29sbyBlbiBEZXNrICYjODIxMjsgdmVyIG92ZXJyaWRlIGRlbnRybyBkZWwKICAgQGNvbnRhaW5lcihtYXgtaW5saW5lLXNpemU6ODYwcHgpIGRlIG3hcyBhYmFqbywgcXVlIGxvIGFudWxhIHBvciBkZWJham8KICAgZGUgZXNlIGFuY2hvIChlcXVpdmFsZW50ZSBhIGxhIHZpc3RhIE3zdmlsKS4gKi8KLmJsay14c3drcnttYXgtaW5saW5lLXNpemU6OTYwcHg7bWFyZ2luOjAgYXV0bztjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzoxMHB4O30KLmJsay14c3drciBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGsteHN3a3IgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGsteHN3a3IgLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLXhzd2tyIC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGsteHN3a3J7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay14c3drciAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGsteHN3a3IgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLXhzd2tyIC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGsteHN3a3IgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay14c3drciAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86MTYvOSAhaW1wb3J0YW50O30KICAuYmxrLXhzd2tyIC5wYWdlIC5sZWFke29yZGVyOjF9CiAgLmJsay14c3drciAucGFnZSAuY29sdW1ue29yZGVyOjJ9CiAgLyogUG9yIGRlYmFqbyBkZWwgYnJlYWtwb2ludCwgZWwgbGVhZC1ib2R5IHNpZW1wcmUgdnVlbHZlIGEgaXIgZGViYWpvIGRlbAogICAgIGxlYWQtbWVkaWEgKG5vIGhheSBzaXRpbyBwYXJhIGVsIGxheW91dCBsYWRvIGEgbGFkbykuICovCiAgLmJsay14c3drciAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCwKICAuYmxrLXhzd2tyIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YXNwZWN0LXJhdGlvOmF1dG87fQogIC5ibGsteHN3a3IgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtbWVkaWEsCiAgLmJsay14c3drciAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDoxIDEgYXV0bzt9CiAgLmJsay14c3drciAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAogIC5ibGsteHN3a3IgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDoxIDEgYXV0bztpbmxpbmUtc2l6ZTo5MCU7bWFyZ2luOi0zMHB4IGF1dG8gMDtibG9jay1zaXplOmF1dG87YWxpZ24tc2VsZjphdXRvO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O3BhZGRpbmc6MTBweDt9CiAgLmJsay14c3drciAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b257bGVmdDoxMHB4O3JpZ2h0OmF1dG87fQogIC5ibGsteHN3a3IgLnBhZ2UgLmNvbHVtbi1pdGVte2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQogIC5ibGsteHN3a3IgLnBhZ2UgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KICAuYmxrLXhzd2tyIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0yMSAubGVmdC10aXRsZXtmb250LXNpemU6MjFweCAhaW1wb3J0YW50O30KICAuYmxrLXhzd2tyIC5wYWdlIC5jb2x1bW4taXRlbS50aXRsZS1vbmx5LW1vYmlsZS0xOCAubGVmdC10aXRsZXtmb250LXNpemU6MThweCAhaW1wb3J0YW50O30KICAuYmxrLXhzd2tyIC5wYWdlIC5sZWZ0LXBsYXl7CiAgICBmbGV4OjAgMCBhdXRvO2lubGluZS1zaXplOjE1cHg7YmxvY2stc2l6ZToxNXB4O2JvcmRlci1yYWRpdXM6MnB4OwogICAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICAgIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogICAgdmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7CiAgfQogIC5ibGsteHN3a3IgLnBhZ2UgLmxlZnQtcGxheTo6YmVmb3JlewogICAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4OwogIH0KfQovKiBUaXBvZ3JhZu1hICJN83ZpbCIgKGFudGV07XR1bG8vdGl0dWxhci9zdWJ07XR1bG8vdGl0dWxhcmVzIGFuaW1hZG9zKSBjb24gU1UKICAgUFJPUElPIGJyZWFrcG9pbnQgKDQ4MHB4KSwgc2VwYXJhZG8gZGVsIGRlIGFycmliYSAoODYwcHgsIHNvbG8gcGFyYSBhcGlsYXIKICAgbGEgcmVqaWxsYSBjb2x1bW5hK25vdGljaWEpOiB1biBjb250ZW5lZG9yIHJlYWwgZGUgbWVub3MgZGUgODYwcHggZXMgbXV5CiAgIGhhYml0dWFsIChwLmVqLiB1bmEgY29sdW1uYSBkZSBhcnTtY3VsbyBkZSB+NzAwcHgpIHkgTk8gZXMgdW4gbfN2aWwgJiM4MjEyOyBjb24KICAgdW4g+m5pY28gYnJlYWtwb2ludCBjb21wYXJ0aWRvLCBsYSB0aXBvZ3JhZu1hICJEZXNrIiBxdWUgY29uZmlndXJhIGVsCiAgIHVzdWFyaW8gbm8gbGxlZ2FiYSBhIHZlcnNlIG51bmNhIGVuIGVzZSBjYXNvLCBjYXllbmRvIHNpZW1wcmUgYSBsb3MgdmFsb3JlcwogICBwb3IgZGVmZWN0byBkZSAiTfN2aWwiIHNpbiBxdWUgbmFkaWUgbG8gaHViaWVyYSBwZWRpZG8uIDQ4MHB4IHPtIHNlCiAgIGNvcnJlc3BvbmRlIGNvbiB1biBhbmNobyBkZSBt83ZpbCByZWFsIChsYSB2aXN0YSAiTfN2aWwiIGRlbCBwcm9waW8gZ2VzdG9yCiAgIHNpbXVsYSAzNzVweCkuIElndWFsIHF1ZSBlbCBicmVha3BvaW50IGRlIGFycmliYSwgc2Ugb21pdGUgZHVyYW50ZSBsYQogICBzaW11bGFjafNuIGRlIGFuY2hvIGRlIGxhIG5vdGljaWEgcHJpbmNpcGFsICh2ZXIgbGVhZFdpZHRoUHJldmlldykuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay14c3drciAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMTVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjEgIWltcG9ydGFudDtjb2xvcjojRkFCMTIxICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiNGQUIxMjEgIWltcG9ydGFudDt9CiAgLmJsay14c3drciAubGVhZC10aXRsZXtmb250LXNpemU6Mi41NXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjAuOSAhaW1wb3J0YW50O30KICAuYmxrLXhzd2tyIC5sZWFkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLmxlYWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLmxlYWQta2lja2VyLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLmxlYWQta2lja2VyLW1vYmlsZXtkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O30KICAuYmxrLXhzd2tyIC5sZWFkLXN1YnRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLmxlYWQtYW5pbS1oZWFkbGluZXN7Zm9udC1zaXplOjEuODc1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wMiAhaW1wb3J0YW50O30KICAKICAuYmxrLXhzd2tyIC5yZWxhdGVkLXRpdGxlLWRlc2t7ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7fQogIC5ibGsteHN3a3IgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQp9Ci5ibGsteHN3a3IgLmxlYWR7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjojZmZmO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGsteHN3a3IgLmxlYWQtbWVkaWF7cG9zaXRpb246cmVsYXRpdmU7YXNwZWN0LXJhdGlvOjE2Lzk7YmFja2dyb3VuZDojMDAwO292ZXJmbG93OmhpZGRlbn0KLyogTWVkaWEgbWVkaWFudGUgaWZyYW1lOiBhbHRvIGZpam8gZW4gcO14ZWxlcyBlbiB2ZXogZGUgbGEgcHJvcG9yY2nzbiBkZQogICBhcnJpYmEgKHZlciBjb21lbnRhcmlvIGRldGFsbGFkbyBqdW50byBhIHN0YXRlLmxlYWQuaWZyYW1lSGVpZ2h0KSAmIzgyMTI7IGVsCiAgIHZhbG9yIGRlIE3zdmlsIHNlIHNvYnJlc2NyaWJlIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLCBpZ3VhbCBxdWUgZWwKICAgcmVzdG8gZGUgb3ZlcnJpZGVzIHJlc3BvbnNpdmUgZGUgZXN0ZSBIVE1MIGV4cG9ydGFkby4gKi8KLmJsay14c3drciAubGVhZC1tZWRpYS5pcy1pZnJhbWV7YXNwZWN0LXJhdGlvOm5vbmU7YmxvY2stc2l6ZTo2NDBweDt9Ci5ibGsteHN3a3IgLmxlYWQtbWVkaWEgaW1nLAouYmxrLXhzd2tyIC5sZWFkLW1lZGlhIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn0KLyogQ2FycnVzZWwgZGUgZm90b3MgZGUgZm9uZG8gY29uIGVmZWN0byBLZW4gQnVybnMgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4KICAgTGEgZHVyYWNp824gZGUgbGFzIGFuaW1hY2lvbmVzICg2cykgY29pbmNpZGUgY29uCiAgIExFQURfQ0FST1VTRUxfSU5URVJWQUwsIHF1ZSB0YW1iaeluIGdvYmllcm5hIGVsIHNjcmlwdCBkZSByb3RhY2nzbgogICAoYnVpbGRMZWFkQ2Fyb3VzZWxTY3JpcHQpIGHxYWRpZG8gYWwgZmluYWwgZGVsIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXhzd2tyIC5sZWFkLWNhcm91c2Vse3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay14c3drciAubGVhZC1jYXJvdXNlbC1zbGlkZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgMS41cyBlYXNlO30KLmJsay14c3drciAubGVhZC1jYXJvdXNlbC1zbGlkZS5pcy1hY3RpdmV7b3BhY2l0eToxO3otaW5kZXg6MTt9Ci5ibGsteHN3a3IgLmxlYWQtY2Fyb3VzZWwtc2xpZGUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt9Ci5ibGsteHN3a3IgLmxlYWQtY2Fyb3VzZWwtc2xpZGU6bnRoLWNoaWxkKG9kZCkgaW1ne2FuaW1hdGlvbjpibGsteHN3a3Ita2VuYnVybnMtYSA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9Ci5ibGsteHN3a3IgLmxlYWQtY2Fyb3VzZWwtc2xpZGU6bnRoLWNoaWxkKGV2ZW4pIGltZ3thbmltYXRpb246YmxrLXhzd2tyLWtlbmJ1cm5zLWIgNnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7fQpAa2V5ZnJhbWVzIGJsay14c3drci1rZW5idXJucy1heyBmcm9te3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IHRve3RyYW5zZm9ybTpzY2FsZSgxLjE1KSB0cmFuc2xhdGUoLTQlLC0zJSk7fSB9CkBrZXlmcmFtZXMgYmxrLXhzd2tyLWtlbmJ1cm5zLWJ7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSg0JSwzJSk7fSB9Ci8qIENvbiB1bmEg+m5pY2EgZm90byAoc2luIHJvdGFjafNuIHBvc2libGUpIHNlIGFwbGljYSB1biB6b29tIGluL291dCBlbgogICBidWNsZSBpbmZpbml0byBlbiB2ZXogZGVsIHJlY29ycmlkbyD6bmljbyAoZm9yd2FyZHMpIGRlIGFycmliYS4gKi8KLmJsay14c3drciAubGVhZC1jYXJvdXNlbC5pcy1zaW5nbGUgLmxlYWQtY2Fyb3VzZWwtc2xpZGUgaW1ne2FuaW1hdGlvbjpibGsteHN3a3Ita2VuYnVybnMtbG9vcCAxNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7fQpAa2V5ZnJhbWVzIGJsay14c3drci1rZW5idXJucy1sb29weyAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSA1MCV7dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IDEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gfQovKiBDb21wYXJhZG9yIGFudGVzL2Rlc3B16XMgKGRlc2xpemFkb3IpICYjODIxMjsgdmVyIGVsIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuCiAgIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteHN3a3IgLmxlYWQtY29tcGFyZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO292ZXJmbG93OmhpZGRlbjtpc29sYXRpb246aXNvbGF0ZTt0b3VjaC1hY3Rpb246bm9uZTt6LWluZGV4OjI7fQouYmxrLXhzd2tyIC5sZWFkLWNvbXBhcmUgaW1ne3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb3ZlcjtvYmplY3QtcG9zaXRpb246Y2VudGVyO2Rpc3BsYXk6YmxvY2s7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXVzZXItZHJhZzpub25lO3BvaW50ZXItZXZlbnRzOm5vbmU7fQouYmxrLXhzd2tyIC5sZWFkLWNvbXBhcmUtYmVmb3Jle2NsaXAtcGF0aDppbnNldCgwIDUwJSAwIDApO3dpbGwtY2hhbmdlOmNsaXAtcGF0aDt9Ci5ibGsteHN3a3IgLmxlYWQtY29tcGFyZS1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO21hcmdpbjowO29wYWNpdHk6MDtjdXJzb3I6ZXctcmVzaXplO30KLmJsay14c3drciAubGVhZC1jb21wYXJlLWhhbmRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjUwJTtpbmxpbmUtc2l6ZTowO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoyO30KLmJsay14c3drciAubGVhZC1jb21wYXJlLWhhbmRsZTo6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO2lubGluZS1zaXplOjJweDtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO2JveC1zaGFkb3c6MCAwIDAgMXB4IHJnYmEoMCwwLDAsLjI1KTt9Ci5ibGsteHN3a3IgLmxlYWQtY29tcGFyZS1oYW5kbGU6OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0Oi0xNXB4O2lubGluZS1zaXplOjMwcHg7YmxvY2stc2l6ZTozMHB4O3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6I2ZmZiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PGcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNOCA2IEw0IDEwIEw4IDE0Jy8+PHBhdGggZD0nTTEyIDYgTDE2IDEwIEwxMiAxNCcvPjwvZz48L3N2Zz4iKSBjZW50ZXIvMTZweCAxNnB4IG5vLXJlcGVhdDtib3gtc2hhZG93OjAgMnB4IDZweCByZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yNSk7fQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWUgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTWlzbW8gei1pbmRleDoyIHF1ZQogICAubGVhZC1jb21wYXJlLCBwb3IgZWwgbWlzbW8gbW90aXZvIChnYW5hcmxlIGEgLmxlYWQtbGluaykuICovCi5ibGsteHN3a3IgLmxlYWQtaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3otaW5kZXg6Mjt9Ci5ibGsteHN3a3IgLmxlYWQtaWZyYW1lIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO2JvcmRlcjowO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXhzd2tyIC5sZWFkLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjE7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGsteHN3a3IgLmxlYWQtYm9keXtwYWRkaW5nOjBweCAyMHB4IDIwcHggMjBweDs7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGFsaWduLWl0ZW1zOmNlbnRlcjsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6NjsgcG9pbnRlci1ldmVudHM6bm9uZTsgaW5saW5lLXNpemU6OTUlOyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6YXV0bzsgbWFyZ2luLXRvcDotMzBweDsgYmFja2dyb3VuZDojMEUxMTFBOyBmbGV4OjEgMSBhdXRvO30KLyogQXBhcmllbmNpYSBuZWdhdGl2YSAocG9yIGRlZmVjdG8pIHZzLiBwb3NpdGl2YSBkZSBsYSBjYWphIGRlIHRpdHVsYXIgJiM4MjEyOyB2ZXIKICAgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay14c3drciAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLWJvZHl7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTt9Ci5ibGsteHN3a3IgLmxlYWQuaXMtYXBwZWFyYW5jZS1wb3NpdGl2ZSAubGVhZC10aXRsZSwKLmJsay14c3drciAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5hdXRob3ItbGFiZWx7Y29sb3I6IzBFMTExQTt9Ci8qIFBvc2ljafNuIGRlbCBsZWFkLWJvZHkgcmVzcGVjdG8gYWwgbGVhZC1tZWRpYSAoJ2xlZnQnLydyaWdodCcpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGsteHN3a3IgLmxlYWQubGVhZC1ib2R5LWxlZnQsCi5ibGsteHN3a3IgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOnJvdzthc3BlY3QtcmF0aW86Mi45NjI5NjI5NjI5NjI5NjM7fQouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1sZWZ0e2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO30KLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtbWVkaWF7ZmxleDowIDAgNjAlO30KLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5LAouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e2ZsZXg6MCAwIGNhbGMoNDAlICsgMzBweCk7aW5saW5lLXNpemU6YXV0bzttYXJnaW4tdG9wOjA7YmxvY2stc2l6ZTpjYWxjKDEwMCUgLSA2MHB4KTthbGlnbi1zZWxmOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO30KLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0Oi0zMHB4O30KLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXttYXJnaW4tbGVmdDotMzBweDttYXJnaW4tcmlnaHQ6MDt9Ci8qIFBvc2ljafNuICdib3R0b20tZnVsbCcgZGVsIGxlYWQtYm9keSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbgogICBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBpbmxpbmUtc2l6ZQogICBlbiB2ZXogZGUgd2lkdGggcG9yIGVsIG1pc21vIG1vdGl2byBxdWUgZWwgcmVzdG8gZGUgZXN0ZSBibG9xdWUgKGV2aXRhcgogICBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUwogICBkaXJlY3RhbWVudGUpLiAqLwouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1ib3R0b20tZnVsbCAubGVhZC1ib2R5ewogIGlubGluZS1zaXplOjEwMCU7CiAgbWFyZ2luOjA7CiAgcGFkZGluZy10b3A6MzBweDsKICBwYWRkaW5nLWJvdHRvbTozMHB4OwogIGJvcmRlcjpub25lOwp9Ci8qIEV0aXF1ZXRhIGRlIGV4Y2x1c2l2YSAobyB0ZXh0byBwZXJzb25hbGl6YWRvKSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhzd2tyIC5sZWFkLWV4Y2x1c2l2ZS10YWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3otaW5kZXg6MztkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2xldHRlci1zcGFjaW5nOjAuNXB4O3BhZGRpbmc6MnB4IDhweDtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOi44ZW07Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiNmZmY7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3BvaW50ZXItZXZlbnRzOm5vbmU7fQovKiBTZWxlY3RvciBjb24gMyBjbGFzZXMgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEKICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoIi5sZWFkLW1lZGlhIGltZyIgdGFtYmnpbgogICBtYXRjaGVhIGVzdGUgPGltZz4geSBsZSBnYW5hYmEgZW4gZXNwZWNpZmljaWRhZCkuICovCi5ibGsteHN3a3IgLmxlYWQtZXhjbHVzaXZlLXRhZyAubGVhZC1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGsteHN3a3IgLmxlYWQtY2F0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7cGFkZGluZzoycHggOHB4O3RyYW5zZm9ybTpza2V3WSgtNmRlZyk7bWFyZ2luLXRvcDotMTVweDttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXhzd2tyIC5sZWFkLWtpY2tlciwgLmJsay14c3drciAubGVhZC1zdWJ0aXRsZXsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7dGV4dC10cmFuc2Zvcm06bm9uZTttYXJnaW46MDsKfQouYmxrLXhzd2tyIC5sZWFkLWtpY2tlcntmb250LXdlaWdodDo3MDA7fQouYmxrLXhzd2tyIC5sZWFkLXN1YnRpdGxle2ZvbnQtd2VpZ2h0OjYwMDt9Ci8qIFRhbWHxby9pbnRlcmxpbmVhZG8vY29sb3IgZGUgYW50ZXTtdHVsbyB5IHN1YnTtdHVsbyBlbiBEZXNrICh2YWxvcmVzIHBvcgogICBkZWZlY3RvIGRlbCBibG9xdWU7IGVsIG92ZXJyaWRlIGRlIE3zdmlsIHZhIGVuIGVsIEBjb250YWluZXIgZGUgbeFzIGFiYWpvLAogICB5YSBxdWUgZWwgSFRNTCBleHBvcnRhZG8gZXMgcmVzcG9uc2l2ZSB5IG5vIGRlcGVuZGUgZGUgcXXpIHZpc3RhIHR1dmllcmFzCiAgIHNlbGVjY2lvbmFkYSBlbiBlbCBnZXN0b3IgYWwgZXhwb3J0YXIvY29waWFyKS4gKi8KLmJsay14c3drciAubGVhZC1raWNrZXJ7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I0ZBQjEyMTt9Ci5ibGsteHN3a3IgLmxlYWQtc3VidGl0bGV7Zm9udC1zaXplOjEuMzEyNXJlbTtsaW5lLWhlaWdodDoxLjE7Y29sb3I6I0ZBQjEyMTt9Ci8qIHRleHQtd3JhcDpiYWxhbmNlICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwKICAgZGVsIGdlc3RvciAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgZXNhIHJlZ2xhKTogcmVwYXJ0ZSBsYXMKICAgbO1uZWFzIGRlbCB0aXR1bGFyIGRlIGZvcm1hIG3hcyB1bmlmb3JtZSBkZW50cm8gZGUgY2FkYSBkaXNwb3NpdGl2bywgc2luCiAgIHByZXRlbmRlciBpZ3VhbGFyIGVsIG76bWVybyBkZSBs7W5lYXMgZW50cmUgcGxhdGFmb3JtYXMgZGlzdGludGFzLiAqLwouYmxrLXhzd2tyIC5sZWFkLXRpdGxle2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo5MDA7Zm9udC1zaXplOjIuMXJlbTtsaW5lLWhlaWdodDoxLjA1O21hcmdpbjowO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7dGV4dC13cmFwOmJhbGFuY2U7fQovKiBUaXR1bGFyIGNvbiBzYWx0b3MgZGUgbO1uZWEgaW5kZXBlbmRpZW50ZXMgcG9yIHZpc3RhICh2ZXIgYnVpbGRTY29wZWRIVE1MKToKICAgc2UgZ2VuZXJhbiBsb3MgZG9zIHRleHRvcyAoRGVzay9N83ZpbCkgeSBhcXXtIHNlIG11ZXN0cmEgc29sbyB1bm8gc2Vn+m4gZWwKICAgYW5jaG8gcmVhbCBkZWwgY29udGVuZWRvciAmIzgyMTI7IGVsIG1pc21vIG1lY2FuaXNtbyBkZSBAY29udGFpbmVyIHF1ZSB5YSB1c2EgZWwKICAgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvIHBhcmEgYWRhcHRhcnNlIHNpbiBkZXBlbmRlciBkZSBKUy4gKi8KLmJsay14c3drciAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLyogQW50ZXTtdHVsby9zdWJ07XR1bG8gY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGE6IG1pc21vCiAgIG1lY2FuaXNtbyBkZSBAY29udGFpbmVyIHF1ZSBlbCB0aXR1bGFyICh2ZXIgYXJyaWJhKS4gKi8KLmJsay14c3drciAubGVhZC1raWNrZXItbW9iaWxlLCAuYmxrLXhzd2tyIC5sZWFkLXN1YnRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBUaXR1bGFyIGRlIG5vdGljaWEgcmVsYWNpb25hZGEgKGNvbHVtbmEpIGNvbiB0ZXh0byBwcm9waW8gZW4gTfN2aWwgKHZlcgogICBpdGVtLnRpdGxlTW9iaWxlIGVuIGJ1aWxkQ29sdW1uSXRlbVRpdGxlSFRNTCk6IG1pc21vIG1lY2FuaXNtbyBkZQogICBAY29udGFpbmVyIHF1ZSBlbCB0aXR1bGFyIHByaW5jaXBhbCBkZSBhcnJpYmEuICovCi5ibGsteHN3a3IgLnJlbGF0ZWQtdGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci5ibGsteHN3a3IgLmF1dGhvci1sYWJlbHtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Y29sb3I6I2ZmZjtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RleHQtYWxpZ246cmlnaHQ7ZGlzcGxheTpibG9ja30KLmJsay14c3drciAuY29sdW1ue2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO30KLmJsay14c3drciAuY29sdW1uLWl0ZW17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3JkZXI6MXB4IHNvbGlkICNlN2ViZWU7cGFkZGluZzoxMHB4O2JhY2tncm91bmQ6I2ZmZjtibG9jay1zaXplOnN0cmV0Y2g7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay14c3drciAudGh1bWJ7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86NC8zO2JhY2tncm91bmQ6I2VlZTtvdmVyZmxvdzpoaWRkZW59Ci5ibGsteHN3a3IgLnRodW1iIGltZywKLmJsay14c3drciAudGh1bWIgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQouYmxrLXhzd2tyIC50aHVtYiAucGxheS1zcXVhcmUsCi5ibGsteHN3a3IgLm1lZGlhLWJsb2NrLXdyYXAgLnBsYXktc3F1YXJlewogIHBvc2l0aW9uOmFic29sdXRlOyBib3R0b206NXB4OyBsZWZ0OjVweDsKICBpbmxpbmUtc2l6ZToyNXB4O2Jsb2NrLXNpemU6MjVweDtib3JkZXItcmFkaXVzOjJweDtkaXNwbGF5OmlubGluZS1ncmlkO3BsYWNlLWl0ZW1zOmNlbnRlcjsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC42KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xOCk7CiAgY3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4xNXMsIHRyYW5zZm9ybSAuMTJzOwogIHotaW5kZXg6MjsgYW5pbWF0aW9uOmJsay14c3drci1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXhzd2tyIC50aHVtYiAucGxheS1zcXVhcmU6OmJlZm9yZSwKLmJsay14c3drciAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo1cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo1cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWxlZnQ6MnB4Owp9Ci5ibGsteHN3a3IgLnRodW1iIC5wbGF5LXNxdWFyZTpob3ZlciwKLmJsay14c3drciAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmU6aG92ZXJ7IGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjg1KTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFweCk7IH0KLmJsay14c3drciAuc3RhY2stdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MTdweDtsaW5lLWhlaWdodDoxLjE1ZW07bWFyZ2luOjA7Y29sb3I6IzJjM2U1Mzt9Ci5ibGsteHN3a3IgLnN0YWNrLWF1dGhvcntmb250LWZhbWlseToiYW1wbGl0dWRlLWJvb2siLHNhbnMtc2VyaWY7Y29sb3I6IzgyODU5NTtmb250LXdlaWdodDoyMDA7Zm9udC1zaXplOi44cmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6MTFweDtsZXR0ZXItc3BhY2luZzowO3RleHQtYWxpZ246cmlnaHQ7fQovKiBTaW4gZXN0YSByZWdsYSBlbCBhdXRvciBxdWVkYSBwZWdhZG8ganVzdG8gZGViYWpvIGRlbCB0aXR1bGFyIGVuIHZleiBkZQogICBhYmFqbyBkZSBsYSB0YXJqZXRhOiAubW9kLXN0YWNrIG5lY2VzaXRhIHNlciBmbGV4LWNvbHVtbiBjb24KICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4gcGFyYSBxdWUgZWwgaHVlY28gc29icmFudGUgKGN1YW5kbyBsYQogICB0YXJqZXRhIGNyZWNlIG3hcyBxdWUgc3UgY29udGVuaWRvLCB2ZXIgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKQogICBt4XMgYWJham8pIGVtcHVqZSBlbCBhdXRvciBoYWNpYSBlbCBib3JkZSBpbmZlcmlvci4gKi8KLmJsay14c3drciAubW9kLXN0YWNre2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleDoxIDEgYXV0bzt9Ci8qIEVzdGlsbyAiZm90byBwZXF1ZfFhICsgdGl0dWxhciI6IGZvdG8gNDozIGEgbGEgaXpxdWllcmRhLCB0ZXh0byBhIGxhIGRlcmVjaGEuICovCi5ibGsteHN3a3IgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by1sZWZ0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MTEwcHggMWZyO2dhcDoxMHB4O30KLyogRXN0aWxvICJzb2xvIHRleHRvIiAocG9yIGRlZmVjdG8pOiBlbCBhdXRvciBzZSBwb3NpY2lvbmEgZW4gYWJzb2x1dG8sCiAgIGFuY2xhZG8gYSBsYSBlc3F1aW5hIGluZmVyaW9yIGRlcmVjaGEgZGUgbGEgdGFyamV0YSAoaWd1YWwgcXVlIGVsIHBsYXkgZGUKICAgbGFzIG1pbmlhdHVyYXMpLCBlbiB2ZXogZGUgZGVwZW5kZXIgZGUgcXVlIGVsIGJsb3F1ZSBkZSB0ZXh0byB0ZW5nYSBodWVjbwogICBkZSBzb2JyYSBwYXJhIGVtcHVqYXJsbyBhYmFqbyBjb24gZmxleGJveCAmIzgyMTI7IGNvbiB07XR1bG9zIGRlIDItMyBs7W5lYXMgZXNlCiAgIGh1ZWNvIG5vIGV4aXN0ZSB5IGVsIGF1dG9yIG51bmNhIGxsZWdhYmEgYSBiYWphci4gcGFkZGluZy1ib3R0b20gZW4KICAgbGVmdC1ib2R5IHJlc2VydmEgZWwgZXNwYWNpbyBwYXJhIHF1ZSBlbCB07XR1bG8gbm8gc2Ugc29sYXBlIGNvbiDpbC4gKi8KLmJsay14c3drciAuY29sdW1uLWl0ZW0ubGF5b3V0LXRpdGxlLW9ubHkgLmxlZnQtYm9keXtwYWRkaW5nLWJvdHRvbTozM3B4O30KLmJsay14c3drciAuY29sdW1uLWl0ZW0ubGF5b3V0LXRpdGxlLW9ubHkgLnN0YWNrLWF1dGhvcntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxMHB4O2JvdHRvbToxMHB4O21hcmdpbi10b3A6MDt9Ci5ibGsteHN3a3IgLmxlZnQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDtmb250LXNpemU6MjFweDtsaW5lLWhlaWdodDoxLjE1O2NvbG9yOiMyYzNlNTM7bWFyZ2luOjA7dGV4dC1hbGlnbjpsZWZ0O30KLmJsay14c3drciAubGVmdC1wbGF5ewogIGZsZXg6MCAwIGF1dG87aW5saW5lLXNpemU6MTVweDtibG9jay1zaXplOjE1cHg7Ym9yZGVyLXJhZGl1czoycHg7CiAgYmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzAwYTdmZjsKICBkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MDsKICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOiA0cHg7Cn0KLmJsay14c3drciAubGVmdC1wbGF5OjpiZWZvcmV7CiAgY29udGVudDoiIjtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjRweCBzb2xpZCAjMDBhN2ZmO2JvcmRlci10b3A6M3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206M3B4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjFweDsKfQouYmxrLXhzd2tyIC5yZWxhdGVkLWxpdmUtdGFnewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAwIGF1dG87CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MC44O2xldHRlci1zcGFjaW5nOi4zcHg7Y29sb3I6I0ZGNTA1MDsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0ZGNTA1MDsKICBwYWRkaW5nOjNweCA0cHggMnB4IDRweDttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KLmJsay14c3drciAucmVsYXRlZC1lZGl0b3JpYWwtdGFnewogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MCAwIGF1dG87CiAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6LjdyZW07bGluZS1oZWlnaHQ6MC44O2xldHRlci1zcGFjaW5nOi4zcHg7Y29sb3I6I0ZBQjEyMTsKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgI0ZBQjEyMTsKICBwYWRkaW5nOjNweCA0cHggMnB4IDRweDttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206NHB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0KLmJsay14c3drciAucGxheS1idXR0b257CiAgLyogQW5jaG8vYWx0byBmaWpvcyBlbiB2ZXogZGUgYXNwZWN0LXJhdGlvOjEvMSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEgKGVsCiAgICAgY+FsY3VsbyBkZSAic2hyaW5rLXRvLWZpdCIgcGFyYSB1biA8YnV0dG9uPiBlbiBhYnNvbHV0byBzaW4gdGFtYfFvCiAgICAgZXhwbO1jaXRvIG5vIGVzIGZpYWJsZSBlbnRyZSBtb3RvcmVzOyBlbiBXZWJLaXQvaU9TIGRhYmEgdW4gcmVjdOFuZ3VsbwogICAgIHZlcnRpY2FsIGVzdHJlY2jtc2ltbyBlbiB2ZXogZGUgdW4gY3VhZHJhZG8pLiAqLwogIGFwcGVhcmFuY2U6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTsKICBwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7CiAgaW5saW5lLXNpemU6MzRweDtibG9jay1zaXplOjM0cHg7CiAgZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6MTBweCAxMHB4IDEwcHggMTJweDsKICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjcpOwogIGJvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNDIpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7CiAgY3Vyc29yOnBvaW50ZXI7ei1pbmRleDoyO2FuaW1hdGlvbjpibGsteHN3a3ItYmxpbmsgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7Cn0KLmJsay14c3drciAucGxheS1idXR0b24gLnBsYXktaWNvbnsKICBpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDoxMHB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo2cHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLmJsay14c3drciAucGxheS1idXR0b24gLnBsYXktdGV4dHtkaXNwbGF5Om5vbmU7fQovKiBFbiBlbCBtb2RvICdsZWZ0JyBlbCBQbGF5IHBhc2EgYSBsYSBlc3F1aW5hIHN1cGVyaW9yIGRlcmVjaGEgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktbGVmdCAucGxheS1idXR0b257bGVmdDphdXRvO3JpZ2h0OjEwcHg7fQoKLyogVGl0dWxhcmVzIGFuaW1hZG9zIChjYXBhIGFsdGVybmF0aXZhIHNvYnJlIGxlYWQtbWVkaWEpICYjODIxMjsgdmVyIG1pc21vCiAgIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEKICAgaGVycmFtaWVudGEuIENhZGEgdGl0dWxhciB0aWVuZSBzdSBwcm9waWEgcG9zaWNp824gKGNsYXNlIHBvcy0qLCB2ZXIKICAgYnVpbGRTY29wZWRIVE1MKSB5IHNlIHJldmVsYSBs7W5lYSBwb3IgbO1uZWEgKHVuYSB2ZXogbWVkaWRhcyBzdXMgbO1uZWFzCiAgIHJlYWxlcyBwb3IgZWwgc2NyaXB0IHN0YW5kYWxvbmUsIHZlciBidWlsZEFuaW1IZWFkbGluZXNTY3JpcHQpIGNvbiB1bmEKICAgY2FqYSBkZSBmb25kbyBkZXRy4XMgZGUgY2FkYSBs7W5lYSB5IHVuIGZhZGUgZGUgb3BhY2lkYWQgZW50cmUgdGl0dWxhcmVzLiAqLwouYmxrLXhzd2tyIC5sZWFkLWFuaW0taGVhZGxpbmVzewogIHBvc2l0aW9uOmFic29sdXRlOwogIGluc2V0OjA7CiAgei1pbmRleDo0OwogIHBvaW50ZXItZXZlbnRzOm5vbmU7Cn0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lewogIHBvc2l0aW9uOmFic29sdXRlOwogIGxlZnQ6MTVweDsKICBvcGFjaXR5OjA7Cn0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tbGVmdHsgYm90dG9tOjYwcHg7IH0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtbGVmdHsgdG9wOjYwcHg7IH0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtbGVmdHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGsteHN3a3IgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0LAouYmxrLXhzd2tyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgbGVmdDphdXRvOyByaWdodDoxNXB4OyB9Ci5ibGsteHN3a3IgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0eyB0b3A6NjBweDsgfQouYmxrLXhzd2tyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodHsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IH0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHR7IGJvdHRvbTo2MHB4OyB9Ci8qIENvbiBlbCB0ZXh0byAobGVhZC1ib2R5KSBhIGxhIGl6cXVpZXJkYSBvIGxhIGRlcmVjaGEsIGVzZSBibG9xdWUgc29sYXBhCiAgIDMwcHggZGVsIGxhZG8gZGUgbGEgZm90by927WRlbyBwZWdhZG8gYSDpbCAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbwogICBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0LAouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0LAouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBsZWZ0OjQwcHg7IH0KLmJsay14c3drciAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLXJpZ2h0LAouYmxrLXhzd2tyIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGsteHN3a3IgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgcmlnaHQ6NDBweDsgfQouYmxrLXhzd2tyIC5sZWFkLWFuaW0taGVhZGxpbmUuaXMtYWN0aXZleyBvcGFjaXR5OjE7IH0KLmJsay14c3drciAubGVhZC1hbmltLWxpbmV7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTp0YWJsZTsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgZm9udC13ZWlnaHQ6OTAwOwogIGNvbG9yOiNmZmY7CiAgcGFkZGluZzoycHggOHB4OwogIGNsaXAtcGF0aDppbnNldCgwIDEwMCUgMCAwKTsKICBvcGFjaXR5OjE7CiAgdHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMgZWFzZTsKfQouYmxrLXhzd2tyIC5sZWFkLWFuaW0tbGluZS5pcy1oaWRpbmd7IG9wYWNpdHk6MDsgfQovKiBTb2xhcGUgZGUgMXB4IGVudGVyYSBlbnRyZSBs7W5lYXMgcGFyYSBjZXJyYXIgZWwgaGlsbyBkZSBzdWItcO14ZWwgcXVlCiAgIHB1ZWRlIHF1ZWRhciBlbnRyZSBzdXMgY2FqYXMgZGUgZm9uZG8gKHJlZG9uZGVvIGRlIGFsdHVyYXMgZnJhY2Npb25hcmlhcykgJiM4MjEyOwogICB2ZXIgbWlzbW8gY29tZW50YXJpbywgZGV0YWxsYWRvLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXhzd2tyIC5sZWFkLWFuaW0tbGluZSArIC5sZWFkLWFuaW0tbGluZXsKICBtYXJnaW4tdG9wOi0xcHg7Cn0KLmJsay14c3drciAubGVhZC1hbmltLWxpbmU6Zmlyc3QtY2hpbGR7IHBhZGRpbmctdG9wOjZweDsgfQouYmxrLXhzd2tyIC5sZWFkLWFuaW0tbGluZTpsYXN0LWNoaWxkeyBwYWRkaW5nLWJvdHRvbTo2cHg7IH0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQgLmxlYWQtYW5pbS1saW5lLAouYmxrLXhzd2tyIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGsteHN3a3IgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0IC5sZWFkLWFuaW0tbGluZXsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OjA7IH0KLmJsay14c3drciAubGVhZC1hbmltLWhlYWRsaW5lcy5pcy1wb3NpdGl2ZSAubGVhZC1hbmltLWxpbmV7IGNvbG9yOiMwRTExMUE7IH0KLmJsay14c3drciAubGVhZC1hbmltLWxpbmUtYmd7IHBvc2l0aW9uOmFic29sdXRlOyBpbnNldDowOyB6LWluZGV4Oi0xOyB9Ci5ibGsteHN3a3IgLmxlYWQtYW5pbS1saW5lLXRleHR7IHBvc2l0aW9uOnJlbGF0aXZlOyB9CkBrZXlmcmFtZXMgYmxrLXhzd2tyLWFuaW0tbGluZS1yZXZlYWx7IHRveyBjbGlwLXBhdGg6aW5zZXQoMCAwIDAgMCk7IH0gfQoKLyogQW5jaG9yIG92ZXJsYXkgZm9yIGZ1bGwgY2xpY2thYmxlIGxlYWQgKi8KLmJsay14c3drciAubGVhZC1saW5re3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDoxfQoKLyogSG92ZXIgb3BhY2l0eSBhbmltYXRpb24gKi8KLmJsay14c3drciAubGVhZDpob3ZlciAubGVhZC10aXRsZSwKLmJsay14c3drciAuY29sdW1uLWl0ZW06aG92ZXJ7b3BhY2l0eTouOH0KLyogRm90byBwcmluY2lwYWwgKGZhbGxiYWNrL3NpbmdsZSkgbyBjYXJydXNlbCBkZSBmb3Rvczogb3BhY2lkYWQgMC45IGFsCiAgIHBhc2FyIGVsIHJhdPNuIHBvciBsYSB0YXJqZXRhICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuCiAgIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIE5vIGFwbGljYSBhIHbtZGVvIG5pIGFsCiAgIGNvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcy4gKi8KLmJsay14c3drciAubGVhZC1tZWRpYSA+IGltZywKLmJsay14c3drciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9Ci5ibGsteHN3a3IgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCi5ibGsteHN3a3IgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiAubGVhZC1jYXJvdXNlbHtvcGFjaXR5Oi45O30KLyogRW4gZWwgYW5jaG8gbfN2aWwgKG1pc21vIEBjb250YWluZXIgcXVlIGVsIHJlc3RvIGRlbCBIVE1MIGV4cG9ydGFkbykgbm8KICAgYXBsaWNhIGVzdGEgYW5pbWFjafNuIGRlIG9wYWNpZGFkIHNvYnJlIGxhIG5vdGljaWEgcHJpbmNpcGFsOiB2YSBERVNQVclTCiAgIGRlIGxhIHJlZ2xhIGdlbmVyYWwgZGUgYXJyaWJhIChtaXNtYSBlc3BlY2lmaWNpZGFkKSBwYXJhIHBvZGVyIGdhbmFybGUuCiAgIE9taXRpZG8sIGlndWFsIHF1ZSBlbCBibG9xdWUgZGUgdGlwb2dyYWbtYSBkZSBhcnJpYmEsIG1pZW50cmFzIGxhCiAgIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06SBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsKICAuYmxrLXhzd2tyIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAogIC5ibGsteHN3a3IgLmxlYWQ6aG92ZXIgLmxlYWQtbWVkaWEgPiBpbWcsCiAgLmJsay14c3drciAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6MTt9Cn0KCi8qIEFuaW1hY2nzbiBjb21wYXJ0aWRhIHBsYXkgcHJpbmNpcGFsICsgY3VhZHJhZG9zIHBsYXkgYXBpbGFkYXMgKi8KQGtleWZyYW1lcyBibGsteHN3a3ItYmxpbmt7CiAgMCUsMTAwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC43KX0KICA1MCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTY1LDI1NSwwLjkpfQp9Ci8qIENhYmVjZXJhICovCi5ibGsteHN3a3IgLmJnLXNlY3Rpb24tdGl0bGV7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MTBweCAwIDMycHh9Ci5ibGsteHN3a3IgLmZuZC1saW5lYXtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMThweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9Ci5ibGsteHN3a3IgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzBFMTExQTt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyk7Zm9udC1zaXplOjQycHg7Y29sb3I6IzBFMTExQTt9CkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo4NjBweCl7LmJsay14c3drciAuc2VjdGlvbi10aXRsZXtmb250LXNpemU6MjdweDtwYWRkaW5nOjAgMTBweH19Ci8qIENhYmVjZXJhICYjODIxMjsgRGlzZfFvIDIgKHRpdHVsYXIgKyBjYXJydXNlbCBkZSBsb2dvdGlwb3MpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwKICAgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteHN3a3IgLmhlYWRlcjJ7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtnYXA6MjBweDtwYWRkaW5nLWJvdHRvbTo1cHg7bWFyZ2luLWJvdHRvbToxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMwRTExMUE7fQovKiBhbGlnbi1zZWxmOmZsZXgtZW5kIGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgMTVweCBkZSBsYSBs7W5lYSBzZXBhcmFkb3JhCiAgIGVuIERlc2sgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zCiAgIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay14c3drciAuaGVhZGVyMi1sZWZ0e2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7ZmxleDoxIDEgNTAlO21pbi1pbmxpbmUtc2l6ZTowO2FsaWduLXNlbGY6ZmxleC1lbmQ7fQouYmxrLXhzd2tyIC5oZWFkZXIyLXRhZ3N7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZsZXg6MCAwIGF1dG87fQovKiBNaXNtbyB0YW1h8W8vdGlwb2dyYWbtYSBxdWUgLmxlYWQtZXhjbHVzaXZlLXRhZyAobGEgZGUgbGEgbm90aWNpYQogICBwcmluY2lwYWwpICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUKICAgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGsteHN3a3IgLmhlYWRlcjItY2F0LXRhZywKLmJsay14c3drciAuaGVhZGVyMi1leGNsdXNpdmUtdGFne2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MnB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi44ZW07bGV0dGVyLXNwYWNpbmc6LjVweDtwYWRkaW5nOjJweCA4cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3doaXRlLXNwYWNlOm5vd3JhcDtjb2xvcjojZmZmO30KLmJsay14c3drciAuaGVhZGVyMi1leGNsdXNpdmUtdGFnLWljb257cG9zaXRpb246c3RhdGljO2luc2V0OmF1dG87aW5saW5lLXNpemU6MTRweDtibG9jay1zaXplOjE0cHg7b2JqZWN0LWZpdDpjb250YWluO2ZsZXg6MCAwIGF1dG87ZGlzcGxheTpibG9jazt9Ci5ibGsteHN3a3IgLmhlYWRlcjItdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6MzZweDtsaW5lLWhlaWdodDoxLjA1O2NvbG9yOiMwRTExMUE7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO21pbi1pbmxpbmUtc2l6ZTowO292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt9Ci8qIFNlcGFyYWNp824gZGUgMTBweCBlbnRyZSBlbCB0ZXh0byBkZSBwYXRyb2NpbmlvIHkgZWwgbG9nbyBlbiBEZXNrICYjODIxMjsgZW4KICAgTfN2aWwgc2lndWUgc2luIHNlcGFyYWNp824gKGdhcDowLCB2ZXIgQGNvbnRhaW5lciBt4XMgYWJham8pLiAqLwouYmxrLXhzd2tyIC5oZWFkZXIyLWxvZ29zLXdyYXB7ZmxleDowIDAgYXV0bzttYXgtaW5saW5lLXNpemU6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO30KLyogRXRpcXVldGEgb3BjaW9uYWwganVudG8gYWwgY2FycnVzZWwgZGUgbG9nb3MgKHAuZWouICJQYXRyb2NpbmFkbyBwb3I6IikgJiM4MjEyOwogICB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay14c3drciAuaGVhZGVyMi1sb2dvcy1sYWJlbHtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo0MDA7Y29sb3I6IzY2Nzt3aGl0ZS1zcGFjZTpub3dyYXA7fQouYmxrLXhzd2tyIC5oZWFkZXIyLWxvZ29ze3Bvc2l0aW9uOnJlbGF0aXZlO2lubGluZS1zaXplOjE2MHB4O2Jsb2NrLXNpemU6NTBweDtmbGV4LXNocmluazowO30KLmJsay14c3drciAuaGVhZGVyMi1sb2dvcyBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDttYXJnaW46YXV0bzttYXgtaW5saW5lLXNpemU6MTAwJTttYXgtYmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y29udGFpbjtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC43cyBlYXNlLWluLW91dDt9Ci5ibGsteHN3a3IgLmhlYWRlcjItbG9nb3MgaW1nLmlzLWFjdGl2ZXtvcGFjaXR5OjE7fQovKiBJZ3VhbCBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbDogcG9yIGRlYmFqbyBkZSBlc3RlIGFuY2hvIHNlCiAgIGludGVudGEgcHJpbWVybyAxIFNPTEEgRklMQSAoZXRpcXVldGFzK3RpdHVsYXIganVudG8gYWwgbG9nbywgaWd1YWwgcXVlCiAgIGVuIERlc2ssIGEgdGFtYfFvIHJlZHVjaWRvKS4gRWwgYmxvcXVlIGRlIGxvZ29zIG1hbnRpZW5lIFNJRU1QUkUgc3UKICAgZGlzcG9zaWNp824gZW4gY29sdW1uYSAoZXRpcXVldGEgZGUgcGF0cm9jaW5pbyBlbmNpbWEgZGVsIGxvZ28sCiAgIGFsaW5lYWRvcyBhIGxhIGRlcmVjaGEsIHNpbiBzZXBhcmFjafNuKSB0YW50byBlbiBlc3RhIGZpbGEg+m5pY2EgY29tbyBlbgogICBlbCByZXNndWFyZG8gZGUgYWJham8uIFNpIGVsIHRpdHVsYXIsIHN1bWFkbyBhbCBhbmNobyBkZSBsYXMgZXRpcXVldGFzCiAgIGFjdGl2YXMgKGNhdGVnb3LtYSB5L28gZXhjbHVzaXZhLCBzaSBsYXMgaGF5KSwgc3VwZXJhIGVsIDU1JSBkZWwgYW5jaG8KICAgdG90YWwgZGUgbGEgY2FiZWNlcmEgKGNhZGEgdW5vIG1lZGlkbyBhIHVuYSBzb2xhIGztbmVhKSwgZWwgc2NyaXB0CiAgIHN0YW5kYWxvbmUgYfFhZGlkbyBhbCBmaW5hbCBkZSBlc3RlIEhUTUwgKHZlcgogICBidWlsZEhlYWRlcjJTdGFja2luZ1NjcmlwdCgpKSBsbyBkZXRlY3RhIG1pZGllbmRvIHN1IGFuY2hvIG5hdHVyYWwKICAgeSBh8WFkZSBsYSBjbGFzZSAiaGVhZGVyMi1zdGFja2VkIjogZWwgYmxvcXVlIGRlCiAgIGxvZ29zIHN1YmUgZW50b25jZXMgYSBzdSBwcm9waWEgZmlsYSAoYWxpbmVhZG8gYSBsYSBkZXJlY2hhKSB5CiAgIHRpdHVsYXIrZXRpcXVldGFzIGJhamFuIGEgbGEgZmlsYSBkZSBhYmFqbywgYSBhbmNobyBjb21wbGV0byAmIzgyMTI7IG1pc21vCiAgIGxheW91dCBkZSAyIGZpbGFzIHF1ZSBoYWLtYSBhbnRlcyBzaWVtcHJlIHBvciBkZWJham8gZGUgZXN0ZSBicmVha3BvaW50LAogICBhaG9yYSBzb2xvIGNvbW8gcmVzZ3VhcmRvLiBEZW50cm8gZGUgZXNlIHJlc2d1YXJkbywgY29uIGV0aXF1ZXRhKHMpIGVsCiAgIHRpdHVsYXIgcGFzYSBhZGVt4XMgYSBzdSBQUk9QSUEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvLCBkZWJham8gZGUgbGEgZmlsYSBkZSBldGlxdWV0YXMgKHZlcgogICAiLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sZWZ0IiBt4XMgYWJham8pLiBFbCBsb2dvIHNlIHJlZHVjZSB1biAyMCUKICAgKDE2MHg1MCAmIzg1OTQ7IDEyOHg0MCkuCiAgIGFsaWduLXNlbGY6ZmxleC1lbmQgZW4gaGVhZGVyMi1sZWZ0IGZpamEgZWwgdGl0dWxhciBTSUVNUFJFIGEgbG9zIDEwcHgKICAgZGVsIHBhZGRpbmctYm90dG9tIHJlc3BlY3RvIGEgbGEgbO1uZWEgc2VwYXJhZG9yYSAmIzgyMTI7IG1pc21vIGNyaXRlcmlvIHF1ZQogICBlbiBEZXNrICh2ZXIgaGVhZGVyMi1sZWZ0IG3hcyBhcnJpYmEpOiBzaW4gZXN0bywgYWwgc2VyIGVsIGJsb3F1ZSBkZQogICBsb2dvcyBt4XMgYWx0byBxdWUgZWwgdGl0dWxhciwgZWwgY2VudHJhZG8gdmVydGljYWwgZGVsIHJvdyBkZWphYmEgdW4KICAgaHVlY28gbWF5b3IgZW50cmUgZWwgdGl0dWxhciB5IGxhIGztbmVhLiBFbCBibG9xdWUgZGUgbG9nb3Mgc2lndWUKICAgY2VudHJhZG8gKHNpbiBlc2Ugb3ZlcnJpZGUpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGsteHN3a3IgLmhlYWRlcjJ7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjEwcHg7cGFkZGluZy1ib3R0b206MTBweDt9CiAgLmJsay14c3drciAuaGVhZGVyMi1sZWZ0e29yZGVyOjE7YWxpZ24tc2VsZjpmbGV4LWVuZDt9CiAgLmJsay14c3drciAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjI7YWxpZ24tc2VsZjpjZW50ZXI7bWF4LWlubGluZS1zaXplOm5vbmU7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAuYmxrLXhzd2tyIC5oZWFkZXIyLWxvZ29ze2lubGluZS1zaXplOjEyOHB4O2Jsb2NrLXNpemU6NDBweDt9CiAgLmJsay14c3drciAuaGVhZGVyMi10aXRsZXtmb250LXNpemU6MjdweDt9CiAgLmJsay14c3drciAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWR7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7fQogIC5ibGsteHN3a3IgLmhlYWRlcjIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnR7b3JkZXI6MjthbGlnbi1zZWxmOmZsZXgtc3RhcnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOnN0cmV0Y2g7Z2FwOjVweDt9CiAgLmJsay14c3drciAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbG9nb3Mtd3JhcHtvcmRlcjoxO21heC1pbmxpbmUtc2l6ZToxMDAlO2FsaWduLXNlbGY6ZmxleC1lbmQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmZsZXgtZW5kO2dhcDowO30KICAvKiBSZXNndWFyZG8gaW50ZXJtZWRpbyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGE6IHNvbG8gZWwgdGl0dWxhciBiYWphIGEgc3UKICAgICBwcm9waWEgZmlsYSBhIGFuY2hvIGNvbXBsZXRvIGN1YW5kbyBsYXMgZXRpcXVldGFzIFPNIGNhYmVuIGp1bnRvIGFsCiAgICAgbG9nbyBwZXJvIGVsIHRpdHVsYXIgbm8uIGhlYWRlcjItbGVmdCBwYXNhIGRlIGZpbGEgYSBjb2x1bW5hCiAgICAgKGV0aXF1ZXRhcyBhcnJpYmEsIHRpdHVsYXIgZGViYWpvKSB5IHJlY3VwZXJhIGFsaWduLXNlbGY6YXV0byBwYXJhCiAgICAgY2VudHJhcnNlIHZlcnRpY2FsbWVudGUgY29udHJhIGVsIGxvZ28gKGFsaWduLXNlbGY6Y2VudGVyIGRlIGxhIHJlZ2xhCiAgICAgYmFzZSBkZSAuaGVhZGVyMi1sb2dvcy13cmFwLCBhcnJpYmEpLCBpZ3VhbCBxdWUgZW4gZWwgcmVzdG8gZGUgZXN0YWRvcy4gKi8KICAuYmxrLXhzd2tyIC5oZWFkZXIyLmhlYWRlcjItdGl0bGUtYmVsb3cgLmhlYWRlcjItbGVmdHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDthbGlnbi1zZWxmOmF1dG87Z2FwOjVweDt9Cn0KCi8qIEVzdGlsbyAiZm90byBncmFuZGUgKyB0aXR1bGFyIjogZm90byAxNjo5IGFycmliYSwgdGl0dWxhciBkZWJham8gJiM4MjEyOyBlbGVnaWJsZQogICBwb3Igbm90aWNpYSBkZXNkZSBlbCBnZXN0b3IuIE5vIHNlIHJlc3RyaW5nZSBjb24gQGNvbnRhaW5lciBwb3JxdWUKICAgLmNvbHVtbi1pdGVtIHlhIGVzIGJsb2NrIHBvciBkZWZlY3RvIChlbCB0aHVtYiB5IGVsIHRleHRvIHNlIGFwaWxhbiBzb2xvcwogICBzaW4gbeFzIGFqdXN0ZSksIGFz7SBxdWUgZWwgZGlzZfFvIGZ1bmNpb25hIGlndWFsIGRlIGJpZW4gZW4gY3VhbHF1aWVyCiAgIGFuY2hvLCBEZXNrIG8gTfN2aWwuICovCi5ibGsteHN3a3IgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3B7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjt9Ci5ibGsteHN3a3IgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLnRodW1ie2lubGluZS1zaXplOjEwMCU7YXNwZWN0LXJhdGlvOjE2Lzk7bWFyZ2luLWJvdHRvbToxMHB4O30KLmJsay14c3drciAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAubGVmdC10aXRsZXtmb250LWZhbWlseToiYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQiLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEuMnJlbTtsaW5lLWhlaWdodDoxLjJlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC13ZWlnaHQ6OTAwO30KLyogRW4gTfN2aWwgZWwgdGl0dWxhciBkZSBlc3RlIGRpc2XxbyBzZSBtdWVzdHJhIG3hcyBncmFuZGUgKDEuNXJlbSBlbiB2ZXogZGUKICAgbG9zIDEuMnJlbSBkZSBEZXNrKSAmIzgyMTI7IG1pc21hIGVzcGVjaWZpY2lkYWQgKDMgY2xhc2VzKSBxdWUgbGEgcmVnbGEgZGUKICAgYXJyaWJhOyBhbCBpciBERVNQVclTIGVuIGVsIENTUyBnYW5hIHBvciBvcmRlbiBkZSBjYXNjYWRhLiBTZSB1c2EgZWwKICAgYnJlYWtwb2ludCBkZSA0ODBweCAoZWwgZGUgdGlwb2dyYWbtYSBlbiBlc3RhIGFwcCwgbm8gZWwgZGUgODYwcHggcXVlIGFxde0KICAgc29sbyBnb2JpZXJuYSBlbCBhcGlsYWRvIGRlIGNvbHVtbmFzKSBwYXJhIHF1ZSBjb2luY2lkYSBjb24gZWwgcmVzdG8gZGUKICAgY2FtYmlvcyBkZSB0ZXh0by90YW1h8W8gcG9yIHZpc3RhLiBObyBhZmVjdGEgYWwgcmVzZ3VhcmRvIGRlIDIgY29sdW1uYXMgZW4KICAgbfN2aWwgKG1vYi1ncmlkKSwgbeFzIGVzcGVj7WZpY28gKDE4cHgsIHZlciBt4XMgYXJyaWJhKS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLXhzd2tyIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToxLjVyZW07fQp9Ci8qIEVzdGlsbyAiQmxvcXVlIG1lZGlhIiAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXhzd2tyIC5tZWRpYS1ibG9jay1tZWRpYXtkaXNwbGF5OmJsb2NrO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTphdXRvO30KLmJsay14c3drciAubWVkaWEtYmxvY2std3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO30KLmJsay14c3drciAubWVkaWEtYmxvY2staWZyYW1lLXdyYXB7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVuO30KLmJsay14c3drciAubWVkaWEtYmxvY2staWZyYW1lLXdyYXAgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGsteHN3a3IgLmNvbHVtbi1pdGVtLmxheW91dC1tZWRpYS1ibG9ja3tib3JkZXI6bm9uZTtwYWRkaW5nOjA7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtibG9jay1zaXplOmF1dG87ZmxleDowIDAgYXV0bzt9Ci5ibGsteHN3a3IgLmNvbHVtbi1pdGVtOm5vdCgubGF5b3V0LW1lZGlhLWJsb2NrKXtmbGV4OjEgMSBhdXRvO30KPC9zdHlsZT4KCjxkaXYgY2xhc3M9ImJsay14c3drciI+CiAgCiAgPG1haW4gY2xhc3M9InBhZ2UiPgogICAgCiAgICA8YXJ0aWNsZSBjbGFzcz0ibGVhZCBpcy1hcHBlYXJhbmNlLXBvc2l0aXZlIGxlYWQtYm9keS1sZWZ0Ij4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1tZWRpYSI+CiAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9jZXV0YS1kZXNjdWJyZS1sby1xdWUtcGFzYS1jdWFuZG8tZWwtZXN0YWRvLWRlamEtZGUtcHJvdGVnZXItYS1sb3Mtc3V5b3MtMjAyNjA4MjktMDgwODQzLTljZjkwMS5qcGciIGFsdD0iQ2V1dGEgZGVzY3VicmUgbG8gcXVlIHBhc2EgY3VhbmRvIGVsIEVzdGFkbyBkZWphIGRlIHByb3RlZ2VyIGEgbG9zIHN1eW9zIiBsb2FkaW5nPSJlYWdlciIgZmV0Y2hwcmlvcml0eT0iaGlnaCIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsZWFkLW92ZXJsYXkiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTQsMTcsMjYsMC4wMCk7Ij48L2Rpdj4KICAgICAgICAKICAgICAgICAKICAgICAgICAKICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImxlYWQtYm9keSI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImxlYWQtY2F0IiBzdHlsZT0iYmFja2dyb3VuZDojRkFCMTIxO2NvbG9yOiNmZmYiPk9QSU5J0048L3NwYW4+CiAgICAgICAgCiAgICAgICAgPGgyIGNsYXNzPSJsZWFkLXRpdGxlIj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1kZXNrIj5DZXV0YSBkZXNjdWJyZSBsbyBxdWUgcGFzYSBjdWFuZG8gZWwgRXN0YWRvIGRlamEgZGUgcHJvdGVnZXIgYSBsb3Mgc3V5b3M8L3NwYW4+PHNwYW4gY2xhc3M9ImxlYWQtdGl0bGUtbW9iaWxlIj5VbiBudWV2byBjYXNvIGRlIGluZmFudGljaWRpbyBzYWN1ZGUgRUVVVSB0cmFzIExpbmRzYXkgQ2xhbmN5OiAmcXVvdDtEZXNw7WRldGUgZGUgdHVzIGhpam9zJnF1b3Q7PC9zcGFuPjwvaDI+CiAgICAgICAgCiAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGhvci1sYWJlbCI+Q2FybG9zIEVzdGViYW48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8YSBjbGFzcz0ibGVhZC1saW5rIiBocmVmPSJodHRwczovL29rZGlhcmlvLmNvbS9lc3BhbmEvY2V1dGEtZGVzY3VicmUtbG8tcXVlLXBhc2EtY3VhbmRvLWVzdGFkby1kZWphLXByb3RlZ2VyLXN1eW9zLTIwMTkwNjQ2IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgdGl0bGU9IkNldXRhIGRlc2N1YnJlIGxvIHF1ZSBwYXNhIGN1YW5kbyBlbCBFc3RhZG8gZGVqYSBkZSBwcm90ZWdlciBhIGxvcyBzdXlvcyIgYXJpYS1sYWJlbD0iQ2V1dGEgZGVzY3VicmUgbG8gcXVlIHBhc2EgY3VhbmRvIGVsIEVzdGFkbyBkZWphIGRlIHByb3RlZ2VyIGEgbG9zIHN1eW9zIj48L2E+CiAgICA8L2FydGljbGU+CiAgPC9tYWluPgo8L2Rpdj4=
      PGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL3VzZS50eXBla2l0Lm5ldCIgY3Jvc3NvcmlnaW4+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9wLnR5cGVraXQubmV0IiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tIj4KPGxpbmsgcmVsPSJwcmVjb25uZWN0IiBocmVmPSJodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tIiBjcm9zc29yaWdpbj4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3VzZS50eXBla2l0Lm5ldC9pcWExcWViLmNzcyI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Sb2JvdG86d2dodEA0MDA7NzAwJmRpc3BsYXk9c3dhcCI+CjxzdHlsZT4KLyogYW1wbGl0dWRlLW1lZGl1bS1jb25kZW5zZWQ6IHZlciByZWxhdGVkVXBwZXJjYXNlVGl0bGVGb250IG3hcyBhYmFqby4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCI7CiAgc3JjOiB1cmwoImh0dHBzOi8vb2tkaWFyaW8uY29tL3dlYi90aGVtZXMvdjEwL2Nzcy9fZm9udHNfYW1wbGl0dWRlL0FtcGxpdHVkZSUyMEF1YmklMjBNZWRpdW0lMjBDbmQub3RmIik7Cn0KLyogYW1wbGl0dWRlLWJvb2s6IHZlciByZWxhdGVkQXV0aG9yRm9udCBt4XMgYWJham8uICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAiYW1wbGl0dWRlLWJvb2siOwogIHNyYzogdXJsKCJodHRwczovL29rZGlhcmlvLmNvbS93ZWIvdGhlbWVzL3YxMC9jc3MvX2ZvbnRzX2FtcGxpdHVkZS9BbXBsaXR1ZGUlMjBBdWJpJTIwQm9vay5vdGYiKTsKfQovKiBjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZSBhcXXtIGVzIGltcHJlc2NpbmRpYmxlOiBjb252aWVydGUgZXN0ZSBibG9xdWUKICAgZW4gZWwgY29udGVuZWRvciBkZSByZWZlcmVuY2lhIHBhcmEgbG9zICJAY29udGFpbmVyICguLi4taW5saW5lLXNpemUuLi4pIgogICBkZSBt4XMgYWJham8uIFVzYW1vcyBAY29udGFpbmVyIGVuIHZleiBkZSBAbWVkaWEgcG9ycXVlICJAbWVkaWEKICAgKG1heC1pbmxpbmUtc2l6ZTouLi4pIiBOTyBlcyB1bmEgY29uZGljafNuIENTUyB24WxpZGEgJiM4MjEyOyBpbmxpbmUtc2l6ZSBzb2xvCiAgIGV4aXN0ZSBjb21vIGNhcmFjdGVy7XN0aWNhIGRlIEBjb250YWluZXIsIG51bmNhIGRlIEBtZWRpYSAmIzgyMTI7IGFz7SBxdWUgZXNhcwogICByZWdsYXMgamFt4XMgc2UgYWN0aXZhYmFuICh2ZXJpZmljYWRvIGNvbiBtYXRjaE1lZGlhOiBzaWVtcHJlIGZhbHNlLCBzaW4KICAgaW1wb3J0YXIgZWwgYW5jaG8pLCB5IHBvciBlc28gbGEgbm90aWNpYSBwcmluY2lwYWwgcG9k7WEgZGVzYXBhcmVjZXIgbyBlbAogICBkaXNl8W8gbfN2aWwgbm8gc2UgYWN0aXZhYmEgbnVuY2EuIEBjb250YWluZXIgc+0gc29wb3J0YSBpbmxpbmUtc2l6ZSBkZQogICBmb3JtYSB24WxpZGEsIHkgZXZpdGEgaWd1YWxtZW50ZSBsYSBwYWxhYnJhICJ3aWR0aDoiIHF1ZSBlbCBDTVMgZGVsCiAgIHVzdWFyaW8gZWxpbWluYSBhbCBwZWdhciBIVE1ML0NTUyBkaXJlY3RhbWVudGUuICovCi8qIEZJWCBPS0RJQVJJTyAqLwogICAgLml0ZW0gYXJ0aWNsZSAuYXJ0aWNsZS1zY3JpcHQgewogICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICB9Ci8qIENvbnRlbmVkb3IgZGUgdG9kYSBsYSBhcGVydHVyYSAoY2FiZWNlcmEgKyBub3RpY2lhIHByaW5jaXBhbCArIGNvbHVtbmEpOgogICBmb25kbyBibGFuY28geSBhaXJlIGFscmVkZWRvciwgc29sbyBlbiBEZXNrICYjODIxMjsgdmVyIG92ZXJyaWRlIGRlbnRybyBkZWwKICAgQGNvbnRhaW5lcihtYXgtaW5saW5lLXNpemU6ODYwcHgpIGRlIG3hcyBhYmFqbywgcXVlIGxvIGFudWxhIHBvciBkZWJham8KICAgZGUgZXNlIGFuY2hvIChlcXVpdmFsZW50ZSBhIGxhIHZpc3RhIE3zdmlsKS4gKi8KLmJsay13OXdzYXttYXgtaW5saW5lLXNpemU6OTYwcHg7bWFyZ2luOjAgYXV0bztjb250YWluZXItdHlwZTppbmxpbmUtc2l6ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7cGFkZGluZzoxMHB4O30KLmJsay13OXdzYSBhe3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOmluaGVyaXR9Ci5ibGstdzl3c2EgLnBhZ2V7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnI7Z2FwOjE1cHh9Ci5ibGstdzl3c2EgLnBhZ2UgLmNvbHVtbntvcmRlcjoxfQouYmxrLXc5d3NhIC5wYWdlIC5sZWFke29yZGVyOjJ9Ci8qIDg2MHB4IHkgbm8gNDc1cHg6IGNvbiBsYSBjb2x1bW5hIGZpamEgKDIyMHB4ICsgMjBweCBkZSBnYXAgPSAyNDBweCksCiAgIGN1YWxxdWllciBhbmNobyBkZSBpZnJhbWUgcG9yIGRlYmFqbyBkZSB+ODYwcHggZGVqYSBsYSBub3RpY2lhIHByaW5jaXBhbAogICAoMWZyKSBjYWRhIHZleiBjb24gbWVub3MgZXNwYWNpbyBoYXN0YSBjb2xhcHNhciBhIDBweCBkZSBhbmNobyBhbnRlcyBkZQogICBsbGVnYXIgYSB1biBicmVha3BvaW50IHRhbiBiYWpvIGNvbW8gNDc1cHggJiM4MjEyOyBsYSBub3RpY2lhIHByaW5jaXBhbAogICBkaXJlY3RhbWVudGUgZGVzYXBhcmVjZSBlbiBlc2EgZnJhbmphIGludGVybWVkaWEgKG5pICJkZXNrIiBjb21wbGV0byBuaQogICAibfN2aWwiIGVzdHJlY2hvKS4gQ29uIDg2MHB4IHNlIHBhc2EgYSB1bmEgc29sYSBjb2x1bW5hIGFwaWxhZGEgYW50ZXMgZGUKICAgcXVlIGVzbyBwdWVkYSBvY3VycmlyLgogICBFc3RlIGJyZWFrcG9pbnQgc2Ugb21pdGUgcG9yIGNvbXBsZXRvIG1pZW50cmFzIGxhIHNpbXVsYWNp824gZGUgYW5jaG8gZXN06QogICBhY3RpdmEgKHZlciBsZWFkV2lkdGhQcmV2aWV3KTogcGVuc2FkbyBwYXJhIGN1YW5kbyBlbCBt82R1bG8gbGxldmEgc3UKICAgY29sdW1uYSBhIDk2MHB4LCBkZWphIGRlIHRlbmVyIHNlbnRpZG8gZW4gdW5hIGV4cG9ydGFjafNuIGRlIHNvbG8gbGEKICAgbm90aWNpYSBwcmluY2lwYWwgYSB1biBhbmNobyBmaWpvIGVsZWdpZG8gYSBtYW5vICYjODIxMjsgbG9zIGFuY2hvcyBzaW11bGFkb3MKICAgKDYxMy80NjAvMzA3cHgpIGVzdOFuIFRPRE9TIHBvciBkZWJham8gZGUgODYwcHgsIGFz7SBxdWUgc2luIGVzdGUgZ2F0aW5nCiAgIGVsIEhUTUwgZXhwb3J0YWRvIGNhZXLtYSBzaWVtcHJlIGEgbGEgdGlwb2dyYWbtYSAiTfN2aWwiIChjb24gIWltcG9ydGFudCkKICAgc2VhIGN1YWwgc2VhIGxhIHF1ZSBlbCB1c3VhcmlvIGNvbmZpZ3Vy8yBlbiAiRGVzayIgcGFyYSBlc2Egc2ltdWxhY2nzbiwKICAgZGFuZG8gbGEgZmFsc2Egc2Vuc2FjafNuIGRlIHF1ZSB1bmEgY29uZmlndXJhY2nzbiAicGlzYSIgYSBvdHJhLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstdzl3c2F7YmFja2dyb3VuZDpub25lO3BhZGRpbmc6MDt9CiAgLmJsay13OXdzYSAucGFnZXtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfQogIC5ibGstdzl3c2EgLnBhZ2UgLnN0YWNrLXRpdGxlIHtmb250LXNpemU6MThweDsgbGluZS1oZWlnaHQ6IDEuMmVtO30KICAuYmxrLXc5d3NhIC5wYWdlIC5zdGFjay1hdXRob3Ige21hcmdpbi10b3A6IDEwcHg7fQogIC5ibGstdzl3c2EgLmxlYWQtbWVkaWEuaXMtaWZyYW1le2Jsb2NrLXNpemU6NDAwcHggIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC1tZWRpYXthc3BlY3QtcmF0aW86NC8zICFpbXBvcnRhbnQ7fQogIC5ibGstdzl3c2EgLnBhZ2UgLmxlYWR7b3JkZXI6MX0KICAuYmxrLXc5d3NhIC5wYWdlIC5jb2x1bW57b3JkZXI6Mn0KICAvKiBQb3IgZGViYWpvIGRlbCBicmVha3BvaW50LCBlbCBsZWFkLWJvZHkgc2llbXByZSB2dWVsdmUgYSBpciBkZWJham8gZGVsCiAgICAgbGVhZC1tZWRpYSAobm8gaGF5IHNpdGlvIHBhcmEgZWwgbGF5b3V0IGxhZG8gYSBsYWRvKS4gKi8KICAuYmxrLXc5d3NhIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0LAogIC5ibGstdzl3c2EgLnBhZ2UgLmxlYWQubGVhZC1ib2R5LXJpZ2h0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthc3BlY3QtcmF0aW86YXV0bzt9CiAgLmJsay13OXdzYSAucGFnZSAubGVhZC5sZWFkLWJvZHktbGVmdCAubGVhZC1tZWRpYSwKICAuYmxrLXc5d3NhIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjEgMSBhdXRvO30KICAuYmxrLXc5d3NhIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCiAgLmJsay13OXdzYSAucGFnZSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYm9keXtmbGV4OjEgMSBhdXRvO2lubGluZS1zaXplOjkwJTttYXJnaW46LTMwcHggYXV0byAwO2Jsb2NrLXNpemU6YXV0bzthbGlnbi1zZWxmOmF1dG87anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7cGFkZGluZzoxMHB4O30KICAuYmxrLXc5d3NhIC5wYWdlIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbntsZWZ0OjEwcHg7cmlnaHQ6YXV0bzt9CiAgLmJsay13OXdzYSAucGFnZSAuY29sdW1uLWl0ZW17Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO3BhZGRpbmc6MTBweDtiYWNrZ3JvdW5kOiNmZmY7YmxvY2stc2l6ZTpzdHJldGNoO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt9CiAgLmJsay13OXdzYSAucGFnZSAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMHB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQogIC5ibGstdzl3c2EgLnBhZ2UgLmNvbHVtbi1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTIxIC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToyMXB4ICFpbXBvcnRhbnQ7fQogIC5ibGstdzl3c2EgLnBhZ2UgLmNvbHVtbi1pdGVtLnRpdGxlLW9ubHktbW9iaWxlLTE4IC5sZWZ0LXRpdGxle2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7fQogIC5ibGstdzl3c2EgLnBhZ2UgLmxlZnQtcGxheXsKICAgIGZsZXg6MCAwIGF1dG87aW5saW5lLXNpemU6MTVweDtibG9jay1zaXplOjE1cHg7Ym9yZGVyLXJhZGl1czoycHg7CiAgICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogICAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOjA7CiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7bWFyZ2luLXJpZ2h0OjZweDttYXJnaW4tYm90dG9tOjRweDsKICB9CiAgLmJsay13OXdzYSAucGFnZSAubGVmdC1wbGF5OjpiZWZvcmV7CiAgICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgICBib3JkZXItbGVmdDo0cHggc29saWQgIzAwYTdmZjtib3JkZXItdG9wOjNweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjNweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDoxcHg7CiAgfQp9Ci8qIFRpcG9ncmFm7WEgIk3zdmlsIiAoYW50ZXTtdHVsby90aXR1bGFyL3N1YnTtdHVsby90aXR1bGFyZXMgYW5pbWFkb3MpIGNvbiBTVQogICBQUk9QSU8gYnJlYWtwb2ludCAoNDgwcHgpLCBzZXBhcmFkbyBkZWwgZGUgYXJyaWJhICg4NjBweCwgc29sbyBwYXJhIGFwaWxhcgogICBsYSByZWppbGxhIGNvbHVtbmErbm90aWNpYSk6IHVuIGNvbnRlbmVkb3IgcmVhbCBkZSBtZW5vcyBkZSA4NjBweCBlcyBtdXkKICAgaGFiaXR1YWwgKHAuZWouIHVuYSBjb2x1bW5hIGRlIGFydO1jdWxvIGRlIH43MDBweCkgeSBOTyBlcyB1biBt83ZpbCAmIzgyMTI7IGNvbgogICB1biD6bmljbyBicmVha3BvaW50IGNvbXBhcnRpZG8sIGxhIHRpcG9ncmFm7WEgIkRlc2siIHF1ZSBjb25maWd1cmEgZWwKICAgdXN1YXJpbyBubyBsbGVnYWJhIGEgdmVyc2UgbnVuY2EgZW4gZXNlIGNhc28sIGNheWVuZG8gc2llbXByZSBhIGxvcyB2YWxvcmVzCiAgIHBvciBkZWZlY3RvIGRlICJN83ZpbCIgc2luIHF1ZSBuYWRpZSBsbyBodWJpZXJhIHBlZGlkby4gNDgwcHggc+0gc2UKICAgY29ycmVzcG9uZGUgY29uIHVuIGFuY2hvIGRlIG3zdmlsIHJlYWwgKGxhIHZpc3RhICJN83ZpbCIgZGVsIHByb3BpbyBnZXN0b3IKICAgc2ltdWxhIDM3NXB4KS4gSWd1YWwgcXVlIGVsIGJyZWFrcG9pbnQgZGUgYXJyaWJhLCBzZSBvbWl0ZSBkdXJhbnRlIGxhCiAgIHNpbXVsYWNp824gZGUgYW5jaG8gZGUgbGEgbm90aWNpYSBwcmluY2lwYWwgKHZlciBsZWFkV2lkdGhQcmV2aWV3KS4gKi8KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjQ4MHB4KXsKICAuYmxrLXc5d3NhIC5sZWFkLWtpY2tlcntmb250LXNpemU6MS4xNXJlbSAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMSAhaW1wb3J0YW50O2NvbG9yOiNGQUIxMjEgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4xICFpbXBvcnRhbnQ7Y29sb3I6I0ZBQjEyMSAhaW1wb3J0YW50O30KICAuYmxrLXc5d3NhIC5sZWFkLXRpdGxle2ZvbnQtc2l6ZToyLjU1cmVtICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MC45ICFpbXBvcnRhbnQ7fQogIC5ibGstdzl3c2EgLmxlYWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC1raWNrZXItZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC1raWNrZXItbW9iaWxle2Rpc3BsYXk6aW5saW5lICFpbXBvcnRhbnQ7fQogIC5ibGstdzl3c2EgLmxlYWQtc3VidGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC1zdWJ0aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAubGVhZC1hbmltLWhlYWRsaW5lc3tmb250LXNpemU6MS44NzVyZW0gIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjAyICFpbXBvcnRhbnQ7fQogIAogIC5ibGstdzl3c2EgLnJlbGF0ZWQtdGl0bGUtZGVza3tkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9CiAgLmJsay13OXdzYSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDt9Cn0KLmJsay13OXdzYSAubGVhZHtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiNmZmY7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay13OXdzYSAubGVhZC1tZWRpYXtwb3NpdGlvbjpyZWxhdGl2ZTthc3BlY3QtcmF0aW86MTYvOTtiYWNrZ3JvdW5kOiMwMDA7b3ZlcmZsb3c6aGlkZGVufQovKiBNZWRpYSBtZWRpYW50ZSBpZnJhbWU6IGFsdG8gZmlqbyBlbiBw7XhlbGVzIGVuIHZleiBkZSBsYSBwcm9wb3JjafNuIGRlCiAgIGFycmliYSAodmVyIGNvbWVudGFyaW8gZGV0YWxsYWRvIGp1bnRvIGEgc3RhdGUubGVhZC5pZnJhbWVIZWlnaHQpICYjODIxMjsgZWwKICAgdmFsb3IgZGUgTfN2aWwgc2Ugc29icmVzY3JpYmUgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sIGlndWFsIHF1ZSBlbAogICByZXN0byBkZSBvdmVycmlkZXMgcmVzcG9uc2l2ZSBkZSBlc3RlIEhUTUwgZXhwb3J0YWRvLiAqLwouYmxrLXc5d3NhIC5sZWFkLW1lZGlhLmlzLWlmcmFtZXthc3BlY3QtcmF0aW86bm9uZTtibG9jay1zaXplOjY0MHB4O30KLmJsay13OXdzYSAubGVhZC1tZWRpYSBpbWcsCi5ibGstdzl3c2EgLmxlYWQtbWVkaWEgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyfQovKiBDYXJydXNlbCBkZSBmb3RvcyBkZSBmb25kbyBjb24gZWZlY3RvIEtlbiBCdXJucyAmIzgyMTI7IHZlciBlbCBtaXNtbyBibG9xdWUsCiAgIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLgogICBMYSBkdXJhY2nzbiBkZSBsYXMgYW5pbWFjaW9uZXMgKDZzKSBjb2luY2lkZSBjb24KICAgTEVBRF9DQVJPVVNFTF9JTlRFUlZBTCwgcXVlIHRhbWJp6W4gZ29iaWVybmEgZWwgc2NyaXB0IGRlIHJvdGFjafNuCiAgIChidWlsZExlYWRDYXJvdXNlbFNjcmlwdCkgYfFhZGlkbyBhbCBmaW5hbCBkZWwgSFRNTCBleHBvcnRhZG8uICovCi5ibGstdzl3c2EgLmxlYWQtY2Fyb3VzZWx7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXc5d3NhIC5sZWFkLWNhcm91c2VsLXNsaWRle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAxLjVzIGVhc2U7fQouYmxrLXc5d3NhIC5sZWFkLWNhcm91c2VsLXNsaWRlLmlzLWFjdGl2ZXtvcGFjaXR5OjE7ei1pbmRleDoxO30KLmJsay13OXdzYSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO30KLmJsay13OXdzYSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQob2RkKSBpbWd7YW5pbWF0aW9uOmJsay13OXdzYS1rZW5idXJucy1hIDZzIGVhc2UtaW4tb3V0IGZvcndhcmRzO30KLmJsay13OXdzYSAubGVhZC1jYXJvdXNlbC1zbGlkZTpudGgtY2hpbGQoZXZlbikgaW1ne2FuaW1hdGlvbjpibGstdzl3c2Eta2VuYnVybnMtYiA2cyBlYXNlLWluLW91dCBmb3J3YXJkczt9CkBrZXlmcmFtZXMgYmxrLXc5d3NhLWtlbmJ1cm5zLWF7IGZyb217dHJhbnNmb3JtOnNjYWxlKDEpIHRyYW5zbGF0ZSgwLDApO30gdG97dHJhbnNmb3JtOnNjYWxlKDEuMTUpIHRyYW5zbGF0ZSgtNCUsLTMlKTt9IH0KQGtleWZyYW1lcyBibGstdzl3c2Eta2VuYnVybnMtYnsgZnJvbXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB0b3t0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKDQlLDMlKTt9IH0KLyogQ29uIHVuYSD6bmljYSBmb3RvIChzaW4gcm90YWNp824gcG9zaWJsZSkgc2UgYXBsaWNhIHVuIHpvb20gaW4vb3V0IGVuCiAgIGJ1Y2xlIGluZmluaXRvIGVuIHZleiBkZWwgcmVjb3JyaWRvIPpuaWNvIChmb3J3YXJkcykgZGUgYXJyaWJhLiAqLwouYmxrLXc5d3NhIC5sZWFkLWNhcm91c2VsLmlzLXNpbmdsZSAubGVhZC1jYXJvdXNlbC1zbGlkZSBpbWd7YW5pbWF0aW9uOmJsay13OXdzYS1rZW5idXJucy1sb29wIDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CkBrZXlmcmFtZXMgYmxrLXc5d3NhLWtlbmJ1cm5zLWxvb3B7IDAle3RyYW5zZm9ybTpzY2FsZSgxKSB0cmFuc2xhdGUoMCwwKTt9IDUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xNSkgdHJhbnNsYXRlKC00JSwtMyUpO30gMTAwJXt0cmFuc2Zvcm06c2NhbGUoMSkgdHJhbnNsYXRlKDAsMCk7fSB9Ci8qIENvbXBhcmFkb3IgYW50ZXMvZGVzcHXpcyAoZGVzbGl6YWRvcikgJiM4MjEyOyB2ZXIgZWwgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4KICAgZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13OXdzYSAubGVhZC1jb21wYXJle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7b3ZlcmZsb3c6aGlkZGVuO2lzb2xhdGlvbjppc29sYXRlO3RvdWNoLWFjdGlvbjpub25lO3otaW5kZXg6Mjt9Ci5ibGstdzl3c2EgLmxlYWQtY29tcGFyZSBpbWd7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtvYmplY3QtZml0OmNvdmVyO29iamVjdC1wb3NpdGlvbjpjZW50ZXI7ZGlzcGxheTpibG9jazt1c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1kcmFnOm5vbmU7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci5ibGstdzl3c2EgLmxlYWQtY29tcGFyZS1iZWZvcmV7Y2xpcC1wYXRoOmluc2V0KDAgNTAlIDAgMCk7d2lsbC1jaGFuZ2U6Y2xpcC1wYXRoO30KLmJsay13OXdzYSAubGVhZC1jb21wYXJlLXJhbmdle3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7bWFyZ2luOjA7b3BhY2l0eTowO2N1cnNvcjpldy1yZXNpemU7fQouYmxrLXc5d3NhIC5sZWFkLWNvbXBhcmUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6NTAlO2lubGluZS1zaXplOjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjI7fQouYmxrLXc5d3NhIC5sZWFkLWNvbXBhcmUtaGFuZGxlOjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7aW5saW5lLXNpemU6MnB4O2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7Ym94LXNoYWRvdzowIDAgMCAxcHggcmdiYSgwLDAsMCwuMjUpO30KLmJsay13OXdzYSAubGVhZC1jb21wYXJlLWhhbmRsZTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6LTE1cHg7aW5saW5lLXNpemU6MzBweDtibG9jay1zaXplOjMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZmZmIHVybCgiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJz48ZyBmaWxsPSdub25lJyBzdHJva2U9JyUyMzAwMCcgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J004IDYgTDQgMTAgTDggMTQnLz48cGF0aCBkPSdNMTIgNiBMMTYgMTAgTDEyIDE0Jy8+PC9nPjwvc3ZnPiIpIGNlbnRlci8xNnB4IDE2cHggbm8tcmVwZWF0O2JveC1zaGFkb3c6MCAycHggNnB4IHJnYmEoMCwwLDAsLjI1KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjI1KTt9Ci8qIE1lZGlhIG1lZGlhbnRlIGlmcmFtZSAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiBNaXNtbyB6LWluZGV4OjIgcXVlCiAgIC5sZWFkLWNvbXBhcmUsIHBvciBlbCBtaXNtbyBtb3Rpdm8gKGdhbmFybGUgYSAubGVhZC1saW5rKS4gKi8KLmJsay13OXdzYSAubGVhZC1pZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtvdmVyZmxvdzpoaWRkZW47aXNvbGF0aW9uOmlzb2xhdGU7ei1pbmRleDoyO30KLmJsay13OXdzYSAubGVhZC1pZnJhbWUgaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOjEwMCU7Ym9yZGVyOjA7ZGlzcGxheTpibG9jazt9Ci5ibGstdzl3c2EgLmxlYWQtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3otaW5kZXg6MTtwb2ludGVyLWV2ZW50czpub25lO30KLmJsay13OXdzYSAubGVhZC1ib2R5e3BhZGRpbmc6MHB4IDIwcHggMjBweCAyMHB4OztkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDoxMHB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgYWxpZ24taXRlbXM6Y2VudGVyOyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDo2OyBwb2ludGVyLWV2ZW50czpub25lOyBpbmxpbmUtc2l6ZTo5NSU7IG1hcmdpbi1sZWZ0OmF1dG87IG1hcmdpbi1yaWdodDphdXRvOyBtYXJnaW4tdG9wOi0zMHB4OyBiYWNrZ3JvdW5kOiMwRTExMUE7IGZsZXg6MSAxIGF1dG87fQovKiBBcGFyaWVuY2lhIG5lZ2F0aXZhIChwb3IgZGVmZWN0bykgdnMuIHBvc2l0aXZhIGRlIGxhIGNhamEgZGUgdGl0dWxhciAmIzgyMTI7IHZlcgogICBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXc5d3NhIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmxlYWQtYm9keXtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZTdlYmVlO30KLmJsay13OXdzYSAubGVhZC5pcy1hcHBlYXJhbmNlLXBvc2l0aXZlIC5sZWFkLXRpdGxlLAouYmxrLXc5d3NhIC5sZWFkLmlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgLmF1dGhvci1sYWJlbHtjb2xvcjojMEUxMTFBO30KLyogUG9zaWNp824gZGVsIGxlYWQtYm9keSByZXNwZWN0byBhbCBsZWFkLW1lZGlhICgnbGVmdCcvJ3JpZ2h0JykgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbC4gKi8KLmJsay13OXdzYSAubGVhZC5sZWFkLWJvZHktbGVmdCwKLmJsay13OXdzYSAubGVhZC5sZWFkLWJvZHktcmlnaHR7ZmxleC1kaXJlY3Rpb246cm93O2FzcGVjdC1yYXRpbzoyLjk2Mjk2Mjk2Mjk2Mjk2Mzt9Ci5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LWxlZnR7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7fQouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLW1lZGlhLAouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1tZWRpYXtmbGV4OjAgMCA2MCU7fQouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHksCi5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWJvZHl7ZmxleDowIDAgY2FsYyg0MCUgKyAzMHB4KTtpbmxpbmUtc2l6ZTphdXRvO21hcmdpbi10b3A6MDtibG9jay1zaXplOmNhbGMoMTAwJSAtIDYwcHgpO2FsaWduLXNlbGY6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7fQouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5sZWFkLWJvZHl7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LTMwcHg7fQouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1ib2R5e21hcmdpbi1sZWZ0Oi0zMHB4O21hcmdpbi1yaWdodDowO30KLyogUG9zaWNp824gJ2JvdHRvbS1mdWxsJyBkZWwgbGVhZC1ib2R5ICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuCiAgIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuIGlubGluZS1zaXplCiAgIGVuIHZleiBkZSB3aWR0aCBwb3IgZWwgbWlzbW8gbW90aXZvIHF1ZSBlbCByZXN0byBkZSBlc3RlIGJsb3F1ZSAoZXZpdGFyCiAgIGxhIHBhbGFicmEgIndpZHRoOiIgcXVlIGVsIENNUyBkZWwgdXN1YXJpbyBlbGltaW5hIGFsIHBlZ2FyIEhUTUwvQ1NTCiAgIGRpcmVjdGFtZW50ZSkuICovCi5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LWJvdHRvbS1mdWxsIC5sZWFkLWJvZHl7CiAgaW5saW5lLXNpemU6MTAwJTsKICBtYXJnaW46MDsKICBwYWRkaW5nLXRvcDozMHB4OwogIHBhZGRpbmctYm90dG9tOjMwcHg7CiAgYm9yZGVyOm5vbmU7Cn0KLyogRXRpcXVldGEgZGUgZXhjbHVzaXZhIChvIHRleHRvIHBlcnNvbmFsaXphZG8pICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdzl3c2EgLmxlYWQtZXhjbHVzaXZlLXRhZ3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7ei1pbmRleDozO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7bGV0dGVyLXNwYWNpbmc6MC41cHg7cGFkZGluZzoycHggOHB4O2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6LjhlbTtmb250LXdlaWdodDo3MDA7Y29sb3I6I2ZmZjt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7cG9pbnRlci1ldmVudHM6bm9uZTt9Ci8qIFNlbGVjdG9yIGNvbiAzIGNsYXNlcyAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYQogICBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhICgiLmxlYWQtbWVkaWEgaW1nIiB0YW1iaeluCiAgIG1hdGNoZWEgZXN0ZSA8aW1nPiB5IGxlIGdhbmFiYSBlbiBlc3BlY2lmaWNpZGFkKS4gKi8KLmJsay13OXdzYSAubGVhZC1leGNsdXNpdmUtdGFnIC5sZWFkLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay13OXdzYSAubGVhZC1jYXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtwYWRkaW5nOjJweCA4cHg7dHJhbnNmb3JtOnNrZXdZKC02ZGVnKTttYXJnaW4tdG9wOi0xNXB4O21hcmdpbi1ib3R0b206MTBweDt9Ci5ibGstdzl3c2EgLmxlYWQta2lja2VyLCAuYmxrLXc5d3NhIC5sZWFkLXN1YnRpdGxlewogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjt0ZXh0LXRyYW5zZm9ybTpub25lO21hcmdpbjowOwp9Ci5ibGstdzl3c2EgLmxlYWQta2lja2Vye2ZvbnQtd2VpZ2h0OjcwMDt9Ci5ibGstdzl3c2EgLmxlYWQtc3VidGl0bGV7Zm9udC13ZWlnaHQ6NjAwO30KLyogVGFtYfFvL2ludGVybGluZWFkby9jb2xvciBkZSBhbnRldO10dWxvIHkgc3VidO10dWxvIGVuIERlc2sgKHZhbG9yZXMgcG9yCiAgIGRlZmVjdG8gZGVsIGJsb3F1ZTsgZWwgb3ZlcnJpZGUgZGUgTfN2aWwgdmEgZW4gZWwgQGNvbnRhaW5lciBkZSBt4XMgYWJham8sCiAgIHlhIHF1ZSBlbCBIVE1MIGV4cG9ydGFkbyBlcyByZXNwb25zaXZlIHkgbm8gZGVwZW5kZSBkZSBxdekgdmlzdGEgdHV2aWVyYXMKICAgc2VsZWNjaW9uYWRhIGVuIGVsIGdlc3RvciBhbCBleHBvcnRhci9jb3BpYXIpLiAqLwouYmxrLXc5d3NhIC5sZWFkLWtpY2tlcntmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojRkFCMTIxO30KLmJsay13OXdzYSAubGVhZC1zdWJ0aXRsZXtmb250LXNpemU6MS4zMTI1cmVtO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjojRkFCMTIxO30KLyogdGV4dC13cmFwOmJhbGFuY2UgJiM4MjEyOyBtaXNtbyBjcml0ZXJpbyBxdWUgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbAogICBkZWwgZ2VzdG9yICh2ZXIgY29tZW50YXJpbyBkZXRhbGxhZG8ganVudG8gYSBlc2EgcmVnbGEpOiByZXBhcnRlIGxhcwogICBs7W5lYXMgZGVsIHRpdHVsYXIgZGUgZm9ybWEgbeFzIHVuaWZvcm1lIGRlbnRybyBkZSBjYWRhIGRpc3Bvc2l0aXZvLCBzaW4KICAgcHJldGVuZGVyIGlndWFsYXIgZWwgbvptZXJvIGRlIGztbmVhcyBlbnRyZSBwbGF0YWZvcm1hcyBkaXN0aW50YXMuICovCi5ibGstdzl3c2EgLmxlYWQtdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDtmb250LXNpemU6Mi4xcmVtO2xpbmUtaGVpZ2h0OjEuMDU7bWFyZ2luOjA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTt0ZXh0LXdyYXA6YmFsYW5jZTt9Ci8qIFRpdHVsYXIgY29uIHNhbHRvcyBkZSBs7W5lYSBpbmRlcGVuZGllbnRlcyBwb3IgdmlzdGEgKHZlciBidWlsZFNjb3BlZEhUTUwpOgogICBzZSBnZW5lcmFuIGxvcyBkb3MgdGV4dG9zIChEZXNrL03zdmlsKSB5IGFxde0gc2UgbXVlc3RyYSBzb2xvIHVubyBzZWf6biBlbAogICBhbmNobyByZWFsIGRlbCBjb250ZW5lZG9yICYjODIxMjsgZWwgbWlzbW8gbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIHlhIHVzYSBlbAogICByZXN0byBkZWwgSFRNTCBleHBvcnRhZG8gcGFyYSBhZGFwdGFyc2Ugc2luIGRlcGVuZGVyIGRlIEpTLiAqLwouYmxrLXc5d3NhIC5sZWFkLXRpdGxlLW1vYmlsZXtkaXNwbGF5Om5vbmU7fQovKiBBbnRldO10dWxvL3N1YnTtdHVsbyBjb24gc2FsdG9zIGRlIGztbmVhIGluZGVwZW5kaWVudGVzIHBvciB2aXN0YTogbWlzbW8KICAgbWVjYW5pc21vIGRlIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgKHZlciBhcnJpYmEpLiAqLwouYmxrLXc5d3NhIC5sZWFkLWtpY2tlci1tb2JpbGUsIC5ibGstdzl3c2EgLmxlYWQtc3VidGl0bGUtbW9iaWxle2Rpc3BsYXk6bm9uZTt9Ci8qIFRpdHVsYXIgZGUgbm90aWNpYSByZWxhY2lvbmFkYSAoY29sdW1uYSkgY29uIHRleHRvIHByb3BpbyBlbiBN83ZpbCAodmVyCiAgIGl0ZW0udGl0bGVNb2JpbGUgZW4gYnVpbGRDb2x1bW5JdGVtVGl0bGVIVE1MKTogbWlzbW8gbWVjYW5pc21vIGRlCiAgIEBjb250YWluZXIgcXVlIGVsIHRpdHVsYXIgcHJpbmNpcGFsIGRlIGFycmliYS4gKi8KLmJsay13OXdzYSAucmVsYXRlZC10aXRsZS1tb2JpbGV7ZGlzcGxheTpub25lO30KLmJsay13OXdzYSAuYXV0aG9yLWxhYmVse2ZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjtjb2xvcjojZmZmO2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhlbTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpyaWdodDtkaXNwbGF5OmJsb2NrfQouYmxrLXc5d3NhIC5jb2x1bW57ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47fQouYmxrLXc5d3NhIC5jb2x1bW4taXRlbXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjoxcHggc29saWQgI2U3ZWJlZTtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2Jsb2NrLXNpemU6c3RyZXRjaDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7fQouYmxrLXc5d3NhIC50aHVtYntwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzo0LzM7YmFja2dyb3VuZDojZWVlO292ZXJmbG93OmhpZGRlbn0KLmJsay13OXdzYSAudGh1bWIgaW1nLAouYmxrLXc5d3NhIC50aHVtYiB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZToxMDAlO29iamVjdC1maXQ6Y292ZXJ9Ci5ibGstdzl3c2EgLnRodW1iIC5wbGF5LXNxdWFyZSwKLmJsay13OXdzYSAubWVkaWEtYmxvY2std3JhcCAucGxheS1zcXVhcmV7CiAgcG9zaXRpb246YWJzb2x1dGU7IGJvdHRvbTo1cHg7IGxlZnQ6NXB4OwogIGlubGluZS1zaXplOjI1cHg7YmxvY2stc2l6ZToyNXB4O2JvcmRlci1yYWRpdXM6MnB4O2Rpc3BsYXk6aW5saW5lLWdyaWQ7cGxhY2UtaXRlbXM6Y2VudGVyOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjYpO2JvcmRlcjoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjE4KTsKICBjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjE1cywgdHJhbnNmb3JtIC4xMnM7CiAgei1pbmRleDoyOyBhbmltYXRpb246YmxrLXc5d3NhLWJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlOwp9Ci5ibGstdzl3c2EgLnRodW1iIC5wbGF5LXNxdWFyZTo6YmVmb3JlLAouYmxrLXc5d3NhIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTo6YmVmb3JlewogIGNvbnRlbnQ6IiI7ZGlzcGxheTpibG9jaztpbmxpbmUtc2l6ZTowO2Jsb2NrLXNpemU6MDsKICBib3JkZXItbGVmdDo2cHggc29saWQgI2ZmZjtib3JkZXItdG9wOjVweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjVweCBzb2xpZCB0cmFuc3BhcmVudDsKICBtYXJnaW4tbGVmdDoycHg7Cn0KLmJsay13OXdzYSAudGh1bWIgLnBsYXktc3F1YXJlOmhvdmVyLAouYmxrLXc5d3NhIC5tZWRpYS1ibG9jay13cmFwIC5wbGF5LXNxdWFyZTpob3ZlcnsgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuODUpOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMXB4KTsgfQouYmxrLXc5d3NhIC5zdGFjay10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjEuMTVlbTttYXJnaW46MDtjb2xvcjojMmMzZTUzO30KLmJsay13OXdzYSAuc3RhY2stYXV0aG9ye2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtYm9vayIsc2Fucy1zZXJpZjtjb2xvcjojODI4NTk1O2ZvbnQtd2VpZ2h0OjIwMDtmb250LXNpemU6LjhyZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMXB4O2xldHRlci1zcGFjaW5nOjA7dGV4dC1hbGlnbjpyaWdodDt9Ci8qIFNpbiBlc3RhIHJlZ2xhIGVsIGF1dG9yIHF1ZWRhIHBlZ2FkbyBqdXN0byBkZWJham8gZGVsIHRpdHVsYXIgZW4gdmV6IGRlCiAgIGFiYWpvIGRlIGxhIHRhcmpldGE6IC5tb2Qtc3RhY2sgbmVjZXNpdGEgc2VyIGZsZXgtY29sdW1uIGNvbgogICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiBwYXJhIHF1ZSBlbCBodWVjbyBzb2JyYW50ZSAoY3VhbmRvIGxhCiAgIHRhcmpldGEgY3JlY2UgbeFzIHF1ZSBzdSBjb250ZW5pZG8sIHZlciAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spCiAgIG3hcyBhYmFqbykgZW1wdWplIGVsIGF1dG9yIGhhY2lhIGVsIGJvcmRlIGluZmVyaW9yLiAqLwouYmxrLXc5d3NhIC5tb2Qtc3RhY2t7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtmbGV4OjEgMSBhdXRvO30KLyogRXN0aWxvICJmb3RvIHBlcXVl8WEgKyB0aXR1bGFyIjogZm90byA0OjMgYSBsYSBpenF1aWVyZGEsIHRleHRvIGEgbGEgZGVyZWNoYS4gKi8KLmJsay13OXdzYSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLWxlZnR7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxMTBweCAxZnI7Z2FwOjEwcHg7fQovKiBFc3RpbG8gInNvbG8gdGV4dG8iIChwb3IgZGVmZWN0byk6IGVsIGF1dG9yIHNlIHBvc2ljaW9uYSBlbiBhYnNvbHV0bywKICAgYW5jbGFkbyBhIGxhIGVzcXVpbmEgaW5mZXJpb3IgZGVyZWNoYSBkZSBsYSB0YXJqZXRhIChpZ3VhbCBxdWUgZWwgcGxheSBkZQogICBsYXMgbWluaWF0dXJhcyksIGVuIHZleiBkZSBkZXBlbmRlciBkZSBxdWUgZWwgYmxvcXVlIGRlIHRleHRvIHRlbmdhIGh1ZWNvCiAgIGRlIHNvYnJhIHBhcmEgZW1wdWphcmxvIGFiYWpvIGNvbiBmbGV4Ym94ICYjODIxMjsgY29uIHTtdHVsb3MgZGUgMi0zIGztbmVhcyBlc2UKICAgaHVlY28gbm8gZXhpc3RlIHkgZWwgYXV0b3IgbnVuY2EgbGxlZ2FiYSBhIGJhamFyLiBwYWRkaW5nLWJvdHRvbSBlbgogICBsZWZ0LWJvZHkgcmVzZXJ2YSBlbCBlc3BhY2lvIHBhcmEgcXVlIGVsIHTtdHVsbyBubyBzZSBzb2xhcGUgY29uIOlsLiAqLwouYmxrLXc5d3NhIC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAubGVmdC1ib2R5e3BhZGRpbmctYm90dG9tOjMzcHg7fQouYmxrLXc5d3NhIC5jb2x1bW4taXRlbS5sYXlvdXQtdGl0bGUtb25seSAuc3RhY2stYXV0aG9ye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEwcHg7Ym90dG9tOjEwcHg7bWFyZ2luLXRvcDowO30KLmJsay13OXdzYSAubGVmdC10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwO2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjEuMTU7Y29sb3I6IzJjM2U1MzttYXJnaW46MDt0ZXh0LWFsaWduOmxlZnQ7fQouYmxrLXc5d3NhIC5sZWZ0LXBsYXl7CiAgZmxleDowIDAgYXV0bztpbmxpbmUtc2l6ZToxNXB4O2Jsb2NrLXNpemU6MTVweDtib3JkZXItcmFkaXVzOjJweDsKICBiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjMDBhN2ZmOwogIGRpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzowOwogIHZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tcmlnaHQ6NnB4O21hcmdpbi1ib3R0b206IDRweDsKfQouYmxrLXc5d3NhIC5sZWZ0LXBsYXk6OmJlZm9yZXsKICBjb250ZW50OiIiO2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MDtibG9jay1zaXplOjA7CiAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkICMwMGE3ZmY7Ym9yZGVyLXRvcDozcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTozcHggc29saWQgdHJhbnNwYXJlbnQ7bWFyZ2luLWxlZnQ6MXB4Owp9Ci5ibGstdzl3c2EgLnJlbGF0ZWQtbGl2ZS10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkY1MDUwOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkY1MDUwOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXc5d3NhIC5yZWxhdGVkLWVkaXRvcmlhbC10YWd7CiAgZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7ZmxleDowIDAgYXV0bzsKICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZTouN3JlbTtsaW5lLWhlaWdodDowLjg7bGV0dGVyLXNwYWNpbmc6LjNweDtjb2xvcjojRkFCMTIxOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjRkFCMTIxOwogIHBhZGRpbmc6M3B4IDRweCAycHggNHB4O21hcmdpbi1yaWdodDo2cHg7bWFyZ2luLWJvdHRvbTo0cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKfQouYmxrLXc5d3NhIC5wbGF5LWJ1dHRvbnsKICAvKiBBbmNoby9hbHRvIGZpam9zIGVuIHZleiBkZSBhc3BlY3QtcmF0aW86MS8xICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgICAgZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YSAoZWwKICAgICBj4WxjdWxvIGRlICJzaHJpbmstdG8tZml0IiBwYXJhIHVuIDxidXR0b24+IGVuIGFic29sdXRvIHNpbiB0YW1h8W8KICAgICBleHBs7WNpdG8gbm8gZXMgZmlhYmxlIGVudHJlIG1vdG9yZXM7IGVuIFdlYktpdC9pT1MgZGFiYSB1biByZWN04W5ndWxvCiAgICAgdmVydGljYWwgZXN0cmVjaO1zaW1vIGVuIHZleiBkZSB1biBjdWFkcmFkbykuICovCiAgYXBwZWFyYW5jZTpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lOwogIHBvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O2xlZnQ6MTBweDsKICBpbmxpbmUtc2l6ZTozNHB4O2Jsb2NrLXNpemU6MzRweDsKICBkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7cGFkZGluZzoxMHB4IDEwcHggMTBweCAxMnB4OwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDsKICBjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjI7YW5pbWF0aW9uOmJsay13OXdzYS1ibGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKfQouYmxrLXc5d3NhIC5wbGF5LWJ1dHRvbiAucGxheS1pY29uewogIGlubGluZS1zaXplOjA7YmxvY2stc2l6ZTowOwogIGJvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDsKfQouYmxrLXc5d3NhIC5wbGF5LWJ1dHRvbiAucGxheS10ZXh0e2Rpc3BsYXk6bm9uZTt9Ci8qIEVuIGVsIG1vZG8gJ2xlZnQnIGVsIFBsYXkgcGFzYSBhIGxhIGVzcXVpbmEgc3VwZXJpb3IgZGVyZWNoYSAmIzgyMTI7IHZlciBtaXNtbwogICBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsLiAqLwouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1sZWZ0IC5wbGF5LWJ1dHRvbntsZWZ0OmF1dG87cmlnaHQ6MTBweDt9CgovKiBUaXR1bGFyZXMgYW5pbWFkb3MgKGNhcGEgYWx0ZXJuYXRpdmEgc29icmUgbGVhZC1tZWRpYSkgJiM4MjEyOyB2ZXIgbWlzbW8KICAgYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYQogICBoZXJyYW1pZW50YS4gQ2FkYSB0aXR1bGFyIHRpZW5lIHN1IHByb3BpYSBwb3NpY2nzbiAoY2xhc2UgcG9zLSosIHZlcgogICBidWlsZFNjb3BlZEhUTUwpIHkgc2UgcmV2ZWxhIGztbmVhIHBvciBs7W5lYSAodW5hIHZleiBtZWRpZGFzIHN1cyBs7W5lYXMKICAgcmVhbGVzIHBvciBlbCBzY3JpcHQgc3RhbmRhbG9uZSwgdmVyIGJ1aWxkQW5pbUhlYWRsaW5lc1NjcmlwdCkgY29uIHVuYQogICBjYWphIGRlIGZvbmRvIGRldHLhcyBkZSBjYWRhIGztbmVhIHkgdW4gZmFkZSBkZSBvcGFjaWRhZCBlbnRyZSB0aXR1bGFyZXMuICovCi5ibGstdzl3c2EgLmxlYWQtYW5pbS1oZWFkbGluZXN7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgaW5zZXQ6MDsKICB6LWluZGV4OjQ7CiAgcG9pbnRlci1ldmVudHM6bm9uZTsKfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmV7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDoxNXB4OwogIG9wYWNpdHk6MDsKfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1sZWZ0eyBib3R0b206NjBweDsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1sZWZ0eyB0b3A6NjBweDsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1sZWZ0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCwKLmJsay13OXdzYSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1taWRkbGUtcmlnaHQsCi5ibGstdzl3c2EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyBsZWZ0OmF1dG87IHJpZ2h0OjE1cHg7IH0KLmJsay13OXdzYSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHR7IHRvcDo2MHB4OyB9Ci5ibGstdzl3c2EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0eyB0b3A6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLWJvdHRvbS1yaWdodHsgYm90dG9tOjYwcHg7IH0KLyogQ29uIGVsIHRleHRvIChsZWFkLWJvZHkpIGEgbGEgaXpxdWllcmRhIG8gbGEgZGVyZWNoYSwgZXNlIGJsb3F1ZSBzb2xhcGEKICAgMzBweCBkZWwgbGFkbyBkZSBsYSBmb3RvL3btZGVvIHBlZ2FkbyBhIOlsICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvCiAgIGVuIGRldGFsbGUsIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtdG9wLWxlZnQsCi5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLWxlZnQsCi5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LWxlZnQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLWxlZnR7IGxlZnQ6NDBweDsgfQouYmxrLXc5d3NhIC5sZWFkLmxlYWQtYm9keS1yaWdodCAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy10b3AtcmlnaHQsCi5ibGstdzl3c2EgLmxlYWQubGVhZC1ib2R5LXJpZ2h0IC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLW1pZGRsZS1yaWdodCwKLmJsay13OXdzYSAubGVhZC5sZWFkLWJvZHktcmlnaHQgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtYm90dG9tLXJpZ2h0eyByaWdodDo0MHB4OyB9Ci5ibGstdzl3c2EgLmxlYWQtYW5pbS1oZWFkbGluZS5pcy1hY3RpdmV7IG9wYWNpdHk6MTsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0tbGluZXsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBkaXNwbGF5OnRhYmxlOwogIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICBmb250LXdlaWdodDo5MDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjJweCA4cHg7CiAgY2xpcC1wYXRoOmluc2V0KDAgMTAwJSAwIDApOwogIG9wYWNpdHk6MTsKICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwp9Ci5ibGstdzl3c2EgLmxlYWQtYW5pbS1saW5lLmlzLWhpZGluZ3sgb3BhY2l0eTowOyB9Ci8qIFNvbGFwZSBkZSAxcHggZW50ZXJhIGVudHJlIGztbmVhcyBwYXJhIGNlcnJhciBlbCBoaWxvIGRlIHN1Yi1w7XhlbCBxdWUKICAgcHVlZGUgcXVlZGFyIGVudHJlIHN1cyBjYWphcyBkZSBmb25kbyAocmVkb25kZW8gZGUgYWx0dXJhcyBmcmFjY2lvbmFyaWFzKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBjb21lbnRhcmlvLCBkZXRhbGxhZG8sIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwuICovCi5ibGstdzl3c2EgLmxlYWQtYW5pbS1saW5lICsgLmxlYWQtYW5pbS1saW5lewogIG1hcmdpbi10b3A6LTFweDsKfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0tbGluZTpmaXJzdC1jaGlsZHsgcGFkZGluZy10b3A6NnB4OyB9Ci5ibGstdzl3c2EgLmxlYWQtYW5pbS1saW5lOmxhc3QtY2hpbGR7IHBhZGRpbmctYm90dG9tOjZweDsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmUucG9zLXRvcC1yaWdodCAubGVhZC1hbmltLWxpbmUsCi5ibGstdzl3c2EgLmxlYWQtYW5pbS1oZWFkbGluZS5wb3MtbWlkZGxlLXJpZ2h0IC5sZWFkLWFuaW0tbGluZSwKLmJsay13OXdzYSAubGVhZC1hbmltLWhlYWRsaW5lLnBvcy1ib3R0b20tcmlnaHQgLmxlYWQtYW5pbS1saW5leyBtYXJnaW4tbGVmdDphdXRvOyBtYXJnaW4tcmlnaHQ6MDsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0taGVhZGxpbmVzLmlzLXBvc2l0aXZlIC5sZWFkLWFuaW0tbGluZXsgY29sb3I6IzBFMTExQTsgfQouYmxrLXc5d3NhIC5sZWFkLWFuaW0tbGluZS1iZ3sgcG9zaXRpb246YWJzb2x1dGU7IGluc2V0OjA7IHotaW5kZXg6LTE7IH0KLmJsay13OXdzYSAubGVhZC1hbmltLWxpbmUtdGV4dHsgcG9zaXRpb246cmVsYXRpdmU7IH0KQGtleWZyYW1lcyBibGstdzl3c2EtYW5pbS1saW5lLXJldmVhbHsgdG97IGNsaXAtcGF0aDppbnNldCgwIDAgMCAwKTsgfSB9CgovKiBBbmNob3Igb3ZlcmxheSBmb3IgZnVsbCBjbGlja2FibGUgbGVhZCAqLwouYmxrLXc5d3NhIC5sZWFkLWxpbmt7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDt6LWluZGV4OjF9CgovKiBIb3ZlciBvcGFjaXR5IGFuaW1hdGlvbiAqLwouYmxrLXc5d3NhIC5sZWFkOmhvdmVyIC5sZWFkLXRpdGxlLAouYmxrLXc5d3NhIC5jb2x1bW4taXRlbTpob3ZlcntvcGFjaXR5Oi44fQovKiBGb3RvIHByaW5jaXBhbCAoZmFsbGJhY2svc2luZ2xlKSBvIGNhcnJ1c2VsIGRlIGZvdG9zOiBvcGFjaWRhZCAwLjkgYWwKICAgcGFzYXIgZWwgcmF0824gcG9yIGxhIHRhcmpldGEgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4KICAgbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gTm8gYXBsaWNhIGEgdu1kZW8gbmkgYWwKICAgY29tcGFyYWRvciBhbnRlcy9kZXNwdelzLiAqLwouYmxrLXc5d3NhIC5sZWFkLW1lZGlhID4gaW1nLAouYmxrLXc5d3NhIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO30KLmJsay13OXdzYSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKLmJsay13OXdzYSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IC5sZWFkLWNhcm91c2Vse29wYWNpdHk6Ljk7fQovKiBFbiBlbCBhbmNobyBt83ZpbCAobWlzbW8gQGNvbnRhaW5lciBxdWUgZWwgcmVzdG8gZGVsIEhUTUwgZXhwb3J0YWRvKSBubwogICBhcGxpY2EgZXN0YSBhbmltYWNp824gZGUgb3BhY2lkYWQgc29icmUgbGEgbm90aWNpYSBwcmluY2lwYWw6IHZhIERFU1BVyVMKICAgZGUgbGEgcmVnbGEgZ2VuZXJhbCBkZSBhcnJpYmEgKG1pc21hIGVzcGVjaWZpY2lkYWQpIHBhcmEgcG9kZXIgZ2FuYXJsZS4KICAgT21pdGlkbywgaWd1YWwgcXVlIGVsIGJsb3F1ZSBkZSB0aXBvZ3JhZu1hIGRlIGFycmliYSwgbWllbnRyYXMgbGEKICAgc2ltdWxhY2nzbiBkZSBhbmNobyBlc3TpIGFjdGl2YSAodmVyIGxlYWRXaWR0aFByZXZpZXcpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6ODYwcHgpewogIC5ibGstdzl3c2EgLmxlYWQ6aG92ZXIgLmxlYWQtdGl0bGUsCiAgLmJsay13OXdzYSAubGVhZDpob3ZlciAubGVhZC1tZWRpYSA+IGltZywKICAuYmxrLXc5d3NhIC5sZWFkOmhvdmVyIC5sZWFkLW1lZGlhID4gLmxlYWQtY2Fyb3VzZWx7b3BhY2l0eToxO30KfQoKLyogQW5pbWFjafNuIGNvbXBhcnRpZGEgcGxheSBwcmluY2lwYWwgKyBjdWFkcmFkb3MgcGxheSBhcGlsYWRhcyAqLwpAa2V5ZnJhbWVzIGJsay13OXdzYS1ibGlua3sKICAwJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjcpfQogIDUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LDAuOSl9Cn0KLyogQ2FiZWNlcmEgKi8KLmJsay13OXdzYSAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjoxMHB4IDAgMzJweH0KLmJsay13OXdzYSAuZm5kLWxpbmVhe2lubGluZS1zaXplOjEwMCU7YmxvY2stc2l6ZTo1cHg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTttYXJnaW4tdG9wOi0xOHB4O2JvcmRlci10b3A6MXB4IHNvbGlkICMzMzM7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzMzM30KLmJsay13OXdzYSAuc2VjdGlvbi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MDtsaW5lLWhlaWdodDoxLjI7bGV0dGVyLXNwYWNpbmc6LTFweDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7YmFja2dyb3VuZDojZmZmO3BhZGRpbmc6NHB4IDEzcHg7Ym9yZGVyOjFweCBzb2xpZCAjMEUxMTFBO3RyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTtmb250LXNpemU6NDJweDtjb2xvcjojMEUxMTFBO30KQGNvbnRhaW5lciAobWF4LWlubGluZS1zaXplOjg2MHB4KXsuYmxrLXc5d3NhIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MCAxMHB4fX0KLyogQ2FiZWNlcmEgJiM4MjEyOyBEaXNl8W8gMiAodGl0dWxhciArIGNhcnJ1c2VsIGRlIGxvZ290aXBvcykgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLAogICBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13OXdzYSAuaGVhZGVyMntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2dhcDoyMHB4O3BhZGRpbmctYm90dG9tOjVweDttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzBFMTExQTt9Ci8qIGFsaWduLXNlbGY6ZmxleC1lbmQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSAxNXB4IGRlIGxhIGztbmVhIHNlcGFyYWRvcmEKICAgZW4gRGVzayAmIzgyMTI7IHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MKICAgcHJpbmNpcGFsIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXc5d3NhIC5oZWFkZXIyLWxlZnR7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtmbGV4OjEgMSA1MCU7bWluLWlubGluZS1zaXplOjA7YWxpZ24tc2VsZjpmbGV4LWVuZDt9Ci5ibGstdzl3c2EgLmhlYWRlcjItdGFnc3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo2cHg7ZmxleDowIDAgYXV0bzt9Ci8qIE1pc21vIHRhbWHxby90aXBvZ3JhZu1hIHF1ZSAubGVhZC1leGNsdXNpdmUtdGFnIChsYSBkZSBsYSBub3RpY2lhCiAgIHByaW5jaXBhbCkgJiM4MjEyOyB2ZXIgbWlzbW8gYmxvcXVlLCBjb21lbnRhZG8gZW4gZGV0YWxsZSwgZW4gbGEgaG9qYSBkZQogICBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YS4gKi8KLmJsay13OXdzYSAuaGVhZGVyMi1jYXQtdGFnLAouYmxrLXc5d3NhIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWd7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoycHg7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6LjhlbTtsZXR0ZXItc3BhY2luZzouNXB4O3BhZGRpbmc6MnB4IDhweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7d2hpdGUtc3BhY2U6bm93cmFwO2NvbG9yOiNmZmY7fQouYmxrLXc5d3NhIC5oZWFkZXIyLWV4Y2x1c2l2ZS10YWctaWNvbntwb3NpdGlvbjpzdGF0aWM7aW5zZXQ6YXV0bztpbmxpbmUtc2l6ZToxNHB4O2Jsb2NrLXNpemU6MTRweDtvYmplY3QtZml0OmNvbnRhaW47ZmxleDowIDAgYXV0bztkaXNwbGF5OmJsb2NrO30KLmJsay13OXdzYSAuaGVhZGVyMi10aXRsZXtmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6OTAwO2ZvbnQtc2l6ZTozNnB4O2xpbmUtaGVpZ2h0OjEuMDU7Y29sb3I6IzBFMTExQTttYXJnaW46MDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWluLWlubGluZS1zaXplOjA7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO30KLyogU2VwYXJhY2nzbiBkZSAxMHB4IGVudHJlIGVsIHRleHRvIGRlIHBhdHJvY2luaW8geSBlbCBsb2dvIGVuIERlc2sgJiM4MjEyOyBlbgogICBN83ZpbCBzaWd1ZSBzaW4gc2VwYXJhY2nzbiAoZ2FwOjAsIHZlciBAY29udGFpbmVyIG3hcyBhYmFqbykuICovCi5ibGstdzl3c2EgLmhlYWRlcjItbG9nb3Mtd3JhcHtmbGV4OjAgMCBhdXRvO21heC1pbmxpbmUtc2l6ZTo1MCU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7fQovKiBFdGlxdWV0YSBvcGNpb25hbCBqdW50byBhbCBjYXJydXNlbCBkZSBsb2dvcyAocC5lai4gIlBhdHJvY2luYWRvIHBvcjoiKSAmIzgyMTI7CiAgIHZlciBtaXNtbyBibG9xdWUsIGNvbWVudGFkbyBlbiBkZXRhbGxlLCBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsCiAgIGRlIGxhIGhlcnJhbWllbnRhLiAqLwouYmxrLXc5d3NhIC5oZWFkZXIyLWxvZ29zLWxhYmVse2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojNjY3O3doaXRlLXNwYWNlOm5vd3JhcDt9Ci5ibGstdzl3c2EgLmhlYWRlcjItbG9nb3N7cG9zaXRpb246cmVsYXRpdmU7aW5saW5lLXNpemU6MTYwcHg7YmxvY2stc2l6ZTo1MHB4O2ZsZXgtc2hyaW5rOjA7fQouYmxrLXc5d3NhIC5oZWFkZXIyLWxvZ29zIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO21hcmdpbjphdXRvO21heC1pbmxpbmUtc2l6ZToxMDAlO21heC1ibG9jay1zaXplOjEwMCU7b2JqZWN0LWZpdDpjb250YWluO29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjdzIGVhc2UtaW4tb3V0O30KLmJsay13OXdzYSAuaGVhZGVyMi1sb2dvcyBpbWcuaXMtYWN0aXZle29wYWNpdHk6MTt9Ci8qIElndWFsIHF1ZSBlbiBsYSBob2phIGRlIGVzdGlsb3MgcHJpbmNpcGFsOiBwb3IgZGViYWpvIGRlIGVzdGUgYW5jaG8gc2UKICAgaW50ZW50YSBwcmltZXJvIDEgU09MQSBGSUxBIChldGlxdWV0YXMrdGl0dWxhciBqdW50byBhbCBsb2dvLCBpZ3VhbCBxdWUKICAgZW4gRGVzaywgYSB0YW1h8W8gcmVkdWNpZG8pLiBFbCBibG9xdWUgZGUgbG9nb3MgbWFudGllbmUgU0lFTVBSRSBzdQogICBkaXNwb3NpY2nzbiBlbiBjb2x1bW5hIChldGlxdWV0YSBkZSBwYXRyb2NpbmlvIGVuY2ltYSBkZWwgbG9nbywKICAgYWxpbmVhZG9zIGEgbGEgZGVyZWNoYSwgc2luIHNlcGFyYWNp824pIHRhbnRvIGVuIGVzdGEgZmlsYSD6bmljYSBjb21vIGVuCiAgIGVsIHJlc2d1YXJkbyBkZSBhYmFqby4gU2kgZWwgdGl0dWxhciwgc3VtYWRvIGFsIGFuY2hvIGRlIGxhcyBldGlxdWV0YXMKICAgYWN0aXZhcyAoY2F0ZWdvcu1hIHkvbyBleGNsdXNpdmEsIHNpIGxhcyBoYXkpLCBzdXBlcmEgZWwgNTUlIGRlbCBhbmNobwogICB0b3RhbCBkZSBsYSBjYWJlY2VyYSAoY2FkYSB1bm8gbWVkaWRvIGEgdW5hIHNvbGEgbO1uZWEpLCBlbCBzY3JpcHQKICAgc3RhbmRhbG9uZSBh8WFkaWRvIGFsIGZpbmFsIGRlIGVzdGUgSFRNTCAodmVyCiAgIGJ1aWxkSGVhZGVyMlN0YWNraW5nU2NyaXB0KCkpIGxvIGRldGVjdGEgbWlkaWVuZG8gc3UgYW5jaG8gbmF0dXJhbAogICB5IGHxYWRlIGxhIGNsYXNlICJoZWFkZXIyLXN0YWNrZWQiOiBlbCBibG9xdWUgZGUKICAgbG9nb3Mgc3ViZSBlbnRvbmNlcyBhIHN1IHByb3BpYSBmaWxhIChhbGluZWFkbyBhIGxhIGRlcmVjaGEpIHkKICAgdGl0dWxhcitldGlxdWV0YXMgYmFqYW4gYSBsYSBmaWxhIGRlIGFiYWpvLCBhIGFuY2hvIGNvbXBsZXRvICYjODIxMjsgbWlzbW8KICAgbGF5b3V0IGRlIDIgZmlsYXMgcXVlIGhhYu1hIGFudGVzIHNpZW1wcmUgcG9yIGRlYmFqbyBkZSBlc3RlIGJyZWFrcG9pbnQsCiAgIGFob3JhIHNvbG8gY29tbyByZXNndWFyZG8uIERlbnRybyBkZSBlc2UgcmVzZ3VhcmRvLCBjb24gZXRpcXVldGEocykgZWwKICAgdGl0dWxhciBwYXNhIGFkZW3hcyBhIHN1IFBST1BJQSBmaWxhIGEgYW5jaG8gY29tcGxldG8sIGRlYmFqbyBkZSBsYSBmaWxhIGRlIGV0aXF1ZXRhcyAodmVyCiAgICIuaGVhZGVyMi1zdGFja2VkIC5oZWFkZXIyLWxlZnQiIG3hcyBhYmFqbykuIEVsIGxvZ28gc2UgcmVkdWNlIHVuIDIwJQogICAoMTYweDUwICYjODU5NDsgMTI4eDQwKS4KICAgYWxpZ24tc2VsZjpmbGV4LWVuZCBlbiBoZWFkZXIyLWxlZnQgZmlqYSBlbCB0aXR1bGFyIFNJRU1QUkUgYSBsb3MgMTBweAogICBkZWwgcGFkZGluZy1ib3R0b20gcmVzcGVjdG8gYSBsYSBs7W5lYSBzZXBhcmFkb3JhICYjODIxMjsgbWlzbW8gY3JpdGVyaW8gcXVlCiAgIGVuIERlc2sgKHZlciBoZWFkZXIyLWxlZnQgbeFzIGFycmliYSk6IHNpbiBlc3RvLCBhbCBzZXIgZWwgYmxvcXVlIGRlCiAgIGxvZ29zIG3hcyBhbHRvIHF1ZSBlbCB0aXR1bGFyLCBlbCBjZW50cmFkbyB2ZXJ0aWNhbCBkZWwgcm93IGRlamFiYSB1bgogICBodWVjbyBtYXlvciBlbnRyZSBlbCB0aXR1bGFyIHkgbGEgbO1uZWEuIEVsIGJsb3F1ZSBkZSBsb2dvcyBzaWd1ZQogICBjZW50cmFkbyAoc2luIGVzZSBvdmVycmlkZSkuICovCkBjb250YWluZXIgKG1heC1pbmxpbmUtc2l6ZTo0ODBweCl7CiAgLmJsay13OXdzYSAuaGVhZGVyMntmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxMHB4O3BhZGRpbmctbGVmdDoxMHB4O3BhZGRpbmctcmlnaHQ6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O30KICAuYmxrLXc5d3NhIC5oZWFkZXIyLWxlZnR7b3JkZXI6MTthbGlnbi1zZWxmOmZsZXgtZW5kO30KICAuYmxrLXc5d3NhIC5oZWFkZXIyLWxvZ29zLXdyYXB7b3JkZXI6MjthbGlnbi1zZWxmOmNlbnRlcjttYXgtaW5saW5lLXNpemU6bm9uZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC5ibGstdzl3c2EgLmhlYWRlcjItbG9nb3N7aW5saW5lLXNpemU6MTI4cHg7YmxvY2stc2l6ZTo0MHB4O30KICAuYmxrLXc5d3NhIC5oZWFkZXIyLXRpdGxle2ZvbnQtc2l6ZToyN3B4O30KICAuYmxrLXc5d3NhIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZHtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1zdGFydDt9CiAgLmJsay13OXdzYSAuaGVhZGVyMi5oZWFkZXIyLXN0YWNrZWQgLmhlYWRlcjItbGVmdHtvcmRlcjoyO2FsaWduLXNlbGY6ZmxleC1zdGFydDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6c3RyZXRjaDtnYXA6NXB4O30KICAuYmxrLXc5d3NhIC5oZWFkZXIyLmhlYWRlcjItc3RhY2tlZCAuaGVhZGVyMi1sb2dvcy13cmFwe29yZGVyOjE7bWF4LWlubGluZS1zaXplOjEwMCU7YWxpZ24tc2VsZjpmbGV4LWVuZDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47YWxpZ24taXRlbXM6ZmxleC1lbmQ7Z2FwOjA7fQogIC8qIFJlc2d1YXJkbyBpbnRlcm1lZGlvICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgICAgaG9qYSBkZSBlc3RpbG9zIHByaW5jaXBhbCBkZSBsYSBoZXJyYW1pZW50YTogc29sbyBlbCB0aXR1bGFyIGJhamEgYSBzdQogICAgIHByb3BpYSBmaWxhIGEgYW5jaG8gY29tcGxldG8gY3VhbmRvIGxhcyBldGlxdWV0YXMgU80gY2FiZW4ganVudG8gYWwKICAgICBsb2dvIHBlcm8gZWwgdGl0dWxhciBuby4gaGVhZGVyMi1sZWZ0IHBhc2EgZGUgZmlsYSBhIGNvbHVtbmEKICAgICAoZXRpcXVldGFzIGFycmliYSwgdGl0dWxhciBkZWJham8pIHkgcmVjdXBlcmEgYWxpZ24tc2VsZjphdXRvIHBhcmEKICAgICBjZW50cmFyc2UgdmVydGljYWxtZW50ZSBjb250cmEgZWwgbG9nbyAoYWxpZ24tc2VsZjpjZW50ZXIgZGUgbGEgcmVnbGEKICAgICBiYXNlIGRlIC5oZWFkZXIyLWxvZ29zLXdyYXAsIGFycmliYSksIGlndWFsIHF1ZSBlbiBlbCByZXN0byBkZSBlc3RhZG9zLiAqLwogIC5ibGstdzl3c2EgLmhlYWRlcjIuaGVhZGVyMi10aXRsZS1iZWxvdyAuaGVhZGVyMi1sZWZ0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNoO2FsaWduLXNlbGY6YXV0bztnYXA6NXB4O30KfQoKLyogRXN0aWxvICJmb3RvIGdyYW5kZSArIHRpdHVsYXIiOiBmb3RvIDE2OjkgYXJyaWJhLCB0aXR1bGFyIGRlYmFqbyAmIzgyMTI7IGVsZWdpYmxlCiAgIHBvciBub3RpY2lhIGRlc2RlIGVsIGdlc3Rvci4gTm8gc2UgcmVzdHJpbmdlIGNvbiBAY29udGFpbmVyIHBvcnF1ZQogICAuY29sdW1uLWl0ZW0geWEgZXMgYmxvY2sgcG9yIGRlZmVjdG8gKGVsIHRodW1iIHkgZWwgdGV4dG8gc2UgYXBpbGFuIHNvbG9zCiAgIHNpbiBt4XMgYWp1c3RlKSwgYXPtIHF1ZSBlbCBkaXNl8W8gZnVuY2lvbmEgaWd1YWwgZGUgYmllbiBlbiBjdWFscXVpZXIKICAgYW5jaG8sIERlc2sgbyBN83ZpbC4gKi8KLmJsay13OXdzYSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO30KLmJsay13OXdzYSAuY29sdW1uLWl0ZW0ubGF5b3V0LXBob3RvLXRvcCAudGh1bWJ7aW5saW5lLXNpemU6MTAwJTthc3BlY3QtcmF0aW86MTYvOTttYXJnaW4tYm90dG9tOjEwcHg7fQouYmxrLXc5d3NhIC5jb2x1bW4taXRlbS5sYXlvdXQtcGhvdG8tdG9wIC5sZWZ0LXRpdGxle2ZvbnQtZmFtaWx5OiJhbXBsaXR1ZGUtbWVkaXVtLWNvbmRlbnNlZCIsc2Fucy1zZXJpZjtmb250LXNpemU6MS4ycmVtO2xpbmUtaGVpZ2h0OjEuMmVtO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtmb250LXdlaWdodDo5MDA7fQovKiBFbiBN83ZpbCBlbCB0aXR1bGFyIGRlIGVzdGUgZGlzZfFvIHNlIG11ZXN0cmEgbeFzIGdyYW5kZSAoMS41cmVtIGVuIHZleiBkZQogICBsb3MgMS4ycmVtIGRlIERlc2spICYjODIxMjsgbWlzbWEgZXNwZWNpZmljaWRhZCAoMyBjbGFzZXMpIHF1ZSBsYSByZWdsYSBkZQogICBhcnJpYmE7IGFsIGlyIERFU1BVyVMgZW4gZWwgQ1NTIGdhbmEgcG9yIG9yZGVuIGRlIGNhc2NhZGEuIFNlIHVzYSBlbAogICBicmVha3BvaW50IGRlIDQ4MHB4IChlbCBkZSB0aXBvZ3JhZu1hIGVuIGVzdGEgYXBwLCBubyBlbCBkZSA4NjBweCBxdWUgYXF17QogICBzb2xvIGdvYmllcm5hIGVsIGFwaWxhZG8gZGUgY29sdW1uYXMpIHBhcmEgcXVlIGNvaW5jaWRhIGNvbiBlbCByZXN0byBkZQogICBjYW1iaW9zIGRlIHRleHRvL3RhbWHxbyBwb3IgdmlzdGEuIE5vIGFmZWN0YSBhbCByZXNndWFyZG8gZGUgMiBjb2x1bW5hcyBlbgogICBt83ZpbCAobW9iLWdyaWQpLCBt4XMgZXNwZWPtZmljbyAoMThweCwgdmVyIG3hcyBhcnJpYmEpLiAqLwpAY29udGFpbmVyIChtYXgtaW5saW5lLXNpemU6NDgwcHgpewogIC5ibGstdzl3c2EgLmNvbHVtbi1pdGVtLmxheW91dC1waG90by10b3AgLmxlZnQtdGl0bGV7Zm9udC1zaXplOjEuNXJlbTt9Cn0KLyogRXN0aWxvICJCbG9xdWUgbWVkaWEiICYjODIxMjsgdmVyIG1pc21vIGJsb3F1ZSwgY29tZW50YWRvIGVuIGRldGFsbGUsIGVuIGxhCiAgIGhvamEgZGUgZXN0aWxvcyBwcmluY2lwYWwgZGUgbGEgaGVycmFtaWVudGEuICovCi5ibGstdzl3c2EgLm1lZGlhLWJsb2NrLW1lZGlhe2Rpc3BsYXk6YmxvY2s7aW5saW5lLXNpemU6MTAwJTtibG9jay1zaXplOmF1dG87fQouYmxrLXc5d3NhIC5tZWRpYS1ibG9jay13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7fQouYmxrLXc5d3NhIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZTtpbmxpbmUtc2l6ZToxMDAlO2FzcGVjdC1yYXRpbzoxNi85O2JhY2tncm91bmQ6IzAwMDtvdmVyZmxvdzpoaWRkZW47fQouYmxrLXc5d3NhIC5tZWRpYS1ibG9jay1pZnJhbWUtd3JhcCBpZnJhbWV7cG9zaXRpb246YWJzb2x1dGU7aW5zZXQ6MDtpbmxpbmUtc2l6ZToxMDAlO2Jsb2NrLXNpemU6MTAwJTtib3JkZXI6MDtkaXNwbGF5OmJsb2NrO30KLmJsay13OXdzYSAuY29sdW1uLWl0ZW0ubGF5b3V0LW1lZGlhLWJsb2Nre2JvcmRlcjpub25lO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2Jsb2NrLXNpemU6YXV0bztmbGV4OjAgMCBhdXRvO30KLmJsay13OXdzYSAuY29sdW1uLWl0ZW06bm90KC5sYXlvdXQtbWVkaWEtYmxvY2spe2ZsZXg6MSAxIGF1dG87fQo8L3N0eWxlPgoKPGRpdiBjbGFzcz0iYmxrLXc5d3NhIj4KICAKICA8bWFpbiBjbGFzcz0icGFnZSI+CiAgICAKICAgIDxhcnRpY2xlIGNsYXNzPSJsZWFkIGlzLWFwcGVhcmFuY2UtcG9zaXRpdmUgbGVhZC1ib2R5LWxlZnQiPgogICAgICA8ZGl2IGNsYXNzPSJsZWFkLW1lZGlhIj4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2NldXRhLWRlc2N1YnJlLWxvLXF1ZS1wYXNhLWN1YW5kby1lbC1lc3RhZG8tZGVqYS1kZS1wcm90ZWdlci1hLWxvcy1zdXlvcy0yMDI2MDgyOS0wODA4NDMtOWNmOTAxLmpwZyIgYWx0PSJDZXV0YSBkZXNjdWJyZSBsbyBxdWUgcGFzYSBjdWFuZG8gZWwgRXN0YWRvIGRlamEgZGUgcHJvdGVnZXIgYSBsb3Mgc3V5b3MiIGxvYWRpbmc9ImVhZ2VyIiBmZXRjaHByaW9yaXR5PSJoaWdoIiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDxkaXYgY2xhc3M9ImxlYWQtb3ZlcmxheSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmdiYSgxNCwxNywyNiwwLjAwKTsiPjwvZGl2PgogICAgICAgIAogICAgICAgIAogICAgICAgIAogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ibGVhZC1ib2R5Ij4KICAgICAgICA8c3BhbiBjbGFzcz0ibGVhZC1jYXQiIHN0eWxlPSJiYWNrZ3JvdW5kOiNGQUIxMjE7Y29sb3I6I2ZmZiI+T1BJTknTTjwvc3Bhbj4KICAgICAgICAKICAgICAgICA8aDIgY2xhc3M9ImxlYWQtdGl0bGUiPjxzcGFuIGNsYXNzPSJsZWFkLXRpdGxlLWRlc2siPkNldXRhIGRlc2N1YnJlIGxvIHF1ZSBwYXNhIGN1YW5kbyBlbCBFc3RhZG8gZGVqYSBkZSBwcm90ZWdlciBhIGxvcyBzdXlvczwvc3Bhbj48c3BhbiBjbGFzcz0ibGVhZC10aXRsZS1tb2JpbGUiPkNldXRhIGRlc2N1YnJlIGxvIHF1ZSBwYXNhIGN1YW5kbyBlbCBFc3RhZG8gZGVqYSBkZSBwcm90ZWdlciBhIGxvcyBzdXlvczwvc3Bhbj48L2gyPgogICAgICAgIAogICAgICAgIDxzcGFuIGNsYXNzPSJhdXRob3ItbGFiZWwiPkNhcmxvcyBFc3RlYmFuPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGEgY2xhc3M9ImxlYWQtbGluayIgaHJlZj0iaHR0cHM6Ly9va2RpYXJpby5jb20vZXNwYW5hL2NldXRhLWRlc2N1YnJlLWxvLXF1ZS1wYXNhLWN1YW5kby1lc3RhZG8tZGVqYS1wcm90ZWdlci1zdXlvcy0yMDE5MDY0NiIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIHRpdGxlPSJDZXV0YSBkZXNjdWJyZSBsbyBxdWUgcGFzYSBjdWFuZG8gZWwgRXN0YWRvIGRlamEgZGUgcHJvdGVnZXIgYSBsb3Mgc3V5b3MiIGFyaWEtbGFiZWw9IkNldXRhIGRlc2N1YnJlIGxvIHF1ZSBwYXNhIGN1YW5kbyBlbCBFc3RhZG8gZGVqYSBkZSBwcm90ZWdlciBhIGxvcyBzdXlvcyI+PC9hPgogICAgPC9hcnRpY2xlPgogIDwvbWFpbj4KPC9kaXY+
    • CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBUaXR1bGFyIGZpbmFsIGNhcnJ1c2VsIChIVE1MIGV4cG9ydGFkbykgKi8KICAgIC5jdi10d3UzMSAuYmctc2VjdGlvbi10aXRsZSB7CiAgICAgIGRpc3BsYXk6ZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246Y29sdW1uOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogICAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICAgIG1hcmdpbi1ib3R0b206NTBweDsKICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgfQogICAgLmN2LXR3dTMxIC5mbmQtbGluZWEgewogICAgICB3aWR0aDoxMDAlOwogICAgICBoZWlnaHQ6NXB4OwogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgICB6LWluZGV4OjE7CiAgICAgIG1hcmdpbi10b3A6LTI1cHg7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzMzOwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMzsKICAgIH0KICAgIC5jdi10d3UzMSAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtZmFtaWx5OiJiZWJhcy1uZXVlLXByby1leHBhbmRlZCIsc2Fucy1zZXJpZjsKICAgICAgZm9udC13ZWlnaHQ6OTAwOwogICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgICAgIHRleHQtYWxpZ246Y2VudGVyOwogICAgICBtYXJnaW46MDsKICAgICAgbGluZS1oZWlnaHQ6MS4yOwogICAgICBsZXR0ZXItc3BhY2luZzotMXB4OwogICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgICAgei1pbmRleDoyOwogICAgICBiYWNrZ3JvdW5kOiNmZmY7CiAgICAgIHBhZGRpbmc6NHB4IDEzcHggNHB4IDEzcHg7CiAgICAgIGJvcmRlcjoxcHggc29saWQgIzMzMzsKICAgICAgZm9udC1zaXplOjQycHg7CiAgICAgIHRyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTsKICAgIH0KCiAgICAuY3YtdHd1MzEgLmNhcm91c2VsewogICAgICAtLWdhcDoxNnB4OwogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsKICAgICAgZ2FwOnZhcigtLWdhcCk7CiAgICAgIG92ZXJmbG93OmhpZGRlbjsKICAgICAgcGFkZGluZy1ib3R0b206NnB4OwogICAgfQogICAgLnJvdyBzZWN0aW9ueyB3aWR0aDotd2Via2l0LWZpbGwtYXZhaWxhYmxlOyB9CiAgICAuY3YtdHd1MzEgLnNlY3Rpb257IHdpZHRoOi13ZWJraXQtZmlsbC1hdmFpbGFibGU7IH0KICAgIC5jdi10d3UzMSAudHJhY2t7CiAgICAgIGRpc3BsYXk6ZmxleDsKICAgICAgZ2FwOnZhcigtLWdhcCk7CiAgICAgIG92ZXJmbG93LXg6aGlkZGVuOwogICAgICBzY3JvbGwtc25hcC10eXBlOnggbWFuZGF0b3J5OwogICAgICBzY3JvbGwtYmVoYXZpb3I6c21vb3RoOwogICAgfQogICAgLmN2LXR3dTMxIC5jYXJkewogICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgICAgZmxleDowIDAgYXV0bzsKICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7CiAgICAgIHdpZHRoOmNhbGMoKDEwMCUgLSAzKnZhcigtLWdhcCkpLzQpOwogICAgICBhc3BlY3QtcmF0aW86OS8xNjsKICAgICAgYm9yZGVyLXJhZGl1czoxMHB4OwogICAgICBvdmVyZmxvdzpoaWRkZW47CiAgICAgIGJhY2tncm91bmQ6IzExMTsKICAgICAgaXNvbGF0aW9uOmlzb2xhdGU7CiAgICB9CiAgICAuY3YtdHd1MzEgLmNhcmQgaW1newogICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgaW5zZXQ6MDsKICAgICAgd2lkdGg6MTAwJTsKICAgICAgaGVpZ2h0OjEwMCU7CiAgICAgIG9iamVjdC1maXQ6Y292ZXI7CiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMzVzIGVhc2UsIG9wYWNpdHkgLjI1cyBlYXNlOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDEpOwogICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OwogICAgICBzY2FsZTogMS4wMjsKICAgIH0KICAgIC5jdi10d3UzMSAuY2FyZDpob3ZlciBpbWcsCiAgICAuY3YtdHd1MzEgLmNhcmQ6Zm9jdXMtdmlzaWJsZSBpbWd7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNik7CiAgICB9CgogICAgLmN2LXR3dTMxIC5jYXJkIHZpZGVvLnRlYXNlcnsKICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgIGluc2V0OjA7CiAgICAgIHdpZHRoOjEwMCU7CiAgICAgIGhlaWdodDoxMDAlOwogICAgICBvYmplY3QtZml0OmNvdmVyOwogICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAuMjVzIGVhc2U7CiAgICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7CiAgICAgIHNjYWxlOiAxLjAyOwogICAgfQogICAgLmN2LXR3dTMxIC5jYXJkLmhhcy10ZWFzZXI6aG92ZXIgaW1nLAogICAgLmN2LXR3dTMxIC5jYXJkLmhhcy10ZWFzZXI6Zm9jdXMtdmlzaWJsZSBpbWd7CiAgICAgIG9wYWNpdHk6MDsKICAgIH0KICAgIC5jdi10d3UzMSAuY2FyZC5oYXMtdGVhc2VyOmhvdmVyIHZpZGVvLnRlYXNlciwKICAgIC5jdi10d3UzMSAuY2FyZC5oYXMtdGVhc2VyOmZvY3VzLXZpc2libGUgdmlkZW8udGVhc2VyewogICAgICBvcGFjaXR5OjE7CiAgICB9CgogICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpewogICAgICAuY3YtdHd1MzEgLmNhcmQgaW1neyB0cmFuc2l0aW9uOiBub25lOyB9CiAgICAgIC5jdi10d3UzMSAuY2FyZCB2aWRlby50ZWFzZXJ7IHRyYW5zaXRpb246bm9uZTsgfQogICAgfQoKICAgIC5jdi10d3UzMSAuc2hhZGV7CiAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICBpbnNldDphdXRvIDAgMCAwOwogICAgICBoZWlnaHQ6NzAlOwogICAgICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxODBkZWcscmdiYSgwLDAsMCwwKSAwJSwgcmdiYSgwLDAsMCwuODUpIDEwMCUpOwogICAgfQogICAgLmN2LXR3dTMxIC50aXRsZXsKICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgIGxlZnQ6MTJweDsKICAgICAgcmlnaHQ6MTJweDsKICAgICAgYm90dG9tOjEwcHg7CiAgICAgIG1hcmdpbjowOwogICAgICBjb2xvcjojZmZmOwogICAgICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgICAgIGZvbnQtd2VpZ2h0OjkwMDsKICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgICBkaXNwbGF5Oi13ZWJraXQtYm94OwogICAgICAtd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7CiAgICAgIG92ZXJmbG93OmhpZGRlbjsKICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpczsKICAgIH0KICAgIC5jdi10d3UzMSAudGl0bGUudGl0bGUtbGFyZ2V7Zm9udC1zaXplOjI3cHg7bGluZS1oZWlnaHQ6MWVtOy13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTt9CiAgICAuY3YtdHd1MzEgLnRpdGxlLnRpdGxlLXNtYWxse2ZvbnQtc2l6ZToyMXB4O2xpbmUtaGVpZ2h0OjFlbTstd2Via2l0LWxpbmUtY2xhbXA6NztsaW5lLWNsYW1wOjc7fQogICAgLmN2LXR3dTMxIC50aXRsZSAuYWNjZW50e2NvbG9yOnZhcigtLWFjY2VudCwgIzAwZDRmZil9CgogICAgLmN2LXR3dTMxIC5wbGF5LWJ0bntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtsZWZ0OjEwcHg7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjQyKTtib3JkZXItcmFkaXVzOjRweDt6LWluZGV4OjI7YW5pbWF0aW9uOmN2LXR3dTMxUGxheUJsaW5rIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO30KICAgIC5jdi10d3UzMSAucGxheS1idG46OmJlZm9yZXtjb250ZW50OiIiO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWxlZnQ6MTBweCBzb2xpZCAjZmZmO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50O21hcmdpbi1sZWZ0OjNweDt9CiAgICBAa2V5ZnJhbWVzIGN2LXR3dTMxUGxheUJsaW5rezAlLDEwMCV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43KTt9NTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDE2NSwyNTUsLjkpO319CgogICAgLmN2LXR3dTMxIC5hcntwb3NpdGlvbjpyZWxhdGl2ZX0KICAgIC5jdi10d3UzMSAuYXJyb3d7CiAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICB0b3A6NTAlOwogICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTsKICAgICAgd2lkdGg6NDRweDsKICAgICAgaGVpZ2h0OjQ0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6NTAlOwogICAgICBiYWNrZ3JvdW5kOnJnYigyNTUgMjU1IDI1NSAvIDIwJSk7CiAgICAgIGJveC1zaGFkb3c6MCA2cHggMTZweCByZ2IoMCAwIDAgLyAyMCUpOwogICAgICBib3JkZXI6MXB4IHNvbGlkICNmZmY7CiAgICAgIGRpc3BsYXk6ZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246Y29sdW1uOwogICAgICBhbGlnbi1pdGVtczpjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7CiAgICAgIGN1cnNvcjpwb2ludGVyOwogICAgICB6LWluZGV4OjI7CiAgICAgIHRyYW5zaXRpb246LjNzOwogICAgfQogICAgLmN2LXR3dTMxIC5hcnJvdzpob3ZlcnsKICAgICAgYmFja2dyb3VuZDpyZ2IoMCAwIDAgLyAyMCUpOwogICAgICBib3JkZXI6MXB4IHNvbGlkICNmZmY7CiAgICB9CiAgICAuY3YtdHd1MzEgLmFycm93OmZvY3VzewogICAgICBiYWNrZ3JvdW5kOnJnYigyNTUgMjU1IDI1NSAvIDIwJSk7CiAgICB9CiAgICAuY3YtdHd1MzEgLmFycm93IHN2Z3t3aWR0aDoyMHB4O2hlaWdodDoyMHB4fQogICAgLmN2LXR3dTMxIC5hcnJvdy5sZWZ0e2xlZnQ6MTBweH0KICAgIC5jdi10d3UzMSAuYXJyb3cucmlnaHR7cmlnaHQ6MTBweH0KCiAgICBAbWVkaWEgKG1heC13aWR0aDo3NjhweCl7CiAgICAgIC5jdi10d3UzMSAuYmctc2VjdGlvbi10aXRsZXsKICAgICAgICBtYXJnaW4tYm90dG9tOjMycHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CiAgICAgIC5jdi10d3UzMSAuZm5kLWxpbmVhewogICAgICAgIG1hcmdpbi10b3A6LTE4cHg7CiAgICAgICAgaGVpZ2h0OiAzcHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzM7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7CiAgICAgIH0KICAgICAgLmN2LXR3dTMxIC5zZWN0aW9uLXRpdGxlewogICAgICAgIGZvbnQtc2l6ZToyN3B4OwogICAgICAgIHBhZGRpbmc6MnB4IDhweCAycHggOHB4OwogICAgICAgIHRyYW5zZm9ybTpyb3RhdGVYKDVkZWcpIHJvdGF0ZVkoLTI1ZGVnKSBza2V3WCgwZGVnKTsKICAgICAgfQogICAgICAuY3YtdHd1MzEgLmNhcmR7CiAgICAgICAgd2lkdGg6Y2FsYygoMTAwJSAtIDEqdmFyKC0tZ2FwKSkvMik7CiAgICAgIH0KICAgICAgLmN2LXR3dTMxIC50aXRsZS50aXRsZS1sYXJnZXsKICAgICAgICBmb250LXNpemU6MjRweDsKICAgICAgfQogICAgICAuY3YtdHd1MzEgLnRpdGxlLnRpdGxlLXNtYWxsewogICAgICAgIGZvbnQtc2l6ZToxOHB4OwogICAgICB9CiAgICAgIC5jdi10d3UzMSAuYXJyb3d7CiAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7IAogICAgICB9CiAgICAgIC5jdi10d3UzMSAudHJhY2t7CiAgICAgICAgb3ZlcmZsb3cteDphdXRvOwogICAgICB9CiAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImN2LXR3dTMxIj4KICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iIGFyaWEtbGFiZWw9IkNhcnJ1c2VsIGRlIHbtZGVvcyI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmctc2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICBDZXV0YQogICAgICAgICAgPC9oMj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmbmQtbGluZWEiPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhciIgcm9sZT0icmVnaW9uIiBhcmlhLWxhYmVsPSJMaXN0YWRvIGRlIHbtZGVvcyBkZXN0YWNhZG9zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IGxlZnQiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iQW50ZXJpb3IiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNSA2bC02IDYgNiA2IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyByaWdodCIgdHlwZT0iYnV0dG9uIiBhcmlhLWxhYmVsPSJTaWd1aWVudGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik05IDE4bDYtNi02LTYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8L2J1dHRvbj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWNrIiByb2xlPSJsaXN0Ij4KICAKICAgICAgICA8YSBjbGFzcz0iY2FyZCIKICAgICAgICAgICBocmVmPSJodHRwczovL3lvdXR1YmUuY29tL3Nob3J0cy9HSlBnc3RKR2tmNCIKICAgICAgICAgICB0YXJnZXQ9Il90b3AiCiAgICAgICAgICAgdGl0bGU9IlZlciB27WRlbzogVW5hIGFuY2lhbmEgbGxvcmEgYWwgdmVyIG1hbmlmZXN0YW50ZXOgIGZyZW50ZSBhIHN1IGNhc2EgZW4gQ2V1dGEiCiAgICAgICAgICAgYXJpYS1sYWJlbD0iVmVyIHbtZGVvOiBVbmEgYW5jaWFuYSBsbG9yYSBhbCB2ZXIgbWFuaWZlc3RhbnRlc6AgZnJlbnRlIGEgc3UgY2FzYSBlbiBDZXV0YSIKICAgICAgICAgICBzdHlsZT0iLS1hY2NlbnQ6IzAwQTdGRiI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvdW5hLWFuY2lhbmEtbGxvcmEteS1zZS1zYW50aWd1YS1hbnRlLWxhLW11bHRpdHVkLWRlLW1hbmlmZXN0YW50ZXMtcXVlLWFjdWRlbi1hLXZlcmxhLWEtc3UtdmVudGFuYS1taW5pYXR1cmEtMjAyNjA4MjgtMjEyNzQxLTlhNjcxNy5qcGciIGFsdD0iVu1kZW86IFVuYSBhbmNpYW5hIGxsb3JhIGFsIHZlciBtYW5pZmVzdGFudGVzoCBmcmVudGUgYSBzdSBjYXNhIGVuIENldXRhIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWJ0biIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxoMiBjbGFzcz0idGl0bGUgdGl0bGUtbGFyZ2UiPjxkaXY+VW5hIDxzcGFuIGNsYXNzPSJhY2NlbnQiPmFuY2lhbmEgbGxvcmEgPC9zcGFuPmFsIHZlciBtYW5pZmVzdGFudGVzJm5ic3A7IGZyZW50ZSBhIHN1IGNhc2EgZW4gQ2V1dGE8L2Rpdj48L2gyPgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiCiAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly95b3V0dWJlLmNvbS9zaG9ydHMvRW8tUmZ1dFpVU3ciCiAgICAgICAgICAgdGFyZ2V0PSJfdG9wIgogICAgICAgICAgIHRpdGxlPSJWZXIgdu1kZW86IExvcyBpbnZhc29yZXMgdnVlbHZlbiBhIGxhIHBsYXlhIHRyYXMgY29tcHJhciBlbiBlbCBzdXBlcm1lcmNhZG8iCiAgICAgICAgICAgYXJpYS1sYWJlbD0iVmVyIHbtZGVvOiBMb3MgaW52YXNvcmVzIHZ1ZWx2ZW4gYSBsYSBwbGF5YSB0cmFzIGNvbXByYXIgZW4gZWwgc3VwZXJtZXJjYWRvIgogICAgICAgICAgIHN0eWxlPSItLWFjY2VudDojMDBBN0ZGIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9sb3MtaW52YXNvcmVzLW1hcnJvcXVpZXMtZGUtY2V1dGEtdnVlbHZlbi1hLWxhLXBsYXlhLWJlbml0ZXotdHJhcy1oYWNlci1sYS1jb21wcmEtZW4tZWwtc3VwZXJtZXJjYWRvLW1pbmlhdHVyYS0yMDI2MDgyOC0yMTI4MzktNzIxMTA2LmpwZyIgYWx0PSJW7WRlbzogTG9zIGludmFzb3JlcyB2dWVsdmVuIGEgbGEgcGxheWEgdHJhcyBjb21wcmFyIGVuIGVsIHN1cGVybWVyY2FkbyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1idG4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8aDIgY2xhc3M9InRpdGxlIHRpdGxlLWxhcmdlIj48ZGl2PkxvcyBpbnZhc29yZXMgdnVlbHZlbiBhIGxhIHBsYXlhIHRyYXMgPHNwYW4gY2xhc3M9ImFjY2VudCI+Y29tcHJhciBlbiBlbCBzdXBlcm1lcmNhZG88L3NwYW4+PC9kaXY+PC9oMj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIgogICAgICAgICAgIGhyZWY9Imh0dHBzOi8veW91dHViZS5jb20vc2hvcnRzL21sS0FaSnVSV2t3IgogICAgICAgICAgIHRhcmdldD0iX3RvcCIKICAgICAgICAgICB0aXRsZT0iVmVyIHbtZGVvOiBMb3MgaWxlZ2FsZXMgc2UgYnVybGFuIGRlIGxvcyBjZXV07WVzIGVuIFBsYXlhIEJlbml0ZXoiCiAgICAgICAgICAgYXJpYS1sYWJlbD0iVmVyIHbtZGVvOiBMb3MgaWxlZ2FsZXMgc2UgYnVybGFuIGRlIGxvcyBjZXV07WVzIGVuIFBsYXlhIEJlbml0ZXoiCiAgICAgICAgICAgc3R5bGU9Ii0tYWNjZW50OiMwMEE3RkYiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2VsLWJ1cmxlc2NvLXJlY2liaW1pZW50by1kZS1sb3MtaW52YXNvcmVzLW1hcnJvcXVpZXMtYS1sb3MtY2V1dGllcy1lbi1wbGF5YS1iZW5pdGV6LW1pbmlhdHVyYS0yMDI2MDgyOC0yMTI5MTItMmE1OGQ1LmpwZyIgYWx0PSJW7WRlbzogTG9zIGlsZWdhbGVzIHNlIGJ1cmxhbiBkZSBsb3MgY2V1dO1lcyBlbiBQbGF5YSBCZW5pdGV6IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWJ0biIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxoMiBjbGFzcz0idGl0bGUgdGl0bGUtbGFyZ2UiPkxvcyBpbGVnYWxlczxzcGFuIGNsYXNzPSJhY2NlbnQiPiBzZSBidXJsYW4gZGUgbG9zIGNldXTtZXMgPC9zcGFuPmVuIFBsYXlhIEJlbml0ZXo8L2gyPgogICAgICAgIDwvYT4KCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiCiAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly95b3V0dWJlLmNvbS9zaG9ydHMvUFBkLWJQeHFuUXMiCiAgICAgICAgICAgdGFyZ2V0PSJfdG9wIgogICAgICAgICAgIHRpdGxlPSJWZXIgdu1kZW86IFZlY2lub3MgZGUgVmlsbGFqb3ZpdGEgcmVjaWJlbiBhIGxvcyBtYW5pZmVzdGFudGVzIGVudHJlIHbtdG9yZXMiCiAgICAgICAgICAgYXJpYS1sYWJlbD0iVmVyIHbtZGVvOiBWZWNpbm9zIGRlIFZpbGxham92aXRhIHJlY2liZW4gYSBsb3MgbWFuaWZlc3RhbnRlcyBlbnRyZSB27XRvcmVzIgogICAgICAgICAgIHN0eWxlPSItLWFjY2VudDojMDBBN0ZGIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS92ZWNpbm9zLWNldXRpZXMtZGVsLWJhcnJpby12aWxsYWpvdml0YS1yZWNpYmVuLWEtbG9zLW1hbmlmZXN0YW50ZXMtZW50cmUtdml0b3Jlcy15LWFwbGF1c29zLW1pbmlhdHVyYS0yMDI2MDgyOC0yMTI5MzctZmM2NGNlLmpwZyIgYWx0PSJW7WRlbzogVmVjaW5vcyBkZSBWaWxsYWpvdml0YSByZWNpYmVuIGEgbG9zIG1hbmlmZXN0YW50ZXMgZW50cmUgdu10b3JlcyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1idG4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8aDIgY2xhc3M9InRpdGxlIHRpdGxlLWxhcmdlIj48ZGl2PlZlY2lub3MgZGUgVmlsbGFqb3ZpdGEgPHNwYW4gY2xhc3M9ImFjY2VudCI+cmVjaWJlbiBhIGxvcyBtYW5pZmVzdGFudGVzPC9zcGFuPiBlbnRyZSB27XRvcmVzPC9kaXY+PC9oMj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIgogICAgICAgICAgIGhyZWY9Imh0dHBzOi8veW91dHViZS5jb20vc2hvcnRzL1BfTWFjcVJEdFFJIgogICAgICAgICAgIHRhcmdldD0iX3RvcCIKICAgICAgICAgICB0aXRsZT0iVmVyIHbtZGVvOiBjZXV07WVzoGNsYW1hbiBjb250cmEgZWwgR29iaWVybm86ICZxdW90O05vIGhhbiBoZWNobyBuYWRhJnF1b3Q7IgogICAgICAgICAgIGFyaWEtbGFiZWw9IlZlciB27WRlbzogY2V1dO1lc6BjbGFtYW4gY29udHJhIGVsIEdvYmllcm5vOiAmcXVvdDtObyBoYW4gaGVjaG8gbmFkYSZxdW90OyIKICAgICAgICAgICBzdHlsZT0iLS1hY2NlbnQ6IzAwQTdGRiI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvY2V1dGllcy1jbGFtYW4tY29udHJhLWVsLWdvYmllcm5vLW5vLWhhbi1oZWNoby1hYnNvbHV0YW1lbnRlLW5hZGEtbWluaWF0dXJhLTIwMjYwODI4LTIxMzAxMi1jM2FmZTguanBnIiBhbHQ9IlbtZGVvOiBjZXV07WVzoGNsYW1hbiBjb250cmEgZWwgR29iaWVybm86ICZxdW90O05vIGhhbiBoZWNobyBuYWRhJnF1b3Q7IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWJ0biIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxoMiBjbGFzcz0idGl0bGUgdGl0bGUtbGFyZ2UiPjxkaXY+Y2V1dO1lcyZuYnNwOzxzcGFuIGNsYXNzPSJhY2NlbnQiPmNsYW1hbiBjb250cmEgZWwgR29iaWVybm88L3NwYW4+OiAiTm8gaGFuIGhlY2hvIG5hZGEiPC9kaXY+PC9oMj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIgogICAgICAgICAgIGhyZWY9Imh0dHBzOi8veW91dHViZS5jb20vc2hvcnRzL1pJQ3JTUllUYnpFIgogICAgICAgICAgIHRhcmdldD0iX3RvcCIKICAgICAgICAgICB0aXRsZT0iVmVyIHbtZGVvOiBDZXV07WVzIG11ZXN0cmFuIHN1IGFwb3lvIGEgbG9zIG1pbGl0YXJlczogJnF1b3Q7Tm8gZXN04WlzIHNvbG9zJnF1b3Q7IgogICAgICAgICAgIGFyaWEtbGFiZWw9IlZlciB27WRlbzogQ2V1dO1lcyBtdWVzdHJhbiBzdSBhcG95byBhIGxvcyBtaWxpdGFyZXM6ICZxdW90O05vIGVzdOFpcyBzb2xvcyZxdW90OyIKICAgICAgICAgICBzdHlsZT0iLS1hY2NlbnQ6IzAwQTdGRiI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvY2V1dGllcy1tdWVzdHJhbi1zdS1hcG95by1hLWxvcy1taWxpdGFyZXMtdHJhcy1sYS1pbnZhc2lvbi1uby1lc3RhaXMtc29sb3MtbWluaWF0dXJhLTIwMjYwODI4LTIxMzAzNS05N2ViYjYuanBnIiBhbHQ9IlbtZGVvOiBDZXV07WVzIG11ZXN0cmFuIHN1IGFwb3lvIGEgbG9zIG1pbGl0YXJlczogJnF1b3Q7Tm8gZXN04WlzIHNvbG9zJnF1b3Q7IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LWJ0biIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxoMiBjbGFzcz0idGl0bGUgdGl0bGUtbGFyZ2UiPjxkaXY+Q2V1dO1lcyBtdWVzdHJhbiBzdSA8c3BhbiBjbGFzcz0iYWNjZW50Ij5hcG95byBhIGxvcyBtaWxpdGFyZXM8L3NwYW4+OiAiTm8gZXN04WlzIHNvbG9zIjwvZGl2PjwvaDI+CiAgICAgICAgPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L3NlY3Rpb24+CiAgICA8L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAoZnVuY3Rpb24oKXsKICAgICAgdmFyIHJvb3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY3YtdHd1MzEnKTsKICAgICAgaWYgKCFyb290KSByZXR1cm47CiAgICAgIHZhciB0cmFjayA9IHJvb3QucXVlcnlTZWxlY3RvcignLnRyYWNrJyk7CiAgICAgIGlmICghdHJhY2spIHJldHVybjsKCiAgICAgIHZhciBhcnJvd3MgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hcnJvdycpOwogICAgICB2YXIgR0FQID0gMTY7CgogICAgICBmdW5jdGlvbiBnZXRDYXJkV2lkdGgoKXsKICAgICAgICB2YXIgZmlyc3QgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5jYXJkJyk7CiAgICAgICAgaWYgKCFmaXJzdCkgcmV0dXJuIDA7CiAgICAgICAgcmV0dXJuIGZpcnN0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoOwogICAgICB9CgogICAgICBmdW5jdGlvbiBnZXRDYXJkc1BlclBhZ2UoKXsKICAgICAgICByZXR1cm4gKHdpbmRvdy5pbm5lcldpZHRoIDw9IDc2OCkgPyAyIDogNDsKICAgICAgfQoKICAgICAgLy8gSHVlY28gYSBsYSBkZXJlY2hhIGRlbCB0cmFjayA9IDEwJSBkZWwgYW5jaG8gZGUgVU5BIHRhcmpldGEgKG5vIGRlbAogICAgICAvLyBjb250ZW5lZG9yKSwgcGFyYSBxdWUgc2UgaW50dXlhIHZpc3VhbG1lbnRlIHF1ZSBoYXkgbeFzIHbtZGVvcy4KICAgICAgZnVuY3Rpb24gdXBkYXRlUGFkSGludCgpewogICAgICAgIHZhciBjYXJkVyA9IGdldENhcmRXaWR0aCgpOwogICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICB0cmFjay5zdHlsZS5wYWRkaW5nUmlnaHQgPSBNYXRoLnJvdW5kKGNhcmRXICogMC4xMCkgKyAncHgnOwogICAgICB9CiAgICAgIHVwZGF0ZVBhZEhpbnQoKTsKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZVBhZEhpbnQpOwoKICAgICAgYXJyb3dzLmZvckVhY2goZnVuY3Rpb24oYnRuKXsKICAgICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgIHZhciBkaXIgPSB0aGlzLmNsYXNzTGlzdC5jb250YWlucygnbGVmdCcpID8gLTEgOiAxOwogICAgICAgICAgdmFyIGNhcmRXID0gZ2V0Q2FyZFdpZHRoKCk7CiAgICAgICAgICBpZiAoIWNhcmRXKSByZXR1cm47CiAgICAgICAgICB2YXIgc3RlcCA9IChjYXJkVyArIEdBUCkgKiBnZXRDYXJkc1BlclBhZ2UoKSAqIGRpcjsKICAgICAgICAgIHRyYWNrLnNjcm9sbEJ5KHsgbGVmdDogc3RlcCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pOwogICAgICAgIH0pOwogICAgICB9KTsKCiAgICAgIHZhciB0ZWFzZXJDYXJkcyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLmNhcmQuaGFzLXRlYXNlcicpOwogICAgICB0ZWFzZXJDYXJkcy5mb3JFYWNoKGZ1bmN0aW9uKGNhcmQpewogICAgICAgIHZhciB2ID0gY2FyZC5xdWVyeVNlbGVjdG9yKCd2aWRlby50ZWFzZXInKTsKICAgICAgICBpZiAoIXYpIHJldHVybjsKCiAgICAgICAgY2FyZC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWVudGVyJywgZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsKICAgICAgICAgICAgdi5jdXJyZW50VGltZSA9IDA7CiAgICAgICAgICAgIHZhciBwID0gdi5wbGF5KCk7CiAgICAgICAgICAgIGlmIChwICYmIHR5cGVvZiBwLnRoZW4gPT09ICdmdW5jdGlvbicpIHsKICAgICAgICAgICAgICBwLmNhdGNoKGZ1bmN0aW9uKCl7fSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH1jYXRjaChlKXt9CiAgICAgICAgfSk7CgogICAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIGZ1bmN0aW9uKCl7CiAgICAgICAgICB0cnl7CiAgICAgICAgICAgIHYucGF1c2UoKTsKICAgICAgICAgICAgdi5jdXJyZW50VGltZSA9IDA7CiAgICAgICAgICB9Y2F0Y2goZSl7fQogICAgICAgIH0pOwogICAgICB9KTsKICAgIH0pKCk7CiAgICA8L3NjcmlwdD4=
      IAogICAgPHN0eWxlPgogICAgQGltcG9ydCB1cmwoJ2h0dHBzOi8vdXNlLnR5cGVraXQubmV0L2lxYTFxZWIuY3NzJyk7CgogICAgLyogVGl0dWxhciBmaW5hbCBjYXJydXNlbCAoSFRNTCBleHBvcnRhZG8pICovCiAgICAuY3YtNXZrcGkgLmJnLXNlY3Rpb24tdGl0bGUgewogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsKICAgICAganVzdGlmeS1jb250ZW50OmNlbnRlcjsKICAgICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAgICBtYXJnaW4tYm90dG9tOjUwcHg7CiAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgIH0KICAgIC5jdi01dmtwaSAuZm5kLWxpbmVhIHsKICAgICAgd2lkdGg6MTAwJTsKICAgICAgaGVpZ2h0OjVweDsKICAgICAgZGlzcGxheTpmbGV4OwogICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgICAgei1pbmRleDoxOwogICAgICBtYXJnaW4tdG9wOi0yNXB4OwogICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzMzsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7CiAgICB9CiAgICAuY3YtNXZrcGkgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LWZhbWlseToiYmViYXMtbmV1ZS1wcm8tZXhwYW5kZWQiLHNhbnMtc2VyaWY7CiAgICAgIGZvbnQtd2VpZ2h0OjkwMDsKICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKICAgICAgbWFyZ2luOjA7CiAgICAgIGxpbmUtaGVpZ2h0OjEuMjsKICAgICAgbGV0dGVyLXNwYWNpbmc6LTFweDsKICAgICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICAgIHotaW5kZXg6MjsKICAgICAgYmFja2dyb3VuZDojZmZmOwogICAgICBwYWRkaW5nOjRweCAxM3B4IDRweCAxM3B4OwogICAgICBib3JkZXI6MXB4IHNvbGlkICMzMzM7CiAgICAgIGZvbnQtc2l6ZTo0MnB4OwogICAgICB0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyk7CiAgICB9CgogICAgLmN2LTV2a3BpIC5jYXJvdXNlbHsKICAgICAgLS1nYXA6MTZweDsKICAgICAgZGlzcGxheTpmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjpjb2x1bW47CiAgICAgIGdhcDp2YXIoLS1nYXApOwogICAgICBvdmVyZmxvdzpoaWRkZW47CiAgICAgIHBhZGRpbmctYm90dG9tOjZweDsKICAgIH0KICAgIC5yb3cgc2VjdGlvbnsgd2lkdGg6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgfQogICAgLmN2LTV2a3BpIC5zZWN0aW9ueyB3aWR0aDotd2Via2l0LWZpbGwtYXZhaWxhYmxlOyB9CiAgICAuY3YtNXZrcGkgLnRyYWNrewogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGdhcDp2YXIoLS1nYXApOwogICAgICBvdmVyZmxvdy14OmhpZGRlbjsKICAgICAgc2Nyb2xsLXNuYXAtdHlwZTp4IG1hbmRhdG9yeTsKICAgICAgc2Nyb2xsLWJlaGF2aW9yOnNtb290aDsKICAgIH0KICAgIC5jdi01dmtwaSAuY2FyZHsKICAgICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICAgIGZsZXg6MCAwIGF1dG87CiAgICAgIHNjcm9sbC1zbmFwLWFsaWduOnN0YXJ0OwogICAgICB3aWR0aDpjYWxjKCgxMDAlIC0gMyp2YXIoLS1nYXApKS80KTsKICAgICAgYXNwZWN0LXJhdGlvOjkvMTY7CiAgICAgIGJvcmRlci1yYWRpdXM6MTBweDsKICAgICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgICBiYWNrZ3JvdW5kOiMxMTE7CiAgICAgIGlzb2xhdGlvbjppc29sYXRlOwogICAgfQogICAgLmN2LTV2a3BpIC5jYXJkIGltZ3sKICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgIGluc2V0OjA7CiAgICAgIHdpZHRoOjEwMCU7CiAgICAgIGhlaWdodDoxMDAlOwogICAgICBvYmplY3QtZml0OmNvdmVyOwogICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjM1cyBlYXNlLCBvcGFjaXR5IC4yNXMgZWFzZTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTsKICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgc2NhbGU6IDEuMDI7CiAgICB9CiAgICAuY3YtNXZrcGkgLmNhcmQ6aG92ZXIgaW1nLAogICAgLmN2LTV2a3BpIC5jYXJkOmZvY3VzLXZpc2libGUgaW1newogICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpOwogICAgfQoKICAgIC5jdi01dmtwaSAuY2FyZCB2aWRlby50ZWFzZXJ7CiAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICBpbnNldDowOwogICAgICB3aWR0aDoxMDAlOwogICAgICBoZWlnaHQ6MTAwJTsKICAgICAgb2JqZWN0LWZpdDpjb3ZlcjsKICAgICAgb3BhY2l0eTowOwogICAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjI1cyBlYXNlOwogICAgICBwb2ludGVyLWV2ZW50czpub25lOwogICAgICBzY2FsZTogMS4wMjsKICAgIH0KICAgIC5jdi01dmtwaSAuY2FyZC5oYXMtdGVhc2VyOmhvdmVyIGltZywKICAgIC5jdi01dmtwaSAuY2FyZC5oYXMtdGVhc2VyOmZvY3VzLXZpc2libGUgaW1newogICAgICBvcGFjaXR5OjA7CiAgICB9CiAgICAuY3YtNXZrcGkgLmNhcmQuaGFzLXRlYXNlcjpob3ZlciB2aWRlby50ZWFzZXIsCiAgICAuY3YtNXZrcGkgLmNhcmQuaGFzLXRlYXNlcjpmb2N1cy12aXNpYmxlIHZpZGVvLnRlYXNlcnsKICAgICAgb3BhY2l0eToxOwogICAgfQoKICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKXsKICAgICAgLmN2LTV2a3BpIC5jYXJkIGltZ3sgdHJhbnNpdGlvbjogbm9uZTsgfQogICAgICAuY3YtNXZrcGkgLmNhcmQgdmlkZW8udGVhc2VyeyB0cmFuc2l0aW9uOm5vbmU7IH0KICAgIH0KCiAgICAuY3YtNXZrcGkgLnNoYWRlewogICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgaW5zZXQ6YXV0byAwIDAgMDsKICAgICAgaGVpZ2h0OjcwJTsKICAgICAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMCwwLDAsMCkgMCUsIHJnYmEoMCwwLDAsLjg1KSAxMDAlKTsKICAgIH0KICAgIC5jdi01dmtwaSAudGl0bGV7CiAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICBsZWZ0OjEycHg7CiAgICAgIHJpZ2h0OjEycHg7CiAgICAgIGJvdHRvbToxMHB4OwogICAgICBtYXJnaW46MDsKICAgICAgY29sb3I6I2ZmZjsKICAgICAgZm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmOwogICAgICBmb250LXdlaWdodDo5MDA7CiAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICAgICAgZGlzcGxheTotd2Via2l0LWJveDsKICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOwogICAgICBvdmVyZmxvdzpoaWRkZW47CiAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7CiAgICB9CiAgICAuY3YtNXZrcGkgLnRpdGxlLnRpdGxlLWxhcmdle2ZvbnQtc2l6ZToyN3B4O2xpbmUtaGVpZ2h0OjFlbTstd2Via2l0LWxpbmUtY2xhbXA6NTtsaW5lLWNsYW1wOjU7fQogICAgLmN2LTV2a3BpIC50aXRsZS50aXRsZS1zbWFsbHtmb250LXNpemU6MjFweDtsaW5lLWhlaWdodDoxZW07LXdlYmtpdC1saW5lLWNsYW1wOjc7bGluZS1jbGFtcDo3O30KICAgIC5jdi01dmtwaSAudGl0bGUgLmFjY2VudHtjb2xvcjp2YXIoLS1hY2NlbnQsICMwMGQ0ZmYpfQoKICAgIC5jdi01dmtwaSAucGxheS1idG57cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwcHg7bGVmdDoxMHB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC40Mik7Ym9yZGVyLXJhZGl1czo0cHg7ei1pbmRleDoyO2FuaW1hdGlvbjpjdi01dmtwaVBsYXlCbGluayAycyBlYXNlLWluLW91dCBpbmZpbml0ZTt9CiAgICAuY3YtNXZrcGkgLnBsYXktYnRuOjpiZWZvcmV7Y29udGVudDoiIjt3aWR0aDowO2hlaWdodDowO2JvcmRlci1sZWZ0OjEwcHggc29saWQgI2ZmZjtib3JkZXItdG9wOjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB0cmFuc3BhcmVudDttYXJnaW4tbGVmdDozcHg7fQogICAgQGtleWZyYW1lcyBjdi01dmtwaVBsYXlCbGlua3swJSwxMDAle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNyk7fTUwJXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNjUsMjU1LC45KTt9fQoKICAgIC5jdi01dmtwaSAuYXJ7cG9zaXRpb246cmVsYXRpdmV9CiAgICAuY3YtNXZrcGkgLmFycm93ewogICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgdG9wOjUwJTsKICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgIHdpZHRoOjQ0cHg7CiAgICAgIGhlaWdodDo0NHB4OwogICAgICBib3JkZXItcmFkaXVzOjUwJTsKICAgICAgYmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpOwogICAgICBib3gtc2hhZG93OjAgNnB4IDE2cHggcmdiKDAgMCAwIC8gMjAlKTsKICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZmZmOwogICAgICBkaXNwbGF5OmZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6Y2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOwogICAgICBjdXJzb3I6cG9pbnRlcjsKICAgICAgei1pbmRleDoyOwogICAgICB0cmFuc2l0aW9uOi4zczsKICAgIH0KICAgIC5jdi01dmtwaSAuYXJyb3c6aG92ZXJ7CiAgICAgIGJhY2tncm91bmQ6cmdiKDAgMCAwIC8gMjAlKTsKICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZmZmOwogICAgfQogICAgLmN2LTV2a3BpIC5hcnJvdzpmb2N1c3sKICAgICAgYmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpOwogICAgfQogICAgLmN2LTV2a3BpIC5hcnJvdyBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0KICAgIC5jdi01dmtwaSAuYXJyb3cubGVmdHtsZWZ0OjEwcHh9CiAgICAuY3YtNXZrcGkgLmFycm93LnJpZ2h0e3JpZ2h0OjEwcHh9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpewogICAgICAuY3YtNXZrcGkgLmJnLXNlY3Rpb24tdGl0bGV7CiAgICAgICAgbWFyZ2luLWJvdHRvbTozMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQogICAgICAuY3YtNXZrcGkgLmZuZC1saW5lYXsKICAgICAgICBtYXJnaW4tdG9wOi0xOHB4OwogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzMzOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzOwogICAgICB9CiAgICAgIC5jdi01dmtwaSAuc2VjdGlvbi10aXRsZXsKICAgICAgICBmb250LXNpemU6MjdweDsKICAgICAgICBwYWRkaW5nOjJweCA4cHggMnB4IDhweDsKICAgICAgICB0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyk7CiAgICAgIH0KICAgICAgLmN2LTV2a3BpIC5jYXJkewogICAgICAgIHdpZHRoOmNhbGMoKDEwMCUgLSAxKnZhcigtLWdhcCkpLzIpOwogICAgICB9CiAgICAgIC5jdi01dmtwaSAudGl0bGUudGl0bGUtbGFyZ2V7CiAgICAgICAgZm9udC1zaXplOjI0cHg7CiAgICAgIH0KICAgICAgLmN2LTV2a3BpIC50aXRsZS50aXRsZS1zbWFsbHsKICAgICAgICBmb250LXNpemU6MThweDsKICAgICAgfQogICAgICAuY3YtNXZrcGkgLmFycm93ewogICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OyAKICAgICAgfQogICAgICAuY3YtNXZrcGkgLnRyYWNrewogICAgICAgIG92ZXJmbG93LXg6YXV0bzsKICAgICAgfQogICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJjdi01dmtwaSI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBhcmlhLWxhYmVsPSJDYXJydXNlbCBkZSB27WRlb3MiPgogICAgICAgIDxkaXYgY2xhc3M9ImJnLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgQ2V1dGEKICAgICAgICAgIDwvaDI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZm5kLWxpbmVhIj48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXIiIHJvbGU9InJlZ2lvbiIgYXJpYS1sYWJlbD0iTGlzdGFkbyBkZSB27WRlb3MgZGVzdGFjYWRvcyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhcnJvdyBsZWZ0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IkFudGVyaW9yIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTUgNmwtNiA2IDYgNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYXJyb3cgcmlnaHQiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iU2lndWllbnRlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNOSAxOGw2LTYtNi02IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmFjayIgcm9sZT0ibGlzdCI+CiAgCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiCiAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly95b3V0dWJlLmNvbS9zaG9ydHMvR0pQZ3N0SkdrZjQiCiAgICAgICAgICAgdGFyZ2V0PSJfdG9wIgogICAgICAgICAgIHRpdGxlPSJWZXIgdu1kZW86IFVuYSBhbmNpYW5hIGxsb3JhIGFsIHZlciBtYW5pZmVzdGFudGVzoCBmcmVudGUgYSBzdSBjYXNhIGVuIENldXRhIgogICAgICAgICAgIGFyaWEtbGFiZWw9IlZlciB27WRlbzogVW5hIGFuY2lhbmEgbGxvcmEgYWwgdmVyIG1hbmlmZXN0YW50ZXOgIGZyZW50ZSBhIHN1IGNhc2EgZW4gQ2V1dGEiCiAgICAgICAgICAgc3R5bGU9Ii0tYWNjZW50OiMwMEE3RkYiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL3VuYS1hbmNpYW5hLWxsb3JhLXktc2Utc2FudGlndWEtYW50ZS1sYS1tdWx0aXR1ZC1kZS1tYW5pZmVzdGFudGVzLXF1ZS1hY3VkZW4tYS12ZXJsYS1hLXN1LXZlbnRhbmEtbWluaWF0dXJhLTIwMjYwODI4LTIxMjc0MS05YTY3MTcuanBnIiBhbHQ9IlbtZGVvOiBVbmEgYW5jaWFuYSBsbG9yYSBhbCB2ZXIgbWFuaWZlc3RhbnRlc6AgZnJlbnRlIGEgc3UgY2FzYSBlbiBDZXV0YSIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1idG4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8aDIgY2xhc3M9InRpdGxlIHRpdGxlLWxhcmdlIj48ZGl2PlVuYSA8c3BhbiBjbGFzcz0iYWNjZW50Ij5hbmNpYW5hIGxsb3JhIDwvc3Bhbj5hbCB2ZXIgbWFuaWZlc3RhbnRlcyZuYnNwOyBmcmVudGUgYSBzdSBjYXNhIGVuIENldXRhPC9kaXY+PC9oMj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIgogICAgICAgICAgIGhyZWY9Imh0dHBzOi8veW91dHViZS5jb20vc2hvcnRzL0VvLVJmdXRaVVN3IgogICAgICAgICAgIHRhcmdldD0iX3RvcCIKICAgICAgICAgICB0aXRsZT0iVmVyIHbtZGVvOiBMb3MgaW52YXNvcmVzIHZ1ZWx2ZW4gYSBsYSBwbGF5YSB0cmFzIGNvbXByYXIgZW4gZWwgc3VwZXJtZXJjYWRvIgogICAgICAgICAgIGFyaWEtbGFiZWw9IlZlciB27WRlbzogTG9zIGludmFzb3JlcyB2dWVsdmVuIGEgbGEgcGxheWEgdHJhcyBjb21wcmFyIGVuIGVsIHN1cGVybWVyY2FkbyIKICAgICAgICAgICBzdHlsZT0iLS1hY2NlbnQ6IzAwQTdGRiI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvbG9zLWludmFzb3Jlcy1tYXJyb3F1aWVzLWRlLWNldXRhLXZ1ZWx2ZW4tYS1sYS1wbGF5YS1iZW5pdGV6LXRyYXMtaGFjZXItbGEtY29tcHJhLWVuLWVsLXN1cGVybWVyY2Fkby1taW5pYXR1cmEtMjAyNjA4MjgtMjEyODM5LTcyMTEwNi5qcGciIGFsdD0iVu1kZW86IExvcyBpbnZhc29yZXMgdnVlbHZlbiBhIGxhIHBsYXlhIHRyYXMgY29tcHJhciBlbiBlbCBzdXBlcm1lcmNhZG8iIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXktYnRuIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkZSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPGgyIGNsYXNzPSJ0aXRsZSB0aXRsZS1sYXJnZSI+PGRpdj5Mb3MgaW52YXNvcmVzIHZ1ZWx2ZW4gYSBsYSBwbGF5YSB0cmFzIDxzcGFuIGNsYXNzPSJhY2NlbnQiPmNvbXByYXIgZW4gZWwgc3VwZXJtZXJjYWRvPC9zcGFuPjwvZGl2PjwvaDI+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBjbGFzcz0iY2FyZCIKICAgICAgICAgICBocmVmPSJodHRwczovL3lvdXR1YmUuY29tL3Nob3J0cy9tbEtBWkp1UldrdyIKICAgICAgICAgICB0YXJnZXQ9Il90b3AiCiAgICAgICAgICAgdGl0bGU9IlZlciB27WRlbzogTG9zIGlsZWdhbGVzIHNlIGJ1cmxhbiBkZSBsb3MgY2V1dO1lcyBlbiBQbGF5YSBCZW5pdGV6IgogICAgICAgICAgIGFyaWEtbGFiZWw9IlZlciB27WRlbzogTG9zIGlsZWdhbGVzIHNlIGJ1cmxhbiBkZSBsb3MgY2V1dO1lcyBlbiBQbGF5YSBCZW5pdGV6IgogICAgICAgICAgIHN0eWxlPSItLWFjY2VudDojMDBBN0ZGIj4KICAgICAgICAgIDxpbWcgc3JjPSJodHRwOi8vb2tkaWFyaW8uY29tL2VzcGVjaWFsZXMvYXBwcy9tZWRpYS9lbC1idXJsZXNjby1yZWNpYmltaWVudG8tZGUtbG9zLWludmFzb3Jlcy1tYXJyb3F1aWVzLWEtbG9zLWNldXRpZXMtZW4tcGxheWEtYmVuaXRlei1taW5pYXR1cmEtMjAyNjA4MjgtMjEyOTEyLTJhNThkNS5qcGciIGFsdD0iVu1kZW86IExvcyBpbGVnYWxlcyBzZSBidXJsYW4gZGUgbG9zIGNldXTtZXMgZW4gUGxheWEgQmVuaXRleiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1idG4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8aDIgY2xhc3M9InRpdGxlIHRpdGxlLWxhcmdlIj5Mb3MgaWxlZ2FsZXM8c3BhbiBjbGFzcz0iYWNjZW50Ij4gc2UgYnVybGFuIGRlIGxvcyBjZXV07WVzIDwvc3Bhbj5lbiBQbGF5YSBCZW5pdGV6PC9oMj4KICAgICAgICA8L2E+CgogICAgICAgIDxhIGNsYXNzPSJjYXJkIgogICAgICAgICAgIGhyZWY9Imh0dHBzOi8veW91dHViZS5jb20vc2hvcnRzL1BQZC1iUHhxblFzIgogICAgICAgICAgIHRhcmdldD0iX3RvcCIKICAgICAgICAgICB0aXRsZT0iVmVyIHbtZGVvOiBWZWNpbm9zIGRlIFZpbGxham92aXRhIHJlY2liZW4gYSBsb3MgbWFuaWZlc3RhbnRlcyBlbnRyZSB27XRvcmVzIgogICAgICAgICAgIGFyaWEtbGFiZWw9IlZlciB27WRlbzogVmVjaW5vcyBkZSBWaWxsYWpvdml0YSByZWNpYmVuIGEgbG9zIG1hbmlmZXN0YW50ZXMgZW50cmUgdu10b3JlcyIKICAgICAgICAgICBzdHlsZT0iLS1hY2NlbnQ6IzAwQTdGRiI+CiAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL29rZGlhcmlvLmNvbS9lc3BlY2lhbGVzL2FwcHMvbWVkaWEvdmVjaW5vcy1jZXV0aWVzLWRlbC1iYXJyaW8tdmlsbGFqb3ZpdGEtcmVjaWJlbi1hLWxvcy1tYW5pZmVzdGFudGVzLWVudHJlLXZpdG9yZXMteS1hcGxhdXNvcy1taW5pYXR1cmEtMjAyNjA4MjgtMjEyOTM3LWZjNjRjZS5qcGciIGFsdD0iVu1kZW86IFZlY2lub3MgZGUgVmlsbGFqb3ZpdGEgcmVjaWJlbiBhIGxvcyBtYW5pZmVzdGFudGVzIGVudHJlIHbtdG9yZXMiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXktYnRuIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkZSIgYXJpYS1oaWRkZW49InRydWUiPjwvZGl2PgogICAgICAgICAgPGgyIGNsYXNzPSJ0aXRsZSB0aXRsZS1sYXJnZSI+PGRpdj5WZWNpbm9zIGRlIFZpbGxham92aXRhIDxzcGFuIGNsYXNzPSJhY2NlbnQiPnJlY2liZW4gYSBsb3MgbWFuaWZlc3RhbnRlczwvc3Bhbj4gZW50cmUgdu10b3JlczwvZGl2PjwvaDI+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBjbGFzcz0iY2FyZCIKICAgICAgICAgICBocmVmPSJodHRwczovL3lvdXR1YmUuY29tL3Nob3J0cy9QX01hY3FSRHRRSSIKICAgICAgICAgICB0YXJnZXQ9Il90b3AiCiAgICAgICAgICAgdGl0bGU9IlZlciB27WRlbzogY2V1dO1lc6BjbGFtYW4gY29udHJhIGVsIEdvYmllcm5vOiAmcXVvdDtObyBoYW4gaGVjaG8gbmFkYSZxdW90OyIKICAgICAgICAgICBhcmlhLWxhYmVsPSJWZXIgdu1kZW86IGNldXTtZXOgY2xhbWFuIGNvbnRyYSBlbCBHb2JpZXJubzogJnF1b3Q7Tm8gaGFuIGhlY2hvIG5hZGEmcXVvdDsiCiAgICAgICAgICAgc3R5bGU9Ii0tYWNjZW50OiMwMEE3RkYiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2NldXRpZXMtY2xhbWFuLWNvbnRyYS1lbC1nb2JpZXJuby1uby1oYW4taGVjaG8tYWJzb2x1dGFtZW50ZS1uYWRhLW1pbmlhdHVyYS0yMDI2MDgyOC0yMTMwMTItYzNhZmU4LmpwZyIgYWx0PSJW7WRlbzogY2V1dO1lc6BjbGFtYW4gY29udHJhIGVsIEdvYmllcm5vOiAmcXVvdDtObyBoYW4gaGVjaG8gbmFkYSZxdW90OyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1idG4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8aDIgY2xhc3M9InRpdGxlIHRpdGxlLWxhcmdlIj48ZGl2PmNldXTtZXMmbmJzcDs8c3BhbiBjbGFzcz0iYWNjZW50Ij5jbGFtYW4gY29udHJhIGVsIEdvYmllcm5vPC9zcGFuPjogIk5vIGhhbiBoZWNobyBuYWRhIjwvZGl2PjwvaDI+CiAgICAgICAgPC9hPgoKICAgICAgICA8YSBjbGFzcz0iY2FyZCIKICAgICAgICAgICBocmVmPSJodHRwczovL3lvdXR1YmUuY29tL3Nob3J0cy9aSUNyU1JZVGJ6RSIKICAgICAgICAgICB0YXJnZXQ9Il90b3AiCiAgICAgICAgICAgdGl0bGU9IlZlciB27WRlbzogQ2V1dO1lcyBtdWVzdHJhbiBzdSBhcG95byBhIGxvcyBtaWxpdGFyZXM6ICZxdW90O05vIGVzdOFpcyBzb2xvcyZxdW90OyIKICAgICAgICAgICBhcmlhLWxhYmVsPSJWZXIgdu1kZW86IENldXTtZXMgbXVlc3RyYW4gc3UgYXBveW8gYSBsb3MgbWlsaXRhcmVzOiAmcXVvdDtObyBlc3ThaXMgc29sb3MmcXVvdDsiCiAgICAgICAgICAgc3R5bGU9Ii0tYWNjZW50OiMwMEE3RkYiPgogICAgICAgICAgPGltZyBzcmM9Imh0dHA6Ly9va2RpYXJpby5jb20vZXNwZWNpYWxlcy9hcHBzL21lZGlhL2NldXRpZXMtbXVlc3RyYW4tc3UtYXBveW8tYS1sb3MtbWlsaXRhcmVzLXRyYXMtbGEtaW52YXNpb24tbm8tZXN0YWlzLXNvbG9zLW1pbmlhdHVyYS0yMDI2MDgyOC0yMTMwMzUtOTdlYmI2LmpwZyIgYWx0PSJW7WRlbzogQ2V1dO1lcyBtdWVzdHJhbiBzdSBhcG95byBhIGxvcyBtaWxpdGFyZXM6ICZxdW90O05vIGVzdOFpcyBzb2xvcyZxdW90OyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0icGxheS1idG4iIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9kaXY+CiAgICAgICAgICA8aDIgY2xhc3M9InRpdGxlIHRpdGxlLWxhcmdlIj48ZGl2PkNldXTtZXMgbXVlc3RyYW4gc3UgPHNwYW4gY2xhc3M9ImFjY2VudCI+YXBveW8gYSBsb3MgbWlsaXRhcmVzPC9zcGFuPjogIk5vIGVzdOFpcyBzb2xvcyI8L2Rpdj48L2gyPgogICAgICAgIDwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9zZWN0aW9uPgogICAgPC9kaXY+CiAgICA8c2NyaXB0PgogICAgKGZ1bmN0aW9uKCl7CiAgICAgIHZhciByb290ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmN2LTV2a3BpJyk7CiAgICAgIGlmICghcm9vdCkgcmV0dXJuOwogICAgICB2YXIgdHJhY2sgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy50cmFjaycpOwogICAgICBpZiAoIXRyYWNrKSByZXR1cm47CgogICAgICB2YXIgYXJyb3dzID0gcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuYXJyb3cnKTsKICAgICAgdmFyIEdBUCA9IDE2OwoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZFdpZHRoKCl7CiAgICAgICAgdmFyIGZpcnN0ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuY2FyZCcpOwogICAgICAgIGlmICghZmlyc3QpIHJldHVybiAwOwogICAgICAgIHJldHVybiBmaXJzdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDsKICAgICAgfQoKICAgICAgZnVuY3Rpb24gZ2V0Q2FyZHNQZXJQYWdlKCl7CiAgICAgICAgcmV0dXJuICh3aW5kb3cuaW5uZXJXaWR0aCA8PSA3NjgpID8gMiA6IDQ7CiAgICAgIH0KCiAgICAgIC8vIEh1ZWNvIGEgbGEgZGVyZWNoYSBkZWwgdHJhY2sgPSAxMCUgZGVsIGFuY2hvIGRlIFVOQSB0YXJqZXRhIChubyBkZWwKICAgICAgLy8gY29udGVuZWRvciksIHBhcmEgcXVlIHNlIGludHV5YSB2aXN1YWxtZW50ZSBxdWUgaGF5IG3hcyB27WRlb3MuCiAgICAgIGZ1bmN0aW9uIHVwZGF0ZVBhZEhpbnQoKXsKICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICBpZiAoIWNhcmRXKSByZXR1cm47CiAgICAgICAgdHJhY2suc3R5bGUucGFkZGluZ1JpZ2h0ID0gTWF0aC5yb3VuZChjYXJkVyAqIDAuMTApICsgJ3B4JzsKICAgICAgfQogICAgICB1cGRhdGVQYWRIaW50KCk7CiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGVQYWRIaW50KTsKCiAgICAgIGFycm93cy5mb3JFYWNoKGZ1bmN0aW9uKGJ0bil7CiAgICAgICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24oZSl7CiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICB2YXIgZGlyID0gdGhpcy5jbGFzc0xpc3QuY29udGFpbnMoJ2xlZnQnKSA/IC0xIDogMTsKICAgICAgICAgIHZhciBjYXJkVyA9IGdldENhcmRXaWR0aCgpOwogICAgICAgICAgaWYgKCFjYXJkVykgcmV0dXJuOwogICAgICAgICAgdmFyIHN0ZXAgPSAoY2FyZFcgKyBHQVApICogZ2V0Q2FyZHNQZXJQYWdlKCkgKiBkaXI7CiAgICAgICAgICB0cmFjay5zY3JvbGxCeSh7IGxlZnQ6IHN0ZXAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTsKICAgICAgICB9KTsKICAgICAgfSk7CgogICAgICB2YXIgdGVhc2VyQ2FyZHMgPSByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkLmhhcy10ZWFzZXInKTsKICAgICAgdGVhc2VyQ2FyZHMuZm9yRWFjaChmdW5jdGlvbihjYXJkKXsKICAgICAgICB2YXIgdiA9IGNhcmQucXVlcnlTZWxlY3RvcigndmlkZW8udGVhc2VyJyk7CiAgICAgICAgaWYgKCF2KSByZXR1cm47CgogICAgICAgIGNhcmQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsIGZ1bmN0aW9uKCl7CiAgICAgICAgICB0cnl7CiAgICAgICAgICAgIHYuY3VycmVudFRpbWUgPSAwOwogICAgICAgICAgICB2YXIgcCA9IHYucGxheSgpOwogICAgICAgICAgICBpZiAocCAmJiB0eXBlb2YgcC50aGVuID09PSAnZnVuY3Rpb24nKSB7CiAgICAgICAgICAgICAgcC5jYXRjaChmdW5jdGlvbigpe30pOwogICAgICAgICAgICB9CiAgICAgICAgICB9Y2F0Y2goZSl7fQogICAgICAgIH0pOwoKICAgICAgICBjYXJkLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBmdW5jdGlvbigpewogICAgICAgICAgdHJ5ewogICAgICAgICAgICB2LnBhdXNlKCk7CiAgICAgICAgICAgIHYuY3VycmVudFRpbWUgPSAwOwogICAgICAgICAgfWNhdGNoKGUpe30KICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
    • A Su Majestad el Rey Mohamed VI de Marruecos
    • Detenido un conductor de un VTC en Guipúzcoa por retener y agredir sexualmente a una clienta
        • Sucesos
        • Sucesos

      Detenido un conductor de un VTC en Guipúzcoa por retener y agredir sexualmente a una clienta

      • Diana Arias
      • 2026-08-29 11:07
    • Trump se queda con 65.000 millones de barriles de Venezuela y duplica las reservas de petróleo de EEUU
        • Economía
        • Economía

      Trump se queda con 65.000 millones de barriles de Venezuela y duplica las reservas de petróleo de EEUU

      • Jose de la Morena
      • 2026-08-29 11:03
    • Detenidos dos jugadores de la cantera del Real Mallorca por grabar a una menor manteniendo sexo con uno de ellos
        • OkBaleares
        • OkBaleares

      Detenidos dos jugadores de la cantera del Mallorca por grabar a una menor manteniendo sexo

      La Policía Nacional ha detenido a dos jugadores de la cantera del equipo de fútbol Real Mallorca por filmar a una menor manteniendo sexo con uno de ellos mientras su compañero de equipo estaba dentro de un armario grabando con su teléfono móvil la escena de índole sexual sin que la joven lo supiera. Se trata de un caso que está siendo investigado como un delito de corrupción de menores en Palma.
      • Julio Bastida
      • 2026-08-29 09:10
    • Ceutíes, sois el orgullo de España
    • El Gobierno monta un
    • La anticuaria de Madrid que conquista Hollywood: Bruce Springsteen nos visitó y Christopher Lloyd compró unos gemelos
        • Cool
        • Cool

      La anticuaria de Madrid que conquista Hollywood: "vino Bruce Springsteen"

      • Marta Menéndez
      • 2026-08-29 05:45
    • Beatriz Trapote aumenta la tensión en el culebrón entre Belén Esteban y Juls Janeiro : Es momento de que saque el dolor que lleva dentro
        • Cool
        • Cool

      Beatriz Trapote alimenta el culebrón entre Belén Esteban y Juls Janeiro

      • Javi Fernández
      • 2026-08-29 11:18
    • Mourinho tiene lo que quería
    • Militao acelera para octubre
        • Real Madrid
        • Real Madrid

      Militao acelera para octubre

      Éder Militao sigue avanzando. Y cada vez lo hace más rápido. El central brasileño continúa quemando etapas en la recuperación de la lesión que sufrió a finales del pasado mes de abril y ya trabaja sobre el césped de Valdebebas a gran intensidad en un campo anexo. Un paso importante dentro de una rehabilitación en la que tanto el jugador como el Real Madrid están evitando asumir cualquier riesgo.
      • Iván Martín
      • 2026-08-29 10:58
    • Mourinho lo tiene claro con Diomande
        • Real Madrid
        • Real Madrid

      Mourinho lo tiene claro con Diomande

      • Iván Martín
      • 2026-08-28 21:00
    • Sofía sería hoy viuda...
    • Sube & Baja, por Jaime Peñafiel: semana del 22 al 28 de agosto
    • OK AL DÍA

    • Un experto veterinario extremeño desmiente el mito de los gatos negros: Son de los que más complicado lo tienen para salir de los refugios
        • Mascotas
        • Mascotas

      Un experto veterinario extremeño desmiente el mito de los gatos negros: "Son de los que más..."

      • Naiara Philpotts
      • 2026-08-29 09:30
    • Las Cabañuelas de Jorge Rey confirman lo que llega en septiembre y la previsión no es buena: Un claro reflejo de un otoño muy húmedo
        • Sociedad
        • Sociedad

      Las Cabañuelas de Jorge Rey confirman lo que llega en septiembre y no es bueno

      • Gemma Meca
      • 2026-08-29 09:30
    • Los bomberos coinciden al 100% aunque mucha gente no hace caso: Es recomendable siempre no dejar puesta la lavadora, la secadora o el lavavajillas por la noche
        • Curiosidades
        • Curiosidades

      Los bomberos coinciden: "Es recomendable no dejar puesta la lavadora o el lavavajillas por la noche"

      Hay electrodomésticos que dejamos encendidos antes de irnos a la cama porque así, al despertar, ya está todo hecho. Suena práctico, cómodo y hasta lógico, y casi todo el mundo lo hace alguna vez, pero los cuerpos de bomberos llevan años insistiendo en lo mismo con una unanimidad que no es nada habitual entre ellos. 
      • Alejo Lucarás
      • 2026-08-29 08:22
    • Martin Luther King, activista y premio Nobel de la Paz en 1964: Hemos aprendido a volar como los pájaros, a nadar como los peces, pero no hemos aprendido el sencillo arte de vivir como hermanos
        • Curiosidades
        • Curiosidades

      Martin Luther King: "aprendemos a volar como los pájaros pero no el arte de vivir como hermanos"

      • Manuel Morera
      • 2026-08-29 08:30
    • Los entrenadores expertos coinciden: hacer pesas de 1 kg está bien, pero para tener los brazos más definidos terminan quedándose cortas
        • Cool
        • Cool

      hacer pesas de 1 kg está bien, pero para tener los brazos más definidos se "quedan cortas"

      • Marta Burgués
      • 2026-08-29 09:43
    • La AEMET avisa de un cambio radical en Canarias y confirma: no estamos preparados para lo que llega a partir de hoy
        • España
        • España

      La AEMET avisa de un cambio radical en Canarias: no estamos preparados para lo que llega 

      • Gemma Meca
      • 2026-08-29 09:45
    • Iñaki Gabilondo, sobre la vejez: Cuando ya tienes una edad, ya tienes el piso pagado, ya los hijos son mayores, ya tienes los reconocimientos que has podido tener, ¿qué motor puedes tener?
        • Cool
        • Cool

      Iñaki Gabilondo: "Cuando ya tienes una edad, ya tienes el piso pagado,  ¿qué motor puedes tener?"

      • Daniel Marín
      • 2026-08-29 09:44
    • André Alonso, experto en plantas: Regar una maceta todos los días es de principiantes, hay que regar cuando la planta lo pide
        • Curiosidades
        • Curiosidades

      André Alonso, experto en plantas: "Regar una maceta todos los días es de principiantes"

      • Alejo Lucarás
      • 2026-08-29 09:00
    • La mejor planta decorativa fácil de cuidar que llena de color tu jardín y además aleja a las plagas y a las serpientes
        • Naturaleza
        • Naturaleza

      La mejor planta decorativa fácil de cuidar que llena de color tu jardín y además aleja a las plagas

      • Ana López Vera
      • 2026-08-29 08:15
    • CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi04NHVsciAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi04NHVsciAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LTg0dWxyIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtODR1bHIgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LTg0dWxyIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LTg0dWxyIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgLmN2LTg0dWxyIC50cmFjazo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfQogICAgLmN2LTg0dWxyIC5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MCAwIGF1dG87c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7d2lkdGg6Y2FsYygoMTAwJSAtIDIqdmFyKC0tZ2FwKSAtIHZhcigtLXBlZWspKS8zKTthc3BlY3QtcmF0aW86OS8xNjtib3JkZXItcmFkaXVzOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UsIHRyYW5zZm9ybSAuNHMgZWFzZX0KICAgIC5jdi04NHVsciAuY2FyZC5pcy1pbntvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9CgogICAgLmN2LTg0dWxyIC50aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsIG9wYWNpdHkgLjI1cyBlYXNlO3RyYW5zZm9ybTpzY2FsZSgxLjAxKX0KICAgIC5jdi04NHVsciAuY2FyZDpob3ZlciAudGh1bWIsLmN2LTg0dWxyIC5jYXJkOmZvY3VzLXZpc2libGUgLnRodW1ie3RyYW5zZm9ybTpzY2FsZSgxLjA2KX0KICAgIC8qIFNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvczogc2UgdXNhbiBjb250cm9sZXMgbmF0aXZvcyBkZWwgcGxheWVyICovCgogICAgLmN2LTg0dWxyIC5hcntwb3NpdGlvbjpyZWxhdGl2ZX0KICAgIC5jdi04NHVsciAuYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiKDI1NSAyNTUgMjU1IC8gMjAlKTtib3gtc2hhZG93OjAgNnB4IDE2cHggcmdiKDAgMCAwIC8gMjAlKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6Mjt0cmFuc2l0aW9uOi4zc30KICAgIC5jdi04NHVsciAuYXJyb3c6aG92ZXJ7YmFja2dyb3VuZDpyZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZn0KICAgIC5jdi04NHVsciAuYXJyb3c6Zm9jdXN7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpfQogICAgLmN2LTg0dWxyIC5hcnJvdyBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0KICAgIC5jdi04NHVsciAuYXJyb3cubGVmdHtsZWZ0OjEwcHh9CiAgICAuY3YtODR1bHIgLmFycm93LnJpZ2h0e3JpZ2h0OjEwcHh9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpewogICAgICAvKiBFbiBt83ZpbCwgZWwgY29udGVuZWRvciBvY3VwYSB0b2RvIGVsIGFuY2hvICovCiAgICAgIC5jdi04NHVsciAuc2VjdGlvbnttYXgtd2lkdGg6MTAwJX0KICAgICAgLmN2LTg0dWxyIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CiAgICAgIC5jdi04NHVsciAuY2Fyb3VzZWx7LS1wZWVrOjEyJX0KICAgICAgLyogMiB0YXJqZXRhcyBjb21wbGV0YXMgKyB1biBwZWVrIGRlIGxhIDOqICovCiAgICAgIC5jdi04NHVsciAuY2FyZHt3aWR0aDpjYWxjKCgxMDAlIC0gNCp2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzEpfQogICAgICAuY3YtODR1bHIgLmFycm93e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fQogICAgICAuY3YtODR1bHIgLnRyYWNre292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJjdi04NHVsciI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBhcmlhLWxhYmVsPSJDYXJydXNlbCBkZSB27WRlb3MgKFNob3J0cykiPgogICAgICAgIDxkaXYgY2xhc3M9ImJnLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Mb3MgJ3Nob3J0cycgZGUgT0tESUFSSU88L2gyPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZuZC1saW5lYSI+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFyIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWw9Ikxpc3RhZG8gZGUgdu1kZW9zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IGxlZnQiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iQW50ZXJpb3IiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xNSA2bC02IDYgNiA2IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IHJpZ2h0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNpZ3VpZW50ZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTkgMThsNi02LTYtNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWNrIiByb2xlPSJsaXN0Ij4KCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9HMGU0VjV6RVVpayIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IkcwZTRWNXpFVWlrIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvRzBlNFY1ekVVaWsvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDEiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvTGtjZkVfYjlRUTgiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJMa2NmRV9iOVFROCIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0xrY2ZFX2I5UVE4L2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAyIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL2FlRTA4NmdWaHo0IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iYWVFMDg2Z1ZoejQiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9hZUUwODZnVmh6NC9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy93eWljSmhLY3c1YyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9Ind5aWNKaEtjdzVjIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvd3lpY0poS2N3NWMvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDQiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvVWxmbjYxUEpxV2siIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJVbGZuNjFQSnFXayIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL1VsZm42MVBKcVdrL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA1IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL1otaTdpcF9oU0tvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iWi1pN2lwX2hTS28iIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9aLWk3aXBfaFNLby9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvc2VjdGlvbj4KICAgIDwvZGl2PgogICAgPHNjcmlwdD4KICAgIChmdW5jdGlvbigpewogICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jdi04NHVscicpOwogICAgICBpZiAoIXJvb3QpIHJldHVybjsKICAgICAgdmFyIHRyYWNrID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcudHJhY2snKTsKICAgICAgaWYgKCF0cmFjaykgcmV0dXJuOwoKICAgICAgdmFyIGFycm93cyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLmFycm93Jyk7CiAgICAgIHZhciBHQVAgPSAxNjsKCiAgICAgIGZ1bmN0aW9uIGdldENhcmRXaWR0aCgpewogICAgICAgIHZhciBmaXJzdCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmNhcmQnKTsKICAgICAgICBpZiAoIWZpcnN0KSByZXR1cm4gMDsKICAgICAgICByZXR1cm4gZmlyc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGdldENhcmRzUGVyUGFnZSgpewogICAgICAgIHJldHVybiAod2luZG93LmlubmVyV2lkdGggPD0gNzY4KSA/IDIgOiA0OwogICAgICB9CgogICAgICBhcnJvd3MuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgdmFyIGRpciA9IHRoaXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykgPyAtMSA6IDE7CiAgICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICAgIHZhciBzdGVwID0gKGNhcmRXICsgR0FQKSAqIGdldENhcmRzUGVyUGFnZSgpICogZGlyOwogICAgICAgICAgdHJhY2suc2Nyb2xsQnkoeyBsZWZ0OiBzdGVwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgLy8gRmFkZS1pbiBhbCBlbnRyYXIgZW4gdmlld3BvcnQKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgZW4udGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLWluJyk7IH0gfSk7CiAgICAgIH0sIHsgcm9vdDogdHJhY2ssIHRocmVzaG9sZDogMC4xIH0pOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgaW8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICAvLyBDbGljayBwZXJzaXN0ZW50ZSAoc2luIHRlYXNlciBwb3IgaG92ZXIpCiAgICAgIGZ1bmN0aW9uIG1ha2VFbWJlZFVybChpZCwgb3B0cyl7CiAgICAgICAgdmFyIHFzID0gWwogICAgICAgICAgJ2F1dG9wbGF5PScgKyAob3B0cyAmJiBvcHRzLmF1dG9wbGF5PyAnMSc6JzAnKSwKICAgICAgICAgICdwbGF5c2lubGluZT0xJywnZnM9MScsJ2l2X2xvYWRfcG9saWN5PTMnLCdzaG93aW5mbz0xJywncmVsPTAnLCdjY19sb2FkX3BvbGljeT0wJywnc3RhcnQ9MCcsCiAgICAgICAgICAnbXV0ZT0nICsgKG9wdHMgJiYgb3B0cy5tdXRlPyAnMSc6JzAnKSwKICAgICAgICAgIChvcHRzICYmIG9wdHMuY29udHJvbHM9PT0wPyAnY29udHJvbHM9MCc6J2NvbnRyb2xzPTEnKSwKICAgICAgICAgICdtb2Rlc3RicmFuZGluZz0xJywnZW5hYmxlanNhcGk9MScKICAgICAgICBdLmpvaW4oJyYnKTsKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycgKyBpZCArICc/JyArIHFzOwogICAgICB9CgogICAgICAvLyBDYXJnYXIgQVBJIGRlIFlvdVR1YmUgYmFqbyBkZW1hbmRhCiAgICAgIHZhciB5dEFwaVByb21pc2UgPSBudWxsOwogICAgICBmdW5jdGlvbiBlbnN1cmVZVEFwaSgpewogICAgICAgIGlmICh3aW5kb3cuWVQgJiYgd2luZG93LllULlBsYXllcikgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlmICh5dEFwaVByb21pc2UpIHJldHVybiB5dEFwaVByb21pc2U7CiAgICAgICAgeXRBcGlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7CiAgICAgICAgICB2YXIgcHJldkNiID0gd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5OwogICAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24oKXsgaWYgKHR5cGVvZiBwcmV2Q2I9PT0nZnVuY3Rpb24nKSB7IHRyeXsgcHJldkNiKCk7IH1jYXRjaChfKXt9IH0gcmVzb2x2ZSgpOyB9OwogICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknOwogICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICB9CgogICAgICAvLyBJbnN0YW5jaWFyIHBsYXllciBuYXRpdm8gZW4gdGFyamV0YXMgdmlzaWJsZXMgcGFyYSBxdWUgZWwgaWNvbm8gZGUgcGxheSBhcGFyZXpjYSBkZXNkZSBlbCBpbmljaW8KICAgICAgZnVuY3Rpb24gaW5pdFBsYXllckZvckNhcmQoY2FyZCl7CiAgICAgICAgaWYoIWNhcmQgfHwgY2FyZC5feXRQbGF5ZXIgfHwgY2FyZC5feXRJbml0KSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gY2FyZC5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICBpZighaWQpIHJldHVybjsKICAgICAgICBjYXJkLl95dEluaXQgPSB0cnVlOwogICAgICAgIHZhciBwb3N0ZXIgPSBjYXJkLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBjYXJkLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGNhcmQuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQogICAgICAgIC8vIE9jdWx0YW1vcyBlbCBw83N0ZXIgY3VhbnRvIGFudGVzIHBhcmEgZGVqYXIgdmVyIGVsIG92ZXJsYXkgbmF0aXZvCiAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgIGVuc3VyZVlUQXBpKCkudGhlbihmdW5jdGlvbigpewogICAgICAgICAgdmFyIHBsYXllciA9IG5ldyBZVC5QbGF5ZXIoaG9sZGVyLCB7CiAgICAgICAgICAgIHZpZGVvSWQ6IGlkLAogICAgICAgICAgICBwbGF5ZXJWYXJzOiB7IGF1dG9wbGF5OjAsIGNvbnRyb2xzOjEsIHJlbDowLCBwbGF5c2lubGluZToxLCBpdl9sb2FkX3BvbGljeTozLCBtb2Rlc3RicmFuZGluZzoxLCBmczoxLCBvcmlnaW46IChsb2NhdGlvbiAmJiBsb2NhdGlvbi5vcmlnaW4pID8gbG9jYXRpb24ub3JpZ2luIDogdW5kZWZpbmVkIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgICAgICAgICAgLy8gRm9yemFyIHBlcm1pc29zIGRlIHBhbnRhbGxhIGNvbXBsZXRhIGVuIGVsIGlmcmFtZSBnZW5lcmFkbwogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIGNhcmQuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsgY2FyZC5yZW1vdmVDaGlsZChob2xkZXIpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgIC8vIFNpIGZhbGxhIGxhIEFQSSwgZGVqYW1vcyBlbCBw83N0ZXIgaGFzdGEgaW50ZXJhY2Np824KICAgICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nJzsgfQogICAgICAgICAgY2FyZC5feXRJbml0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEluaWNpYWxpemFyIGF1dG9t4XRpY2FtZW50ZSBsb3MgcGxheWVycyBkZSBsYXMgdGFyamV0YXMgdmlzaWJsZXMgYWwgY2FyZ2FyCiAgICAgIHZhciBpbml0SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVuKXsgaWYoZW4uaXNJbnRlcnNlY3RpbmcpeyBpbml0UGxheWVyRm9yQ2FyZChlbi50YXJnZXQpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IG51bGwsIHRocmVzaG9sZDogMC4yNSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGluaXRJTy5vYnNlcnZlKGMpOyB9KTsKCiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2EuY2FyZFtkYXRhLXl0LWlkXScpOwogICAgICAgIGlmKCFhIHx8ICFyb290LmNvbnRhaW5zKGEpKSByZXR1cm47CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBwb3N0ZXIgPSBhLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIC8vIHNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvcwoKICAgICAgICAvLyBUb2dnbGUgc2kgeWEgaGF5IHBsYXllcgogICAgICAgIGlmIChhLl95dFBsYXllcil7CiAgICAgICAgICB2YXIgcCA9IGEuX3l0UGxheWVyOwogICAgICAgICAgaWYgKGEuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1wYXVzZWQnKSl7CiAgICAgICAgICAgIHRyeXsgcC51bk11dGUoKTsgcC5zZXRWb2x1bWUoMTAwKTsgcC5wbGF5VmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LnJlbW92ZSgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cnl7IHAucGF1c2VWaWRlbygpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wYXVzZWQnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3RvcFRlYXNlcihhKTsKICAgICAgICB2YXIgaWQgPSBhLmdldEF0dHJpYnV0ZSgnZGF0YS15dC1pZCcpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBhLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGEuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQoKICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheToxLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbihldil7CiAgICAgICAgICAgICAgICB0cnl7IGV2LnRhcmdldC51bk11dGUoKTsgZXYudGFyZ2V0LnNldFZvbHVtZSgxMDApOyBldi50YXJnZXQucGxheVZpZGVvKCk7IH1jYXRjaChfKXt9CiAgICAgICAgICAgICAgICAvLyBGb3J6YXIgZnVsbHNjcmVlbiBkaXNwb25pYmxlIGVuIGlmcmFtZSBJRnJhbWUgQVBJCiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgIHZhciBpZnIgPSBwbGF5ZXIuZ2V0SWZyYW1lICYmIHBsYXllci5nZXRJZnJhbWUoKTsKICAgICAgICAgICAgICAgICAgaWYgKGlmcil7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ciA9IGlmci5nZXRBdHRyaWJ1dGUoJ2FsbG93JykgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAoY3VyID8gY3VyICsgJzsgJyA6ICcnKSArICdmdWxsc2NyZWVuJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH1jYXRjaChfKXsgfQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiA9IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uIHx8ICdvcGFjaXR5IC4xNXMgZWFzZSc7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScwJzsgfQogICAgICAgICAgICAgICAgICBhLmNsYXNzTGlzdC5hZGQoJ2lzLXBsYXlpbmcnKTsKICAgICAgICAgICAgICAgICAgYS5feXRQbGF5ZXIgPSBwbGF5ZXI7CiAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIC8vIEZhbGxiYWNrOiBpZnJhbWUgc2ltcGxlCiAgICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgICAgICBpZnJhbWUuc3JjID0gbWFrZUVtYmVkVXJsKGlkLCB7YXV0b3BsYXk6dHJ1ZSwgbXV0ZTpmYWxzZX0pOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAnYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlJyk7CiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCAnJyk7CiAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaWZyYW1lLnN0eWxlLmluc2V0PScwJzsgaWZyYW1lLnN0eWxlLndpZHRoPScxMDAlJzsgaWZyYW1lLnN0eWxlLmhlaWdodD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5ib3JkZXI9JzAnOyBpZnJhbWUuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBpZnJhbWUuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgICBob2xkZXIucmVwbGFjZVdpdGgoaWZyYW1lKTsKICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7IH0sIDE1MCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgCiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
      CiAgICA8c3R5bGU+CiAgICBAaW1wb3J0IHVybCgnaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvaXFhMXFlYi5jc3MnKTsKCiAgICAvKiBDb250ZW5lZG9yIHByaW5jaXBhbCBsaW1pdGFkbyBhIDk2MHB4IGVuIGVzY3JpdG9yaW8gKi8KICAgIC5jdi04NHVsciAuc2VjdGlvbnttYXgtd2lkdGg6OTYwcHg7bWFyZ2luOjAgYXV0bzt3aWR0aDoxMDAlfQoKICAgIC5jdi04NHVsciAuYmctc2VjdGlvbi10aXRsZXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjo4cHggMCA1MHB4fQogICAgLmN2LTg0dWxyIC5mbmQtbGluZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NXB4O2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7bWFyZ2luLXRvcDotMjVweDtib3JkZXItdG9wOjFweCBzb2xpZCAjMzMzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICMzMzN9CiAgICAuY3YtODR1bHIgLnNlY3Rpb24tdGl0bGV7Zm9udC1mYW1pbHk6ImJlYmFzLW5ldWUtcHJvLWV4cGFuZGVkIixzYW5zLXNlcmlmO2ZvbnQtd2VpZ2h0OjkwMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjA7bGluZS1oZWlnaHQ6MS4yO2xldHRlci1zcGFjaW5nOi0xcHg7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjRweCAxM3B4O2JvcmRlcjoxcHggc29saWQgIzMzMztmb250LXNpemU6NDJweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CgogICAgLmN2LTg0dWxyIC5jYXJvdXNlbHstLWdhcDoxNnB4Oy0tcGVlazoxMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6dmFyKC0tZ2FwKTtvdmVyZmxvdzpoaWRkZW47cGFkZGluZy1ib3R0b206NnB4fQogICAgLmN2LTg0dWxyIC50cmFja3tkaXNwbGF5OmZsZXg7Z2FwOnZhcigtLWdhcCk7b3ZlcmZsb3cteDphdXRvO292ZXJmbG93LXk6aGlkZGVuO3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnk7c2Nyb2xsLWJlaGF2aW9yOnNtb290aDtzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZTtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgLmN2LTg0dWxyIC50cmFjazo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfQogICAgLmN2LTg0dWxyIC5jYXJke3Bvc2l0aW9uOnJlbGF0aXZlO2ZsZXg6MCAwIGF1dG87c2Nyb2xsLXNuYXAtYWxpZ246c3RhcnQ7d2lkdGg6Y2FsYygoMTAwJSAtIDIqdmFyKC0tZ2FwKSAtIHZhcigtLXBlZWspKS8zKTthc3BlY3QtcmF0aW86OS8xNjtib3JkZXItcmFkaXVzOjEwcHg7b3ZlcmZsb3c6aGlkZGVuO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2UsIHRyYW5zZm9ybSAuNHMgZWFzZX0KICAgIC5jdi04NHVsciAuY2FyZC5pcy1pbntvcGFjaXR5OjE7dHJhbnNmb3JtOm5vbmV9CgogICAgLmN2LTg0dWxyIC50aHVtYntwb3NpdGlvbjphYnNvbHV0ZTtpbnNldDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcjt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMzVzIGVhc2UsIG9wYWNpdHkgLjI1cyBlYXNlO3RyYW5zZm9ybTpzY2FsZSgxLjAxKX0KICAgIC5jdi04NHVsciAuY2FyZDpob3ZlciAudGh1bWIsLmN2LTg0dWxyIC5jYXJkOmZvY3VzLXZpc2libGUgLnRodW1ie3RyYW5zZm9ybTpzY2FsZSgxLjA2KX0KICAgIC8qIFNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvczogc2UgdXNhbiBjb250cm9sZXMgbmF0aXZvcyBkZWwgcGxheWVyICovCgogICAgLmN2LTg0dWxyIC5hcntwb3NpdGlvbjpyZWxhdGl2ZX0KICAgIC5jdi04NHVsciAuYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQ6cmdiKDI1NSAyNTUgMjU1IC8gMjAlKTtib3gtc2hhZG93OjAgNnB4IDE2cHggcmdiKDAgMCAwIC8gMjAlKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2N1cnNvcjpwb2ludGVyO3otaW5kZXg6Mjt0cmFuc2l0aW9uOi4zc30KICAgIC5jdi04NHVsciAuYXJyb3c6aG92ZXJ7YmFja2dyb3VuZDpyZ2IoMCAwIDAgLyAyMCUpO2JvcmRlcjoxcHggc29saWQgI2ZmZn0KICAgIC5jdi04NHVsciAuYXJyb3c6Zm9jdXN7YmFja2dyb3VuZDpyZ2IoMjU1IDI1NSAyNTUgLyAyMCUpfQogICAgLmN2LTg0dWxyIC5hcnJvdyBzdmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0KICAgIC5jdi04NHVsciAuYXJyb3cubGVmdHtsZWZ0OjEwcHh9CiAgICAuY3YtODR1bHIgLmFycm93LnJpZ2h0e3JpZ2h0OjEwcHh9CgogICAgQG1lZGlhIChtYXgtd2lkdGg6NzY4cHgpewogICAgICAvKiBFbiBt83ZpbCwgZWwgY29udGVuZWRvciBvY3VwYSB0b2RvIGVsIGFuY2hvICovCiAgICAgIC5jdi04NHVsciAuc2VjdGlvbnttYXgtd2lkdGg6MTAwJX0KICAgICAgLmN2LTg0dWxyIC5zZWN0aW9uLXRpdGxle2ZvbnQtc2l6ZToyN3B4O3BhZGRpbmc6MnB4IDhweDt0cmFuc2Zvcm06cm90YXRlWCg1ZGVnKSByb3RhdGVZKC0yNWRlZykgc2tld1goMGRlZyl9CiAgICAgIC5jdi04NHVsciAuY2Fyb3VzZWx7LS1wZWVrOjEyJX0KICAgICAgLyogMiB0YXJqZXRhcyBjb21wbGV0YXMgKyB1biBwZWVrIGRlIGxhIDOqICovCiAgICAgIC5jdi04NHVsciAuY2FyZHt3aWR0aDpjYWxjKCgxMDAlIC0gNCp2YXIoLS1nYXApIC0gdmFyKC0tcGVlaykpLzEpfQogICAgICAuY3YtODR1bHIgLmFycm93e2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fQogICAgICAuY3YtODR1bHIgLnRyYWNre292ZXJmbG93LXg6YXV0bztvdmVyZmxvdy15OmhpZGRlbjtwYWRkaW5nLXJpZ2h0OnZhcigtLXBlZWspfQogICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJjdi04NHVsciI+CiAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIiBhcmlhLWxhYmVsPSJDYXJydXNlbCBkZSB27WRlb3MgKFNob3J0cykiPgogICAgICAgIDxkaXYgY2xhc3M9ImJnLXNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Mb3MgJ3Nob3J0cycgZGUgT0tESUFSSU88L2gyPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImZuZC1saW5lYSI+PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFyIiByb2xlPSJyZWdpb24iIGFyaWEtbGFiZWw9Ikxpc3RhZG8gZGUgdu1kZW9zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IGxlZnQiIHR5cGU9ImJ1dHRvbiIgYXJpYS1sYWJlbD0iQW50ZXJpb3IiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xNSA2bC02IDYgNiA2IiBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFycm93IHJpZ2h0IiB0eXBlPSJidXR0b24iIGFyaWEtbGFiZWw9IlNpZ3VpZW50ZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHBhdGggZD0iTTkgMThsNi02LTYtNiIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJvdXNlbCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRyYWNrIiByb2xlPSJsaXN0Ij4KCiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy9HMGU0VjV6RVVpayIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9IkcwZTRWNXpFVWlrIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvRzBlNFY1ekVVaWsvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDEiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvTGtjZkVfYjlRUTgiIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJMa2NmRV9iOVFROCIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL0xrY2ZFX2I5UVE4L2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCAyIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL2FlRTA4NmdWaHo0IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iYWVFMDg2Z1ZoejQiIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9hZUUwODZnVmh6NC9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgMyIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgPGEgY2xhc3M9ImNhcmQiIGhyZWY9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3Nob3J0cy93eWljSmhLY3c1YyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiIGRhdGEteXQtaWQ9Ind5aWNKaEtjdzVjIiB0aXRsZT0iVmVyIHNob3J0Ij4KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1iIiBzcmM9Imh0dHBzOi8vaS55dGltZy5jb20vdmkvd3lpY0poS2N3NWMvaHFkZWZhdWx0LmpwZyIgYWx0PSJZb3VUdWJlIFNob3J0IDQiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyI+CiAgICAgICAgPC9hPgogICAgICAgIDxhIGNsYXNzPSJjYXJkIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9zaG9ydHMvVWxmbjYxUEpxV2siIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIiBkYXRhLXl0LWlkPSJVbGZuNjFQSnFXayIgdGl0bGU9IlZlciBzaG9ydCI+CiAgICAgICAgICA8aW1nIGNsYXNzPSJ0aHVtYiIgc3JjPSJodHRwczovL2kueXRpbWcuY29tL3ZpL1VsZm42MVBKcVdrL2hxZGVmYXVsdC5qcGciIGFsdD0iWW91VHViZSBTaG9ydCA1IiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiPgogICAgICAgIDwvYT4KICAgICAgICA8YSBjbGFzcz0iY2FyZCIgaHJlZj0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vc2hvcnRzL1otaTdpcF9oU0tvIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciIgZGF0YS15dC1pZD0iWi1pN2lwX2hTS28iIHRpdGxlPSJWZXIgc2hvcnQiPgogICAgICAgICAgPGltZyBjbGFzcz0idGh1bWIiIHNyYz0iaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9aLWk3aXBfaFNLby9ocWRlZmF1bHQuanBnIiBhbHQ9IllvdVR1YmUgU2hvcnQgNiIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIj4KICAgICAgICA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvc2VjdGlvbj4KICAgIDwvZGl2PgogICAgPHNjcmlwdD4KICAgIChmdW5jdGlvbigpewogICAgICB2YXIgcm9vdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jdi04NHVscicpOwogICAgICBpZiAoIXJvb3QpIHJldHVybjsKICAgICAgdmFyIHRyYWNrID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcudHJhY2snKTsKICAgICAgaWYgKCF0cmFjaykgcmV0dXJuOwoKICAgICAgdmFyIGFycm93cyA9IHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLmFycm93Jyk7CiAgICAgIHZhciBHQVAgPSAxNjsKCiAgICAgIGZ1bmN0aW9uIGdldENhcmRXaWR0aCgpewogICAgICAgIHZhciBmaXJzdCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmNhcmQnKTsKICAgICAgICBpZiAoIWZpcnN0KSByZXR1cm4gMDsKICAgICAgICByZXR1cm4gZmlyc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGdldENhcmRzUGVyUGFnZSgpewogICAgICAgIHJldHVybiAod2luZG93LmlubmVyV2lkdGggPD0gNzY4KSA/IDIgOiA0OwogICAgICB9CgogICAgICBhcnJvd3MuZm9yRWFjaChmdW5jdGlvbihidG4pewogICAgICAgIGJ0bi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKGUpewogICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgdmFyIGRpciA9IHRoaXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdsZWZ0JykgPyAtMSA6IDE7CiAgICAgICAgICB2YXIgY2FyZFcgPSBnZXRDYXJkV2lkdGgoKTsKICAgICAgICAgIGlmICghY2FyZFcpIHJldHVybjsKICAgICAgICAgIHZhciBzdGVwID0gKGNhcmRXICsgR0FQKSAqIGdldENhcmRzUGVyUGFnZSgpICogZGlyOwogICAgICAgICAgdHJhY2suc2Nyb2xsQnkoeyBsZWZ0OiBzdGVwLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgLy8gRmFkZS1pbiBhbCBlbnRyYXIgZW4gdmlld3BvcnQKICAgICAgdmFyIGlvID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGZ1bmN0aW9uKGVudHJpZXMpewogICAgICAgIGVudHJpZXMuZm9yRWFjaChmdW5jdGlvbihlbil7IGlmKGVuLmlzSW50ZXJzZWN0aW5nKXsgZW4udGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2lzLWluJyk7IH0gfSk7CiAgICAgIH0sIHsgcm9vdDogdHJhY2ssIHRocmVzaG9sZDogMC4xIH0pOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXJkJykuZm9yRWFjaChmdW5jdGlvbihjKXsgaW8ub2JzZXJ2ZShjKTsgfSk7CgogICAgICAvLyBDbGljayBwZXJzaXN0ZW50ZSAoc2luIHRlYXNlciBwb3IgaG92ZXIpCiAgICAgIGZ1bmN0aW9uIG1ha2VFbWJlZFVybChpZCwgb3B0cyl7CiAgICAgICAgdmFyIHFzID0gWwogICAgICAgICAgJ2F1dG9wbGF5PScgKyAob3B0cyAmJiBvcHRzLmF1dG9wbGF5PyAnMSc6JzAnKSwKICAgICAgICAgICdwbGF5c2lubGluZT0xJywnZnM9MScsJ2l2X2xvYWRfcG9saWN5PTMnLCdzaG93aW5mbz0xJywncmVsPTAnLCdjY19sb2FkX3BvbGljeT0wJywnc3RhcnQ9MCcsCiAgICAgICAgICAnbXV0ZT0nICsgKG9wdHMgJiYgb3B0cy5tdXRlPyAnMSc6JzAnKSwKICAgICAgICAgIChvcHRzICYmIG9wdHMuY29udHJvbHM9PT0wPyAnY29udHJvbHM9MCc6J2NvbnRyb2xzPTEnKSwKICAgICAgICAgICdtb2Rlc3RicmFuZGluZz0xJywnZW5hYmxlanNhcGk9MScKICAgICAgICBdLmpvaW4oJyYnKTsKICAgICAgICByZXR1cm4gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycgKyBpZCArICc/JyArIHFzOwogICAgICB9CgogICAgICAvLyBDYXJnYXIgQVBJIGRlIFlvdVR1YmUgYmFqbyBkZW1hbmRhCiAgICAgIHZhciB5dEFwaVByb21pc2UgPSBudWxsOwogICAgICBmdW5jdGlvbiBlbnN1cmVZVEFwaSgpewogICAgICAgIGlmICh3aW5kb3cuWVQgJiYgd2luZG93LllULlBsYXllcikgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpOwogICAgICAgIGlmICh5dEFwaVByb21pc2UpIHJldHVybiB5dEFwaVByb21pc2U7CiAgICAgICAgeXRBcGlQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZSl7CiAgICAgICAgICB2YXIgcHJldkNiID0gd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5OwogICAgICAgICAgd2luZG93Lm9uWW91VHViZUlmcmFtZUFQSVJlYWR5ID0gZnVuY3Rpb24oKXsgaWYgKHR5cGVvZiBwcmV2Q2I9PT0nZnVuY3Rpb24nKSB7IHRyeXsgcHJldkNiKCk7IH1jYXRjaChfKXt9IH0gcmVzb2x2ZSgpOyB9OwogICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICAgIHMuc3JjID0gJ2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2lmcmFtZV9hcGknOwogICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKTsKICAgICAgICB9KTsKICAgICAgICByZXR1cm4geXRBcGlQcm9taXNlOwogICAgICB9CgogICAgICAvLyBJbnN0YW5jaWFyIHBsYXllciBuYXRpdm8gZW4gdGFyamV0YXMgdmlzaWJsZXMgcGFyYSBxdWUgZWwgaWNvbm8gZGUgcGxheSBhcGFyZXpjYSBkZXNkZSBlbCBpbmljaW8KICAgICAgZnVuY3Rpb24gaW5pdFBsYXllckZvckNhcmQoY2FyZCl7CiAgICAgICAgaWYoIWNhcmQgfHwgY2FyZC5feXRQbGF5ZXIgfHwgY2FyZC5feXRJbml0KSByZXR1cm47CiAgICAgICAgdmFyIGlkID0gY2FyZC5nZXRBdHRyaWJ1dGUoJ2RhdGEteXQtaWQnKTsKICAgICAgICBpZighaWQpIHJldHVybjsKICAgICAgICBjYXJkLl95dEluaXQgPSB0cnVlOwogICAgICAgIHZhciBwb3N0ZXIgPSBjYXJkLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBjYXJkLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGNhcmQuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQogICAgICAgIC8vIE9jdWx0YW1vcyBlbCBw83N0ZXIgY3VhbnRvIGFudGVzIHBhcmEgZGVqYXIgdmVyIGVsIG92ZXJsYXkgbmF0aXZvCiAgICAgICAgaWYocG9zdGVyKXsgcG9zdGVyLnN0eWxlLnRyYW5zaXRpb24gPSBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiB8fCAnb3BhY2l0eSAuMTVzIGVhc2UnOyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgIGVuc3VyZVlUQXBpKCkudGhlbihmdW5jdGlvbigpewogICAgICAgICAgdmFyIHBsYXllciA9IG5ldyBZVC5QbGF5ZXIoaG9sZGVyLCB7CiAgICAgICAgICAgIHZpZGVvSWQ6IGlkLAogICAgICAgICAgICBwbGF5ZXJWYXJzOiB7IGF1dG9wbGF5OjAsIGNvbnRyb2xzOjEsIHJlbDowLCBwbGF5c2lubGluZToxLCBpdl9sb2FkX3BvbGljeTozLCBtb2Rlc3RicmFuZGluZzoxLCBmczoxLCBvcmlnaW46IChsb2NhdGlvbiAmJiBsb2NhdGlvbi5vcmlnaW4pID8gbG9jYXRpb24ub3JpZ2luIDogdW5kZWZpbmVkIH0sCiAgICAgICAgICAgIGV2ZW50czogewogICAgICAgICAgICAgIG9uUmVhZHk6IGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUub3BhY2l0eT0nMCc7IHBvc3Rlci5zdHlsZS5wb2ludGVyRXZlbnRzPSdub25lJzsgfQogICAgICAgICAgICAgICAgLy8gRm9yemFyIHBlcm1pc29zIGRlIHBhbnRhbGxhIGNvbXBsZXRhIGVuIGVsIGlmcmFtZSBnZW5lcmFkbwogICAgICAgICAgICAgICAgdHJ5ewogICAgICAgICAgICAgICAgICB2YXIgaWZyID0gcGxheWVyLmdldElmcmFtZSAmJiBwbGF5ZXIuZ2V0SWZyYW1lKCk7CiAgICAgICAgICAgICAgICAgIGlmIChpZnIpewogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93ZnVsbHNjcmVlbicsJycpOwogICAgICAgICAgICAgICAgICAgIHZhciBjdXIgPSBpZnIuZ2V0QXR0cmlidXRlKCdhbGxvdycpIHx8ICcnOwogICAgICAgICAgICAgICAgICAgIGlmci5zZXRBdHRyaWJ1dGUoJ2FsbG93JywgKGN1ciA/IGN1ciArICc7ICcgOiAnJykgKyAnZnVsbHNjcmVlbicpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgICAgIGNhcmQuX3l0UGxheWVyID0gcGxheWVyOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIHRyeXsgY2FyZC5yZW1vdmVDaGlsZChob2xkZXIpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgIC8vIFNpIGZhbGxhIGxhIEFQSSwgZGVqYW1vcyBlbCBw83N0ZXIgaGFzdGEgaW50ZXJhY2Np824KICAgICAgICAgIGlmKHBvc3Rlcil7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScnOyBwb3N0ZXIuc3R5bGUucG9pbnRlckV2ZW50cz0nJzsgfQogICAgICAgICAgY2FyZC5feXRJbml0ID0gZmFsc2U7CiAgICAgICAgfSk7CiAgICAgIH0KCiAgICAgIC8vIEluaWNpYWxpemFyIGF1dG9t4XRpY2FtZW50ZSBsb3MgcGxheWVycyBkZSBsYXMgdGFyamV0YXMgdmlzaWJsZXMgYWwgY2FyZ2FyCiAgICAgIHZhciBpbml0SU8gPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZW50cmllcyl7CiAgICAgICAgZW50cmllcy5mb3JFYWNoKGZ1bmN0aW9uKGVuKXsgaWYoZW4uaXNJbnRlcnNlY3RpbmcpeyBpbml0UGxheWVyRm9yQ2FyZChlbi50YXJnZXQpOyB9IH0pOwogICAgICB9LCB7IHJvb3Q6IG51bGwsIHRocmVzaG9sZDogMC4yNSB9KTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuY2FyZCcpLmZvckVhY2goZnVuY3Rpb24oYyl7IGluaXRJTy5vYnNlcnZlKGMpOyB9KTsKCiAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbihlKXsKICAgICAgICB2YXIgYSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ2EuY2FyZFtkYXRhLXl0LWlkXScpOwogICAgICAgIGlmKCFhIHx8ICFyb290LmNvbnRhaW5zKGEpKSByZXR1cm47CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgIHZhciBwb3N0ZXIgPSBhLnF1ZXJ5U2VsZWN0b3IoJ2ltZy50aHVtYicpOwogICAgICAgIC8vIHNpbiBvdmVybGF5cyBwZXJzb25hbGl6YWRvcwoKICAgICAgICAvLyBUb2dnbGUgc2kgeWEgaGF5IHBsYXllcgogICAgICAgIGlmIChhLl95dFBsYXllcil7CiAgICAgICAgICB2YXIgcCA9IGEuX3l0UGxheWVyOwogICAgICAgICAgaWYgKGEuY2xhc3NMaXN0LmNvbnRhaW5zKCdpcy1wYXVzZWQnKSl7CiAgICAgICAgICAgIHRyeXsgcC51bk11dGUoKTsgcC5zZXRWb2x1bWUoMTAwKTsgcC5wbGF5VmlkZW8oKTsgfWNhdGNoKF8peyB9CiAgICAgICAgICAgIGEuY2xhc3NMaXN0LnJlbW92ZSgnaXMtcGF1c2VkJyk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0cnl7IHAucGF1c2VWaWRlbygpOyB9Y2F0Y2goXyl7IH0KICAgICAgICAgICAgYS5jbGFzc0xpc3QuYWRkKCdpcy1wYXVzZWQnKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgc3RvcFRlYXNlcihhKTsKICAgICAgICB2YXIgaWQgPSBhLmdldEF0dHJpYnV0ZSgnZGF0YS15dC1pZCcpOwogICAgICAgIHZhciBob2xkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKICAgICAgICBob2xkZXIuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaG9sZGVyLnN0eWxlLmluc2V0PScwJzsgaG9sZGVyLnN0eWxlLndpZHRoPScxMDAlJzsgaG9sZGVyLnN0eWxlLmhlaWdodD0nMTAwJSc7IGhvbGRlci5zdHlsZS5iYWNrZ3JvdW5kPScjMDAwJzsKICAgICAgICBpZihwb3N0ZXIpeyBhLmluc2VydEJlZm9yZShob2xkZXIsIHBvc3Rlcik7IH0gZWxzZSB7IGEuYXBwZW5kQ2hpbGQoaG9sZGVyKTsgfQoKICAgICAgICBlbnN1cmVZVEFwaSgpLnRoZW4oZnVuY3Rpb24oKXsKICAgICAgICAgIHZhciBwbGF5ZXIgPSBuZXcgWVQuUGxheWVyKGhvbGRlciwgewogICAgICAgICAgICB2aWRlb0lkOiBpZCwKICAgICAgICAgICAgcGxheWVyVmFyczogeyBhdXRvcGxheToxLCBjb250cm9sczoxLCByZWw6MCwgcGxheXNpbmxpbmU6MSwgaXZfbG9hZF9wb2xpY3k6MywgbW9kZXN0YnJhbmRpbmc6MSwgZnM6MSwgb3JpZ2luOiAobG9jYXRpb24gJiYgbG9jYXRpb24ub3JpZ2luKSA/IGxvY2F0aW9uLm9yaWdpbiA6IHVuZGVmaW5lZCB9LAogICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICBvblJlYWR5OiBmdW5jdGlvbihldil7CiAgICAgICAgICAgICAgICB0cnl7IGV2LnRhcmdldC51bk11dGUoKTsgZXYudGFyZ2V0LnNldFZvbHVtZSgxMDApOyBldi50YXJnZXQucGxheVZpZGVvKCk7IH1jYXRjaChfKXt9CiAgICAgICAgICAgICAgICAvLyBGb3J6YXIgZnVsbHNjcmVlbiBkaXNwb25pYmxlIGVuIGlmcmFtZSBJRnJhbWUgQVBJCiAgICAgICAgICAgICAgICB0cnl7CiAgICAgICAgICAgICAgICAgIHZhciBpZnIgPSBwbGF5ZXIuZ2V0SWZyYW1lICYmIHBsYXllci5nZXRJZnJhbWUoKTsKICAgICAgICAgICAgICAgICAgaWYgKGlmcil7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3dmdWxsc2NyZWVuJywnJyk7CiAgICAgICAgICAgICAgICAgICAgdmFyIGN1ciA9IGlmci5nZXRBdHRyaWJ1dGUoJ2FsbG93JykgfHwgJyc7CiAgICAgICAgICAgICAgICAgICAgaWZyLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAoY3VyID8gY3VyICsgJzsgJyA6ICcnKSArICdmdWxsc2NyZWVuJyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH1jYXRjaChfKXsgfQogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICBpZihwb3N0ZXIpeyBwb3N0ZXIuc3R5bGUudHJhbnNpdGlvbiA9IHBvc3Rlci5zdHlsZS50cmFuc2l0aW9uIHx8ICdvcGFjaXR5IC4xNXMgZWFzZSc7IHBvc3Rlci5zdHlsZS5vcGFjaXR5PScwJzsgfQogICAgICAgICAgICAgICAgICBhLmNsYXNzTGlzdC5hZGQoJ2lzLXBsYXlpbmcnKTsKICAgICAgICAgICAgICAgICAgYS5feXRQbGF5ZXIgPSBwbGF5ZXI7CiAgICAgICAgICAgICAgICB9LCAxMDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSkuY2F0Y2goZnVuY3Rpb24oKXsKICAgICAgICAgIC8vIEZhbGxiYWNrOiBpZnJhbWUgc2ltcGxlCiAgICAgICAgICB2YXIgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7CiAgICAgICAgICBpZnJhbWUuc3JjID0gbWFrZUVtYmVkVXJsKGlkLCB7YXV0b3BsYXk6dHJ1ZSwgbXV0ZTpmYWxzZX0pOwogICAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnYWxsb3cnLCAnYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlJyk7CiAgICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdhbGxvd2Z1bGxzY3JlZW4nLCAnJyk7CiAgICAgICAgICBpZnJhbWUuc3R5bGUucG9zaXRpb249J2Fic29sdXRlJzsgaWZyYW1lLnN0eWxlLmluc2V0PScwJzsgaWZyYW1lLnN0eWxlLndpZHRoPScxMDAlJzsgaWZyYW1lLnN0eWxlLmhlaWdodD0nMTAwJSc7IGlmcmFtZS5zdHlsZS5ib3JkZXI9JzAnOyBpZnJhbWUuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBpZnJhbWUuc3R5bGUuYmFja2dyb3VuZD0nIzAwMCc7CiAgICAgICAgICBob2xkZXIucmVwbGFjZVdpdGgoaWZyYW1lKTsKICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsgYS5jbGFzc0xpc3QuYWRkKCdpcy1wbGF5aW5nJyk7IH0sIDE1MCk7CiAgICAgICAgfSk7CiAgICAgIH0pOwoKICAgICAgCiAgICB9KSgpOwogICAgPC9zY3JpcHQ+
    • Mohamed Alami Susi: Marruecos podría estar utilizando la migración para presionar a España
        • España
        • España

      "Marruecos podría estar utilizando la migración para presionar a España"

      He entrevistado a Mohamed Alami Susi, presidente de la Asociación Amigos del Pueblo Marroquí (ITRAN), para analizar la crisis de Ceuta. Alami considera que Marruecos podría estar utilizando la presión migratoria como instrumento frente a España. Defiende que la prioridad debe ser el retorno ordenado de los menores.
      • María Zabay
      • 2026-08-29 05:45
    • Sánchez, esa inigualable vida de superlujo
    • A propósito de ZP: ¿Qué hacer con los ex?
    • Marlaska & Robles
    • La Policía Local blinda Playa de Palma y anuncia más contundencia tras los ataques a sus agentes: No habrá marcha atrás
        • OkBaleares
        • OkBaleares

      La Policía Local blinda Playa de Palma y anuncia más contundencia tras los ataques a sus agentes: "No habrá marcha atrás"

      La Policía Local de Palma no da marcha atrás en su ofensiva contra la venta ambulante ilegal en Playa de Palma. Tras los graves incidentes registrados durante una intervención policial, el cuerpo municipal ha decidido mantener y reforzar su presencia en una de las zonas turísticas más conflictivas de la capital balear.
      • Julio Bastida
      • 2026-08-29 05:45
    • Detenido un peligroso acosador de Palma por intentar secuestrar a una menor e introducirla en una furgoneta
        • OkBaleares
        • OkBaleares

      Detenido un peligroso acosador de Palma por intentar secuestrar a una menor 

      • Julio Bastida
      • 2026-08-29 11:10
    • PHN0eWxlPgogICNjaW50aWxsby1lY2kgewogICAgZGlzcGxheTogZmxleDsKICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnOwogICAgY29sb3I6ICMwMDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDhweDsKfQouZWNpLXRpdHVsbyB7CiAgICBmb250LXNpemU6IDI0cHg7Cn0KLmVjaS1sb2dvIHsKfQouZWNpLWxvZ28gcCB7CiAgZm9udC1zaXplOiAxMHB4Owp9Ci5lY2ktbG9nbyBpbWcgewoKICAgIHdpZHRoOiAxMjBweDsKICAgIGhlaWdodDogMzBweDsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwp9Cgo8L3N0eWxlPgo8YSBocmVmPSJodHRwczovL3d3dy5lbGNvcnRlaW5nbGVzLmVzLyIgdGFyZ2V0PSJfYmxhbmsiIGlkPSJjaW50aWxsby1lY2kiPgogIDxkaXYgY2xhc3M9ImVjaS10aXR1bG8iPgogICAgSW5zcGlyYWNp824geSB0ZW5kZW5jaWFzCiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iZWNpLWxvZ28iPgogICAgPHA+RW4gY29sYWJvcmFjafNuIGNvbjwvcD4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW1nLzIwMjYvMDgvMjcvbG9nby1lbC1jb3J0ZS1pbmdsZXMtbmVncm8uanBnIiBhbHQ9IkVsIENvcnRlIEluZ2zpcyI+CiAgPC9kaXY+CjwvYT4K
      PHN0eWxlPgogICNjaW50aWxsby1lY2kgewogICAgZGlzcGxheTogZmxleDsKICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBmb250LWZhbWlseTogJ1JvYm90byBDb25kZW5zZWQnOwogICAgY29sb3I6ICMwMDA7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIHBhZGRpbmc6IDhweDsKfQouZWNpLXRpdHVsbyB7CiAgICBmb250LXNpemU6IDI0cHg7Cn0KLmVjaS1sb2dvIHsKfQouZWNpLWxvZ28gcCB7CiAgZm9udC1zaXplOiAxMHB4Owp9Ci5lY2ktbG9nbyBpbWcgewoKICAgIHdpZHRoOiAxMjBweDsKICAgIGhlaWdodDogMzBweDsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwp9Cgo8L3N0eWxlPgo8YSBocmVmPSJodHRwczovL3d3dy5lbGNvcnRlaW5nbGVzLmVzLyIgdGFyZ2V0PSJfYmxhbmsiIGlkPSJjaW50aWxsby1lY2kiPgogIDxkaXYgY2xhc3M9ImVjaS10aXR1bG8iPgogICAgSW5zcGlyYWNp824geSB0ZW5kZW5jaWFzCiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iZWNpLWxvZ28iPgogICAgPHA+RW4gY29sYWJvcmFjafNuIGNvbjwvcD4KICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9va2RpYXJpby5jb20vaW1nLzIwMjYvMDgvMjcvbG9nby1lbC1jb3J0ZS1pbmdsZXMtbmVncm8uanBnIiBhbHQ9IkVsIENvcnRlIEluZ2zpcyI+CiAgPC9kaXY+CjwvYT4K
    • La invasión de España es delito de lesa patria
    • Un conductor argentino borracho irrumpe en un carril bici de Palma, se estrella y desafía a la Policía: «¿No tenéis nada mejor que hacer?»
        • OkBaleares
        • OkBaleares

      Un conductor borracho irrumpe en un carril bici, se estrella y desafía a la Policía: "¿No tenéis nada que hacer?"

      • Julio Bastida
      • 2026-08-29 09:08
    • Forzó una autocaravana, se instaló dentro durante una semana y acabó detenida cuando intentaba cambiar la cerradura
        • OkBaleares
        • OkBaleares

      Forzó una autocaravana, se instaló durante una semana y acabó detenida cuando cambiaba la cerradura

      • Julio Bastida
      • 2026-08-29 08:44
    • Ceuta: síntoma y efecto de la caída final
    • si te lo perdiste...

    • Mezclar bicarbonato, vinagre y limón ¿para qué se utiliza y por qué se recomienda?
        • Curiosidades
        • Curiosidades

      Mezclar bicarbonato, vinagre y limón ¿para qué se utiliza y por qué se recomienda?

      • Blanca Espada
      • 2026-08-29 08:15
    • La psicología aclara que las personas que no se tiñen las canas no se están rindiendo, sino que pueden estar prefiriendo la autenticidad por encima de la aprobación
        • Curiosidades
        • Curiosidades

      La psicología aclara que las personas que no se tiñen las canas no se están rindiendo

      • Laura Mesonero
      • 2026-08-29 09:28
    • La psicología advierte sobre que las personas que hablan alto y a veces gritan no son agresivas, en realidad sienten las emociones con más fuerza que el resto
        • Curiosidades
        • Curiosidades

      La psicología advierte: las personas que hablan alto y a veces gritan no son agresivas

      Hay personas que hablan alto y elevan la voz cuando cuentan algo que les emociona. Para quienes las escuchan, ese comportamiento puede confundirse con enfado, agresividad o una personalidad conflictiva. Sin embargo, la psicología y la investigación sobre la comunicación y el bienestar emocional muestran que el volumen de la voz no basta para determinar la intención de una persona.
      • Aitana Pascual
      • 2026-08-29 09:09
    • Las estilistas profesionales revelan el truco para vestir mejor: Necesitas colores base y potentes
        • Cool
        • Cool

      Las estilistas profesionales revelan el truco para vestir mejor: "Necesitas colores base"

      • Marta Burgués
      • 2026-08-29 09:56
    • Los expertos en climatización coinciden: las ventanas de plástico tienen los días contados; su sustituto ya está llegando a España y es más cómodo y bonito
        • Curiosidades
        • Curiosidades

      Los expertos en climatización coinciden: las ventanas de plástico tienen los días contados

      • Carmen Ruiz
      • 2026-08-29 10:00
    • Adiós a los muebles bajos de televisión en el salón: los interioristas expertos confirman que la nueva tendencia para 2026 es más cómoda y práctica
        • Curiosidades
        • Curiosidades

      Adiós a los muebles bajos de televisión en el salón: la nueva tendencia es más cómoda 

      • Blanca Espada
      • 2026-08-29 07:30
    • Llevar una moneda de 50 céntimos en el bolsillo: para qué sirve y qué beneficios tiene según la tradición del Feng Shui
        • Curiosidades
        • Curiosidades

      Llevar una moneda de 50 céntimos en el bolsillo: para qué sirve y qué beneficios tiene

      • Ana López Vera
      • 2026-08-29 07:45
    • Los expertos jardineros coinciden: la planta exterior que mejor aguanta el sol directo para plantar durante el verano en España
        • Naturaleza
        • Naturaleza

      la planta exterior que mejor aguanta el sol directo para plantar durante el verano 

      • Ana López Vera
      • 2026-08-29 10:00
    • Juan José Ebenezer, mecánico, desvela el error que todos cometen con el aire acondicionado del coche: Lo hace la mayoría y está mal
        • Motor
        • Motor

      Juan José Ebenezer, mecánico, desvela el error que todos cometen con el aire acondicionado

      • Janire Manzanas
      • 2026-08-29 10:00
    • Menos dolor y mayor precisión con la cirugía torácica uniportal de la Dra. Arango en Juaneda Hospitales
    • Los OK y KO del sábado, 29 de agosto de 2026
    • Diario Madridista

    • El Málaga promete rock and roll en el Bernabéu: Si salimos a empatar, nos meten ocho
        • Real Madrid
        • Real Madrid

      El Málaga promete rock and roll en el Bernabéu: "Si salimos a empatar, nos meten ocho"

      El Málaga será el segundo equipo que visite el Bernabéu esta temporada. El conjunto se medirá al Real Madrid este domingo a las 17:00. Es un partido especial para el Málaga tras una larga travesía de ocho años lejos de Primera División. 
      • Pablo Duque
      • 2026-08-28 19:42
    • Deportes

    • Laura Cabanes: Soy de un pueblo pequeño y siempre he visto que lo de ganar medallas no era para mí hasta ahora
    • España se la pega con Portugal y se complica su camino al Mundial
        • Deportes
        • Deportes

      España se la pega con Portugal y se complica su camino al Mundial

      • Alejandro Peinado
      • 2026-08-28 23:29
    • Los retos de la
        • Deportes
        • Deportes

      Los retos de la 'nueva' Liga F: frenar la fuga de estrellas y crecer mediáticamente

      • Hugo Carrasco
      • 2026-08-29 09:00
    • Morata en su presentación con el Leganés: Sé de primera mano lo exigente que es la Segunda División
        • Deportes
        • Deportes

      Morata en su presentación con el Leganés: "Sé de primera mano lo exigente que es la Segunda División"

      Álvaro Morata regresa al fútbol español en un fichaje sorpresa por el C.D. Leganés. El conjunto pepinero firma un delantero con una carrera de élite y campeón de Europa, tanto a nivel de clubes como con la selección española. Una aventura en la que llega con la máxima de que "no todo en la vida se basa en ganar trofeos".
      • Xabier Vergara
      • 2026-08-28 21:54
    • Pipi Estrada ensalza el cariño del Bernabéu a Mourinho y castiga una mala decisión de Laporta
    • Rafa Jódar - Kokkinakis: horario y canal de TV para ver en directo gratis y en vivo online el partido del US Open 2026
        • Deportes
        • Deportes

      Rafa Jódar - Kokkinakis: horario y canal de TV para ver en directo el partido del US Open 2026

      • Alberto Sarmiento
      • 2026-08-29 11:16
    • Horario del Sevilla - Atlético de Madrid y canal de televisión para ver en directo y en vivo online el partido de la Liga
        • Deportes
        • Deportes

      Horario del Sevilla - Atlético de Madrid y canal de televisión para verlo en directo

      • Alberto Sarmiento
      • 2026-08-28 21:30
    • US Open 2026: calendario y cómo ver por televisión en directo y en vivo online todos los partidos del Grand Slam
        • Deportes
        • Deportes

      US Open 2026: calendario y cómo ver por televisión en directo todos los partidos del Grand Slam

      • OKDIARIO
      • 2026-08-29 08:55
    • economía

    • España perderá el liderazgo mundial del aceite: el sector cree que sólo la intervención del Gobierno evitaría que los italianos compren Deoleo
        • Economía
        • Economía

      España perderá el liderazgo del aceite: sólo la intervención del Gobierno evitaría que los italianos compren Deoleo

      La posibilidad de la venta de Deoleo a la empresa italiana Coricelli ha hecho que fuentes del sector reclamen que el Gobierno intervenga para evitar que la aceitera acabe en manos extranjeras, ya que defienden que "la permanencia de Deoleo en España es clave para mantener el control sobre la comercialización del aceite". 
      • Alicia Bonilla
      • 2026-08-29 05:45
    • Scope incluye a España en la crisis de deuda mundial: gastará un 6% de sus ingresos sólo en intereses
        • Economía
        • Economía

      Scope incluye a España en la crisis de deuda mundial: gastará un 6% de sus ingresos sólo en intereses

      • Benjamín Santamaría
      • 2026-08-29 05:45
    • COOL

    • La vuelta a la rutina nos trae el mejor cine: Los Javis y
        • Cool
        • Cool

      La vuelta a la rutina nos trae el mejor cine: 'Los Javis' lideran los estrenos

      • Francisco-Eme
      • 2026-08-29 08:00
    • Marta Ortega se adelanta al otoño con esta tendencia: la chaqueta tipo parka que ya triunfó en 2016
        • Cool
        • Cool

      Marta Ortega se adelanta al otoño con esta tendencia: la chaqueta que ya triunfó en 2016

      • Marta Burgués
      • 2026-08-28 16:43
    • Una experta sobre el auge de las segundas residencias en España: El teletrabajo ha cambiado el mercado
        • Cool
        • Cool

      Una experta sobre el auge de las segundas residencias en España: "El teletrabajo ha cambiado el mercado"

      Durante años, la segunda residencia estuvo asociada a las vacaciones de verano o a las escapadas puntuales. Sin embargo, ese concepto ha cambiado profundamente. Hoy, comprar una vivienda fuera de la residencia habitual responde a una nueva manera de entender el bienestar, el trabajo y la inversión.
      • Rocío Álvarez
      • 2026-08-29 09:31
    • Listado completo de los nuevos colaboradores del
        • Cool
        • Cool

      Listado completo de los nuevos colaboradores del 'El programa de Ana Rosa'

      • Sergio Espí
      • 2026-08-28 16:37
    • El
        • Cool
        • Cool

      El 'chamán' Durek Verrett, marido de Marta Luisa de Noruega, se despide de Harald: "Te quiero"

      • Javi Fernández
      • 2026-08-28 16:32
    • Romina Di Lorenzo y Gabriel Spatz: la historia de coraje, tapas y éxito hostelero en el corazón de Málaga
        • Cool
        • Cool

      Romina Di Lorenzo y Gabriel Spatz: la historia de coraje, tapas y éxito hostelero en Málaga

      • Nacho Sandoval
      • 2026-08-28 16:04
    • Happy FM

    • Un comensal de
        • HappyFM
        • HappyFM

      Un comensal de 'First Dates': "No me quiero imaginar cómo se tiene que mover en la cama"

      • Idania Monzón
      • 2026-08-28 19:00
    • Bertín Osborne (71 años) se sincera: Como igual que los perros, una vez al día
        • HappyFM
        • HappyFM

      Bertín Osborne (71 años) se sincera: "Como igual que los perros, una vez al día"

      • Nacho Molina
      • 2026-08-28 18:36
    • La reflexión de un tiktoker sobre la caída de los influencers: Se están riendo de ti
        • HappyFM
        • HappyFM

      La reflexión de un tiktoker sobre la caída de los influencers: "Se están riendo de ti"

      • Nacho Molina
      • 2026-08-28 17:33
    • 'Supervivientes All Stars 3
        • HappyFM
        • HappyFM

      'Supervivientes All Stars 3': lista de concursantes confirmados hasta ahora

      • Idania Monzón
      • 2026-08-28 12:12
    • 'La isla de las tentaciones 11
        • HappyFM
        • HappyFM

      'La isla de las tentaciones 11': lista completa de las tentadoras (con fotos)

      • Nacho Molina
      • 2026-08-28 11:51
    • 'La isla de las tentaciones 11
        • HappyFM
        • HappyFM

      'La isla de las tentaciones 11': lista completa de los tentadores (con fotos)

      • Nacho Molina
      • 2026-08-28 11:26
    • Okmotor

    • La DGT lo confirma: estas señales de tráfico son muy distintas pero pocos saben diferenciarlas
        • Motor
        • Motor

      La DGT lo confirma: estas señales de tráfico son muy distintas pero pocos saben diferenciarlas

      • Janire Manzanas
      • 2026-08-28 11:07
    • Pocos lo saben y muchos pican: el truco de los mecánicos para que pagues más en el taller
        • Motor
        • Motor

      Pocos lo saben y muchos pican: el truco de los mecánicos para que pagues más en el taller

      • Janire Manzanas
      • 2026-08-28 11:05
    • Los mecánicos expertos coinciden: éste es el significado del punto rojo en los neumáticos del coche
        • Motor
        • Motor

      Los mecánicos expertos coinciden: éste es el significado del punto rojo en los neumáticos del coche

      • Janire Manzanas
      • 2026-08-28 11:00
    • OKGreen

    • Bulgaria levanta a la desesperada una presa en el Danubio para que su central nuclear siga funcionando
        • OKGREEN
        • OKGREEN

      Bulgaria levanta a la desesperada una presa en el Danubio para que su central nuclear siga funcionando

      La grave sequía que asfixia a Europa Central ha puesto contra las cuerdas a la única central nuclear de Bulgaria. Para evitar el apagón de sus reactores, el país levanta a marchas forzadas un dique de entre 250 y 300 metros sobre el cauce del Danubio. El objetivo es garantizar el agua necesaria para refrigerar la planta de Kozloduy, según confirmó la ministra de Energía, Iva Petrova, en la televisión pública BNT. Las autoridades calculan que las obras se prolongarán hasta 15 días.
      • Antonio Quilis
      • 2026-08-29 05:00
    • ¿Y si la naturaleza tuviera derechos? Nuevos avances en la protección legal de animales y ecosistemas
        • OKGREEN
        • OKGREEN

      ¿Y si la naturaleza tuviera derechos? Nuevos avances en la protección legal de animales y ecosistemas

      • Daniel Jiménez
      • 2026-08-29 05:30
    • Cámaras aéreas captan desde el cielo el antes y el después del devastador colapso del glaciar en Nepal
        • OKGREEN
        • OKGREEN

      Cámaras aéreas captan el antes y el después del devastador colapso del glaciar en Nepal

      • Antonio Quilis
      • 2026-08-28 11:46
    • OKSalud

    • Estos son los nutrientes esenciales para reparar tu melena después del verano
    • Las camas elásticas esconden una lesión infantil que puede pasar inadvertida
        • OkSalud
        • OkSalud

      Las camas elásticas esconden una lesión infantil que puede pasar inadvertida

      • Rita Montagu
      • 2026-08-29 05:40
    • Limonadas caseras: un nutricionista avisa de que pueden llevar tanto azúcar como un refresco
        • OkSalud
        • OkSalud

      Limonadas caseras: un nutricionista avisa de que pueden llevar tanto azúcar como un refresco

      • B. Muñoz
      • 2026-08-29 05:40
    • Núria León: Si sientes que la IA te entiende más que nadie es una señal de dependencia
        • OkSalud
        • OkSalud

      Núria León: "Si sientes que la IA te entiende más que nadie es una señal de dependencia"

      La irrupción de los chatbots de inteligencia artificial ha cambiado la forma en que muchas personas buscan compañía, apoyo emocional o simplemente alguien con quien hablar. Sin embargo, detrás de esa disponibilidad constante y de las respuestas personalizadas pueden esconderse riesgos psicológicos que van desde la dependencia emocional hasta el aislamiento social. De este tema, desde OKSALUD hemos charlado con la psicóloga sanitaria, Núria León.
      • Tamara García Yuste
      • 2026-08-29 05:40
    • OKCLUB

    • Celebra con nosotros el X Aniversario de OKDIARIO
        • OKCLUB
        • OKCLUB

      Celebra con nosotros el X Aniversario de OKDIARIO

      • OKDIARIO
      • 2025-03-10 17:54
    • Alejandro Peinado: Nueva jornada de Liga con el liderato en juego y Alcaraz debuta en el US Open
        • OKCLUB
        • OKCLUB

      Alejandro Peinado: "Nueva jornada de Liga con el liderato en juego y Alcaraz debuta en el US Open"

      • OKDIARIO
      • 2026-08-29 05:45
    • navarra

    • Sociedad Civil Navarra llama a concentrarse por Ceuta y acusa al Gobierno de Sánchez de haber abandonado a sus vecinos
        • Sociedad

      Sociedad Civil Navarra llama a concentrarse por Ceuta y acusa al Gobierno de Sánchez de haber abandonado a sus vecinos

    • Las villavesas cambian sus horarios: así funcionarán las frecuencias tras el verano
        • Pamplona

      Las villavesas cambian sus horarios: así funcionarán las frecuencias tras el verano

    • La Federación Internacional vuelve a plantar cara a Asiron por su empeño con la “capital mundial de la pelota”
        • Más deporte

      La Federación Internacional vuelve a plantar cara a Asiron por su empeño con la “capital mundial de la pelota”

    • Chivite presume ante Europa de la industria navarra mientras la producción cae un 7,7% y las exportaciones se hunden
        • Política

      Chivite presume ante Europa de la industria navarra mientras la producción cae un 7,7% y las exportaciones se hunden

    • La charanga navarra que llena de alegría las fiestas de los pueblos: “Compaginamos el verano y la música”
        • Fiestas

      La charanga navarra que llena de alegría las fiestas de los pueblos: “Compaginamos el verano y la música”

    • Vuelos directos de Pamplona a Barcelona desde 39 euros: Air Nostrum reactiva la ruta con 3 frecuencias semanales
        • Sociedad

      Vuelos directos de Pamplona a Barcelona desde 39 euros: Air Nostrum reactiva la ruta con 3 frecuencias semanales

    • metabolic

    • Expertos en ciencias físicas coinciden: a partir de los 40 entrenar fuerza no es sólo por una cuestión estética, se debe hacer para «fortalecer los músculos»
        • Deporte

      Expertos en ciencias físicas coinciden: a partir de los 40 entrenar fuerza no es sólo por una cuestión estética, se debe hacer para «fortalecer los músculos»

    • La psicología dice que las personas que desean el mal a los demás no son malas, más bien su cerebro actúa así como mecanismo de defensa
        • Emociones y Salud Mental

      La psicología dice que las personas que desean el mal a los demás no son malas, más bien su cerebro actúa así como mecanismo de defensa

    • La natación ayuda, pero los profesionales coinciden en un ejercicio de gimnasia más eficaz para quemar grasa del abdomen a partir de los 50 años
        • Deporte

      La natación ayuda, pero los profesionales coinciden en un ejercicio de gimnasia más eficaz para quemar grasa del abdomen a partir de los 50 años

    • La psicología dice que las personas que cambian de opinión en público no es porque sean oportunistas: es una forma de demostrar una mayor flexibilidad cognitiva
        • Desarrollo Personal y Autoayuda

      La psicología dice que las personas que cambian de opinión en público no es porque sean oportunistas: es una forma de demostrar una mayor flexibilidad cognitiva

    • David Céspedes, doctor experto en longevidad: «Esta es la rutina que recomendaría a mis padres de más de 50 años para empezar a entrenar en casa con dos mancuernas»
        • Entrenamiento

      David Céspedes, doctor experto en longevidad: «Esta es la rutina que recomendaría a mis padres de más de 50 años para empezar a entrenar en casa con dos mancuernas»

    • Los expertos lo tienen claro: este es el mejor ejercicio para hacer durante la menopausia
        • Deporte

      Los expertos lo tienen claro: este es el mejor ejercicio para hacer durante la menopausia

    • talent24h

    • Tiene 99 años, está a punto de cumplir 100 y consigue renovar su carnet de conducir durante un año más
        • Actualidad

      Tiene 99 años, está a punto de cumplir 100 y consigue renovar su carnet de conducir durante un año más

    • Un agricultor pierde 10 hectáreas de sésamo tras seguir una receta de pesticidas generada por una IA
        • Actualidad

      Un agricultor pierde 10 hectáreas de sésamo tras seguir una receta de pesticidas generada por una IA

    • Paquiño teme que sus máquinas de más de 100 años dejen de funcionar cuando él ya no pueda
        • Actualidad

      Paquiño teme que sus máquinas de más de 100 años dejen de funcionar cuando él ya no pueda

    • La UE cambia las reglas de los móviles y facilita sustituir sus baterías desde 2027
        • Actualidad

      La UE cambia las reglas de los móviles y facilita sustituir sus baterías desde 2027

    • Una monitora de 31 años gana al INSS y consigue una pensión de 574 euros al mes
        • Actualidad

      Una monitora de 31 años gana al INSS y consigue una pensión de 574 euros al mes

    • Toyota apuesta por unas nuevas pilas de hidrógeno que prometen durar el doble que la generación anterior
        • Actualidad

      Toyota apuesta por unas nuevas pilas de hidrógeno que prometen durar el doble que la generación anterior

    • Muy Interesante

    • Científicos descubren en monos africanos una pista que cambia lo que creíamos sobre la evolución de nuestros antepasados hace 7 millones de años
        • Ciencia

      Científicos descubren en monos africanos una pista que cambia lo que creíamos sobre la evolución de nuestros antepasados hace 7 millones de años

    • La Bullpadel Hack 04 2026 cae de precio y se postula como una de las mejores palas para la Vuelta al Cole
        • Compras

      La Bullpadel Hack 04 2026 cae de precio y se postula como una de las mejores palas para la Vuelta al Cole

    • Arqueólogos encuentran junto a una autopista una insólita pieza romana elaborada hace 1.600 años: podría ser una de las mejores conocidas
        • Historia

      Arqueólogos encuentran junto a una autopista una insólita pieza romana elaborada hace 1.600 años: podría ser una de las mejores conocidas

    • ¿Cómo comenzó el movimiento antivacunas? De la duda legítima al gran engaño social
        • Ciencia

      ¿Cómo comenzó el movimiento antivacunas? De la duda legítima al gran engaño social

    • Hallan en un castillo escocés un esqueleto con 167 fracturas que podría ser la primera víctima confirmada de un trabuquete medieval
        • Historia

      Hallan en un castillo escocés un esqueleto con 167 fracturas que podría ser la primera víctima confirmada de un trabuquete medieval

    • ¿Por qué miles de personas pueden intentar cruzar la frontera de Ceuta al mismo tiempo? Esto dicen los estudios
        • Actualidad

      ¿Por qué miles de personas pueden intentar cruzar la frontera de Ceuta al mismo tiempo? Esto dicen los estudios

    • okzinet

    • Por qué este año no deberías preguntar a tu hijo “¿qué tal el cole?”: 5 alternativas avaladas por una psicóloga
        • Ser Padres

      Por qué este año no deberías preguntar a tu hijo “¿qué tal el cole?”: 5 alternativas avaladas por una psicóloga

    • El ritual de 30 minutos para cerrar el verano en familia y quedarse con lo importante
        • Ser Padres

      El ritual de 30 minutos para cerrar el verano en familia y quedarse con lo importante

    • Séneca, filósofo: «No es que tengamos poco tiempo, sino que perdemos mucho»: una reflexión para las familias
        • Ser Padres

      Séneca, filósofo: «No es que tengamos poco tiempo, sino que perdemos mucho»: una reflexión para las familias

    • 3 cremas y geles corporales de aceite de oliva: clásicos de supermercado desde 1,50 euros que siguen siendo superventas
        • Mia Revista

      3 cremas y geles corporales de aceite de oliva: clásicos de supermercado desde 1,50 euros que siguen siendo superventas

    • El pan de hamburguesa que está mejor que el brioche lleva puré de patata y 5 ingredientes más
        • Mia Revista

      El pan de hamburguesa que está mejor que el brioche lleva puré de patata y 5 ingredientes más

    • El perfumador de ropa de Mercadona que huele a perfume de flores caro por 3 euros
        • Mia Revista

      El perfumador de ropa de Mercadona que huele a perfume de flores caro por 3 euros

    • Techy

    • Gran cañón durante una prueba de disparo en Yuma Proving Ground, Arizona
        • Techy

      Estados Unidos ha disparado una ojiva hipersónica de tamaño real desde un enorme cañón en Arizona para recrear los últimos segundos antes del impacto, reutilizando una tecnología vinculada a un supercañón de 1.600 kilómetros que terminó siendo cancelado

      • Adrián Villellas
    • Nivel de burbuja colocado sobre el carril de una puerta corredera de garaje
        • Techy

      Los fabricantes de puertas automáticas coinciden y lo dejan claro: este fallo en el carril puede hacer trabajar de más al motor

      • Adrián Villellas
    • B-1B Lancer dentro de una instalación de pintura en Tinker Air Force Base tras completar su repintado
        • Techy

      Estados Unidos sacó del “cementerio” de Arizona un bombardero B-1B retirado en 2021 y, tras casi dos años de trabajo, más de 200 especialistas y 500 componentes sustituidos, el avión supersónico ha vuelto completamente operativo con un nuevo nombre: Apmiocalypse II

      • Adrián Villellas
    • Vista aérea del emplazamiento de Wesleyville junto al lago Ontario, donde OPG estudia una nueva central nuclear
        • Techy

      Ontario está perforando 40 pozos de hasta 120 metros junto al lago Ontario para estudiar una central nuclear de hasta 10.000 MW, capaz de abastecer a unos 10 millones de hogares, aunque su primera unidad todavía podría tardar 15 años en conectarse

      • Adrián Villellas
    • Tuneladora Lily de United Utilities utilizada para excavar el túnel de almacenamiento de agua de lluvia en Knutsford
        • Techy

      Una tuneladora de 40 toneladas métricas llamada Lily está excavando un túnel de 1,8 kilómetros bajo una localidad inglesa, con capacidad para almacenar 5,5 millones de litros de agua de lluvia, el equivalente a dos piscinas olímpicas

      • Adrián Villellas
    • Eurofighter Typhoon en vuelo equipado con armamento bajo las alas
        • Techy

      Reino Unido, Alemania, Italia y España aumentan al mismo tiempo sus propios pedidos de Eurofighter mientras BAE Systems se prepara para elevar la producción anual de sus cuatro líneas de montaje de 12-14 a casi 30 aviones

      • Adrián Villellas
    • OkPlanes

    • Water Lanter Festival
        • OkPlanes

      Water Lantern Festival aterriza en Madrid este septiembre

      • Sandra Quintana C
    • Richard Avedon. Ronald Fischer, beekeeper, Davis, California, May 9, 1987 © The Richard Avedon Foundation
        • OkPlanes

      Richard Avedon retrata la cara oculta del sueño americano en MAPFRE

      • Sandra Quintana C
    • estrenos de cine
        • OkPlanes

      Cartelera de cine: estrenos del 28 de agosto de 2026

      • Sandra Quintana C
    • exposicion relojes del siglo xix
        • OkPlanes

      Relojes del siglo XIX: la precisión del tiempo en la Galería de las Colecciones Reales

      • Sandra Quintana C
    • the weeknd
        • OkPlanes

      The Weeknd toma Madrid con un triple concierto histórico

      • Sandra Quintana C
    • Ouka Leele y el mito clásico
        • OkPlanes

      Ouka Leele y el mito clásico: la reinvención de la Movida en la Sala Alcalá 31

      • Sandra Quintana C
    • Curiosidades

    • Quesos
        • Curiosidades

      Ni en papel albal ni en la nevera: los expertos en quesos instan a guardarlo en «papel de horno porque absorbe la humedad y hace que salga menos moho»

      • Janire Manzanas
    • Posos de café e insectos
        • Curiosidades

      Pocos lo saben pero los posos de café funcionan como un repelente natural contra los insectos de tu casa porque interfieren con su sistema nervioso

      • Janire Manzanas
    • Oscar Wilde
        • Curiosidades

      La reflexión de Oscar Wilde, poeta irlandés, sobre la inteligencia emocional: “Un tonto nunca se repone de un éxito”

      • Janire Manzanas
    • cerrar siempre las puertas de las escaleras
        • Curiosidades

      Los bomberos coinciden y advierten a los ciudadanos: «Lo recomendable en los garajes es cerrar siempre las puertas de las escaleras y de los aparcamientos»

      • Alejo Lucarás
    • Imagen generada por IA.
        • Curiosidades

      Los expertos en climatización coinciden: las ventanas de plástico tienen los días contados; su sustituto ya está llegando a España y es más cómodo y bonito

      • Carmen Ruiz
        • Curiosidades

      Robert de Niro (83 años), actor: «Soy como Dios y Dios es como yo, soy tan grande como Dios, él es del mismo tamaño que yo, no esta por encima de mi ni yo estoy por debajo de él»

      • Janire Manzanas
    • Recetas de cocina

    • tarta de la abuela
        • Recetas de cocina

      Los expertos gastronómicos coinciden: la mejor ‘tarta de la abuela’ se hace con galletas hojaldradas y una ramita de canela

      • Alejo Lucarás
    • vinagre cuecen huevos
        • Recetas de cocina

      Añadir 2 gotas de vinagre al agua donde se cuecen los huevos: para qué sirve y por qué lo recomiendan los chefs expertos

      • Blanca Espada
        • Recetas de cocina

      En otros lugares, sumergen la pasta en crema o salsa de tomate; en la cocina francesa, simplemente mezclan nueces con ricotta

      • Gemma Meca
        • Recetas de cocina

      Pasta cremosa con setas

      • OKDIARIO
    • Champiñones salteados
        • Recetas de cocina

      Receta de champiñones salteados fácil y rica

      • OKDIARIO
        • Recetas de cocina

      Níscalos al estilo Arguiñano: receta tradicional y sabrosa

      • Francisco María
    • OkShopping

    • Dyson Cool PC2 De-NOx
        • OkShopping

      El purificador Dyson que captura un 50% más de NO₂ ahora cuesta 200 euros menos

      • New Mall Media
    • Grill LG Smart Inverter
        • OkShopping

      Este microondas LG de 32 litros tiene grill y Smart Inverter y ahora cuesta un 28% menos

      • New Mall Media
    • silla Lidario
        • OkShopping

      Una silla de exterior con aspecto de madera, cojines desenfundables y un 30% de descuento

      • New Mall Media
        • OkShopping

      Combate la caspa y el cuero cabelludo graso con este champú sólido

      • New Mall Media
        • OkShopping

      Pequeña, práctica y fácil de llevar: esta mini recortadora Braun está pensada para el vello corporal

      • New Mall Media
        • OkShopping

      Renueva cualquier espacio por mucho menos: la alfombra Despas está al 50% en Kave Home

      • New Mall Media
    • Mascotas

    • "Mitu", una gata negra de pelo largo, recostada en piso de madera. Foto: Naiara Philpotts
        • Mascotas

      Un experto veterinario extremeño desmiente el mito de los gatos negros: «Son de los que más complicado lo tienen para salir de los refugios»

      • Naiara Philpotts
    • Limpiar el bebedero del perro
        • Mascotas

      Los veterinarios instan a limpiar el bebedero de tu perro por el peligro del biofilm: una capa transparente llena de bacterias

      • Janire Manzanas
    • Dos gatos
        • Mascotas

      Comunicado importante de los veterinarios a las personas que tienen dos gatos

      • Janire Manzanas
    • Dos gatos mirando por una ventana. Foto: Magnific / Freepik
        • Mascotas

      Los expertos veterinarios coinciden: si tu gato se queda mirando por la ventana no es por cotillear, en realidad está estimulando su mente

      • Naiara Philpotts
    • Un perro duerme en el suelo
        • Mascotas

      Los adiestradores caninos coinciden: si tu perro duerme en el suelo en lugar de en su cama es porque busca regular su temperatura corporal

      • Janire Manzanas
    • Perro, animales, mascotas
        • Mascotas

      Los veterinarios coinciden: «Lavar a tu perro con champú humano altera el pH de su piel, aunque lo hagas una vez al mes»

      • Ana López Vera
    • Ciencia

    • Una excavadora carga tierra en un camión volcador junto al cauce de agua durante las obras de excavación del complejo de la presa Daudhan. Foto: Autoridad del Proyecto de Enlace Ken-Betwa
        • Ciencia

      India desafía a la Naturaleza y construye un río artificial de 221 km para unir dos ríos naturales y combatir la sequía en una de las regiones más áridas de la Tierra

      • Naiara Philpotts
    • Los virus
        • Ciencia

      El papel de los virus en la evolución humana

      • Francisco María
        • Ciencia

      La comunidad científica insta a los españoles a prepararse para lo que llega a España en 2027: no hay nada igual

      • Xabier Vergara
    • NASA y Universo
        • Ciencia

      Astrónomos no dan crédito: una estrella que se mueve a 25.000 kilómetros por segundo «siente» la rotación del agujero negro

      • Gemma Meca
    • Microbiota
        • Ciencia

      La guerra microscópica silenciosa: cómo los virus bacteriófagos defienden constantemente nuestro cuerpo sin que lo sepamos

      • Francisco María
    • Universidad de Potsdam. Foto: Thomas Roese / Universidad de Potsdam
        • Ciencia

      Las células solares tienen un límite, pero científicos de Alemania y Suecia ya saben cómo derribarlo y superar con creces el 20 % de eficiencia

      • Naiara Philpotts
    • Bebés

    • antojos aversiones embarazo
        • Bebés

      Antojos y aversiones en el embarazo: ¿Qué los causa y cómo manejarlos?

      • Blanca Espada
    • embarazo ectópico
        • Bebés

      Embarazo Ectópico: Síntomas, Causas y Tratamiento

      • Blanca Espada
    • ansiedad embarazo
        • Bebés

      Cómo gestionar la ansiedad en el embarazo: consejos y recursos para sentirte mejor

      • Blanca Espada
    • alimentación complementaria
        • Bebés

      Cómo introducir la alimentación complementaria sin morir en el intento: trucos y recetas para padres primerizos

      • Blanca Espada
    • urticaria niños
        • Bebés

      Urticaria en niños: causas, síntomas, tratamiento y complicaciones

      • Blanca Espada
    • granuloma umbilical
        • Bebés

      Granuloma umbilical del bebé: ¿Qué es y cómo tratarlo?

      • Blanca Espada
    • Tecnología

        • Tecnología

      El iPhone 18, la jugada con la que Apple parte en dos su calendario de lanzamientos

      • Nacho Grosso
    • ChatGPT
        • Tecnología

      Estos son los errores que cometes al utilizar ChatGPT en el trabajo

      • Nacho Grosso
    • Twitter.now
        • Tecnología

      Twitter.now, la red social que reclama el nombre de Twitter, se enfrenta a X en los tribunales

      • Nacho Grosso
    • Imagen generada por IA.
        • Tecnología

      La IA se cuela en los ayuntamientos: ya redacta informes y decretos que antes hacían los funcionarios

      • Carmen Ruiz
    • resumir videollamadas IA
        • Tecnología

      Cómo convertir una reunión de una hora en un documento de cinco minutos

      • Nacho Grosso
    • evento apple 2026
        • Tecnología

      El evento de Apple es el 9 de septiembre, llegará el primer iPhone plegable y mucho más

      • Nacho Grosso
    Ir Arriba

    Noticias de última hora

    • Maxi Iglesias y Aitana Sánchez-Gijón ya no se esconden: pillan a la pareja de escapada romántica en Trujillo
    • Ni en papel albal ni en la nevera: los expertos en quesos instan a guardarlo en «papel de horno porque absorbe la humedad y hace que salga menos moho»
    • La inteligente reflexión de Amancio Ortega sobre la riqueza: «Si he ganado tanto dinero ha sido porque mi objetivo no ha sido nunca ganar dinero»
    • Qué fue de Eugenio Siller, el actor protagonista de ‘Al diablo con los guapos’
    • Un Bezzecchi de récord deja sin pole a Márquez en Aragón
    • Pocos lo saben pero los posos de café funcionan como un repelente natural contra los insectos de tu casa porque interfieren con su sistema nervioso
    • Beatriz Trapote aumenta la tensión en el culebrón entre Belén Esteban y Juls Janeiro : «Es momento de que saque el dolor que lleva dentro»
    • Rafa Jódar – Kokkinakis: horario y canal de TV para ver en directo gratis y en vivo online el partido del US Open 2026
    • Detenido un peligroso acosador de Palma por intentar secuestrar a una menor e introducirla en una furgoneta
    • Detenido un conductor de un VTC en Guipúzcoa por retener y agredir sexualmente a una clienta

    Noticias más vistas

    • Los 12 asesores que el PSOE de Sevilla ha colocado en la Diputación siendo cargos socialistas
    • El alcalde socialista de La Rinconada colocó a su orientadora municipal en Prodetur, organismo público que él mismo presidía
    • La reflexión de Usain Bolt (40 años) sobre el esfuerzo y la constancia: «Entrené 4 años para correr 9 segundos y la gente se rinde cuando no ve resultados en 2 meses»
    • Vox pide suspender de forma cautelar la licencia de la mezquita del Polígono Sur por sus dudas urbanísticas
    • Cubarsí avala el desplante del Barcelona a sus campeones del mundo por el incidente de la estelada
    • Flick pasa del homenaje a los campeones con España: «Fantástico trabajo en el Mundial, pero es pasado»
    • Ortiz Arias evita que el Barça juegue con 9: también perdona la expulsión a Lamine Yamal
    • Etapa 7 de La Vuelta a España 2026 hoy, viernes 28 de agosto de Vall d’Alba a Aramón Valdelinares: horario, recorrido, perfil y dónde ver por TV
    • Arsenal, Bayern, PSG, City, Liverpool… lluvia de cocos para los españoles en la Champions
    • La frase de Rafa Nadal sobre la importancia del trabajo duro: «Mi padre empezó de cero, su dedicación ha sido mi mayor inspiración»

    Noticias virales

    • La psicología sugiere que las personas que miran fijamente a los ojos mientras hablan no lo hacen para intimidar, más bien buscan reforzar la confianza
    • Los bomberos coinciden e insisten a la población: «Por la noche lo recomendable es no cerrar la puerta con la llave puesta»
    • Qué significa el proverbio alemán: «Una valla dura 3 años, un perro dura 3 vallas, un caballo dura 3 perros y un hombre dura 3 caballos»
    • John Nash, matemático premio Nobel de Economía en 1994: «Lo único más grande que el poder de la mente es el coraje del corazón”
    • La reflexión de Joan Manuel Serrat, cantante (82 años), sobre la crianza: «Los hijos aprenden poco de las palabras; sólo sirven tus actos y la coherencia de estos con las palabras»
    • Alejandro Magno, rey de Macedonia: «Cualquier posesión que obtengamos por medio de la espada no puede ser segura ni duradera; el amor que se gana con bondad es seguro y perdurable»
    • Agatha Christie, escritora británica, sobre el envejecimiento: «Uno no reconoce los momentos realmente importantes en su vida hasta que es demasiado tarde»
    • Los expertos en climatización coinciden: el agua que sale del aire acondicionado no hay que tirarla porque es un recurso gratuito que puedes reutilizar
    • La psicología sugiere que las personas que se callan en discusiones parecen tranquilas pero en realidad están cargadas de resentimiento y agotamiento emocional
    • Los expertos en climatización coinciden: para refrescar tu casa no hay que encender el aire acondicionado, sino utilizar el sistema del pozo canadiense
    Gobierno de España

    Esta empresa se ha acogido a las subvenciones del Gobierno de España cofinanciadas con el Fondo Europeo de Desarrollo Regional para las regiones ultraperiféricas para el transporte de mercancías en Canarias.”Una manera de hacer Europa”

    Unión Europea. Fondo europeo de desarollo regional.
    • DOS MIL PALABRAS S.L. 2026.
    • Contacto
    • Aviso Legal
    • Política de Privacidad
    • Política de Cookies
    • Noticias
    • RSS
    • Quiénes somos
    • Auditado por ComScore