Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas

Aprender un lenguaje de programación es todo un reto debido a que el proceso de aprendizaje requiere constancia y mucha práctica, además, existen limitaciones en la metodología tradicional de enseñanza que dificultan aún más dicho proceso. Esto hace necesario implementar nuevas herramientas que apoy...

Full description

Autores:
Roncancio Turriago, Jorge Luis
Manotas Orozco, César Augusto
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/31187
Acceso en línea:
http://hdl.handle.net/11349/31187
Palabra clave:
Aprendizaje
Gamificación
Programación
Prototipo
Videojuego
Instrucciones de programación
Especialización en Ingeniería de Software -- Tesis y disertaciones académicas
Desarrollo de prototipos
Videojuegos -- Diseño
Desarrollo de programas para computador
Enseñanza con ayuda de computadores
Gamification
Learning
Programming
Prototype
Videogame
Programming instructions
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_434a6fcee4a8cf6282e1c70ebcce7210
oai_identifier_str oai:repository.udistrital.edu.co:11349/31187
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
dc.title.titleenglish.spa.fl_str_mv Educational videogame prototype as a support tool for learning programming instructions for first-semester students of systems engineering at the Francisco José de Caldas District University
title Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
spellingShingle Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
Aprendizaje
Gamificación
Programación
Prototipo
Videojuego
Instrucciones de programación
Especialización en Ingeniería de Software -- Tesis y disertaciones académicas
Desarrollo de prototipos
Videojuegos -- Diseño
Desarrollo de programas para computador
Enseñanza con ayuda de computadores
Gamification
Learning
Programming
Prototype
Videogame
Programming instructions
title_short Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
title_full Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
title_fullStr Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
title_full_unstemmed Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
title_sort Prototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas
dc.creator.fl_str_mv Roncancio Turriago, Jorge Luis
Manotas Orozco, César Augusto
dc.contributor.advisor.none.fl_str_mv Daza Corredor, Alejandro Paolo
dc.contributor.author.none.fl_str_mv Roncancio Turriago, Jorge Luis
Manotas Orozco, César Augusto
dc.contributor.orcid.spa.fl_str_mv Daza Corredor, Alejandro Paolo [0000-0002-3089-1233]
dc.subject.spa.fl_str_mv Aprendizaje
Gamificación
Programación
Prototipo
Videojuego
Instrucciones de programación
topic Aprendizaje
Gamificación
Programación
Prototipo
Videojuego
Instrucciones de programación
Especialización en Ingeniería de Software -- Tesis y disertaciones académicas
Desarrollo de prototipos
Videojuegos -- Diseño
Desarrollo de programas para computador
Enseñanza con ayuda de computadores
Gamification
Learning
Programming
Prototype
Videogame
Programming instructions
dc.subject.lemb.spa.fl_str_mv Especialización en Ingeniería de Software -- Tesis y disertaciones académicas
Desarrollo de prototipos
Videojuegos -- Diseño
Desarrollo de programas para computador
Enseñanza con ayuda de computadores
dc.subject.keyword.spa.fl_str_mv Gamification
Learning
Programming
Prototype
Videogame
Programming instructions
description Aprender un lenguaje de programación es todo un reto debido a que el proceso de aprendizaje requiere constancia y mucha práctica, además, existen limitaciones en la metodología tradicional de enseñanza que dificultan aún más dicho proceso. Esto hace necesario implementar nuevas herramientas que apoyen y faciliten el aprendizaje de los lenguajes de programación. Es por lo anterior que el objetivo general del estudio fue lograr desarrollar un prototipo de videojuego educativo, que sirva como herramienta de apoyo para el aprendizaje de instrucciones de programación, para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas. Para poder validar este desarrollo, se utilizó como muestra algunos profesores del programa de Ingeniería de Sistemas de la Universidad, con el objetivo de que interactuaran con la aplicación y así obtener una retroalimentación por parte de profesionales expertos en enseñanza de programación para poder identificar posibles mejoras para la aplicación y así poder dejar una base que permita su posterior implementación y validación con estudiantes. En el desarrollo, se siguió la metodología RUP (Rational Unified Process), la cual permite tener una visión clara del producto final, gracias al diseño de especificaciones detalladas como: Arquitectura empresarial, objetivos de aprendizaje, mecánicas del videojuego, casos de uso, requisitos del sistema, diagrama de actividades, diagrama de formularios, wireframes, diagrama de clases, lógica de negocio, modelo seudomatematico, modelo relacional y modelo entidad relación. Finalmente, siguiendo las especificaciones establecidas, se obtuvo como resultado un prototipo completamente funcional con el cual, el 100% de los usuarios encuestados estuvo de acuerdo en que la implementación de la herramienta puede aportar en el proceso de aprendizaje de los estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad, resultado sin duda alentador ya que permitió contrastar la hipótesis planteada al inicio del proyecto, dándola como acertada, y aceptando la implementación de la herramienta en escenarios de aprendizaje.
publishDate 2022
dc.date.created.none.fl_str_mv 2022-11-24
dc.date.accessioned.none.fl_str_mv 2023-04-28T21:27:23Z
dc.date.available.none.fl_str_mv 2023-04-28T21:27:23Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.degree.spa.fl_str_mv Investigación-Innovación
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/31187
url http://hdl.handle.net/11349/31187
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/4.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/20563bb4-fff8-470f-bfaa-b8fed4c778dc/download
https://repository.udistrital.edu.co/bitstreams/a15616df-bb22-48ff-be97-14311c6c0844/download
https://repository.udistrital.edu.co/bitstreams/946243ba-9480-4358-9990-d3ad827e9462/download
https://repository.udistrital.edu.co/bitstreams/8f427082-6d93-480f-8586-4044395bf5f0/download
https://repository.udistrital.edu.co/bitstreams/c4cf603d-4440-4a7c-9bd6-f492ac380828/download
https://repository.udistrital.edu.co/bitstreams/9425bdd8-b970-44d5-bff0-6ed8ca480e09/download
https://repository.udistrital.edu.co/bitstreams/9ae99065-70a1-4ec0-9b05-b960091cf345/download
https://repository.udistrital.edu.co/bitstreams/58666c9a-b5b4-4f53-a72a-86b94be7a20d/download
bitstream.checksum.fl_str_mv 4ea1beaf88baecd05a7242712673f317
33447e9fef80fde19ec336ebef216cff
a7b2af2b60fe653b720c906b41da4ce1
e4d01016f716b75c156408add14af0cd
4460e5956bc1d1639be9ae6146a50347
997daf6c648c962d566d7b082dac908d
78e498fa28738db283abfd85f0a44569
2c0710943390cd562678e0f9fa94021e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837007123359203328
spelling Daza Corredor, Alejandro Paolowill be generated::orcid::0000-0002-3089-1233600Roncancio Turriago, Jorge LuisManotas Orozco, César AugustoDaza Corredor, Alejandro Paolo [0000-0002-3089-1233]2023-04-28T21:27:23Z2023-04-28T21:27:23Z2022-11-24http://hdl.handle.net/11349/31187Aprender un lenguaje de programación es todo un reto debido a que el proceso de aprendizaje requiere constancia y mucha práctica, además, existen limitaciones en la metodología tradicional de enseñanza que dificultan aún más dicho proceso. Esto hace necesario implementar nuevas herramientas que apoyen y faciliten el aprendizaje de los lenguajes de programación. Es por lo anterior que el objetivo general del estudio fue lograr desarrollar un prototipo de videojuego educativo, que sirva como herramienta de apoyo para el aprendizaje de instrucciones de programación, para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de Caldas. Para poder validar este desarrollo, se utilizó como muestra algunos profesores del programa de Ingeniería de Sistemas de la Universidad, con el objetivo de que interactuaran con la aplicación y así obtener una retroalimentación por parte de profesionales expertos en enseñanza de programación para poder identificar posibles mejoras para la aplicación y así poder dejar una base que permita su posterior implementación y validación con estudiantes. En el desarrollo, se siguió la metodología RUP (Rational Unified Process), la cual permite tener una visión clara del producto final, gracias al diseño de especificaciones detalladas como: Arquitectura empresarial, objetivos de aprendizaje, mecánicas del videojuego, casos de uso, requisitos del sistema, diagrama de actividades, diagrama de formularios, wireframes, diagrama de clases, lógica de negocio, modelo seudomatematico, modelo relacional y modelo entidad relación. Finalmente, siguiendo las especificaciones establecidas, se obtuvo como resultado un prototipo completamente funcional con el cual, el 100% de los usuarios encuestados estuvo de acuerdo en que la implementación de la herramienta puede aportar en el proceso de aprendizaje de los estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad, resultado sin duda alentador ya que permitió contrastar la hipótesis planteada al inicio del proyecto, dándola como acertada, y aceptando la implementación de la herramienta en escenarios de aprendizaje.Learning a programming language is quite a challenge because the learning process requires perseverance and a lot of practice, in addition, there are limitations in the traditional teaching methodology that make the process even more difficult. This makes it necessary to implement new tools that support and facilitate the learning of programming languages. It is for this reason that the general objective of the study was to develop a prototype of an educational videogame, which serves as a support tool for learning programming instructions, for first-semester students of Systems Engineering at the Francisco José de Caldas District University. In order to validate this development, some professors from the Systems Engineering program of the University were used as a sample, with the aim of having them interact with the application and thus obtain feedback from expert professionals in programming teaching in order to identify possible improvements for the application and thus be able to leave a base that allows its subsequent implementation and validation with students. In the development, the RUP (Rational Unified Process) methodology was followed, which allows a clear vision of the final product, thanks to the design of detailed specifications such as: Business architecture, learning objectives, game mechanics, use cases, requirements diagram, activity diagram, forms diagram, wireframes, class diagram, business logic, pseudo-mathematical model, relational model and entity relationship model. Finally, following the established specifications, a fully functional prototype was obtained with which 100% of the users surveyed agreed that the implementation of the tool can contribute to the learning process of first semester students of Systems Engineering from the University, an encouraging result since it allowed us to contrast the hypothesis raised at the beginning of the project, giving it as correct, and accepting the implementation of the tool in learning scenarios.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2AprendizajeGamificaciónProgramaciónPrototipoVideojuegoInstrucciones de programaciónEspecialización en Ingeniería de Software -- Tesis y disertaciones académicasDesarrollo de prototiposVideojuegos -- DiseñoDesarrollo de programas para computadorEnseñanza con ayuda de computadoresGamificationLearningProgrammingPrototypeVideogameProgramming instructionsPrototipo de videojuego educativo como herramienta de apoyo al aprendizaje de instrucciones de programación para estudiantes de primer semestre de Ingeniería de Sistemas de la Universidad Distrital Francisco José de CaldasEducational videogame prototype as a support tool for learning programming instructions for first-semester students of systems engineering at the Francisco José de Caldas District UniversitybachelorThesisInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALRoncancioTurriagoJorgeLuis2022.pdfRoncancioTurriagoJorgeLuis2022.pdfTrabajo de gradoapplication/pdf3589459https://repository.udistrital.edu.co/bitstreams/20563bb4-fff8-470f-bfaa-b8fed4c778dc/download4ea1beaf88baecd05a7242712673f317MD51RoncancioTurriagoJorgeLuis2022Anexos.pptxRoncancioTurriagoJorgeLuis2022Anexos.pptxAnexosapplication/vnd.openxmlformats-officedocument.presentationml.presentation55168235https://repository.udistrital.edu.co/bitstreams/a15616df-bb22-48ff-be97-14311c6c0844/download33447e9fef80fde19ec336ebef216cffMD52RoncancioTurriagoJorgeLuis-ManotasOrozcoCesarAugusto2022Anexos.zipRoncancioTurriagoJorgeLuis-ManotasOrozcoCesarAugusto2022Anexos.zipapplication/zip471248https://repository.udistrital.edu.co/bitstreams/946243ba-9480-4358-9990-d3ad827e9462/downloada7b2af2b60fe653b720c906b41da4ce1MD53Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfapplication/pdf267021https://repository.udistrital.edu.co/bitstreams/8f427082-6d93-480f-8586-4044395bf5f0/downloade4d01016f716b75c156408add14af0cdMD54CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/c4cf603d-4440-4a7c-9bd6-f492ac380828/download4460e5956bc1d1639be9ae6146a50347MD55LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/9425bdd8-b970-44d5-bff0-6ed8ca480e09/download997daf6c648c962d566d7b082dac908dMD56THUMBNAILRoncancioTurriagoJorgeLuis2022.pdf.jpgRoncancioTurriagoJorgeLuis2022.pdf.jpgIM Thumbnailimage/jpeg5455https://repository.udistrital.edu.co/bitstreams/9ae99065-70a1-4ec0-9b05-b960091cf345/download78e498fa28738db283abfd85f0a44569MD57Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg12945https://repository.udistrital.edu.co/bitstreams/58666c9a-b5b4-4f53-a72a-86b94be7a20d/download2c0710943390cd562678e0f9fa94021eMD5811349/31187oai:repository.udistrital.edu.co:11349/311872023-06-13 15:17:56.385http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK