Inteligencia Artificial Generativa para Arquitectura de Software

En este proyecto de grado se continua con el trabajo de explorar la capacidad de integrar herramientas de Inteligencia Artificial (IA) y modelos de reconocimiento de imágenes en diferentes prácticas de la arquitectura de software, en especial siguiendo el marco del Attribute Driven Design 3.0 (ADD 3...

Full description

Autores:
Latorre Munar, Santiago
Jiménez Ramírez, Samuel Alejandro
Ibáñez Capacho, Juan Sebastián
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2024
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/75468
Acceso en línea:
https://hdl.handle.net/1992/75468
Palabra clave:
Diseño arquitectónico
Inteligencia artificial
Clasificación de diagramas
Extracción de componentes
Atributos de calidad
Tácticas de arquitectura
Patrones de arquitectura
Disponibilidad
Desempeño
Architecturally significant requirements
Ingeniería
Rights
openAccess
License
https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
id UNIANDES2_2b5a6b09ee4fc4d23cb11df450bd88bb
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/75468
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.none.fl_str_mv Inteligencia Artificial Generativa para Arquitectura de Software
title Inteligencia Artificial Generativa para Arquitectura de Software
spellingShingle Inteligencia Artificial Generativa para Arquitectura de Software
Diseño arquitectónico
Inteligencia artificial
Clasificación de diagramas
Extracción de componentes
Atributos de calidad
Tácticas de arquitectura
Patrones de arquitectura
Disponibilidad
Desempeño
Architecturally significant requirements
Ingeniería
title_short Inteligencia Artificial Generativa para Arquitectura de Software
title_full Inteligencia Artificial Generativa para Arquitectura de Software
title_fullStr Inteligencia Artificial Generativa para Arquitectura de Software
title_full_unstemmed Inteligencia Artificial Generativa para Arquitectura de Software
title_sort Inteligencia Artificial Generativa para Arquitectura de Software
dc.creator.fl_str_mv Latorre Munar, Santiago
Jiménez Ramírez, Samuel Alejandro
Ibáñez Capacho, Juan Sebastián
dc.contributor.advisor.none.fl_str_mv Correal Torres, Dario Ernesto
dc.contributor.author.none.fl_str_mv Latorre Munar, Santiago
Jiménez Ramírez, Samuel Alejandro
Ibáñez Capacho, Juan Sebastián
dc.contributor.jury.none.fl_str_mv Correal Torres, Dario Ernesto
dc.subject.keyword.spa.fl_str_mv Diseño arquitectónico
Inteligencia artificial
Clasificación de diagramas
Extracción de componentes
Atributos de calidad
Tácticas de arquitectura
Patrones de arquitectura
Disponibilidad
Desempeño
topic Diseño arquitectónico
Inteligencia artificial
Clasificación de diagramas
Extracción de componentes
Atributos de calidad
Tácticas de arquitectura
Patrones de arquitectura
Disponibilidad
Desempeño
Architecturally significant requirements
Ingeniería
dc.subject.keyword.eng.fl_str_mv Architecturally significant requirements
dc.subject.themes.spa.fl_str_mv Ingeniería
description En este proyecto de grado se continua con el trabajo de explorar la capacidad de integrar herramientas de Inteligencia Artificial (IA) y modelos de reconocimiento de imágenes en diferentes prácticas de la arquitectura de software, en especial siguiendo el marco del Attribute Driven Design 3.0 (ADD 3.0) para trabajar sobre estas. Nos enfocaremos en desarrollar un agente conversacional a modo de asistente que ayude a los arquitectos de software en la generación y reconocimiento de diagramas de arquitectura como lo son los diagramas de despliegue, componentes, entre otros. Nos enfocaremos en utilizar entornos de trabajo que faciliten la utilización de diseños orientados a múltiples agentes, además de explorar la capacidad de diferentes modelos y herramientas que nos ayuden a la generación de imágenes buscando entender sus limitaciones y beneficios a la hora de realizar este tipo de desarrollos y en especial su uso en nuestra herramienta. A lo largo de la evaluación del producto desarrollado se demostró una gran capacidad de este para al ayudar en estos procesos facilitando la interpretación y diagramación de patrones arquitectónicos existentes, ayudando específicamente en el paso 1 y 6 del ADD 3.0
publishDate 2024
dc.date.issued.none.fl_str_mv 2024-12-13
dc.date.accessioned.none.fl_str_mv 2025-01-17T21:13:32Z
dc.date.available.none.fl_str_mv 2025-01-17T21:13:32Z
dc.type.none.fl_str_mv Trabajo de grado - Pregrado
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.version.none.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.content.none.fl_str_mv Text
dc.type.redcol.none.fl_str_mv http://purl.org/redcol/resource_type/TP
format http://purl.org/coar/resource_type/c_7a1f
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/1992/75468
dc.identifier.instname.none.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.none.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.none.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url https://hdl.handle.net/1992/75468
identifier_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv Arachchi, K. D. (2022). AI Based UML Diagrams Generator (Doctoral dissertation).
Cervantes, H. & Kazman, R. (2016). Designing Software Architectures: A Practical Approach.
Abdelnabi, Esra & Maatuk, Abdelsalam & Hagal, Mohamed. (2021). Generating UML Class Diagram from Natural Language Requirements: A Survey of Approaches and Techniques.
Gamage, Yasitha. (2023). Automated Software Architecture Diagram Generator using Natural Language Processing. 10.13140/RG.2.2.31866.26563.
Zhang, E. Y., Cheok, A. D., Pan, Z., Cai, J., & Yan, Y. (2023). From Turing to Transformers: A comprehensive review and tutorial on the evolution and applications of generative transformer models. Sci, 5(46). https://doi.org/10.3390/sci5040046
Fedorenko, Y. V. (2023). Static code analyzer for building UML diagrams using artificial intelligence (Graduate work, explanatory note). Ministry of Education and Science of Ukraine, National Aviation University.
LangChain AI. LangGraph. LangChain AI. https://langchain-ai.github.io/langgraph/
Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., ... & Kiela, D. (2020). Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv preprint arXiv:2005.11401.
Zhou, Y., Muresanu, A. I., Han, Z., Paster, K., Pitis, S., Chan, H., & Ba, J. (2023). Large language models are human-level prompt engineers. In Proceedings of the International Conference on Learning Representations (ICLR 2023). https://arxiv.org/abs/2211.01910
Wooldridge, M., & Jennings, N. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10, 115-152.
Andreas, J. (2022). Language models as agent models. arXiv. https://arxiv.org/abs/2211.01910
Codestral. (n.d.). Codestral: A code generation model. Retrieved from https://mistral.ai/news/codestral/
Diagrams. (n.d.). Diagrams: Python library for cloud system architecture diagrams. Retrieved from https://diagrams.mingrammer.com
Eraser. (n.d.). DiagramGPT: AI-powered diagram generation. Retrieved from https://tryeraser.com
Shcherban, S., Liang, P., Li, Z., & Yang, C. (2021). Multiclass classification of UML diagrams from images using deep learning. International Journal of Software Engineering and Knowledge Engineering
Corredera, J. C. (2023). Inteligencia artificial generativa. In Anales de la Real academia de Doctores (Vol. 8, No. 3, pp. 475-489).
IA GENERATIVA PARA LA ARQUITECTURA DE SOFTWARE 42 de 42
Gutowska, A. (2024). Multiagent system. IBM. https://www.ibm.com/think/topics/multiagent syst
dc.rights.uri.none.fl_str_mv https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 42 páginas
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad de los Andes
dc.publisher.program.none.fl_str_mv Ingeniería de Sistemas y Computación
dc.publisher.faculty.none.fl_str_mv Facultad de Ingeniería
dc.publisher.department.none.fl_str_mv Departamento de Ingeniería de Sistemas y Computación
publisher.none.fl_str_mv Universidad de los Andes
institution Universidad de los Andes
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/02fa5aaa-2789-44c0-8b94-c8dad60c7c5b/download
https://repositorio.uniandes.edu.co/bitstreams/8fd734e2-343e-48b4-80da-6e3d99eecc91/download
https://repositorio.uniandes.edu.co/bitstreams/a28ebdb7-0d38-4e26-bb97-2e137ec9b0c3/download
https://repositorio.uniandes.edu.co/bitstreams/5795a564-5de3-42c0-a42e-02a3403b62aa/download
https://repositorio.uniandes.edu.co/bitstreams/e448abce-16b1-4b91-b713-baa5b52f60ce/download
https://repositorio.uniandes.edu.co/bitstreams/53f65741-cd9a-43fe-99f4-787792223777/download
https://repositorio.uniandes.edu.co/bitstreams/e8bee762-6a69-43e7-b267-e93611c50e5e/download
bitstream.checksum.fl_str_mv 379750fd5e7b714f4c82ea9227366fbe
98fbceeccf4bddbf50ddd8080c07860f
ae9e573a68e7f92501b6913cc846c39f
7fab3737772c20e019f510d9ba603250
4f498fcdfd9c1f47610aa00f05221f33
10459f3d65e7a916d0f541ee4af17002
0eaa216c448bafdc4620ad62943e8071
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio institucional Séneca
repository.mail.fl_str_mv adminrepositorio@uniandes.edu.co
_version_ 1831927769604292608
spelling Correal Torres, Dario Ernestovirtual::22184-1Latorre Munar, SantiagoJiménez Ramírez, Samuel AlejandroIbáñez Capacho, Juan SebastiánCorreal Torres, Dario Ernesto2025-01-17T21:13:32Z2025-01-17T21:13:32Z2024-12-13https://hdl.handle.net/1992/75468instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/En este proyecto de grado se continua con el trabajo de explorar la capacidad de integrar herramientas de Inteligencia Artificial (IA) y modelos de reconocimiento de imágenes en diferentes prácticas de la arquitectura de software, en especial siguiendo el marco del Attribute Driven Design 3.0 (ADD 3.0) para trabajar sobre estas. Nos enfocaremos en desarrollar un agente conversacional a modo de asistente que ayude a los arquitectos de software en la generación y reconocimiento de diagramas de arquitectura como lo son los diagramas de despliegue, componentes, entre otros. Nos enfocaremos en utilizar entornos de trabajo que faciliten la utilización de diseños orientados a múltiples agentes, además de explorar la capacidad de diferentes modelos y herramientas que nos ayuden a la generación de imágenes buscando entender sus limitaciones y beneficios a la hora de realizar este tipo de desarrollos y en especial su uso en nuestra herramienta. A lo largo de la evaluación del producto desarrollado se demostró una gran capacidad de este para al ayudar en estos procesos facilitando la interpretación y diagramación de patrones arquitectónicos existentes, ayudando específicamente en el paso 1 y 6 del ADD 3.0This graduation project continues the work of exploring the capability of integrating Artificial Intelligence (AI) tools and image recognition models into various practices of software architecture, particularly following the framework of Attribute-Driven Design 3.0 (ADD 3.0) to address these practices. The focus is on developing a conversational agent as an assistant to support software architects in generating and recognizing architecture diagrams, such as deployment diagrams, component diagrams, and others. The project emphasizes the use of work environments that facilitate the application of multi-agent-oriented designs, while also exploring the capabilities of different models and tools to assist in image generation, aiming to understand their limitations and benefits for such developments, particularly in the context of the proposed tool. Throughout the evaluation of the developed product, it demonstrated significant capabilities in assisting these processes, facilitating the interpretation and diagramming of existing architectural patterns, specifically aiding in steps 1 and 6 of ADD 3.0.Pregrado42 páginasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y Computaciónhttps://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfinfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Inteligencia Artificial Generativa para Arquitectura de SoftwareTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPDiseño arquitectónicoInteligencia artificialClasificación de diagramasExtracción de componentesAtributos de calidadTácticas de arquitecturaPatrones de arquitecturaDisponibilidadDesempeñoArchitecturally significant requirementsIngenieríaArachchi, K. D. (2022). AI Based UML Diagrams Generator (Doctoral dissertation).Cervantes, H. & Kazman, R. (2016). Designing Software Architectures: A Practical Approach.Abdelnabi, Esra & Maatuk, Abdelsalam & Hagal, Mohamed. (2021). Generating UML Class Diagram from Natural Language Requirements: A Survey of Approaches and Techniques.Gamage, Yasitha. (2023). Automated Software Architecture Diagram Generator using Natural Language Processing. 10.13140/RG.2.2.31866.26563.Zhang, E. Y., Cheok, A. D., Pan, Z., Cai, J., & Yan, Y. (2023). From Turing to Transformers: A comprehensive review and tutorial on the evolution and applications of generative transformer models. Sci, 5(46). https://doi.org/10.3390/sci5040046Fedorenko, Y. V. (2023). Static code analyzer for building UML diagrams using artificial intelligence (Graduate work, explanatory note). Ministry of Education and Science of Ukraine, National Aviation University.LangChain AI. LangGraph. LangChain AI. https://langchain-ai.github.io/langgraph/Lewis, P., Perez, E., Piktus, A., Petroni, F., Karpukhin, V., Goyal, N., ... & Kiela, D. (2020). Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv preprint arXiv:2005.11401.Zhou, Y., Muresanu, A. I., Han, Z., Paster, K., Pitis, S., Chan, H., & Ba, J. (2023). Large language models are human-level prompt engineers. In Proceedings of the International Conference on Learning Representations (ICLR 2023). https://arxiv.org/abs/2211.01910Wooldridge, M., & Jennings, N. (1995). Intelligent agents: Theory and practice. The Knowledge Engineering Review, 10, 115-152.Andreas, J. (2022). Language models as agent models. arXiv. https://arxiv.org/abs/2211.01910Codestral. (n.d.). Codestral: A code generation model. Retrieved from https://mistral.ai/news/codestral/Diagrams. (n.d.). Diagrams: Python library for cloud system architecture diagrams. Retrieved from https://diagrams.mingrammer.comEraser. (n.d.). DiagramGPT: AI-powered diagram generation. Retrieved from https://tryeraser.comShcherban, S., Liang, P., Li, Z., & Yang, C. (2021). Multiclass classification of UML diagrams from images using deep learning. International Journal of Software Engineering and Knowledge EngineeringCorredera, J. C. (2023). Inteligencia artificial generativa. In Anales de la Real academia de Doctores (Vol. 8, No. 3, pp. 475-489).IA GENERATIVA PARA LA ARQUITECTURA DE SOFTWARE 42 de 42Gutowska, A. (2024). Multiagent system. IBM. https://www.ibm.com/think/topics/multiagent syst202111851202116652202014444Publicationhttps://scholar.google.es/citations?user=Bo4lXDAtq9QCvirtual::22184-10000-0001-9502-4504virtual::22184-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000251631virtual::22184-11b8e646a-b3b6-4384-9e86-be6d0e4acadfvirtual::22184-11b8e646a-b3b6-4384-9e86-be6d0e4acadfvirtual::22184-1ORIGINALautorizacion tesis[92]-dc (1).pdfautorizacion tesis[92]-dc (1).pdfHIDEapplication/pdf96402https://repositorio.uniandes.edu.co/bitstreams/02fa5aaa-2789-44c0-8b94-c8dad60c7c5b/download379750fd5e7b714f4c82ea9227366fbeMD51Inteligencia Artificial Generativa para Arquitectura de Software.pdfInteligencia Artificial Generativa para Arquitectura de Software.pdfapplication/pdf1392645https://repositorio.uniandes.edu.co/bitstreams/8fd734e2-343e-48b4-80da-6e3d99eecc91/download98fbceeccf4bddbf50ddd8080c07860fMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/a28ebdb7-0d38-4e26-bb97-2e137ec9b0c3/downloadae9e573a68e7f92501b6913cc846c39fMD53TEXTautorizacion tesis[92]-dc (1).pdf.txtautorizacion tesis[92]-dc (1).pdf.txtExtracted texttext/plain1531https://repositorio.uniandes.edu.co/bitstreams/5795a564-5de3-42c0-a42e-02a3403b62aa/download7fab3737772c20e019f510d9ba603250MD54Inteligencia Artificial Generativa para Arquitectura de Software.pdf.txtInteligencia Artificial Generativa para Arquitectura de Software.pdf.txtExtracted texttext/plain92635https://repositorio.uniandes.edu.co/bitstreams/e448abce-16b1-4b91-b713-baa5b52f60ce/download4f498fcdfd9c1f47610aa00f05221f33MD56THUMBNAILautorizacion tesis[92]-dc (1).pdf.jpgautorizacion tesis[92]-dc (1).pdf.jpgGenerated Thumbnailimage/jpeg11132https://repositorio.uniandes.edu.co/bitstreams/53f65741-cd9a-43fe-99f4-787792223777/download10459f3d65e7a916d0f541ee4af17002MD55Inteligencia Artificial Generativa para Arquitectura de Software.pdf.jpgInteligencia Artificial Generativa para Arquitectura de Software.pdf.jpgGenerated Thumbnailimage/jpeg7553https://repositorio.uniandes.edu.co/bitstreams/e8bee762-6a69-43e7-b267-e93611c50e5e/download0eaa216c448bafdc4620ad62943e8071MD571992/75468oai:repositorio.uniandes.edu.co:1992/754682025-03-05 10:02:37.971https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K