Tag Archive | "Barcelona"

Organitzem el 12M15M 2013


15M2013-9març El passat dissabte 23 de febrer es van reanudar les trobades al parc de la Ciutadella per pensar i coordinar les accions i manifestacions del proper 12M15M 2013.

 

Es va acordar tornar a fer una gran manifestació el 12M i accions descentralitzades dels colectius i assemblees durant els dies 13 i 14 de maig. Les acciones del dia 15 encara están per definir.

 

S’ha convocat la propera assemblea 12M15M el dia 9 de març a plaça Catalunya a les 11h, fent coincidir l’assemblea amb la convocatòria de Comissió Cuina, per afavorir la participació.

Acta de l’assemblea del GT 12M15M del 23 de febrer de 2013:

OBJETIVOS

  • poner en marcha un proceso destituyente-constituyente
  • recuperar los ejes de trabajo que salieron el año pasado
  • partir de donde lo dejamos el año pasado, en la plaza estaban los colectivos pero faltó debate político, por ejemplo sobre qué hacemos después
  • pensar que somos el 99% es un analisis incorrecto de la realidad.
  • lo del 99% es lenguaje simbólico que genera imaginario colectivo y tambien es importante.
  • no hay que abandonar el debate porque la construcción de alternativas que va detrás de la acción es muy importante y aun no está debatida y porque en temas concretos el crear debate es en si mismo la construccion de una alternativa.
  • la realidad provoca desesperación pero no acción, la gente está en shock pero no reacciona.
  • proponer a la PAH una ocupación masiva, la iniciativa tiene que ser de la PAH.
  • nosotros tenemos que generar dinámicas para que los colectivos hagan acciones y el resto las apoye.
  • hacer algo con repercusión real.
  • trabajar sobre cosas que salieron el año pasado en el forum dels pobles: apoyo mutuo, internacionalización de las luchas, combatir los poderes financieros, etc
  • poner objetivos definidos para una fecha concreta, no pensar que son los objetivos de todo el movimiento, sino solo de una convocatoria: por ejemlo despertar conciencia, combatir el estado de shock, dar ánimos a la gente desesperada, etc
  • sí que hay conciencia política pero hay que dar una vía a la gente para que se desbloqueen.
  • generar dinámicas de debate
  • trabajar en simultáneo reforma y ruptura como conceptos complementarios y no opuestos.
  • saber que estás opimido no te libera de la opresión, es necesario colocarse en otro lugar, situar a la gente en un punto que permita percibirse a sí misma con poder para cambiar, con posibilidad de otra realidad.
  • hacer una revolución integral es muy dificil pero si cada uno suma desde su ambito, entre todas se hace integral
  • lección de la PAH, se han empoderado y han llamado criminales a la cara a los culpables. tenemos que demostrar que nosotros tenemos el poder. estamos en situación pre-revolucionaria.
  • la PAH también habla de genocidio financiero.
  • la gente no quiere ver que está esclavizada, lo apartan de su mente porque saberlo es insoportable. hay que hacer que lo vean y lo asuman, que se quiten ese velo.
  • buscar alternativas éticas basadas en los DDHH más allá de ideologías. plantear una búsqueda de alternativas, nada jode mas al gobierno que la auto-organización y estar fuera del sistema.
  • dotar a la gente de capacidad de lucha
  • potenciar la autogestión, dar herramientas a la gente para resolver sus situaciones personales, dar una alternativa a la desesperación.
  • la voluntad de #colpegemjuntes está presente pero hay que generar las dinámicas, los hilos conductores entre todos los colectivos.
  • mejorar las dinámicas de las asambleas, menos plenarias y más por objetivos concretos.
  • intentar generar dinámicas para compartir recursos y no duplicar esfuerzos.
  • como objetivo, decir al mundo que no nos cansamos, que seguimos y crecemos a nivel europeo

CALENDARIO

  • el 12 es domingo: hacer una gran mani
  • 13 y 14 acciones descentralizadas de colectivos
  • 15M hacer algo juntos, o huelga social

ACCIONES

  • hacer dos grupos, uno de acciones y otro de teoria política, debate.
  • organizar acciones de caracter destituyente como hace la PAH
  • hacer ILP’s como churros: compartir los recursos humanos que realizan un tipo de accion concreta y que podrian utilizar ese mismo mecanismo para realizar diversas acciones simultaneas, el ejemplo de las ILP es uno
  • hacer ataque clínico (en el sentido de quirúrgico, certero, tocando solo que hay que tocar, extirpar y fuera )
  • no hay prevista ninguna acción gorda.
  • se plantea reocupación de edificios, una revolución que sea de algo más que palabras. en el Vallès ya se ha hecho.
  • una acción tangible, efectiva, que la gente vea los beneficios inmediatos.
  • que las acciones respondan a problemas inaplazables como hambre, pobreza…
  • se propone una huelga social para el 15M a nivel europeo, pero depende de la respuesta de los sindicatos. Se habla de huelga social en el sentido de huelga capaz de generalizar las luchas contra la austeridad y que pueda cambiar las relaciones de poder, una huelga política no sólo para trabajadoras asalariadas, también para las 6 millones de paradas, huelga de consumo, de cuidados, de estudiantes…
  • acciones al estilo iaioflautas, que solo saben lo que va a pasar la gente que toca, y son efectivas.
  • acciones bien planeadas con tiempo, no improvisar.
  • el 12M tomamos la calle, pero no basta con eso, continuamos con acciones hasta el 15M con más cosas
  • convocar a los colectivos antes del 12M para organizar las acciones
  • una acción gorda puede ser la suma de muchas acciones pequeñas. muchas acciones en una misma semana o un mismo día, con calendario coordinado pero cada accion por libre, atacando desde diferentes puntos al mismo enemigo.
  • trabajar cada colectivo su acción en secreto para que salga bien.
  • se podría hacer algo todos juntos como un espacio de debate.
  • hacer una lista negra colaborativa de a quién queremos atacar, se podría coordinar desde el grupo de escracheBCN
  • aprovechar esa semana para hacer talleres y que mas gente se apunte a las asambleas y grupos de trabajo, “captación”

COMUNICACIÓN

  • para la comunicación interna se recupera la lista de correo que se creó el año pasado, es abierta cualquiera
  • se decide volver a utilizar Trello para la organización de tareas
  • no da tiempo a tratar más sobre este punto

PRÓXIMA REUNIÓN

9 de marzo en plaza catalunya a las 11h coincidiendo con la convocatoria de Comissió Cuina

ACUERDOS:

  • convocar para la proxima reunion el máximo de colectivos
  • organizar un calendario por franjas horarias para repartir entre los colectivos y que cada uno haga su accion en su franja, coordinados sin pisarnos pero con independencia, y con la atención mediatica al 100% en cada accion, sin dividir.
  • hacer mani el 12M
  • acciones el 13 y 14
  • hacer algo todos juntos el 15M pero aun está por definir el qué.

preparacions-03

Posted in ConvocatoriasComentarios desactivados

#OccupyMordor


Después de las acciones del día 15M, la acción de #OccupyMordor prosigue en La Caixa, el gran poder financiero en Cataluña.

Des del mismo 16 de mayo seguimos protestando, con caceroladas desde las 8:00 durante todo el día: todavía hay alguien que no nos escucha? Aunque los medios hayan silenciado el ruido que desde Maria Cristina denuncia la estafa de las preferentes, los desahucios ejecutados por la Caixa y la estafa de la deuda, se ha conseguido señalar las entidades bancarias como responsables del expolio que sufrimos.

La caixarolada continua…

Acta del divendres 18 de maig de l’assemblea a Mordor

Reivindicacions des de Mordor

Fotos

Posted in Acciones, Auditoría de la deuda , Convocatorias, ViviendaComentarios desactivados

Si se puede. Propuestas 12M15M, comunicado DRY BCN


Ayer 12 de mayo, una multitud se manifestó en centenares de ciudades del Estado español y otros países del mundo. Solo en Barcelona, 200.000 personas recuperamos las calles y la Plaça de Catalunya. El nuevo movimiento global cuya emergencia protagonizamos en 2011 sigue creciendo; el proceso colectivo de cambio social que ahora cumple un año sigue su camino. El #15M ya ha demostrado ser el instrumento con el que reapropiarnos del presente y construir un futuro para las personas y no para los bancos. El trayecto de un #rescateciudadano.

Durante este año, banqueros y políticos han simulado no entender el mensaje. Su única respuesta ha sido la represión tanto para el movimiento como para la ciudadanía. Después de la demostración de democracia de ayer, los desalojos de Madrid, Palma, Valencia, Mallorca y Cádiz son la demostración de que un gobierno que reprime a ciudadanos pacíficos no es legítimo para gobernar. Reunirse no sólo es un derecho fundamental: es también bueno y legítimo. Por eso, os convocamos a recuperar todas las plazas hoy domingo 13 de mayo a las 17h. En solidaridad. Si tocan a una sola persona, nos tocan a todas.

Nos roban por encima de nuestras posibilidades. Rescatan bancos con dinero público mientras deshaucian a las familias endeudadas por los banqueros. Dinamitan el derecho a una sanidad y a una educación universal, mientras privatizan infraestructuras del bienestar levantadas con el esfuerzo de generaciones enteras. Promueven dividirnos y enfrentarnos mediante el sálvese quien pueda, para hacernos olvidar que ésta es una guerra de las élites contra las personas de abajo.

La indignación ha tomado cuerpo. El movimiento ha logrado ser expresión de alegría y esperanza. Con todo, la presión del espolio es acuciante para la vida de millones de personas. Necesitamos ahora ya cambios materiales, logros precisos, victorias concretas.

Hemos de tomar nuestras propias medidas y actuar. Hasta el #15M tendrán lugar acciones en torno a los seis puntos de acción consensuados:

#NiunEuroMas para los bancos, no pagaremos la deuda ílegitima. Mañana lunes empieza en Madrid el señalamiento público a Bankia. http://madrilonia.org/2012/05/senalamiento-a-bankia-este-lunes-14-de-mayo/. El martes 15m en Barcelona saldremos junto a la PAH, auditoria de la deuda, y los iaioflautas a conquistar daciones en pago de forma colectiva y a señalar los principales responsables de la crisis.

Liberemos el parque de vivienda de Bankia. Hemos pagado por ella no una sino tres veces. Nos pertenece al 99%. Sería una forma perfecta de rescatar a las personas y familias que sufren los desahucios.

Hoy empieza un nuevo ciclo,  ven con nosotros a preparar las 6 campañas y acciones.

Si queremos que esto cambie tendremos que hacerlo nosotros mismos, por nuestros propios medios’.

Posted in Comunicados, NoticiasComments (2)

29 de Marzo. Respuesta masiva de la sociedad.



La ciudadanía seguimos diciendo que NO, ¿nos escuchan?
29 DE MARZO, RESPUESTA MASIVA DE LA SOCIEDAD
El 29 de marzo vivimos, de nuevo, una respuesta masiva por parte de la sociedad contra un programa que pretende destruir nuestros derechos y eliminar de raíz la posibilidad de una sociedad democrática que gobierne la economía y garantice las condiciones para una vida digna.
La violencia estructural y sistemática que nuestros gobiernos toleran y aplican cada día para proteger los beneficios del 1%: desahucios que dejan a las familias sin hogares y endeudadas, una sanidad que ya no garantiza el derecho a la vida, una educación que se hace inaccesible … se ha convertido en insoportable, y la sociedad ha entendido que la única salida es tomar las calles y reivindicar unos derechos y una riqueza que nos pertenecen.
Ante la avalancha de personas que entendieron la jornada de huelga general como espacio de protesta, nuestros gobernantes no sólo continúan mudos ante unas reivindicaciones que ya nadie puede negar como justas, sino que aprovechan para criminalizar el movimiento reivindicativo y aplicar una represión violenta e indiscriminada.
Así, el uso de gas lacrimógenos por primera vez en doce años, la represión violenta a porrazos contra piquetes o las balas de goma que dejaron a un chico sin ojo, entre otras acciones violentas por parte del cuerpo policial, son muestras claras de la falta de voluntad para establecer un diálogo y del ataque a nuestras vidas que se afirma tan a los presupuestos y las leyes como físicamente cuando nos manifestamos.
Creemos que en ningún caso las expresiones de rabia, como la quema de contenedores, pueden equipararse a, ni justifican, la violencia física contra las personas ejercida por los Mossos d’Esquadra en las órdenes de una clase política que nos gobierna a golpes de porra y gases. Condenamos también las detenciones con prisión preventiva de dos estudiantes que participaron en la huelga de forma legítima y que, retenidos sin motivos válidos, sufren una represión política.
Las declaraciones que provienen del Ministerio de Interior y del Consejero de Interior Felip Puig ponen en evidencia que se busca la manera de cortar de raíz la expresión masiva de la sociedad hacia el expolio constante de nuestra riqueza y nuestras vidas ampliando la noción de terrorismo para poder criminalizar la crítica política e incluso planteando una revisión de un derecho tan fundamental como es el derecho de reunión. Quieren robarnos también el derecho a expresarnos libremente?
Pretenden disgregar generando miedo. Conspiran para romper el proceso de movilización social en marcha por una democracia real. Intensifican la arbitrariedad del monopolio del uso de la fuerza y ​​restringen las libertades en el marco legal. Pero ya no nos los creemos.
El proceso no se detiene y tenemos la fuerza necesaria para seguir adelante y recuperar derechos perdidos y conquistar otros nuevos. Tanto es así que declaramos que el nuestro no es el camino de la violencia. Continuaremos manifestándonos como siempre hemos hecho: sin símbolos o banderas, pacíficamente, y tratando de canalizar las muestras de rabia no contra objetos o personas sino por la vía de la desobediencia civil. Es un proceso irreversible: somos mayoría, tenemos razón cuando exigimos unos derechos y una riqueza que son nuestros. Y hemos perdido el miedo porque caminamos juntas. No nos dejaremos robar ni la vida ni la democracia.
El 12 de mayo y el 15 de mayo en ciudades de todo el mundo afectadas por la dictadura financiera y el expolio del 1% de la población, la sociedad volverá masivamente a tomar las calles, y lo hará condenando la violencia estructural que nos aboca a la miseria. Nuestras armas son nuestras reivindicaciones, los derechos que queremos conquistar: el poder pretende ignorarlas, pero eso no nos detendrá. Sabemos que unidos somos imparables y que prevalecerán a pesar de todos los obstáculos que se interpongan en nuestro camino.

AHORA MÁS QUE NUNCA, SEGUIMOS EXIGIENDO UNA
¡DEMOCRACIA REAL YA!

Barcelona a 5 de abril de 2012

Posted in ComunicadosComentarios desactivados


Lo sentimos los eventos no están disponibles. Prueba más tarde
PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzM8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzY8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX21wdV9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2Rpc2FibGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8zMDB4MjUwYS5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19hZF9tcHVfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfcGFnZTwvc3Ryb25nPiAtIFNlbGVjdCBhIHBhZ2U6PC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfZGlzYWJsZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvZmlsZXMvMjAxMi8wMi9jYWJlY2VyYS1ibG9nLW5vLXNvbS1tZXJjYW5jaWEuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF82PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZ3JlZW4uY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXM8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dGhvcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9jc3M8L3N0cm9uZz4gLSAvKiAgDQpUaGVtZSBOYW1lOiBHYXpldHRlIEVkaXRpb24NClRoZW1lIFVSSTogaHR0cDovL3d3dy53b290aGVtZXMuY29tLw0KRGVzY3JpcHRpb246IEdhemV0dGUgRWRpdGlvbiBieSBXb29UaGVtZXMNClZlcnNpb246IDIuMC4yDQpBdXRob3I6IFdvb1RoZW1lcw0KQXV0aG9yIFVSSTogaHR0cDovL3d3dy53b290aGVtZXMuY29tLw0KKi8NCg0KLyo9PT09PT09PT0gU0VUVVAgPT09PT09PT09Ki8NCg0KKnsNCglib3JkZXI6IDA7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQpib2R5ew0KCWNvbG9yOiAjNjY2NjY2Ow0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWxpbmUtaGVpZ2h0OiAxOXB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy9maWxlcy8yMDEyLzA0L2JhY2tncm91bmQuZ2lmKTsgDQoJYmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkOyANCgliYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbSBjZW50ZXI7IA0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCn0NCmF7DQoJY29sb3I6ICMwMDAwMDA7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KYTpob3ZlcnsNCgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmlucHV0LHNlbGVjdCx0ZXh0YXJlYXsNCglib3JkZXI6ICNkZGRkZGQgMXB4IHNvbGlkOw0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nOiA1cHg7DQp9DQpzZWxlY3R7DQoJcGFkZGluZzogMDsNCn0NCmxpew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi8qPT09PT09PT09IExBWU9VVCA9PT09PT09PT0qLw0KDQojcGFnZXsNCgl3aWR0aDogOTYwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46MTVweCBhdXRvOw0KCWJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7DQp9DQovKi0tLSBNYWluIENvbHVtbnMgLS0tKi8NCiNjb2x1bW5zew0KCXBhZGRpbmc6MTVweCAxNXB4IDI1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46IDBweDsNCn0NCi5jb2wxew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiA1OTVweDsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7DQp9DQouY29sMnsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMzIwcHg7DQp9DQovKi0tLSBTdWIgQ29sdW1ucyAtLS0qLw0KLnN1YmNvbHsNCgl3aWR0aDogMTUwcHg7DQp9DQouc3ViY29sIGgyew0KCWZvbnQtc2l6ZTogMThweDsNCglwYWRkaW5nOiAwIDAgMTBweDsNCgljb2xvcjogI0ZGRkZGRjsNCn0NCg0KLyo9PT09PT09PT0gSEVBREVSID09PT09PT09PSovDQoNCi8qLSBQYWdlIE5hdmlnYXRpb24gLSovDQojbmF2ew0KCWhlaWdodDogMzBweDsNCglwYWRkaW5nOiAycHggMHB4ICFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46MTVweCAxNXB4IDBweCAhaW1wb3J0YW50Ow0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDsNCgl3aWR0aDogOTMwcHggIWltcG9ydGFudDsNCn0NCiNuYXYtbGVmdCB7DQoJZmxvYXQ6bGVmdDsNCglkaXNwbGF5OmlubGluZTsNCgl3aWR0aDo2MDBweDsNCgl9DQojbmF2LXJpZ2h0IHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl3aWR0aDozMzBweDsNCgltYXJnaW46MHB4ICFpbXBvcnRhbnQ7DQoJcGFkZGluZzowcHggIWltcG9ydGFudDsNCgl9DQoNCi8qLSBEcm9wZG93bnMtKi8NCg0KI25hdjEsICNuYXYxIHVsew0KCXBhZGRpbmc6IDA7DQoJZmxvYXQ6bGVmdDsNCglsaXN0LXN0eWxlOiBub25lOw0KfQ0KI25hdjEgew0KCXBhZGRpbmc6IDA7DQoJZm9udC1zaXplOjE0cHg7DQoJZmxvYXQ6bGVmdDsNCn0NCiNuYXYxIGEgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBhZGRpbmctbGVmdDoxNXB4Ow0KCXBhZGRpbmctcmlnaHQ6MTVweDsNCn0NCiNuYXYxIGxpIHsNCglmbG9hdDogbGVmdDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJZm9udC1zaXplOjEycHg7CQ0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCn0NCiNuYXYxIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6IG5vbmU7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6I2ZmZmZmZjsNCn0NCiNuYXYxIGxpIHVsIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDE1ZW07DQoJbGVmdDogLTk5OWVtOw0KCXBhZGRpbmctdG9wOjFweDsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsLCAjbmF2MSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfQ0KI25hdjEgbGkgdWwgbGkgew0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGJkMTsJDQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWRiZDE7CQ0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2RlZGJkMTsJCQkNCglsaW5lLWhlaWdodDoyOHB4OwkNCgl3aWR0aDoxNWVtOw0KfQ0KDQojbmF2MSBsaTpob3ZlciwgI25hdjEgbGkuaG92ZXIgew0KICAgIHBvc2l0aW9uOiBzdGF0aWM7DQp9DQojbmF2MSBsaSB1bCB1bCB7DQoJbWFyZ2luOiAtMjlweCAwIDAgMTVlbTsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZGVkYmQxOwkNCn0NCg0KI25hdjEgbGk6aG92ZXIgdWwgdWwsICNuYXYxIGxpLnNmaG92ZXIgdWwgdWwgew0KCWxlZnQ6IC05OTllbTsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsLCAjbmF2MSBsaSBsaTpob3ZlciB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsIHVsLCAjbmF2MSBsaTpob3ZlciB1bCB1bCB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCB1bCB1bCB7DQoJbGVmdDogLTk5OWVtOw0KfQ0KI25hdjEgbGk6aG92ZXIgdWwsICNuYXYxIGxpIGxpOmhvdmVyIHVsLCAjbmF2MSBsaSBsaSBsaTpob3ZlciB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCn0gDQoNCg0KLyotIENhdGVnb3J5IE5hdmlnYXRpb24gLSovDQoNCi8qLSBOYXYgLyBEcm9wZG93bnMtKi8NCiNuYXYyIHsNCgltYXJnaW46MCAwIDE1cHggMTVweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowIDAgN3B4IDdweDsJIA0KfQ0KDQojbmF2MiwgI25hdjIgdWx7DQoJcGFkZGluZzogMDsNCglmbG9hdDpsZWZ0Ow0KCWxpc3Qtc3R5bGU6IG5vbmU7DQp9DQojbmF2MiB7DQoJcGFkZGluZzogMDsNCglmb250LXNpemU6MTRweDsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjkzMHB4Ow0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjREREREREOw0KfQ0KI25hdjIgYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJcGFkZGluZy1sZWZ0OjE1cHg7DQoJcGFkZGluZy1yaWdodDoxNXB4Ow0KCWJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREREREQ7DQp9DQojbmF2MiBsaSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbGluZS1oZWlnaHQ6MzBweDsNCn0NCiNuYXYyIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6IG5vbmU7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KI25hdjIgbGkgdWwgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMTVlbTsNCglsZWZ0OiAtOTk5ZW07DQoJei1pbmRleDogOTk5OTk7DQp9DQojbmF2MiBsaTpob3ZlciB1bCwgI25hdjIgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCgl6LWluZGV4OjEwMDA7CQ0KfQ0KI25hdjIgbGkgdWwgbGkgew0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGJkMTsJDQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWRiZDE7CQ0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2RlZGJkMTsJCQkNCglsaW5lLWhlaWdodDoyOHB4OwkNCgl3aWR0aDoxNWVtOw0KfQ0KI25hdjIgbGk6aG92ZXIsICNuYXYyIGxpLmhvdmVyIHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KfQ0KI25hdjIgbGkgdWwgdWwgew0KCW1hcmdpbjogLTI5cHggMCAwIDE1ZW07DQp9DQojbmF2MiBsaTpob3ZlciB1bCB1bCwgI25hdjIgbGkuc2Zob3ZlciB1bCB1bCB7DQoJbGVmdDogLTk5OWVtOw0KfQ0KI25hdjIgbGk6aG92ZXIgdWwsICNuYXYyIGxpIGxpOmhvdmVyIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfQ0KI25hdjIgbGk6aG92ZXIgdWwgdWwsICNuYXYyIGxpOmhvdmVyIHVsIHVsIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsIHVsIHVsIHsNCglsZWZ0OiAtOTk5ZW07DQp9DQojbmF2MiBsaTpob3ZlciB1bCwgI25hdjIgbGkgbGk6aG92ZXIgdWwsICNuYXYyIGxpIGxpIGxpOmhvdmVyIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfSANCg0KDQovKi0gU2VhcmNoIC0qLw0KI3NlYXJjaHsNCglmbG9hdDogcmlnaHQ7DQoJaGVpZ2h0OiAyN3B4Ow0KCXdpZHRoOjMxMHB4Ow0KCW1hcmdpbjogM3B4IDBweCAwcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KfQ0KKiBodG1sICNzZWFyY2h7DQoJbWFyZ2luLXJpZ2h0OiA4cHg7DQp9DQojc2VhcmNoIGlucHV0ew0KCWJhY2tncm91bmQ6ICNmZmZmZmY7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCgljb2xvcjogIzAwMDAwMDsNCglmbG9hdDogbGVmdDsNCglmb250LXNpemU6IDExcHg7DQoJd2lkdGg6MjIzcHg7DQoJbWFyZ2luOjFweCAwcHggMHB4Ow0KCXBhZGRpbmc6IDNweCA0cHggNHB4Ow0KfQ0KI3NlYXJjaCAuYnRuew0KCXBhZGRpbmc6IDA7DQoJaGVpZ2h0OjIycHg7DQoJd2lkdGg6IGF1dG87DQoJbWFyZ2luOjFweCAwcHggMHB4IDVweCAhaW1wb3J0YW50Ow0KCWJvcmRlcjpub25lOw0KCXdpZHRoOjY5cHg7DQp9DQovKi0gSGVhZGVyIC0qLw0KI2hlYWRlcnsNCgloZWlnaHQ6IDI2OHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQoJbWFyZ2luOiAwIDE1cHg7DQoJcGFkZGluZzogMHB4Ow0KfQ0KLyotIExvZ28gLSovDQojaGVhZGVyIGgxew0KCWZsb2F0OiBsZWZ0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCWxpbmUtaGVpZ2h0OiAxMDBweDsNCglmb250LXNpemU6IDI0cHg7DQp9DQojaGVhZGVyIGgxIGF7DQoJZGlzcGxheTogYmxvY2s7DQoJaGVpZ2h0OiA5M3B4Ow0KCXdpZHRoOiAzODlweDsNCgljb2xvcjogIzAwMDAwMDsNCglmb250LXNpemU6IDI4cHg7DQp9DQoNCi8qLSBUb3AgQmFubmVyIC0qLw0KI3RvcGJhbm5lciB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCXdpZHRoOiA0NjhweDsNCglwYWRkaW5nOjIwcHggMHB4IDBweDsNCn0NCg0KI3RvcGJhbm5lciBpbWd7DQoJZmxvYXQ6IHJpZ2h0Ow0KfQ0KDQovKi0gUlNTIC0qLw0KI3JzcyBhew0KCWNvbG9yOiAjNjY2NjY2Ow0KfQ0KI3JzcyBoMnsNCglwYWRkaW5nOjEwcHg7DQoJZm9udC1zaXplOjE4cHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KI3JzcyB1bHsNCgltYXJnaW46IDBweDsNCglwYWRkaW5nOiAxMHB4Ow0KCWZsb2F0OmxlZnQ7DQp9DQojcnNzIGxpew0KCW1hcmdpbjogMHB4Ow0KCWJvcmRlcjpub25lICFpbXBvcnRhbnQ7DQoJcGFkZGluZzogNXB4Ow0KfQ0KI3JzcyBpbWd7DQoJZmxvYXQ6IHJpZ2h0Ow0KCXBhZGRpbmctbGVmdDogMTBweDsNCgltYXJnaW4tdG9wOiA1cHg7DQp9DQoNCi8qPT09PT09PT09IEZFQVRVUkVEIFBPU1RTIChGUk9OVC1QQUdFKSA9PT09PT09PT0qLw0KDQovKiBTZWUgc2xpZGVzaG93LmNzcyAqLw0KDQovKj09PT09PT09PSBGRUFUVVJFRCBWSURFT1MgKEZST05ULVBBR0UpID09PT09PT09PSovDQoNCiN2aWRlby1mcmFtZSB7DQoJYmFja2dyb3VuZDojZWVlOw0KCWZsb2F0OmxlZnQ7DQoJd2lkdGg6NTgzcHg7DQoJaGVpZ2h0OmF1dG87DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOiA1cHg7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCgl9DQoudmlkZW8tbGVmdCB7DQoJZmxvYXQ6bGVmdDsNCgl3aWR0aDoyODVweCAhaW1wb3J0YW50Ow0KCWRpc3BsYXk6aW5saW5lOw0KCWJhY2tncm91bmQtY29sb3I6I0ZGRkZGRjsNCgl9DQoudmlkZW8tbGVmdCBwIHsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggIWltcG9ydGFudDsNCgl9DQoudmlkZW8tbGVmdCBoMiB7DQoJZGlzcGxheTpub25lOw0KCX0NCi52aWRlby1yaWdodCB7DQoJZmxvYXQ6cmlnaHQ7DQoJd2lkdGg6MjczcHg7DQoJbWluLWhlaWdodDoyMTRweDsNCglkaXNwbGF5OmlubGluZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7DQoJcGFkZGluZzogMTBweDsNCgl9DQoudmlkZW8tcmlnaHQgaDJ7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOjExcHg7DQoJbGluZS1oZWlnaHQ6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsNCgltYXJnaW46MCAhaW1wb3J0YW50Ow0KCXBhZGRpbmctdG9wOiAwcHg7DQoJcGFkZGluZy1yaWdodDogMHB4Ow0KCXBhZGRpbmctYm90dG9tOiA1cHg7DQoJcGFkZGluZy1sZWZ0OiAwcHg7DQoJfQ0KLnZpZGVvLXJpZ2h0IHB7DQoJY29sb3I6ICM2NjY7DQoJZm9udC1zaXplOjExcHg7DQoJbGluZS1oZWlnaHQ6MTJweDsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KCW1hcmdpbi1yaWdodDogMDsNCgltYXJnaW4tYm90dG9tOiAwcHg7DQoJbWFyZ2luLWxlZnQ6IDA7DQoJcGFkZGluZy10b3A6IDA7DQoJcGFkZGluZy1yaWdodDogMDsNCglwYWRkaW5nLWJvdHRvbTogMjBweDsNCglwYWRkaW5nLWxlZnQ6IDBweDsNCgl9DQoudmlkZW8tcmlnaHQgaDN7DQoJZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1zaXplOjE4cHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nLWJvdHRvbTogMHB4Ow0KCX0NCi52aWRlby1yaWdodCAubW9vdGFic190aXRsZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI0ZGRjsNCglsaXN0LXN0eWxlOm5vbmU7DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOjBweDsNCgl9DQoudmlkZW8tcmlnaHQgLm1vb3RhYnNfdGl0bGUgbGkgew0KCWNvbG9yOiMwMDA7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToxMXB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWRpc3BsYXk6YmxvY2s7DQoJcGFkZGluZzoxMHB4Ow0KCWJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7DQoJYmFja2dyb3VuZDojZjdmN2Y3Ow0KCWxpbmUtaGVpZ2h0OjEwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW1hcmdpbi10b3A6IDBweDsNCgltYXJnaW4tcmlnaHQ6IDBweDsNCgltYXJnaW4tYm90dG9tOiA1cHg7DQoJbWFyZ2luLWxlZnQ6IDBweDsNCgl9DQoudmlkZW8tcmlnaHQgLm1vb3RhYnNfdGl0bGUgbGk6aG92ZXIsIC52aWRlby1yaWdodCAubW9vdGFic190aXRsZSBsaS5hY3RpdmUgew0KCWJhY2tncm91bmQ6I2RkZGRkZCB1cmwoaW1hZ2VzL2ljby13YXRjaC5naWYpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDsNCgl9DQoNCi8qPT09PT09PT09IEJMT0cgUE9TVCBTVFlMSU5HID09PT09PT09PSovDQoNCi8qPT09IFNtYWxsIEJveCBQb3N0ID09PSovDQoucG9zdHsNCgltYXJnaW46IDA7DQp9DQoucG9zdCBoMnsNCglmb250LXNpemU6IDE4cHg7DQoJcGFkZGluZzogMCAwIDVweDsNCn0NCi5wb3N0IGgzew0KCWZvbnQtc2l6ZTogMTRweDsNCn0NCi5wb3N0IGgzIGF7DQoJY29sb3I6ICMwMDAwMDA7DQp9DQoucG9zdCBwew0KCXBhZGRpbmc6IDAgMCAxNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxOXB4Ow0KfQ0KDQovKi0gQm94IC0qLw0KLmJveHsNCgljbGVhcjogYm90aDsNCgloZWlnaHQ6IDElOw0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KfQ0KLmJveCAucG9zdHsNCgl3aWR0aDogMjg4cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQp9DQouYm94IC5wb3N0IGgyIGF7DQoJY29sb3I6IzMzMzMzMzsNCn0NCi5ib3ggLnBvc3QgaDJ7DQoJZm9udC1zaXplOiAxOHB4Ow0KCXBhZGRpbmc6IDEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQouYm94IC5wb3N0IHB7DQoJZm9udC1zaXplOiAxNHB4Ow0KCXBhZGRpbmc6IDVweCAxMHB4Ow0KfQ0KDQouYm94IC5wb3N0IGltZ3sNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWZsb2F0OiByaWdodDsNCglwYWRkaW5nOiA1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46IDEwcHg7DQp9DQoNCi8qPT09IFRyYWRpdGlvbmFsIEJsb2cgUG9zdCA9PT0qLw0KLnBvc3QtYWx0ew0KCW1hcmdpbjogMCAwIDE1cHggMDsNCgkNCn0NCi5wb3N0LWFsdCBoMnsNCglmb250LXNpemU6IDIycHg7DQoJcGFkZGluZzogMDsNCgljb2xvcjojMDAwMDAwOw0KCWxpbmUtaGVpZ2h0OiAyNnB4Ow0KfQ0KLnBvc3QtYWx0IGgzew0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nLWJvdHRvbTogNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxOHB4Ow0KCWNvbG9yOiAjMDAwMDAwOw0KfQ0KLnBvc3QtYWx0IGg0ew0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nLWJvdHRvbTogNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxNnB4Ow0KfQ0KLnBvc3QtYWx0IGgzIGEsIC5wb3N0LWFsdCBoMiBhew0KCWNvbG9yOiAjMDAwMDAwOw0KfQ0KLnBvc3QtYWx0IHB7DQoJcGFkZGluZzogMCAwIDE1cHg7DQp9DQoucG9zdC1hbHQgcC5wb3N0X2RhdGV7DQoJY29sb3I6ICM5OTk5OTk7DQoJcGFkZGluZzogNXB4IDBweCAxMHB4Ow0KCWZvbnQtc2l6ZTogMTFweDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KcC5wb3N0ZWR7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWNvbG9yOiAjNjY2NjY2Ow0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KCWxpbmUtaGVpZ2h0OiAxOHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7DQoJcGFkZGluZzogNXB4Ow0KCW1hcmdpbi10b3A6IDEwcHg7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2RkZDsNCgkvKmJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Ki8NCgljbGVhcjpib3RoOw0KfQ0KaDMucG9zdGVkIGEgew0KCWNvbG9yOiAjMDAwMDAwOw0KCWZvbnQtc2l6ZToxMXB4Ow0KfQ0KDQouYm94IC5wb3N0IGgzLnBvc3RlZCB7DQoJYm9yZGVyLWJvdHRvbTpub25lOw0KfQ0KDQouYXV0aG9yX2luZm8gew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiA1NzNweDsNCglwYWRkaW5nOiAxMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7DQoJYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQouYXV0aG9yX2luZm8gaDMgew0KCW1hcmdpbi1ib3R0b206IDEwcHg7DQp9DQoNCi5hdXRob3JfcGhvdG8gew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46ICAwIDAgMCAxMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQp9DQoNCi5hdXRob3JfcGhvdG8gaW1nIHsNCglib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2Ow0KfQ0KDQovKj09PSBCdXR0b25zID09PSovDQouY29udGludWV7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY28tYXJyb3cuZ2lmKSBuby1yZXBlYXQgbGVmdDsNCglmb250LXdlaWdodDpib2xkOw0KCXBhZGRpbmctbGVmdDogMTVweDsNCn0NCi5jb21tZW50cyB7DQoJcGFkZGluZy1ib3R0b206MHB4ICFpbXBvcnRhbnQ7DQp9DQouY29tbWVudHMgYXsNCgliYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljby1jb21tLmdpZikgbm8tcmVwZWF0IGxlZnQ7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6MHB4IDBweCAwcHggMThweDsNCgltYXJnaW4tbGVmdDo1cHg7DQp9DQphLm1vcmV7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY28tYXJyb3cyLmdpZikgbm8tcmVwZWF0IHJpZ2h0Ow0KCWNvbG9yOiAjYzBjMGMwOw0KCWZvbnQtc2l6ZTogMS4yZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJcGFkZGluZzogMCAyMHB4IDAgMDsNCn0NCi8qPT09IFRyYWRpdGlvbmFsIEJsb2cgUG9zdCA9PT0qLw0KLm5hdmlnYXRpb24gew0KCXdpZHRoOjU5NXB4Ow0KCW1hcmdpbi1ib3R0b206MTVweDsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6IDE1cHggMDsNCglib3JkZXItdG9wOiAgMXB4IHNvbGlkICNlZWU7DQoJYm9yZGVyLWJvdHRvbTogIDFweCBzb2xpZCAjZWVlOw0KfQ0KLm5hdmlnYXRpb24gYSB7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOiAxZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQouYWxpZ25sZWZ0ew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjE1cHg7DQp9DQouYWxpZ25yaWdodHsNCglkaXNwbGF5OmlubGluZTsNCglmbG9hdDpyaWdodDsNCgltYXJnaW4tbGVmdDoxNXB4Ow0KfQ0KDQovKiAgICBVc2luZyBcJ2NsYXNzPVwiYWxpZ25yaWdodFwiXCcgb24gYW4gaW1hZ2Ugd2lsbCAod2hvIHdvdWxkXCd2ZQ0KICAgIHRob3VnaHQ/ISkgYWxpZ24gdGhlIGltYWdlIHRvIHRoZSByaWdodC4gQW5kIHVzaW5nIFwnY2xhc3M9XCJjZW50ZXJlZFwnLA0KICAgIHdpbGwgb2YgY291cnNlIGNlbnRlciB0aGUgaW1hZ2UuIFRoaXMgaXMgbXVjaCBiZXR0ZXIgdGhhbiB1c2luZw0KICAgIGFsaWduPVwiY2VudGVyXCIsIGJlaW5nIG11Y2ggbW9yZSBmdXR1cmVwcm9vZiAoYW5kIHZhbGlkKSAqLw0KDQppbWcud3Atc21pbGV5ICB7DQogICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7DQogICAgYm9yZGVyOiBub25lIWltcG9ydGFudDsNCn0NCg0KaW1nLmNlbnRlcmVkIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgfQ0KDQogICAgLyogRW5kIEltYWdlcyAqLw0KDQoNCi8qPT09PT09PT09IEFSQ0hJVkUgU1BFQ0lGSUMgPT09PT09PT09Ki8NCg0KI2FyY2hpdmVib3ggew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglwYWRkaW5nOjEwcHg7DQoJY29sb3I6IzAwMCAhaW1wb3J0YW50Ow0KfQ0KI2FyY2hpdmVib3ggaDQsICNhcmNoaXZlYm94IGgzLCAjYXJjaGl2ZWJveCBoMnsNCgljb2xvcjojMzMzMzMzOw0KZm9udC1zaXplOiAxNHB4Ow0KfQ0KI2FyY2hpdmVib3ggaDQgZW0sICNhcmNoaXZlYm94IGgyIGVtLCAjYXJjaGl2ZWJveCBoMyBlbXsNCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KI2FyY2hpdmVib3ggYSwgI2FyY2hpdmVib3ggaDIgew0KCWNvbG9yOiMwMDA7DQp9DQouYXJjaGl2ZWZlZWQgew0KCW1hcmdpbi10b3A6MTBweDsNCglwYWRkaW5nLWJvdHRvbTowcHg7DQp9DQouYXJjaGl2ZWZlZWQgYSB7DQoJYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2ljby1hcmNmZWVkLmdpZikgY2VudGVyIGxlZnQgbm8tcmVwZWF0Ow0KCWhlaWdodDoyMHB4Ow0KCWNvbG9yOiMwMDA7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglmb250LXNpemU6IDE0cHg7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCglwYWRkaW5nOjNweCAwcHggMXB4IDIycHg7DQp9DQouYXJjbGlzdHsNCgl3aWR0aDogMjYwcHg7DQoJbWFyZ2luOjBweCAwcHggMjVweDsNCglwYWRkaW5nOjVweCAwcHggMHB4Ow0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KfQ0KLmFyY2xpc3QgaDJ7DQoJY29sb3I6ICMwMDA7DQoJcGFkZGluZzowcHggMHB4IDE1cHg7DQp9DQoNCi5hcmNsaXN0IHVsIHsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQouYXJjbGlzdCB1bCBsaXsNCgljb2xvcjojYzBjMGMwOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6OHB4IDAgOHB4IDEwcHg7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2VlZTsNCn0NCg0KLyo9PT09PT09PT0gU0lOR0xFIFBPU1QgU1BFQ0lGSUMgPT09PT09PT09Ki8NCg0KLnNpbmdsZXRhZ3Mgew0KCW1hcmdpbi10b3A6NXB4Ow0KfQ0KLnNpbmdsZXRhZ3MgYSB7IGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjb2xvcjojMDAwMDAwOyB9DQouZW50cnkgcHsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MThweDsNCgl9DQouZW50cnkgYmxvY2txdW90ZSB7DQoJcGFkZGluZzogMTBweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KCWNvbG9yOiMwMDA7DQoJd2lkdGg6ODUlOw0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQoJZm9udC1zdHlsZTogaXRhbGljOw0KCW1hcmdpbjo1cHggYXV0byAxNXB4Ow0KCX0NCi5lbnRyeSBibG9ja3F1b3RlIHAgew0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6IDVweCAwcHg7DQoJbWFyZ2luOiA1cHggMHB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KCX0NCi5lbnRyeSBpbWcgew0KCXBhZGRpbmc6IDRweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJfQ0KLndwLWNhcHRpb24gaW1nIHsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQp9DQpwLndwLWNhcHRpb24tdGV4dCB7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzogMCAwIDE1cHggMDsNCgltYXJnaW46MHB4Ow0KCWZvbnQtc2l6ZToxLjJlbTsNCglmb250LXN0eWxlOml0YWxpYzsNCgljb2xvcjojMDAwMDAwOw0KfQ0KLmVudHJ5IHVsLCAuZW50cnkgb2wgew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglmb250LXNpemU6MTRweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCX0NCi5lbnRyeSB1bCBsaSB1bCwgLmVudHJ5IG9sIGxpIG9sew0KCW1hcmdpbi1ib3R0b206MHB4Ow0KCXBhZGRpbmctdG9wOjNweDsNCgl9DQouZW50cnkgdWwgbGkgew0KCWxpc3Qtc3R5bGU6Y2lyY2xlIGluc2lkZSAhaW1wb3J0YW50Ow0KCW1hcmdpbi1sZWZ0OjE1cHg7DQoJcGFkZGluZzozcHggMHB4Ow0KCX0NCi5lbnRyeSB1bCBsaSB1bCBsaSB7DQoJbGlzdC1zdHlsZTpkaXNjIGluc2lkZSAhaW1wb3J0YW50Ow0KCX0NCi5lbnRyeSBvbCBsaSB7DQoJbGlzdC1zdHlsZTpkZWNpbWFsIGluc2lkZSAhaW1wb3J0YW50Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6M3B4IDBweDsNCgl9DQouZW50cnkgb2wgbGkgb2wgbGkgew0KCWxpc3Qtc3R5bGU6ZGVjaW1hbC1sZWFkaW5nLXplcm8gaW5zaWRlICFpbXBvcnRhbnQ7DQoJfQ0KDQoNCi8qPT09PT09PT09IENPTU1FTlRTID09PT09PT09PSovDQoNCmgyLmNvbW1oMnsNCglmb250LXNpemU6IDEuNWVtOw0KCXBhZGRpbmc6IDAgMCA1cHg7DQoJbWFyZ2luOiAwIDAgMTVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsNCgljb2xvcjojMDAwMDAwOw0KfQ0Kb2wuY29tbWVudGxpc3R7DQoJbWFyZ2luOiAxMHB4IDAgMjBweDsNCglwYWRkaW5nOiAwOw0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJZm9udC1zaXplOiAxMnB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KfQ0Kb2wuY29tbWVudGxpc3QgcHsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQpvbC5jb21tZW50bGlzdCBjaXRlew0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdlaWdodDogYm9sZDsNCn0NCm9sLmNvbW1lbnRsaXN0IGxpew0KCXBhZGRpbmc6IDIwcHggMTBweCAxMHB4IDEwcHg7DQp9DQpvbC5jb21tZW50bGlzdCBsaS5hbHR7DQoJcGFkZGluZzogMTBweCAxMHB4IDAgMTBweCAhaW1wb3J0YW50Ow0KCWJhY2tncm91bmQ6I2Y3ZjdmNzsNCglib3JkZXI6MXB4IHNvbGlkICNlZWU7CQ0KfQ0KI2NvbW1lbnQgew0KCXdpZHRoOiA1OTVweDsNCglmbG9hdDogbGVmdDsNCn0NCg0KLyo9PT09PT09PT0gVEhSRUFERUQgQ09NTUVOVFMgPT09PT09PT09Ki8NCg0Kb2wuY29tbWVudGxpc3QgLmNvbW1lbnQtbWV0YXsNCglmb250LXNpemU6MC44ZW07DQp9DQpvbC5jb21tZW50bGlzdCBsaSAuYXZhdGFyIHsgCQ0KCWZsb2F0OmxlZnQ7DQoJYm9yZGVyOiAxcHggc29saWQgIzAwMDsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoNCm9sLmNvbW1lbnRsaXN0IGxpew0KCWJvcmRlcjoxcHggc29saWQgI2VlZTsJCQ0KCW1hcmdpbjoxMHB4IDAgMTBweDsNCglwYWRkaW5nOjE1cHggMTBweCAxMHB4Ow0KfQ0KDQpvbC5jb21tZW50bGlzdCBsaSAuZXZlbnsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQp9DQoNCi5jb21tZW50bGlzdCBsaSB1bCBsaSB7DQoJbWFyZ2luLWxlZnQ6MTBweDsNCgltYXJnaW4tcmlnaHQ6LTVweDsNCn0NCg0Kb2wuY29tbWVudGxpc3QgbGkgLnJlcGx5IHsNCglwYWRkaW5nOjAgMCA1cHggMDsNCn0NCg0KI3Jlc3BvbmQgcHsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQoNCi8qIFBhZ2VOYXZpICovDQoNCi5tb3JlX2VudHJpZXMge2ZvbnQtc2l6ZToxNHB4O30NCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIHtjbGVhcjpib3RoO2Zsb2F0OiByaWdodDt9DQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDt9DQoNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIC5jdXJyZW50LCANCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIC5vbiwNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIGE6aG92ZXIge2JhY2tncm91bmQ6ICM5ZjlmOWYgIWltcG9ydGFudDt9DQoNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIGEsDQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhOmxpbmssDQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhOnZpc2l0ZWQsIA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLmN1cnJlbnQsIA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLm9uLA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgc3Bhbi5wYWdlcyB7IGJhY2tncm91bmQ6ICNFRUVFRUU7Y29sb3I6ICM2NjY7IHBhZGRpbmc6IDRweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogNHB4OyBib3JkZXI6MXB4IHNvbGlkICNEREREREQ7IGxpbmUtaGVpZ2h0OjI0cHg7IH0NCg0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLmV4dGVuZCB7IGJhY2tncm91bmQ6bm9uZTsgYm9yZGVyOm5vbmU7IH0NCg0KLyo9PT09PT09PT0gU0lERUJBUiA9PT09PT09PT0qLw0KDQovKiBUYWJzICovDQoNCiN0YWJzIHsNCgl3aWR0aDozMDhweCAhaW1wb3J0YW50Ow0KCWhlaWdodDphdXRvICFpbXBvcnRhbnQ7DQoJcGFkZGluZzo1cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZGRkOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZWVlZTsNCglmbG9hdDpsZWZ0Ow0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQouaW5zaWRlIHsNCgl3aWR0aDogMjkzcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjVweCAhaW1wb3J0YW50Ow0KCWJvcmRlcjoxcHggc29saWQgI2RkZCAhaW1wb3J0YW50Ow0KCW1hcmdpbjo1cHggMHB4IDBweCAhaW1wb3J0YW50Ow0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoNCn0NCg0KdWwud29vVGFicyB7DQoJd2lkdGg6IDEwMCU7DQoJcGFkZGluZzogMCAwIDdweCAwOw0KfQ0KDQp1bC53b29UYWJzIGxpIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCglmb250LXNpemU6IDE0cHg7DQoJbGluZS1oZWlnaHQ6IDM0cHg7DQoJYmFja2dyb3VuZDogI2ZmZmZmZjsNCgljb2xvcjogIzAwMDAwMDsNCglib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1zaXplOiAxMXB4Ow0KCW1hcmdpbjowcHggMnB4IDBweCAwcHggIWltcG9ydGFudDsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoNCnVsLndvb1RhYnMgbGkgYSB7DQoJbGluZS1oZWlnaHQ6IDMxcHg7DQoJY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsNCglkaXNwbGF5OiBibG9jazsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAwIDZweDsNCn0NCg0KdWwud29vVGFicyBsaSBhLnNlbGVjdGVkLCB1bC53b29UYWJzIGxpIGE6aG92ZXIgew0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7DQp9DQoNCiN0YWdjbG91ZCB7DQoJcGFkZGluZzoxMHB4Ow0KfQ0KDQoNCg0KI3N1YiBpbWcgew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46IDAgMCA4cHggOHB4Ow0KfQ0KDQouaW5zaWRlIGxpIHsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRUVFRUVFOw0KCXBhZGRpbmc6OHB4Ow0KfQ0KDQouaW5zaWRlIGxpIGltZy5hdmF0YXIsIC5pbnNpZGUgbGkgaW1nLnRodW1ibmFpbCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCglwYWRkaW5nOiAzcHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglmbG9hdDogbGVmdDsNCgltYXJnaW46IDAgOHB4IDAgMDsNCn0NCg0KLyotIEFkcyAtKi8NCg0KI21wdV9iYW5uZXIgew0KCXdpZHRoOjMwMHB4Ow0KCWhlaWdodDoyNTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCXBhZGRpbmc6IDlweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KfQ0KDQojYWR2ZXJ0XzEyNXgxMjUgew0KCXBhZGRpbmctbGVmdDogMTRweDsNCn0NCg0KI2FkdmVydF8xMjV4MTI1IGltZ3sNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KCXBhZGRpbmc6IDVweDsNCgltYXJnaW46MCAxNHB4IDE0cHggMDsNCn0NCg0KLyotIEZsaWNrciAtKi8NCg0KI2ZsaWNrciAud3JhcCB7DQoJcGFkZGluZy10b3A6IDE1cHg7DQp9DQouZmxpY2tyX2JhZGdlX2ltYWdlIGltZyB7DQoJZmxvYXQ6bGVmdDsNCn0NCi8qPT09IFN0eWxpbmcgV2lkZ2V0IExpc3RzID09PSovDQoNCi53aWRnZXQgew0KCW1hcmdpbi1ib3R0b206MTVweDsNCn0JDQoud2lkZ2V0IGgzIHsNCglwYWRkaW5nOiA1cHg7DQp9DQoud2lkZ2V0IHVsIHsNCgltYXJnaW46MCAwIDEwcHggMDsNCglwYWRkaW5nOjVweCAwOw0KCWJvcmRlcjpub25lICFpbXBvcnRhbnQ7DQp9DQoud2lkZ2V0IHVsIGxpIHsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCglwYWRkaW5nOjVweCAwIDVweCA1cHg7DQoJbWFyZ2luOjBweDsNCn0NCi53aWRnZXQgdWwgbGkgYSB7DQoJY29sb3I6ICMwMDAwMDA7DQp9DQoud2lkZ2V0IHNlbGVjdCB7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWVlOw0KCXdpZHRoOjE0OHB4Ow0KCW1hcmdpbjoxNXB4IDAgMCAwOw0KfQ0KDQoudGV4dHdpZGdldCB7DQoJcGFkZGluZy10b3A6IDE1cHg7DQp9DQoNCi8qPT09PT09PT09IEZPT1RFUiA9PT09PT09PT0qLw0KDQojZm9vdGVyew0KCWNsZWFyOiBib3RoOw0KCWNvbG9yOiAjNjY2NjY2Ow0KCWhlaWdodDogMzVweDsNCglsaW5lLWhlaWdodDogMzVweDsNCgltYXJnaW46MHB4IDE1cHggMTVweDsNCglwYWRkaW5nOjBweCAxNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCn0NCg0KI2Zvb3RlciBpbWcgew0KCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsNCgltYXJnaW4tbGVmdDo1cHg7DQp9DQoNCi8qPT09PT09PT09IE1JU0MgPT09PT09PT09Ki8NCg0KLmZpeHsNCgljbGVhcjogYm90aDsNCgloZWlnaHQ6IDFweDsNCgltYXJnaW46IDAgMCAtMXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQouaGx7DQoJYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWU7DQp9DQouaGwtZnVsbHsNCglmbG9hdDpsZWZ0Ow0KCWNsZWFyOmJvdGg7DQoJaGVpZ2h0OjFweDsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6MCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggMHB4IDE1cHg7DQp9DQouaGwyew0KCWJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjYzBjMGMwOw0KfQ0KLmhsM3sNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCn0NCi5ibG9new0KCXdpZHRoOjEwMCUgIWltcG9ydGFudDsNCglmbG9hdDpsZWZ0Ow0KfQ0KLmJldHdlZW57DQoJaGVpZ2h0OjJweDsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJfQ0KLmZsew0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLmZyew0KCWZsb2F0OiByaWdodDsNCn0NCi5hY3sNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouYXJ7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQoudGh7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCglmbG9hdDogcmlnaHQ7DQoJcGFkZGluZzogNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJbWFyZ2luOiAwIDAgNXB4IDEwcHg7DQp9DQoNCnRhYmxlI3dwLWNhbGVuZGFyIHsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCW1hcmdpbjogMHB4Ow0KCXBhZGRpbmc6IDBweDsNCn0NCg0KdGFibGUjd3AtY2FsZW5kYXIgYSB7DQoJY29sb3I6IzAwMDAwMDsgDQp9DQoNCnRhYmxlI3dwLWNhbGVuZGFyIGNhcHRpb24geyANCglmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDAuOTE2NjdlbTsgbGluZS1oZWlnaHQ6IDEuNzI3MjdlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDJweDsgYmFja2dyb3VuZDogI2U1ZTVlNTsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZGRkOyANCn0NCnRhYmxlI3dwLWNhbGVuZGFyIHRoIHsgDQoJd2lkdGg6IDI2cHg7IGZvbnQtc2l6ZTogMC45MTY2N2VtOyBsaW5lLWhlaWdodDogMS43MjcyN2VtOyBiYWNrZ3JvdW5kOiAjZjJmMmYyOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkZGQ7IHRleHQtYWxpZ246IGNlbnRlcjsgDQp9DQp0YWJsZSN3cC1jYWxlbmRhciB0ZCB7IA0KCXdpZHRoOiAyNnB4OyBsaW5lLWhlaWdodDogMS42NjY2N2VtOyBjb2xvcjogIzk5OTsgdGV4dC1hbGlnbjogY2VudGVyOyANCn0NCnRhYmxlI3dwLWNhbGVuZGFyIHRkI25leHQsIHRhYmxlI3dwLWNhbGVuZGFyIHRkI3ByZXYgeyANCgl3aWR0aDogNzhweDsgZm9udC1zaXplOiAwLjgzMzMzZW07IGxldHRlci1zcGFjaW5nOiAxcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IA0KfQ0KLmdyYXZhdGFyIHsNCglmbG9hdDpsZWZ0Ow0KCWJvcmRlcjogMXB4IHNvbGlkICMwMDA7DQoJbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KfQ0KLmpkR2FsbGVyeSBhIHsgY3Vyc29yOnBvaW50ZXIgIWltcG9ydGFudDsgfQ0KDQovKiBTbGlkZXIgKi8NCg0KI3NsaWRlci1ob2xkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMjcwcHg7IHdpZHRoOiA1OTVweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgb3ZlcmZsb3c6IGhpZGRlbiA7IGNvbG9yOiAjZmZmO30NCiNzbGlkZXItaG9sZGVyIC5zbGlkZXsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OiA1OTVweDsgei1pbmRleDogMTtoZWlnaHQ6IDI3MHB4OyB3aWR0aDogNTk1cHg7IG92ZXJmbG93OiBoaWRkZW47fQ0KI3NsaWRlci1ob2xkZXIgLnNsaWRlLTEgeyBkaXNwbGF5IDogYmxvY2s7IGxlZnQ6MHB4OyB0b3A6MHB4O30NCiNzbGlkZXItaG9sZGVyIC5zbGlkZSBhIHtkaXNwbGF5OiBibG9jazsgIH0NCiNzbGlkZXItaG9sZGVyIC5zbGlkZSBpbWcgeyAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDogMHB4OyB9DQojc2xpZGVyLWhvbGRlciAgaW1nLmZ1bGwtbWFzayB7ICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDowOyBsZWZ0OiAwcHg7IHotaW5kZXg6IDA7IGRpc3BsYXk6IG5vbmU7IH0NCg0KI3NsaWRlci1ob2xkZXIgLnNsaWRlLWNvbnRlbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjcwcHg7IGxlZnQ6IDA7aGVpZ2h0OiA3MDBweDsgd2lkdGg6IDU3NXB4OyBiYWNrZ3JvdW5kOiAjMDAwOyBwYWRkaW5nOiAxMHB4IDEwcHggMCAxMHB4O3otaW5kZXg6IDk5OTt9DQoNCiNzbGlkZXItaG9sZGVyIC5zbGlkZXItbGVmdCwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1yaWdodCB7cG9zaXRpb246IGFic29sdXRlOyAgICBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogMTUwcHg7IHdpZHRoOiAxMjBweDsgei1pbmRleDogOTk5OyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHdoaXRlOyB9DQoNCiNzbGlkZXItaG9sZGVyIC5zbGlkZXItbGVmdCB7IGxlZnQ6IDA7ICB0b3A6IDA7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUxLnBuZ1wnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTsgICB9DQoqIGh0bWwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1sZWZ0IHsgYmFja2dyb3VuZDogdXJsKFwnaW1hZ2VzL2ZsZWNoZTEuZ2lmXCcpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDsgfQ0KDQojc2xpZGVyLWhvbGRlciAuc2xpZGVyLXJpZ2h0e3JpZ2h0OiAwOyB0b3A6IDA7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUyLnBuZ1wnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTt9DQoqIGh0bWwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1yaWdodCB7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUyLmdpZlwnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB9DQoNCi5zbGlkZXItc2hlbGYgeyB6LWluZGV4OiA5OTk7IGJhY2tncm91bmQ6ICMwMDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IHdpZHRoOiA1OTVweDsgb3ZlcmZsb3c6IHZpc2libGU7fQ0Kc3Bhbi5jbGlja2VyIHsgei1pbmRleDogOTk5OyBiYWNrZ3JvdW5kOiAjMDAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDowcHg7IHJpZ2h0OjEyMHB4OyB3aWR0aDogYXV0bzsgZm9udC1zaXplOiAxMXB4OyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMnB4IDEwcHg7IGN1cnNvcjogcG9pbnRlcjt9DQouc2hlbGYtY29udGVudCB7IHotaW5kZXg6IDk5OTk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IHdpZHRoOiA1OTVweDt9DQouc2hlbGYtY29udGVudCBpbWcge2JvcmRlcjoxcHggc29saWQgI2ZmZjsgbWFyZ2luOiAxMHB4IDAgMCAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7fQ0KDQouc2hlbGYtdGl0bGUge3BhZGRpbmc6IDBweCAxMHB4O30NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoNCg0KYXsNCgljb2xvcjogIzAwMDsNCn0NCi5zdWJjb2wgaDJ7DQoJY29sb3I6ICNmZmY7DQp9DQoubmF2MiBsaTpob3ZlciwNCi5uYXYyIGxpLnNmSG92ZXIsDQoubmF2MiBsaS5jdXJyZW50LA0KLm5hdjIgYTpmb2N1cywgLm5hdjIgYTpob3ZlciwgLm5hdjIgYTphY3RpdmUgew0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLmZlYXR1cmVkIGgzIGE6aG92ZXIgew0KCWNvbG9yOiMwMDA7DQp9DQoudmlkZW8tcmlnaHQgaDJ7DQoJY29sb3I6ICMwMDA7DQp9DQouY2F0bGlzdCBoMnsNCgljb2xvcjogI2ZmZjsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChkZWZhdWx0L2ljby1jYXRsaXN0LmdpZik7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7DQp9DQojbmF2MSAuY3VycmVudF9wYWdlX2l0ZW0gYSwNCiNuYXYxIGxpLnNmSG92ZXIsDQojbmF2MSBsaS5jdXJyZW50LA0KI25hdjEgbGkgYTpmb2N1cywgI25hdjEgbGkgYTpob3ZlciwgI25hdjEgbGkgYTphY3RpdmUgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJY29sb3I6ICNGRkZGRkY7DQp9DQojbmF2MSAuY3VycmVudF9wYWdlX2l0ZW0gdWwgbGkgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCgljb2xvcjogIzYzN0QzNzsNCn0NCg0KI25hdjEgLmN1cnJlbnRfcGFnZV9pdGVtIHVsIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJY29sb3I6ICNGRkZGRkY7DQp9DQojbmF2IHVsICBsaS5iYWNrIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWNvbG9yOiAjRkZGRkZGOw0KfQ0KDQojbmF2IHVsICBsaSBhIHsNCgljb2xvcjogIzAwMDAwMDsNCn0NCiNuYXYyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KCWJvcmRlci1ib3R0b206M3B4IHNvbGlkICMwMDAwMDA7DQp9DQojbmF2MiBsaSBhOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJY29sb3I6I2ZmZjsNCn0NCi52aWRlby1yaWdodCBoM3sNCgljb2xvcjogIzYzN0QzNzsNCn0JDQp1bC53b29UYWJzIGxpIGEuc2VsZWN0ZWQsIHVsLndvb1RhYnMgbGkgYTpob3ZlciB7DQoJY29sb3I6ICNmY2ZmMDA7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KLndpZGdldCBoMyB7DQoJY29sb3I6ICNGRkZGRkY7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCiNmb290ZXIgYXsNCgljb2xvcjogIzAwMDAwMDsNCn0NCiNhcmNoaXZlYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KCWJvcmRlcjogbm9uZTsNCglmb250LXNpemU6MjhweDsNCglmb250LXdlaWdodDoxMDA7DQoJcGFkZGluZzogMCAwIDAgMDsNCgltYXJnaW4tdG9wOjEwcHg7DQp9DQojYXJjaGl2ZWJveCBoNCBlbSwgI2FyY2hpdmVib3ggaDIgZW0sICNhcmNoaXZlYm94IGgzIGVtew0KCWNvbG9yOiMwMDAwMDA7DQp9DQojcnNzIGgyew0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJYm9yZGVyOiBub25lOw0KCWNvbG9yOiMwMDAwMDA7DQp9DQoNCg0KDQoNCjwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCg0KLyogUEFSQ0hFUyAqLw0KDQouY2xlYXINCnsNCmNsZWFyOmJvdGg7DQpkaXNwbGF5OmJsb2NrOw0Kb3ZlcmZsb3c6aGlkZGVuOw0KdmlzaWJpbGl0eTpoaWRkZW47DQp3aWR0aDowO2hlaWdodDowDQp9DQoNCg0KDQo8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoNCi8qIFBBUkNIRVMgKi8NCg0KLmRyeWJjbl9hIHsNCgljb2xvcjogI0ZGMDAwMDsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KfQ0KPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fc2VvX3RlbXBsYXRlPC9zdHJvbmc+IC0gYTozOntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6MTA6InNlb19pbmZvXzEiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJsYWJlbCI7czo0OiJTRU8gIjtzOjQ6InR5cGUiO3M6NDoiaW5mbyI7czo0OiJkZXNjIjtzOjIwMjoiQWRkaXRpb25hbCBTRU8gY3VzdG9tIGZpZWxkcyBhdmFpbGFibGU6IDxzdHJvbmc+Q3VzdG9tIFBhZ2UgVGl0bGVzPC9zdHJvbmc+LiBHbyB0byA8YSBocmVmPSJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9d29vdGhlbWVzX3NlbyI+U0VPIFNldHRpbmdzPC9hPiBwYWdlIHRvIGFjdGl2YXRlLiI7fWk6MTthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MTY6IlNFTyAtIFNldCBmb2xsb3ciO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7czo0OiJkZXNjIjtzOjc3OiJNYWtlIGxpbmtzIGZyb20gdGhpcyBwb3N0L3BhZ2UgPHN0cm9uZz5mb2xsb3dhYmxlPC9zdHJvbmc+IGJ5IHNlYXJjaCBlbmdpbmVzLiI7fWk6MjthOjU6e3M6NDoibmFtZSI7czoxMToic2VvX25vaW5kZXgiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjU6ImxhYmVsIjtzOjEzOiJTRU8gLSBOb2luZGV4IjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO3M6NDoiZGVzYyI7czo1NjoiU2V0IHRoZSBQYWdlL1Bvc3QgdG8gbm90IGJlIGluZGV4ZWQgYnkgYSBzZWFyY2ggZW5naW5lcy4iO319PC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgTnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXRfZW50cmllczwvc3Ryb25nPiAtIFNlbGVjdCBhIG51bWJlcjo8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mcmFtZXdvcmtfdmVyc2lvbjwvc3Ryb25nPiAtIDQuMy41PC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KDQogIHZhciBfZ2FxID0gX2dhcSB8fCBbXTsNCiAgX2dhcS5wdXNoKFtcJ19zZXRBY2NvdW50XCcsIFwnVUEtMzEyMDQxMDgtMVwnXSk7DQogIF9nYXEucHVzaChbXCdfdHJhY2tQYWdldmlld1wnXSk7DQoNCiAgKGZ1bmN0aW9uKCkgew0KICAgIHZhciBnYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCdzY3JpcHRcJyk7IGdhLnR5cGUgPSBcJ3RleHQvamF2YXNjcmlwdFwnOyBnYS5hc3luYyA9IHRydWU7DQogICAgZ2Euc3JjID0gKFwnaHR0cHM6XCcgPT0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPyBcJ2h0dHBzOi8vc3NsXCcgOiBcJ2h0dHA6Ly93d3dcJykgKyBcJy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qc1wnOw0KICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCdzY3JpcHRcJylbMF07IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ2EsIHMpOw0KICB9KSgpOw0KDQo8L3NjcmlwdD48L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA0NTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9zaW5nbGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2xheW91dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy82NS1oZWFkZXItZHJ5LmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vZ2F6ZXR0ZS1lZGl0aW9uLzwvbGk+PGxpPjxzdHJvbmc+d29vX29wdGlvbnM8L3N0cm9uZz4gLSBhOjMyOntzOjE4OiJ3b29fYWx0X3N0eWxlc2hlZXQiO3M6MDoiIjtzOjEyOiJ3b29fZ3JhdmF0YXIiO3M6NToiZmFsc2UiO3M6ODoid29vX2xvZ28iO3M6MDoiIjtzOjIwOiJ3b29fZ29vZ2xlX2FuYWx5dGljcyI7TjtzOjE4OiJ3b29fZmVlZGJ1cm5lcl91cmwiO3M6MDoiIjtzOjE3OiJ3b29fZmVlZGJ1cm5lcl9pZCI7czowOiIiO3M6MTI6Indvb19hcmNoaXZlcyI7czoxNDoiU2VsZWN0IGEgcGFnZToiO3M6MTA6Indvb19sYXlvdXQiO3M6MDoiIjtzOjE3OiJ3b29fb3RoZXJfZW50cmllcyI7czoxNjoiU2VsZWN0IGEgTnVtYmVyOiI7czoxNDoid29vX3Nob3dfdmlkZW8iO3M6NToiZmFsc2UiO3M6MTg6Indvb192aWRlb19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjIxOiJ3b29fZmVhdHVyZWRfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoyMDoid29vX2ZlYXR1cmVkX2VudHJpZXMiO3M6MTY6IlNlbGVjdCBhIE51bWJlcjoiO3M6MTE6Indvb19hZF9wYWdlIjtzOjE0OiJTZWxlY3QgYSBwYWdlOiI7czoxNjoid29vX3Nob3dfYWRzX3RvcCI7czo1OiJmYWxzZSI7czoxNDoid29vX2FkX2ltYWdlXzEiO3M6ODY6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3RoZW1lcy9uZXdzcHJlc3MvaW1hZ2VzL2FkLTEyNXgxMjUuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzEiO3M6NDM6Imh0dHA6Ly9leGFtcGxlLmNvbS9hZHMvYWQxX2Rlc3RpbmF0aW9uLmh0bWwiO3M6MTQ6Indvb19hZF9pbWFnZV8yIjtzOjg2OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZiI7czoxMjoid29vX2FkX3VybF8yIjtzOjQzOiJodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMyI7czo4NjoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvdGhlbWVzL25ld3NwcmVzcy9pbWFnZXMvYWQtMTI1eDEyNS5naWYiO3M6MTI6Indvb19hZF91cmxfMyI7czo0MzoiaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbCI7czoxOToid29vX3Nob3dfYWRzX2JvdHRvbSI7czo1OiJmYWxzZSI7czoxNDoid29vX2FkX2ltYWdlXzQiO3M6ODY6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3RoZW1lcy9uZXdzcHJlc3MvaW1hZ2VzL2FkLTEyNXgxMjUuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzQiO3M6NDM6Imh0dHA6Ly9leGFtcGxlLmNvbS9hZHMvYWQxX2Rlc3RpbmF0aW9uLmh0bWwiO3M6MTQ6Indvb19hZF9pbWFnZV81IjtzOjg2OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZiI7czoxMjoid29vX2FkX3VybF81IjtzOjQzOiJodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sIjtzOjE0OiJ3b29fYWRfaW1hZ2VfNiI7czo4NjoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvdGhlbWVzL25ld3NwcmVzcy9pbWFnZXMvYWQtMTI1eDEyNS5naWYiO3M6MTI6Indvb19hZF91cmxfNiI7czo0MzoiaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbCI7czoxMDoid29vX3Jlc2l6ZSI7czo1OiJmYWxzZSI7czoxNToid29vX3RodW1iX3dpZHRoIjtzOjA6IiI7czoxNjoid29vX3RodW1iX2hlaWdodCI7czowOiIiO3M6MTQ6Indvb19jdXN0b21fY3NzIjtOO308L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgTnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX3Jlc2l6ZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19hZHNfYm90dG9tPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfY2Fyb3VzZWw8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfdmlkZW88L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDExMzwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93aWR0aDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX3RhYnM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIEdhemV0dGU8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93aWR0aDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3VwbG9hZHM8L3N0cm9uZz4gLSBhOjg6e2k6MDtzOjc3OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy82NS1oZWFkZXItZHJ5LmpwZyI7aToxO3M6ODM6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzIwLUhFQURFUi0xMk0xNU0tMDEuanBnIjtpOjI7czo4MzoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTktSEVBREVSLTEyTTE1TS0wMS5qcGciO2k6MztzOjc3OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy8xOC1oZWFkZXItZHJ5LmpwZyI7aTo0O3M6Nzc6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE3LWhlYWRlci1kcnkuanBnIjtpOjU7czo4NToiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTYtY2FiZWNlcmFfYmxvZ19sb3cxLmpwZyI7aTo2O3M6ODE6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE1LWNhYmVjZXJhX2Jsb2cxLmpwZyI7aTo3O3M6ODE6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE0LWNhYmVjZXJhX2Jsb2cxLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX2NhdGVnb3J5PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48L3VsPg==