Predicción de la estabilidad térmica de proteínas usando Machine Learning

Este informe presenta el desarrollo de una herramienta computacional basada en aprendizaje automático para predecir la estabilidad térmica de proteínas, medida como la temperatura de fusión (Tm), a partir de su secuencia primaria de aminoácidos. La estabilidad térmica es un parámetro fundamental en...

Full description

Autores:
Lizarazo Piqueras, María Alejandra
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2025
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/76408
Acceso en línea:
https://hdl.handle.net/1992/76408
Palabra clave:
Machine Learning
Proteínas
Estabilidad Térmica
Aprendizaje automatico
Predicción
Modelo ML
Iterfaz web
Ingeniería
Rights
openAccess
License
Attribution-NonCommercial-ShareAlike 4.0 International
id UNIANDES2_4166b075597b69b3abe743dd3527ee85
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/76408
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.spa.fl_str_mv Predicción de la estabilidad térmica de proteínas usando Machine Learning
title Predicción de la estabilidad térmica de proteínas usando Machine Learning
spellingShingle Predicción de la estabilidad térmica de proteínas usando Machine Learning
Machine Learning
Proteínas
Estabilidad Térmica
Aprendizaje automatico
Predicción
Modelo ML
Iterfaz web
Ingeniería
title_short Predicción de la estabilidad térmica de proteínas usando Machine Learning
title_full Predicción de la estabilidad térmica de proteínas usando Machine Learning
title_fullStr Predicción de la estabilidad térmica de proteínas usando Machine Learning
title_full_unstemmed Predicción de la estabilidad térmica de proteínas usando Machine Learning
title_sort Predicción de la estabilidad térmica de proteínas usando Machine Learning
dc.creator.fl_str_mv Lizarazo Piqueras, María Alejandra
dc.contributor.advisor.none.fl_str_mv Sánchez Puccini, Mario Eduardo
González Barrios, Andrés Fernando
dc.contributor.author.none.fl_str_mv Lizarazo Piqueras, María Alejandra
dc.contributor.jury.none.fl_str_mv Salcedo Galán, Felipe
Alvarez Solano, Oscar Alberto
dc.subject.keyword.none.fl_str_mv Machine Learning
Proteínas
Estabilidad Térmica
Aprendizaje automatico
Predicción
Modelo ML
Iterfaz web
topic Machine Learning
Proteínas
Estabilidad Térmica
Aprendizaje automatico
Predicción
Modelo ML
Iterfaz web
Ingeniería
dc.subject.themes.none.fl_str_mv Ingeniería
description Este informe presenta el desarrollo de una herramienta computacional basada en aprendizaje automático para predecir la estabilidad térmica de proteínas, medida como la temperatura de fusión (Tm), a partir de su secuencia primaria de aminoácidos. La estabilidad térmica es un parámetro fundamental en biotecnología, farmacología e ingeniería de procesos, ya que determina la viabilidad funcional de una proteína en distintas condiciones operativas. Tradicionalmente, el cálculo de Tm se ha realizado mediante técnicas experimentales que requieren equipamiento especializado, insumos costosos y largos tiempos de análisis. Ante este panorama, se propone una solución computacional que utiliza representaciones numéricas avanzadas —embeddings proteicos— generadas por modelos de lenguaje como ESM-2, los cuales han sido entrenados sobre millones de secuencias proteicas. A lo largo del proyecto, se implementaron y evaluaron múltiples modelos de predicción, incluyendo algoritmos tradicionales (Random Forest, Bayesian Ridge, KNN, SVR) y redes neuronales profundas (MLP y LSTM), utilizando bases de datos experimentales como ProthermDB y Meltome Atlas (ver descripción estructurada de ambas en el Apéndice B). Los resultados muestran que el modelo LSTM entrenado con embeddings de ESM-2 alcanzó una precisión destacable (R2 = 0.74), superando a otras arquitecturas en precisión. Este modelo fue seleccionado como base para la construcción de una interfaz web, que permite a cualquier usuario ingresar una secuencia de aminoácidos y obtener una predicción inmediata de Tm, sin necesidad de conocimientos técnicos. El sistema desarrollado contribuye a cerrar la brecha entre la disponibilidad de datos biológicos y su aprovechamiento efectivo, promoviendo la adopción de técnicas de inteligencia artificial en entornos reales. Asimismo, representa un avance significativo hacia la automatización del diseño y análisis de proteínas, con aplicaciones potenciales en el desarrollo de enzimas industriales, productos farmacéuticos y soluciones bioingenieriles. Finalmente, se plantea una hoja de ruta para futuras iteraciones que incluya mejoras en interpretabilidad, expansión de la base de datos, y despliegue en entornos escalables.
publishDate 2025
dc.date.accessioned.none.fl_str_mv 2025-06-27T21:10:54Z
dc.date.available.none.fl_str_mv 2025-06-27T21:10:54Z
dc.date.issued.none.fl_str_mv 2025-06-27
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/76408
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/76408
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.rights.en.fl_str_mv Attribution-NonCommercial-ShareAlike 4.0 International
dc.rights.uri.none.fl_str_mv http://creativecommons.org/licenses/by-nc-sa/4.0/
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 Attribution-NonCommercial-ShareAlike 4.0 International
http://creativecommons.org/licenses/by-nc-sa/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 32 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
Ingeniería Química
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
Departamento de Ingeniería Química y de Alimentos
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/4ef3450d-c789-4b38-8d11-46da03889467/download
https://repositorio.uniandes.edu.co/bitstreams/23013cb8-65f1-4bde-a456-53a3b32cb410/download
https://repositorio.uniandes.edu.co/bitstreams/76274af9-7121-4479-9ed8-5bbebf55f3cb/download
https://repositorio.uniandes.edu.co/bitstreams/1c123747-4148-4edc-9a4a-1b7aa165999b/download
https://repositorio.uniandes.edu.co/bitstreams/a03794d5-743e-4e74-b21a-084a9430f3d1/download
https://repositorio.uniandes.edu.co/bitstreams/fb077fd5-34e0-4ef8-be09-38c5f1ae0acf/download
https://repositorio.uniandes.edu.co/bitstreams/2d71d9a2-18be-41bd-9008-4ff3a03476b7/download
https://repositorio.uniandes.edu.co/bitstreams/089b49eb-3cbe-42c2-b658-54786fe9db17/download
bitstream.checksum.fl_str_mv bce4d4e93576f1c24d7060be4f8fdefd
8d90af913222fd99d04ee929c90070fa
934f4ca17e109e0a05eaeaba504d7ce4
ae9e573a68e7f92501b6913cc846c39f
2b29eea3fa266cab8ab4fdcb6598f767
19e86906a0792cea03562dd39ba0aafb
946be399baa0c9dd4e08e4faca8c833f
b05ad748e304a608fcf09fdb6faf8303
bitstream.checksumAlgorithm.fl_str_mv MD5
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_ 1837005236226490368
spelling Sánchez Puccini, Mario Eduardovirtual::24389-1González Barrios, Andrés Fernandovirtual::24390-1Lizarazo Piqueras, María AlejandraSalcedo Galán, FelipeAlvarez Solano, Oscar Alberto2025-06-27T21:10:54Z2025-06-27T21:10:54Z2025-06-27https://hdl.handle.net/1992/76408instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Este informe presenta el desarrollo de una herramienta computacional basada en aprendizaje automático para predecir la estabilidad térmica de proteínas, medida como la temperatura de fusión (Tm), a partir de su secuencia primaria de aminoácidos. La estabilidad térmica es un parámetro fundamental en biotecnología, farmacología e ingeniería de procesos, ya que determina la viabilidad funcional de una proteína en distintas condiciones operativas. Tradicionalmente, el cálculo de Tm se ha realizado mediante técnicas experimentales que requieren equipamiento especializado, insumos costosos y largos tiempos de análisis. Ante este panorama, se propone una solución computacional que utiliza representaciones numéricas avanzadas —embeddings proteicos— generadas por modelos de lenguaje como ESM-2, los cuales han sido entrenados sobre millones de secuencias proteicas. A lo largo del proyecto, se implementaron y evaluaron múltiples modelos de predicción, incluyendo algoritmos tradicionales (Random Forest, Bayesian Ridge, KNN, SVR) y redes neuronales profundas (MLP y LSTM), utilizando bases de datos experimentales como ProthermDB y Meltome Atlas (ver descripción estructurada de ambas en el Apéndice B). Los resultados muestran que el modelo LSTM entrenado con embeddings de ESM-2 alcanzó una precisión destacable (R2 = 0.74), superando a otras arquitecturas en precisión. Este modelo fue seleccionado como base para la construcción de una interfaz web, que permite a cualquier usuario ingresar una secuencia de aminoácidos y obtener una predicción inmediata de Tm, sin necesidad de conocimientos técnicos. El sistema desarrollado contribuye a cerrar la brecha entre la disponibilidad de datos biológicos y su aprovechamiento efectivo, promoviendo la adopción de técnicas de inteligencia artificial en entornos reales. Asimismo, representa un avance significativo hacia la automatización del diseño y análisis de proteínas, con aplicaciones potenciales en el desarrollo de enzimas industriales, productos farmacéuticos y soluciones bioingenieriles. Finalmente, se plantea una hoja de ruta para futuras iteraciones que incluya mejoras en interpretabilidad, expansión de la base de datos, y despliegue en entornos escalables.This technical report presents the development of a machine learning-based tool to predict the thermal stability of proteins, measured as melting temperature (Tm), using only their primary amino acid sequence. Thermal stability is a key parameter in biotechnology, pharmaceuticals, and process engineering, yet conventional methods for determining Tm are time-consuming, expensive, and require specialized equipment. To address these limitations, the proposed solution leverages protein embeddings generated by pretrained language models such as ESM-2, which capture structural and functional patterns directly from sequence data. Various prediction models were implemented and evaluated — including Random Forest, Bayesian Ridge, KNN, SVR, and deep learning architectures like Multilayer Perceptron (MLP) and Long Short-Term Memory (LSTM) — using curated experimental datasets such as ProthermDB and Meltome Atlas. The LSTM model, trained with ESM-2 embeddings, achieved the best performance (R2 = 0.74), showing high accuracy and generalizability. It was selected for deployment in a user-friendly web interface that allows non-technical users to input protein sequences and receive automated Tm predictions. This work contributes to closing the gap between biological data availability and its practical use, enabling the integration of AI-powered tools in real-world applications such as protein design, enzyme engineering, and pharmaceutical research. Future work will focus on expanding the dataset, improving interpretability, and scaling the deployment architecturePregrado32 páginasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónIngeniería QuímicaFacultad de IngenieríaDepartamento de Ingeniería de Sistemas y ComputaciónDepartamento de Ingeniería Química y de AlimentosAttribution-NonCommercial-ShareAlike 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-sa/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Predicción de la estabilidad térmica de proteínas usando Machine LearningTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPMachine LearningProteínasEstabilidad TérmicaAprendizaje automaticoPredicciónModelo MLIterfaz webIngeniería202021385Publicationhttps://scholar.google.es/citations?user=M1CE-nIAAAAJvirtual::24389-1https://scholar.google.es/citations?user=xMIWHTQAAAAJvirtual::24390-10000-0002-1611-6281virtual::24389-10000-0003-2517-2020virtual::24390-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000741906virtual::24389-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000222828virtual::24390-1dfd78a56-c9fb-4659-828f-6a22f5f1bd84virtual::24389-14512efb9-3b99-4591-85f3-cfe47ddcc348virtual::24390-1dfd78a56-c9fb-4659-828f-6a22f5f1bd84virtual::24389-14512efb9-3b99-4591-85f3-cfe47ddcc348virtual::24390-1ORIGINALPredicción de la Estabilidad Térmica de Proteínas.pdfPredicción de la Estabilidad Térmica de Proteínas.pdfapplication/pdf1337640https://repositorio.uniandes.edu.co/bitstreams/4ef3450d-c789-4b38-8d11-46da03889467/downloadbce4d4e93576f1c24d7060be4f8fdefdMD51Formato de Autorización.pdfFormato de Autorización.pdfHIDEapplication/pdf373689https://repositorio.uniandes.edu.co/bitstreams/23013cb8-65f1-4bde-a456-53a3b32cb410/download8d90af913222fd99d04ee929c90070faMD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-81031https://repositorio.uniandes.edu.co/bitstreams/76274af9-7121-4479-9ed8-5bbebf55f3cb/download934f4ca17e109e0a05eaeaba504d7ce4MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/1c123747-4148-4edc-9a4a-1b7aa165999b/downloadae9e573a68e7f92501b6913cc846c39fMD54TEXTPredicción de la Estabilidad Térmica de Proteínas.pdf.txtPredicción de la Estabilidad Térmica de Proteínas.pdf.txtExtracted texttext/plain68281https://repositorio.uniandes.edu.co/bitstreams/a03794d5-743e-4e74-b21a-084a9430f3d1/download2b29eea3fa266cab8ab4fdcb6598f767MD55Formato de Autorización.pdf.txtFormato de Autorización.pdf.txtExtracted texttext/plain2138https://repositorio.uniandes.edu.co/bitstreams/fb077fd5-34e0-4ef8-be09-38c5f1ae0acf/download19e86906a0792cea03562dd39ba0aafbMD57THUMBNAILPredicción de la Estabilidad Térmica de Proteínas.pdf.jpgPredicción de la Estabilidad Térmica de Proteínas.pdf.jpgIM Thumbnailimage/jpeg10467https://repositorio.uniandes.edu.co/bitstreams/2d71d9a2-18be-41bd-9008-4ff3a03476b7/download946be399baa0c9dd4e08e4faca8c833fMD56Formato de Autorización.pdf.jpgFormato de Autorización.pdf.jpgIM Thumbnailimage/jpeg19722https://repositorio.uniandes.edu.co/bitstreams/089b49eb-3cbe-42c2-b658-54786fe9db17/downloadb05ad748e304a608fcf09fdb6faf8303MD581992/76408oai:repositorio.uniandes.edu.co:1992/764082025-06-28 04:06:27.971http://creativecommons.org/licenses/by-nc-sa/4.0/Attribution-NonCommercial-ShareAlike 4.0 Internationalopen.accesshttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K