Arquitectura escalable para sistema de monitoreo de dispositivos IoT

Este documento presenta la construcción de una arquitectura escalable para sistema de monitoreo de dispositivos IoT.

Autores:
Villamarín Manrique, Juan Camilo
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/58909
Acceso en línea:
http://hdl.handle.net/1992/58909
Palabra clave:
Escalabilidad
Rendimiento
Concurrencia
Procesamiento
Ingeniería
Rights
openAccess
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UNIANDES2_2564a704124676f6e37275adf46b4772
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/58909
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.none.fl_str_mv Arquitectura escalable para sistema de monitoreo de dispositivos IoT
title Arquitectura escalable para sistema de monitoreo de dispositivos IoT
spellingShingle Arquitectura escalable para sistema de monitoreo de dispositivos IoT
Escalabilidad
Rendimiento
Concurrencia
Procesamiento
Ingeniería
title_short Arquitectura escalable para sistema de monitoreo de dispositivos IoT
title_full Arquitectura escalable para sistema de monitoreo de dispositivos IoT
title_fullStr Arquitectura escalable para sistema de monitoreo de dispositivos IoT
title_full_unstemmed Arquitectura escalable para sistema de monitoreo de dispositivos IoT
title_sort Arquitectura escalable para sistema de monitoreo de dispositivos IoT
dc.creator.fl_str_mv Villamarín Manrique, Juan Camilo
dc.contributor.advisor.none.fl_str_mv Montoya Orozco, Germán Adolfo
Lozano Garzon, Carlos Andres
dc.contributor.author.none.fl_str_mv Villamarín Manrique, Juan Camilo
dc.contributor.researchgroup.es_CO.fl_str_mv COMIT - Comunicaciones y Tecnología de Información
dc.subject.keyword.none.fl_str_mv Escalabilidad
Rendimiento
Concurrencia
Procesamiento
topic Escalabilidad
Rendimiento
Concurrencia
Procesamiento
Ingeniería
dc.subject.themes.es_CO.fl_str_mv Ingeniería
description Este documento presenta la construcción de una arquitectura escalable para sistema de monitoreo de dispositivos IoT.
publishDate 2022
dc.date.accessioned.none.fl_str_mv 2022-07-18T21:07:44Z
dc.date.available.none.fl_str_mv 2022-07-18T21:07:44Z
dc.date.issued.none.fl_str_mv 2022-07-14
dc.type.es_CO.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.es_CO.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 http://hdl.handle.net/1992/58909
dc.identifier.instname.es_CO.fl_str_mv instname:Universidad de los Andes
dc.identifier.reponame.es_CO.fl_str_mv reponame:Repositorio Institucional Séneca
dc.identifier.repourl.es_CO.fl_str_mv repourl:https://repositorio.uniandes.edu.co/
url http://hdl.handle.net/1992/58909
identifier_str_mv instname:Universidad de los Andes
reponame:Repositorio Institucional Séneca
repourl:https://repositorio.uniandes.edu.co/
dc.language.iso.es_CO.fl_str_mv spa
language spa
dc.relation.references.es_CO.fl_str_mv ¿Qué es una base de datos | Oracle Colombia.? https://www.oracle.com/co/database/what-is-database/ (accessed jun. 03, 2022)
"Secure and monitor your vehicles with CalAmp's Vehicle Tracking Solutions." https://www.calamp.com/products/vehicle-trackers/ (accessed Jun. 03, 2022).
"Reading 17: Concurrency." https://web.mit.edu/6.005/www/fa14/classes/17- concurrency/ (accessed Jun. 03, 2022)
"Unique Constraints and Check Constraints - SQL Server | Microsoft Docs." https://docs.microsoft.com/en-us/sql/relational-databases/tables/unique constraints-and-check-constraints?view=sql-server-ver16 (accessed Jun. 03, 2022).
"Scalable Definition & Meaning - Merriam-Webster." https://www.merriam webster.com/dictionary/scalable (accessed Jun. 03, 2022).
"What is Software Framework | IGI Global." https://www.igi-global.com/dictionary/software-framework/27680 (accessed Jun. 03, 2022).
"Primary and Foreign Key Constraints - SQL Server | Microsoft Docs." https://docs.microsoft.com/en-us/sql/relational-databases/tables/primary and-foreign-key-constraints?view=sql-server-ver16#FKeys (accessed Jun. 03, 2022).
¿What are Message Brokers? | IBM." https://www.ibm.com/cloud/learn/message-brokers (accessed Jun. 03, 2022)
J. Juneau, "Object Relational Mapping and JPA," Introducing Java EE 7, pp. 55-72, 2013, doi: 10.1007/978-1-4302-5849-0_4.
"Significado de PLUG-IN en el Diccionario Cambridge inglés." https://dictionary.cambridge.org/es/diccionario/ingles/plug-in (accessed jun. 03, 2022).
"Primary Keys - IBM Documentation." https://www.ibm.com/docs/en/iodg/11.3?topic=reference-primary-keys (accessed Jun. 03, 2022).
"Database Query: Definition & Tools - Video & Lesson Transcript | Study.com." https://study.com/academy/lesson/database-query-definition tools.html (accessed Jun. 03, 2022).
¿What is a Server? - Definition & Explanation - Video & Lesson Transcript | Study.com. https://study.com/academy/lesson/what-is-a-server-definition lesson-quiz.html (accessed Jun. 03, 2022
"Single thread definición y significado | Diccionario Inglés Collins." https://www.collinsdictionary.com/es/diccionario/ingles/single-thread (accessed Jun. 03, 2022)
"Telemetry Systems Engineering." https://web-p-ebscohost com.ezproxy.uniandes.edu.co/ehost/ebookviewer/ebook/ZTAwMHh3d19fNzI 3MjZfX0FO0?sid=a7d003ba-dd7c-47f5-b1b4- 03a941c79193@redis&vid=11&format=EB (accessed Jun. 03, 2022).
"The Official YAML Web Site." https://yaml.org/ (accessed Jun. 03, 2022).
F. Carden, R. P. Jedlicka, and R. Henry, Telemetry Systems Engineering. Boston: Artech House, Inc, 2002. [Online]. Available: https://ezproxy.uniandes.edu.co/login?url=https://search.ebscohost.com/logi n.aspx?direct=true&db=e000xww&AN=72726&lang=es&site=ehost-live
A. Makris, K. Tserpes, G. Spiliopoulos, D. Zissis, and D. Anagnostopoulos, "MongoDB Vs PostgreSQL: A comparative study on performance aspects," Geoinformatica, vol. 25, no. 2, pp. 243¿268, Apr. 2021, doi: 10.1007/S10707-020-00407-W/FIGURES/12.
V. Schmidt and A. Katz, "Speed up time series data ingestion by partitioning tables on Amazon RDS for PostgreSQL | AWS Database Blog," 2021. https://aws.amazon.com/blogs/database/speed-up-time-series-data ingestion-by-partitioning-tables-on-amazon-rds-for-postgresql/ (accessed May 26, 2022).
C. Slowik, "Node.js vs Python: comparison, performance, cases | Neoteric," 2019. https://neoteric.eu/blog/node-js-vs-python/ (accessed May 26, 2022)
dc.rights.license.spa.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.es_CO.fl_str_mv xv, 32 páginas
dc.format.mimetype.es_CO.fl_str_mv application/pdf
dc.publisher.es_CO.fl_str_mv Universidad de los Andes
dc.publisher.program.es_CO.fl_str_mv Ingeniería de Sistemas y Computación
dc.publisher.faculty.es_CO.fl_str_mv Facultad de Ingeniería
dc.publisher.department.es_CO.fl_str_mv Departamento de Ingeniería Sistemas y Computación
institution Universidad de los Andes
bitstream.url.fl_str_mv https://repositorio.uniandes.edu.co/bitstreams/e6a65321-9c0b-43d1-86de-856e5bf9c2f3/download
https://repositorio.uniandes.edu.co/bitstreams/77c91658-45e5-4290-a225-99c4d3a3d16e/download
https://repositorio.uniandes.edu.co/bitstreams/5787cec6-21bf-4d55-be94-c5b660977959/download
https://repositorio.uniandes.edu.co/bitstreams/30e1fca9-6c9b-48f1-bde4-2a9e407c4ed6/download
https://repositorio.uniandes.edu.co/bitstreams/1bbe91e7-4b96-48b5-88dc-1a8793e22864/download
https://repositorio.uniandes.edu.co/bitstreams/e4f8e2ad-e27d-49ab-8034-76c59b11a5aa/download
https://repositorio.uniandes.edu.co/bitstreams/43dc0be5-8a4d-4e5f-b117-63ee4180d603/download
bitstream.checksum.fl_str_mv 5aa5c691a1ffe97abd12c2966efcb8d6
b3919cfeb7a42b8623aae9de2e781a3f
f8596647010a0df86a722bd963f2dd5a
a820adb077a38efb0f5f3786c882c4ae
fade9a2fe47aed168722ed4b0739f310
18614514491c8c2c066e1ec6f2df35c6
4491fe1afb58beaaef41a73cf7ff2e27
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_ 1812133813018427392
spelling Attribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Montoya Orozco, Germán Adolfoae4b65b7-f1e1-40fd-86e9-aca2d4f5a345600Lozano Garzon, Carlos Andresvirtual::1329-1Villamarín Manrique, Juan Camiloc0765d0c-02c6-40e0-b866-3bc2afc18bec600COMIT - Comunicaciones y Tecnología de Información2022-07-18T21:07:44Z2022-07-18T21:07:44Z2022-07-14http://hdl.handle.net/1992/58909instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Este documento presenta la construcción de una arquitectura escalable para sistema de monitoreo de dispositivos IoT.En este proyecto se propone y desarrolla exitosamente una arquitectura para el procesamiento y almacenamiento de datos generados por dispositivos de Internet de las Cosas. Esta arquitectura solventa problemas actuales de escalabilidad, rendimiento y concurrencia mediante el uso de prácticas de clusterización de sistemas, bases de datos distribuidas y microservicios. Además, se desarrolló un prototipo funcional que se probó en el contexto de la empresa Telemetría Inteligente SAS, cuyo negocio es la obtención y procesamiento de datos generados por sensores y GPS. Se mejoró la eficiencia comparada con la arquitectura anterior que se maneja en la empresa lo que resulta en un ahorro de recursos. Por otra parte, esta nueva arquitectura permite que la plataforma crezca sin perder calidad.Ingeniero de Sistemas y ComputaciónPregradoxv, 32 páginasapplication/pdfspaUniversidad de los AndesIngeniería de Sistemas y ComputaciónFacultad de IngenieríaDepartamento de Ingeniería Sistemas y ComputaciónArquitectura escalable para sistema de monitoreo de dispositivos IoTTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TPEscalabilidadRendimientoConcurrenciaProcesamientoIngeniería¿Qué es una base de datos | Oracle Colombia.? https://www.oracle.com/co/database/what-is-database/ (accessed jun. 03, 2022)"Secure and monitor your vehicles with CalAmp's Vehicle Tracking Solutions." https://www.calamp.com/products/vehicle-trackers/ (accessed Jun. 03, 2022)."Reading 17: Concurrency." https://web.mit.edu/6.005/www/fa14/classes/17- concurrency/ (accessed Jun. 03, 2022)"Unique Constraints and Check Constraints - SQL Server | Microsoft Docs." https://docs.microsoft.com/en-us/sql/relational-databases/tables/unique constraints-and-check-constraints?view=sql-server-ver16 (accessed Jun. 03, 2022)."Scalable Definition & Meaning - Merriam-Webster." https://www.merriam webster.com/dictionary/scalable (accessed Jun. 03, 2022)."What is Software Framework | IGI Global." https://www.igi-global.com/dictionary/software-framework/27680 (accessed Jun. 03, 2022)."Primary and Foreign Key Constraints - SQL Server | Microsoft Docs." https://docs.microsoft.com/en-us/sql/relational-databases/tables/primary and-foreign-key-constraints?view=sql-server-ver16#FKeys (accessed Jun. 03, 2022).¿What are Message Brokers? | IBM." https://www.ibm.com/cloud/learn/message-brokers (accessed Jun. 03, 2022)J. Juneau, "Object Relational Mapping and JPA," Introducing Java EE 7, pp. 55-72, 2013, doi: 10.1007/978-1-4302-5849-0_4."Significado de PLUG-IN en el Diccionario Cambridge inglés." https://dictionary.cambridge.org/es/diccionario/ingles/plug-in (accessed jun. 03, 2022)."Primary Keys - IBM Documentation." https://www.ibm.com/docs/en/iodg/11.3?topic=reference-primary-keys (accessed Jun. 03, 2022)."Database Query: Definition & Tools - Video & Lesson Transcript | Study.com." https://study.com/academy/lesson/database-query-definition tools.html (accessed Jun. 03, 2022).¿What is a Server? - Definition & Explanation - Video & Lesson Transcript | Study.com. https://study.com/academy/lesson/what-is-a-server-definition lesson-quiz.html (accessed Jun. 03, 2022"Single thread definición y significado | Diccionario Inglés Collins." https://www.collinsdictionary.com/es/diccionario/ingles/single-thread (accessed Jun. 03, 2022)"Telemetry Systems Engineering." https://web-p-ebscohost com.ezproxy.uniandes.edu.co/ehost/ebookviewer/ebook/ZTAwMHh3d19fNzI 3MjZfX0FO0?sid=a7d003ba-dd7c-47f5-b1b4- 03a941c79193@redis&vid=11&format=EB (accessed Jun. 03, 2022)."The Official YAML Web Site." https://yaml.org/ (accessed Jun. 03, 2022).F. Carden, R. P. Jedlicka, and R. Henry, Telemetry Systems Engineering. Boston: Artech House, Inc, 2002. [Online]. Available: https://ezproxy.uniandes.edu.co/login?url=https://search.ebscohost.com/logi n.aspx?direct=true&db=e000xww&AN=72726&lang=es&site=ehost-liveA. Makris, K. Tserpes, G. Spiliopoulos, D. Zissis, and D. Anagnostopoulos, "MongoDB Vs PostgreSQL: A comparative study on performance aspects," Geoinformatica, vol. 25, no. 2, pp. 243¿268, Apr. 2021, doi: 10.1007/S10707-020-00407-W/FIGURES/12.V. Schmidt and A. Katz, "Speed up time series data ingestion by partitioning tables on Amazon RDS for PostgreSQL | AWS Database Blog," 2021. https://aws.amazon.com/blogs/database/speed-up-time-series-data ingestion-by-partitioning-tables-on-amazon-rds-for-postgresql/ (accessed May 26, 2022).C. Slowik, "Node.js vs Python: comparison, performance, cases | Neoteric," 2019. https://neoteric.eu/blog/node-js-vs-python/ (accessed May 26, 2022)201816898Publicationhttps://scholar.google.es/citations?user=WRJlR-UAAAAJvirtual::1329-10000-0003-2920-6320virtual::1329-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000219541virtual::1329-1144aa5a0-592f-47a4-995b-a440d00b1658virtual::1329-1144aa5a0-592f-47a4-995b-a440d00b1658virtual::1329-1LICENSElicense.txtlicense.txttext/plain; charset=utf-81810https://repositorio.uniandes.edu.co/bitstreams/e6a65321-9c0b-43d1-86de-856e5bf9c2f3/download5aa5c691a1ffe97abd12c2966efcb8d6MD51THUMBNAILArquitectura Escalable para Sistema de Monitoreo de Dispositivos IoT.pdf.jpgArquitectura Escalable para Sistema de Monitoreo de Dispositivos IoT.pdf.jpgIM Thumbnailimage/jpeg9490https://repositorio.uniandes.edu.co/bitstreams/77c91658-45e5-4290-a225-99c4d3a3d16e/downloadb3919cfeb7a42b8623aae9de2e781a3fMD55Formato de autorizacion Juan Camilo Villamarin.pdf.jpgFormato de autorizacion Juan Camilo Villamarin.pdf.jpgIM Thumbnailimage/jpeg17087https://repositorio.uniandes.edu.co/bitstreams/5787cec6-21bf-4d55-be94-c5b660977959/downloadf8596647010a0df86a722bd963f2dd5aMD57ORIGINALArquitectura Escalable para Sistema de Monitoreo de Dispositivos IoT.pdfArquitectura Escalable para Sistema de Monitoreo de Dispositivos IoT.pdfTrabajo de gradoapplication/pdf1812409https://repositorio.uniandes.edu.co/bitstreams/30e1fca9-6c9b-48f1-bde4-2a9e407c4ed6/downloada820adb077a38efb0f5f3786c882c4aeMD52Formato de autorizacion Juan Camilo Villamarin.pdfFormato de autorizacion Juan Camilo Villamarin.pdfHIDEapplication/pdf379612https://repositorio.uniandes.edu.co/bitstreams/1bbe91e7-4b96-48b5-88dc-1a8793e22864/downloadfade9a2fe47aed168722ed4b0739f310MD53TEXTArquitectura Escalable para Sistema de Monitoreo de Dispositivos IoT.pdf.txtArquitectura Escalable para Sistema de Monitoreo de Dispositivos IoT.pdf.txtExtracted texttext/plain45016https://repositorio.uniandes.edu.co/bitstreams/e4f8e2ad-e27d-49ab-8034-76c59b11a5aa/download18614514491c8c2c066e1ec6f2df35c6MD54Formato de autorizacion Juan Camilo Villamarin.pdf.txtFormato de autorizacion Juan Camilo Villamarin.pdf.txtExtracted texttext/plain1163https://repositorio.uniandes.edu.co/bitstreams/43dc0be5-8a4d-4e5f-b117-63ee4180d603/download4491fe1afb58beaaef41a73cf7ff2e27MD561992/58909oai:repositorio.uniandes.edu.co:1992/589092024-03-13 11:56:14.984http://creativecommons.org/licenses/by-nc-nd/4.0/embargohttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coWW8sIGVuIG1pIGNhbGlkYWQgZGUgYXV0b3IgZGVsIHRyYWJham8gZGUgdGVzaXMsIG1vbm9ncmFmw61hIG8gdHJhYmFqbyBkZSBncmFkbywgaGFnbyBlbnRyZWdhIGRlbCBlamVtcGxhciByZXNwZWN0aXZvIHkgZGUgc3VzIGFuZXhvcyBkZSBzZXIgZWwgY2FzbywgZW4gZm9ybWF0byBkaWdpdGFsIHkvbyBlbGVjdHLDs25pY28geSBhdXRvcml6byBhIGxhIFVuaXZlcnNpZGFkIGRlIGxvcyBBbmRlcyBwYXJhIHF1ZSByZWFsaWNlIGxhIHB1YmxpY2FjacOzbiBlbiBlbCBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIG8gZW4gY3VhbHF1aWVyIG90cm8gc2lzdGVtYSBvIGJhc2UgZGUgZGF0b3MgcHJvcGlvIG8gYWplbm8gYSBsYSBVbml2ZXJzaWRhZCB5IHBhcmEgcXVlIGVuIGxvcyB0w6lybWlub3MgZXN0YWJsZWNpZG9zIGVuIGxhIExleSAyMyBkZSAxOTgyLCBMZXkgNDQgZGUgMTk5MywgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgRGVjcmV0byA0NjAgZGUgMTk5NSB5IGRlbcOhcyBub3JtYXMgZ2VuZXJhbGVzIHNvYnJlIGxhIG1hdGVyaWEsIHV0aWxpY2UgZW4gdG9kYXMgc3VzIGZvcm1hcywgbG9zIGRlcmVjaG9zIHBhdHJpbW9uaWFsZXMgZGUgcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSwgdHJhbnNmb3JtYWNpw7NuIHkgZGlzdHJpYnVjacOzbiAoYWxxdWlsZXIsIHByw6lzdGFtbyBww7pibGljbyBlIGltcG9ydGFjacOzbikgcXVlIG1lIGNvcnJlc3BvbmRlbiBjb21vIGNyZWFkb3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50by4gIAoKCkxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgZW1pdGUgZW4gY2FsaWRhZCBkZSBhdXRvciBkZSBsYSBvYnJhIG9iamV0byBkZWwgcHJlc2VudGUgZG9jdW1lbnRvIHkgbm8gY29ycmVzcG9uZGUgYSBjZXNpw7NuIGRlIGRlcmVjaG9zLCBzaW5vIGEgbGEgYXV0b3JpemFjacOzbiBkZSB1c28gYWNhZMOpbWljbyBkZSBjb25mb3JtaWRhZCBjb24gbG8gYW50ZXJpb3JtZW50ZSBzZcOxYWxhZG8uIExhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gc2UgaGFjZSBleHRlbnNpdmEgbm8gc29sbyBhIGxhcyBmYWN1bHRhZGVzIHkgZGVyZWNob3MgZGUgdXNvIHNvYnJlIGxhIG9icmEgZW4gZm9ybWF0byBvIHNvcG9ydGUgbWF0ZXJpYWwsIHNpbm8gdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGVsZWN0csOzbmljbywgeSBlbiBnZW5lcmFsIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gCgoKRWwgYXV0b3IsIG1hbmlmaWVzdGEgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwgeSBsYSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvcywgcG9yIGxvIHRhbnRvLCBsYSBvYnJhIGVzIGRlIHN1IGV4Y2x1c2l2YSBhdXRvcsOtYSB5IHRpZW5lIGxhIHRpdHVsYXJpZGFkIHNvYnJlIGxhIG1pc21hLiAKCgpFbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAKCg==