Sistema de orquestación para controlar dispositivos IoT

Este escrito inspecciona diferentes tipos de software creados para la manipulación de herramientas de IoT, y en el desarrollo de un nuevo programa de software para el control de un brazo robótico. Así pues, se busca crear una arquitectura que proporcione los requisitos mínimos para dar instrucciones...

Full description

Autores:
Martínez Hernández, Wilton Esteban
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/74507
Acceso en línea:
https://hdl.handle.net/1992/74507
Palabra clave:
Brazo robótico
Software
Sistema
Worker
Docker
Cola de mensajes
Ingeniería
Rights
embargoedAccess
License
https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
id UNIANDES2_c8f29d2f8979a4601712b2f6ae725fb8
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/74507
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.spa.fl_str_mv Sistema de orquestación para controlar dispositivos IoT
title Sistema de orquestación para controlar dispositivos IoT
spellingShingle Sistema de orquestación para controlar dispositivos IoT
Brazo robótico
Software
Sistema
Worker
Docker
Cola de mensajes
Ingeniería
title_short Sistema de orquestación para controlar dispositivos IoT
title_full Sistema de orquestación para controlar dispositivos IoT
title_fullStr Sistema de orquestación para controlar dispositivos IoT
title_full_unstemmed Sistema de orquestación para controlar dispositivos IoT
title_sort Sistema de orquestación para controlar dispositivos IoT
dc.creator.fl_str_mv Martínez Hernández, Wilton Esteban
dc.contributor.advisor.none.fl_str_mv Escobar Velasquez, Camilo Andres
dc.contributor.author.none.fl_str_mv Martínez Hernández, Wilton Esteban
dc.contributor.jury.none.fl_str_mv Escobar Velasquez, Camilo Andres
dc.subject.keyword.spa.fl_str_mv Brazo robótico
topic Brazo robótico
Software
Sistema
Worker
Docker
Cola de mensajes
Ingeniería
dc.subject.keyword.none.fl_str_mv Software
Sistema
Worker
Docker
Cola de mensajes
dc.subject.themes.spa.fl_str_mv Ingeniería
description Este escrito inspecciona diferentes tipos de software creados para la manipulación de herramientas de IoT, y en el desarrollo de un nuevo programa de software para el control de un brazo robótico. Así pues, se busca crear una arquitectura que proporcione los requisitos mínimos para dar instrucciones a un brazo robótico de manera correcta y flexible, todo esto con la intención de facilitar la enseñanza y el aprendizaje de la robótica. Adicionalmente, el software está diseñado para ser extensible a integraciones de nuevas funcionalidades, como la aplicación de pruebas sobre aplicaciones móviles. Para lo anterior, se inspeccionan trabajos previos y se definen objetivos claros para diseñar, implementar y desplegar el software.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-07-11T15:00:25Z
dc.date.issued.none.fl_str_mv 2024-07-09
dc.date.accepted.none.fl_str_mv 2024-07-11
dc.date.available.none.fl_str_mv 2027-07-09
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/74507
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/74507
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 Docker Hub. (s. f.). SFTP. https://hub.docker.com/r/atmoz/sftp
Kubben, P. L., & Pouratian, N. (2012). An open-source and cross-platform framework for Brain Computer Interface-guided robotic arm control. Surgical Neurology International, 3(1), 149. https://doi.org/10.4103/2152-7806.104743
Oridate, A. (2016). Development of Robotic Arm Control Software for Automated Manufacturing. Academia. https://www.academia.edu/29203205/Development_of_Robotic_Arm_Control_Software_for_Automated_Manufacturing
Johansson, L. (24 septiembre de 2019). Part 4: RabbitMQ Exchanges, routing keys and bindings. CloudAMQP. https://www.cloudamqp.com/blog/part4-rabbitmq-for-beginners-exchanges-routing-keys-bindings.html
Kuppusamy, P. G., Dimple, G., Reddy, N. H., Chandana, H. B., Dinesh, M., Girish, G., & Vali, D. D. (junio de 2020). Design and Implementation of Hardware and Software Gesture Controlled Robotic Arm. ResearchGate. https://www.researchgate.net/publication/341877883_Design_and_Implementation_of_Hardware_and_Software_Gesture_Controlled_Robotic_Arm#fullTextFileContent
MuleSoft. (s. f.). ¿Qué es el diseño de APIs REST?. https://www.mulesoft.com/es/resources/api/what-is-rest-api-design
IBM. (s. f.). ¿Qué es PostgreSQL?. https://www.ibm.com/mx-es/topics/postgresql
Saavedra, J. A. (17 julio de 2023). Qué es React y para qué sirve. Ebac. https://ebac.mx/blog/que-es-react
Stsepanets, A. (17 enero de 2024). Modelo cascada, qué es y cuándo conviene usarlo. Gantt Chart GanttPRO Blog. https://blog.ganttpro.com/es/metodologia-de-cascada/
Cloudflare. (s.f.). Tipos de algoritmos de equilibrio de carga. https://www.cloudflare.com/es-es/learning/performance/types-of-load-balancing-algorithms/
Wrike. (s. f.). What Is Kanban? The Ultimate Guide to Kanban Methodology. https://www.wrike.com/kanban-guide/what-is-kanban/
GeeksforGeeks. (9 de febrero de 2024). Strategy Design Pattern. https://www.geeksforgeeks.org/strategy-pattern-set-1/
GeeksforGeeks. (29 de enero de 2023). Lexical Analysis and Syntax Analysis. https://www.geeksforgeeks.org/lexical-analysis-and-syntax-analysis/
IBM. (s. f.). Protocolo de transferencia de archivos (File Transfer Protocol). https://www.ibm.com/docs/es/aix/7.1?topic=protocols-file-transfer-protocol
AWS. (s. f.). ¿Qué es Docker?. https://aws.amazon.com/es/docker/
procesia. (23 de noviembre de 2023). El impacto del desarrollo de software en la sociedad tecnológica actual. https://procesia.com/el-impacto-del-desarrollo-de-software-en-la-sociedad/
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/embargoedAccess
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_f1cf
rights_invalid_str_mv https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
http://purl.org/coar/access_right/c_f1cf
eu_rights_str_mv embargoedAccess
dc.format.extent.none.fl_str_mv 36 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/803a337e-2515-441d-ba02-93c1100efc61/download
https://repositorio.uniandes.edu.co/bitstreams/d7b66c1b-179e-48c0-b349-ee8cc147f535/download
https://repositorio.uniandes.edu.co/bitstreams/6e63b242-6ea8-4fd7-b04e-0d3d8af75553/download
https://repositorio.uniandes.edu.co/bitstreams/bb20382c-bbb7-44d1-b387-a1c9c4224e00/download
https://repositorio.uniandes.edu.co/bitstreams/ee825ecb-43b6-424c-8f14-ed7a24486007/download
https://repositorio.uniandes.edu.co/bitstreams/3ca81b20-8d2e-4c91-881a-ed786972bc2d/download
https://repositorio.uniandes.edu.co/bitstreams/4656e647-dcb0-437f-b52b-c5184cb40ded/download
bitstream.checksum.fl_str_mv 68cb05af65e5bff3032cd55f1c7d74e4
b2494f05aa6b08926f403bda5710cc8e
ae9e573a68e7f92501b6913cc846c39f
b2def6059e2c4b995e447ab0aef2ec64
1d288b97d675ce8e24d6edb4f30d156b
1c56d8073a1beaebb65d7472adb6f877
8291c1340cd07605fb057ffebfeb56f1
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_ 1818111679432491008
spelling Escobar Velasquez, Camilo Andresvirtual::18751-1Martínez Hernández, Wilton EstebanEscobar Velasquez, Camilo Andresvirtual::18752-12024-07-11T15:00:25Z2027-07-092024-07-092024-07-11https://hdl.handle.net/1992/74507instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/Este escrito inspecciona diferentes tipos de software creados para la manipulación de herramientas de IoT, y en el desarrollo de un nuevo programa de software para el control de un brazo robótico. Así pues, se busca crear una arquitectura que proporcione los requisitos mínimos para dar instrucciones a un brazo robótico de manera correcta y flexible, todo esto con la intención de facilitar la enseñanza y el aprendizaje de la robótica. Adicionalmente, el software está diseñado para ser extensible a integraciones de nuevas funcionalidades, como la aplicación de pruebas sobre aplicaciones móviles. Para lo anterior, se inspeccionan trabajos previos y se definen objetivos claros para diseñar, implementar y desplegar el software.Pregrado36 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/embargoedAccesshttp://purl.org/coar/access_right/c_f1cfSistema de orquestación para controlar 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/TPBrazo robóticoSoftwareSistemaWorkerDockerCola de mensajesIngenieríaDocker Hub. (s. f.). SFTP. https://hub.docker.com/r/atmoz/sftpKubben, P. L., & Pouratian, N. (2012). An open-source and cross-platform framework for Brain Computer Interface-guided robotic arm control. Surgical Neurology International, 3(1), 149. https://doi.org/10.4103/2152-7806.104743Oridate, A. (2016). Development of Robotic Arm Control Software for Automated Manufacturing. Academia. https://www.academia.edu/29203205/Development_of_Robotic_Arm_Control_Software_for_Automated_ManufacturingJohansson, L. (24 septiembre de 2019). Part 4: RabbitMQ Exchanges, routing keys and bindings. CloudAMQP. https://www.cloudamqp.com/blog/part4-rabbitmq-for-beginners-exchanges-routing-keys-bindings.htmlKuppusamy, P. G., Dimple, G., Reddy, N. H., Chandana, H. B., Dinesh, M., Girish, G., & Vali, D. D. (junio de 2020). Design and Implementation of Hardware and Software Gesture Controlled Robotic Arm. ResearchGate. https://www.researchgate.net/publication/341877883_Design_and_Implementation_of_Hardware_and_Software_Gesture_Controlled_Robotic_Arm#fullTextFileContentMuleSoft. (s. f.). ¿Qué es el diseño de APIs REST?. https://www.mulesoft.com/es/resources/api/what-is-rest-api-designIBM. (s. f.). ¿Qué es PostgreSQL?. https://www.ibm.com/mx-es/topics/postgresqlSaavedra, J. A. (17 julio de 2023). Qué es React y para qué sirve. Ebac. https://ebac.mx/blog/que-es-reactStsepanets, A. (17 enero de 2024). Modelo cascada, qué es y cuándo conviene usarlo. Gantt Chart GanttPRO Blog. https://blog.ganttpro.com/es/metodologia-de-cascada/Cloudflare. (s.f.). Tipos de algoritmos de equilibrio de carga. https://www.cloudflare.com/es-es/learning/performance/types-of-load-balancing-algorithms/Wrike. (s. f.). What Is Kanban? The Ultimate Guide to Kanban Methodology. https://www.wrike.com/kanban-guide/what-is-kanban/GeeksforGeeks. (9 de febrero de 2024). Strategy Design Pattern. https://www.geeksforgeeks.org/strategy-pattern-set-1/GeeksforGeeks. (29 de enero de 2023). Lexical Analysis and Syntax Analysis. https://www.geeksforgeeks.org/lexical-analysis-and-syntax-analysis/IBM. (s. f.). Protocolo de transferencia de archivos (File Transfer Protocol). https://www.ibm.com/docs/es/aix/7.1?topic=protocols-file-transfer-protocolAWS. (s. f.). ¿Qué es Docker?. https://aws.amazon.com/es/docker/procesia. (23 de noviembre de 2023). El impacto del desarrollo de software en la sociedad tecnológica actual. https://procesia.com/el-impacto-del-desarrollo-de-software-en-la-sociedad/202014514Publication0000-0001-8414-9301virtual::18751-10000-0001-8414-9301virtual::18752-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=00016890402019118830virtual::18751-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=00016890402019118830virtual::18752-190cbaa5a-48e9-458f-949b-4a661bbe3291virtual::18751-190cbaa5a-48e9-458f-949b-4a661bbe3291virtual::18751-190cbaa5a-48e9-458f-949b-4a661bbe3291virtual::18752-190cbaa5a-48e9-458f-949b-4a661bbe3291virtual::18752-1ORIGINALSistema de Orquestación para Controlar Dispositivos IoT.pdfSistema de Orquestación para Controlar Dispositivos IoT.pdfEl documento contiene información sensible.application/pdf884076https://repositorio.uniandes.edu.co/bitstreams/803a337e-2515-441d-ba02-93c1100efc61/download68cb05af65e5bff3032cd55f1c7d74e4MD52autorizacion tesis.pdfautorizacion tesis.pdfHIDEapplication/pdf305330https://repositorio.uniandes.edu.co/bitstreams/d7b66c1b-179e-48c0-b349-ee8cc147f535/downloadb2494f05aa6b08926f403bda5710cc8eMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/6e63b242-6ea8-4fd7-b04e-0d3d8af75553/downloadae9e573a68e7f92501b6913cc846c39fMD53TEXTSistema de Orquestación para Controlar Dispositivos IoT.pdf.txtSistema de Orquestación para Controlar Dispositivos IoT.pdf.txtExtracted texttext/plain55568https://repositorio.uniandes.edu.co/bitstreams/bb20382c-bbb7-44d1-b387-a1c9c4224e00/downloadb2def6059e2c4b995e447ab0aef2ec64MD54autorizacion tesis.pdf.txtautorizacion tesis.pdf.txtExtracted texttext/plain2051https://repositorio.uniandes.edu.co/bitstreams/ee825ecb-43b6-424c-8f14-ed7a24486007/download1d288b97d675ce8e24d6edb4f30d156bMD56THUMBNAILSistema de Orquestación para Controlar Dispositivos IoT.pdf.jpgSistema de Orquestación para Controlar Dispositivos IoT.pdf.jpgGenerated Thumbnailimage/jpeg5736https://repositorio.uniandes.edu.co/bitstreams/3ca81b20-8d2e-4c91-881a-ed786972bc2d/download1c56d8073a1beaebb65d7472adb6f877MD55autorizacion tesis.pdf.jpgautorizacion tesis.pdf.jpgGenerated Thumbnailimage/jpeg11050https://repositorio.uniandes.edu.co/bitstreams/4656e647-dcb0-437f-b52b-c5184cb40ded/download8291c1340cd07605fb057ffebfeb56f1MD571992/74507oai:repositorio.uniandes.edu.co:1992/745072024-07-12 03:00:57.075https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfrestrictedhttps://repositorio.uniandes.edu.coRepositorio institucional Sénecaadminrepositorio@uniandes.edu.coPGgzPjxzdHJvbmc+RGVzY2FyZ28gZGUgUmVzcG9uc2FiaWxpZGFkIC0gTGljZW5jaWEgZGUgQXV0b3JpemFjacOzbjwvc3Ryb25nPjwvaDM+CjxwPjxzdHJvbmc+UG9yIGZhdm9yIGxlZXIgYXRlbnRhbWVudGUgZXN0ZSBkb2N1bWVudG8gcXVlIHBlcm1pdGUgYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBTw6luZWNhIHJlcHJvZHVjaXIgeSBkaXN0cmlidWlyIGxvcyByZWN1cnNvcyBkZSBpbmZvcm1hY2nDs24gZGVwb3NpdGFkb3MgbWVkaWFudGUgbGEgYXV0b3JpemFjacOzbiBkZSBsb3Mgc2lndWllbnRlcyB0w6lybWlub3M6PC9zdHJvbmc+PC9wPgo8cD5Db25jZWRhIGxhIGxpY2VuY2lhIGRlIGRlcMOzc2l0byBlc3TDoW5kYXIgc2VsZWNjaW9uYW5kbyBsYSBvcGNpw7NuIDxzdHJvbmc+J0FjZXB0YXIgbG9zIHTDqXJtaW5vcyBhbnRlcmlvcm1lbnRlIGRlc2NyaXRvcyc8L3N0cm9uZz4geSBjb250aW51YXIgZWwgcHJvY2VzbyBkZSBlbnbDrW8gbWVkaWFudGUgZWwgYm90w7NuIDxzdHJvbmc+J1NpZ3VpZW50ZScuPC9zdHJvbmc+PC9wPgo8aHI+CjxwPllvLCBlbiBtaSBjYWxpZGFkIGRlIGF1dG9yIGRlbCB0cmFiYWpvIGRlIHRlc2lzLCBtb25vZ3JhZsOtYSBvIHRyYWJham8gZGUgZ3JhZG8sIGhhZ28gZW50cmVnYSBkZWwgZWplbXBsYXIgcmVzcGVjdGl2byB5IGRlIHN1cyBhbmV4b3MgZGUgc2VyIGVsIGNhc28sIGVuIGZvcm1hdG8gZGlnaXRhbCB5L28gZWxlY3Ryw7NuaWNvIHkgYXV0b3Jpem8gYSBsYSBVbml2ZXJzaWRhZCBkZSBsb3MgQW5kZXMgcGFyYSBxdWUgcmVhbGljZSBsYSBwdWJsaWNhY2nDs24gZW4gZWwgU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpc3RlbWEgbyBiYXNlIGRlIGRhdG9zIHByb3BpbyBvIGFqZW5vIGEgbGEgVW5pdmVyc2lkYWQgeSBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgTGV5IDQ0IGRlIDE5OTMsIERlY2lzacOzbiBBbmRpbmEgMzUxIGRlIDE5OTMsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbm9ybWFzIGdlbmVyYWxlcyBzb2JyZSBsYSBtYXRlcmlhLCB1dGlsaWNlIGVuIHRvZGFzIHN1cyBmb3JtYXMsIGxvcyBkZXJlY2hvcyBwYXRyaW1vbmlhbGVzIGRlIHJlcHJvZHVjY2nDs24sIGNvbXVuaWNhY2nDs24gcMO6YmxpY2EsIHRyYW5zZm9ybWFjacOzbiB5IGRpc3RyaWJ1Y2nDs24gKGFscXVpbGVyLCBwcsOpc3RhbW8gcMO6YmxpY28gZSBpbXBvcnRhY2nDs24pIHF1ZSBtZSBjb3JyZXNwb25kZW4gY29tbyBjcmVhZG9yIGRlIGxhIG9icmEgb2JqZXRvIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8uPC9wPgo8cD5MYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGVtaXRlIGVuIGNhbGlkYWQgZGUgYXV0b3IgZGUgbGEgb2JyYSBvYmpldG8gZGVsIHByZXNlbnRlIGRvY3VtZW50byB5IG5vIGNvcnJlc3BvbmRlIGEgY2VzacOzbiBkZSBkZXJlY2hvcywgc2lubyBhIGxhIGF1dG9yaXphY2nDs24gZGUgdXNvIGFjYWTDqW1pY28gZGUgY29uZm9ybWlkYWQgY29uIGxvIGFudGVyaW9ybWVudGUgc2XDsWFsYWRvLiBMYSBwcmVzZW50ZSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgZXh0ZW5zaXZhIG5vIHNvbG8gYSBsYXMgZmFjdWx0YWRlcyB5IGRlcmVjaG9zIGRlIHVzbyBzb2JyZSBsYSBvYnJhIGVuIGZvcm1hdG8gbyBzb3BvcnRlIG1hdGVyaWFsLCBzaW5vIHRhbWJpw6luIHBhcmEgZm9ybWF0byBlbGVjdHLDs25pY28sIHkgZW4gZ2VuZXJhbCBwYXJhIGN1YWxxdWllciBmb3JtYXRvIGNvbm9jaWRvIG8gcG9yIGNvbm9jZXIuPC9wPgo8cD5FbCBhdXRvciwgbWFuaWZpZXN0YSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zLCBwb3IgbG8gdGFudG8sIGxhIG9icmEgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgbGEgbWlzbWEuPC9wPgo8cD5FbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhIGVuIGN1ZXN0acOzbiwgZWwgYXV0b3IgYXN1bWlyw6EgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQsIHkgc2FsZHLDoSBkZSBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcywgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcyBsYSBVbml2ZXJzaWRhZCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLjwvcD4KPHA+U2kgdGllbmUgYWxndW5hIGR1ZGEgc29icmUgbGEgbGljZW5jaWEsIHBvciBmYXZvciwgY29udGFjdGUgY29uIGVsIDxhIGhyZWY9Im1haWx0bzpiaWJsaW90ZWNhQHVuaWFuZGVzLmVkdS5jbyIgdGFyZ2V0PSJfYmxhbmsiPkFkbWluaXN0cmFkb3IgZGVsIFNpc3RlbWEuPC9hPjwvcD4K