Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial

En respuesta a la necesidad actual de combinar la automatización de procesos de manufactura con la flexibilidad y el control escalable que ofrecen los brazos robóticos, este proyecto se enfocó en el desarrollo de algoritmos y códigos para ejecutar trayectorias en un brazo robótico de 6 grados de lib...

Full description

Autores:
Gutiérrez González, Juan Camilo
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/73574
Acceso en línea:
https://hdl.handle.net/1992/73574
Palabra clave:
6 grados de libertad
Automatización
Brazo robótico
Gcode
Procesos de manufactura
Trayectorias
MoveIt
ROS 2
Ingeniería
Rights
openAccess
License
https://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdf
id UNIANDES2_c4f203b8a7240eebc5b3e8e60029da73
oai_identifier_str oai:repositorio.uniandes.edu.co:1992/73574
network_acronym_str UNIANDES2
network_name_str Séneca: repositorio Uniandes
repository_id_str
dc.title.spa.fl_str_mv Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
title Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
spellingShingle Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
6 grados de libertad
Automatización
Brazo robótico
Gcode
Procesos de manufactura
Trayectorias
MoveIt
ROS 2
Ingeniería
title_short Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
title_full Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
title_fullStr Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
title_full_unstemmed Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
title_sort Desarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial
dc.creator.fl_str_mv Gutiérrez González, Juan Camilo
dc.contributor.advisor.none.fl_str_mv Rodríguez Herrera, Carlos Francisco
Rodríguez Herrera, Carlos Francisco
dc.contributor.author.none.fl_str_mv Gutiérrez González, Juan Camilo
dc.contributor.jury.none.fl_str_mv Rodríguez Herrera, Carlos Francisco
dc.subject.keyword.spa.fl_str_mv 6 grados de libertad
Automatización
Brazo robótico
Gcode
Procesos de manufactura
Trayectorias
topic 6 grados de libertad
Automatización
Brazo robótico
Gcode
Procesos de manufactura
Trayectorias
MoveIt
ROS 2
Ingeniería
dc.subject.keyword.none.fl_str_mv MoveIt
ROS 2
dc.subject.themes.spa.fl_str_mv Ingeniería
description En respuesta a la necesidad actual de combinar la automatización de procesos de manufactura con la flexibilidad y el control escalable que ofrecen los brazos robóticos, este proyecto se enfocó en el desarrollo de algoritmos y códigos para ejecutar trayectorias en un brazo robótico de 6 grados de libertad a partir de archivos Gcode. El objetivo general fue lograr movimientos de desplazamiento, líneas rectas y arcos a lo largo de una superficie plana, con potencial para ser una ayuda en brazos industriales integrables con ROS 2. La metodología empleada permitió parametrizar una superficie plana a utilizar, pero se puede extender a hacer un mapeo 3D, lo que posibilita recorrer cualquier figura 3D modificando la orientación de diferentes herramientas para hacer uso de los 6 grados de libertad del brazo a través de la planeación de trayectorias que genera el paquete MoveIt de ROS 2. Además, se implementaron algoritmos de calibración de parámetros del plano, lo que redujo significativamente el error en las pruebas realizadas y permitió mantener la herramienta sobre la superficie en todo momento. Se destaca la posibilidad de teleoperación completa de un brazo robótico o la automatización de procesos de manufactura que operen a partir de archivos Gcode, como corte láser, maquinado, CNC e impresión 3D, con la ventaja de operar sobre una superficie irregular variando la orientación y posición de la herramienta en su totalidad. Este enfoque innovador se basa en el uso de un brazo robótico de coste accesible y programación flexible, lo que representa una solución prometedora para las necesidades específicas de distintos entornos de manufactura.
publishDate 2024
dc.date.accessioned.none.fl_str_mv 2024-01-29T20:00:34Z
dc.date.available.none.fl_str_mv 2024-01-29T20:00:34Z
dc.date.issued.none.fl_str_mv 2024-01-29
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/73574
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/73574
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 A. Dolgui and A. Pashkevich, Manipulator motion planning for high-speed robotic laser cutting, https://www.researchgate.net/publication/245331291_Manipulator_motion_planning_for_high-speed_robotic_laser_cutting (accessed Jun. 2, 2023).
J. L. Blanco Claraco, “Parametrización Denavit-Hartenberg para robots: Teoría, vídeo y Nueva Aplicación Libre,” Ciencia explicada, https://www.ciencia-explicada.com/2013/02/parametrizacion-denavit-hartenberg-para.html (accessed Jun. 2, 2023).
L. Picó, “Curvas de Movimiento,” LibreServo, https://www.libreservo.com/es/articulo/curvas-movimiento (accessed Jun. 2, 2023).
T. K. Findling and M. C. Silaghi, Laser curve tracing for robotic arms, https://cs.fit.edu/~msilaghi/pages/papers/FCRAR2016_CurveTracing.pdf (accessed Jun. 2, 2023).
W. Gómez Flores, Análisis de Imágenes Digitales, https://www.tamps.cinvestav.mx/~wgomez/diapositivas/AID/Clase09.pdf (accessed Jun. 2, 2023).
S. Baklouti, G. Gallot, J. Viaud, and K. Subrin, “On the improvement of ROS-based control for Teleoperated Yaskawa Robots,” MDPI, https://www.mdpi.com/2076-3417/11/16/7190 (accessed Jun. 2, 2023).
“Rover de Exploración Marciana Uniandino (REM-U),” Robocol Uniandes, https://robocol.uniandes.edu.co/es/ (accessed Dic. 19, 2023).
“Ros 2 documentation,” ROS 2 Documentation - ROS 2 Documentation: Humble documentation, https://docs.ros.org/en/humble/index.html (accessed Dic. 19, 2023).
“Pilz Industrial Motion Planner — moveit tutorials Noetic documentation.” https://ros-planning.github.io/moveit_tutorials/doc/pilz_industrial_motion_planner/pilz_industrial _motion_planner.html#sequence-of-multiple-segments (accessed Dic. 19, 2023).
“Inkscape Laser Plug-In - J Tech Photonics, Inc.,” J Tech Photonics, Inc., Aug. 17, 2023. https://jtechphotonics.com/?page_id=2012 (accessed Dic. 19, 2023).
I. W. Developers, “Draw Freely | Inkscape.” https://inkscape.org/ (accessed Dic. 19, 2023).
“FormerLurker/ArcWelderPlugin: A plugin for OctoPrint used to convert G0/G1 commands to G2/G3 commands. Reduce the size of your gcode files, and reduce number of gcodes per second sent to your printer.,” GitHub. https://github.com/FormerLurker/ArcWelderPlugin (accessed Dic. 19, 2023).
“Getting started | Seeed Studio Wiki,” Jan. 11, 2023. https://wiki.seeedstudio.com/Seeeduino-XIAO/ (accessed Dic. 19, 2023).
“NEMA 17 Stepper Motor L=39mm Gear Ratio 50:1 High Precision Planetary Gearbox - 17HS15-1684S-HG50|STEPPERONLINE,” StepperOnline, Jun. 14, 2023. https://www.omc-stepperonline.com/ nema-17-stepper-motor-l-39mm-gear-ratio-50-1-high-precision-planetary-gearbox-17hs15-1684s-hg50 (accessed Dic. 19, 2023).
“Nema 23 Stepper Motor Bipolar L=76mm w/ Gear Ratio 47:1 Planetary Gearbox -23HS30-2804S-PG47|STEPPERONLINE,” StepperOnline. https://www.omc-stepperonline.com/nema -23-stepper-motor-bipolar-l-76mm-w-gear-ratio-47-1-planetary-gearbox-23hs30-2804s-pg47 (accessed Dic. 19, 2023).
“Nema 17 Stepper Motor Bipolar L=48mm w/ Gear Ratio 19:1 Planetary Gearbox - 17HS19-1684SPG19|STEPPERONLINE,” StepperOnline, Aug. 13, 2023. https://www.omc-stepperonline.com/nema -17-stepper-motor-bipolar-l-48mm-w-gear-ratio-19-1-planetary-gearbox-17hs19-1684s-pg19 (accessed Dic. 19, 2023).
I. P. Y. F. Gómez, “Ecuaciones del Plano: General, Paramétrica, Segmentaria [Guía completa],” Álgebra Y Geometría Analítica, May 30, 2017. https://aga.frba.utn.edu.ar/ecuaciones-del-plano/ (accessed Dic. 19, 2023).
G. Strang, “2.2 Vectores en tres dimensiones - Cálculo volumen 3 | OpenStax,” Mar. 24, 2022. https://openstax.org/books/c%C3%A1lculo-volumen-3/pages/2-2-vectores-en-tres-dimensiones (accessed Dic. 19, 2023).
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 31 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 Mecánica
dc.publisher.faculty.none.fl_str_mv Facultad de Ingeniería
dc.publisher.department.none.fl_str_mv Departamento de Ingeniería Mecánica
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/68457643-9d14-4425-b04e-a29e8fbd290e/download
https://repositorio.uniandes.edu.co/bitstreams/b00df072-3e9b-4e70-b108-ae7eaf236b8a/download
https://repositorio.uniandes.edu.co/bitstreams/f0e6b388-cf70-4695-b8b0-cbf3f1d90c45/download
https://repositorio.uniandes.edu.co/bitstreams/e36e5fd1-f92d-4957-b45f-8b81fd383827/download
https://repositorio.uniandes.edu.co/bitstreams/97dcf469-e436-4951-adfb-eab367fa0291/download
https://repositorio.uniandes.edu.co/bitstreams/b1f2cb6e-05a9-45dd-b1ad-00d3af988414/download
https://repositorio.uniandes.edu.co/bitstreams/e640c8e0-0932-493e-bd0d-16ba72798624/download
bitstream.checksum.fl_str_mv e51cb31a03ffce6f5ba8a716bafd0d50
e17d7d51067a183d889374d7ac227b1e
ae9e573a68e7f92501b6913cc846c39f
c22adc444253a80385fad43fb8e0eefb
05a4cd07eb9d5201c9eefc50e77d215f
64bb81ad9677e8e5a6d4746e931dbdc6
534d8cfce155b12b6fc18271c23fc0fe
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_ 1808390243228844032
spelling Al consultar y hacer uso de este recurso, está aceptando las condiciones de uso establecidas por los autoreshttps://repositorio.uniandes.edu.co/static/pdf/aceptacion_uso_es.pdfinfo:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Rodríguez Herrera, Carlos FranciscoRodríguez Herrera, Carlos Franciscovirtual::244-1Gutiérrez González, Juan CamiloRodríguez Herrera, Carlos Franciscovirtual::245-12024-01-29T20:00:34Z2024-01-29T20:00:34Z2024-01-29https://hdl.handle.net/1992/73574instname:Universidad de los Andesreponame:Repositorio Institucional Sénecarepourl:https://repositorio.uniandes.edu.co/En respuesta a la necesidad actual de combinar la automatización de procesos de manufactura con la flexibilidad y el control escalable que ofrecen los brazos robóticos, este proyecto se enfocó en el desarrollo de algoritmos y códigos para ejecutar trayectorias en un brazo robótico de 6 grados de libertad a partir de archivos Gcode. El objetivo general fue lograr movimientos de desplazamiento, líneas rectas y arcos a lo largo de una superficie plana, con potencial para ser una ayuda en brazos industriales integrables con ROS 2. La metodología empleada permitió parametrizar una superficie plana a utilizar, pero se puede extender a hacer un mapeo 3D, lo que posibilita recorrer cualquier figura 3D modificando la orientación de diferentes herramientas para hacer uso de los 6 grados de libertad del brazo a través de la planeación de trayectorias que genera el paquete MoveIt de ROS 2. Además, se implementaron algoritmos de calibración de parámetros del plano, lo que redujo significativamente el error en las pruebas realizadas y permitió mantener la herramienta sobre la superficie en todo momento. Se destaca la posibilidad de teleoperación completa de un brazo robótico o la automatización de procesos de manufactura que operen a partir de archivos Gcode, como corte láser, maquinado, CNC e impresión 3D, con la ventaja de operar sobre una superficie irregular variando la orientación y posición de la herramienta en su totalidad. Este enfoque innovador se basa en el uso de un brazo robótico de coste accesible y programación flexible, lo que representa una solución prometedora para las necesidades específicas de distintos entornos de manufactura.Ingeniero MecánicoPregrado31 páginasapplication/pdfspaUniversidad de los AndesIngeniería MecánicaFacultad de IngenieríaDepartamento de Ingeniería MecánicaDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercialTrabajo de grado - Pregradoinfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionhttp://purl.org/coar/resource_type/c_7a1fTexthttp://purl.org/redcol/resource_type/TP6 grados de libertadAutomatizaciónBrazo robóticoGcodeProcesos de manufacturaTrayectoriasMoveItROS 2IngenieríaA. Dolgui and A. Pashkevich, Manipulator motion planning for high-speed robotic laser cutting, https://www.researchgate.net/publication/245331291_Manipulator_motion_planning_for_high-speed_robotic_laser_cutting (accessed Jun. 2, 2023).J. L. Blanco Claraco, “Parametrización Denavit-Hartenberg para robots: Teoría, vídeo y Nueva Aplicación Libre,” Ciencia explicada, https://www.ciencia-explicada.com/2013/02/parametrizacion-denavit-hartenberg-para.html (accessed Jun. 2, 2023).L. Picó, “Curvas de Movimiento,” LibreServo, https://www.libreservo.com/es/articulo/curvas-movimiento (accessed Jun. 2, 2023).T. K. Findling and M. C. Silaghi, Laser curve tracing for robotic arms, https://cs.fit.edu/~msilaghi/pages/papers/FCRAR2016_CurveTracing.pdf (accessed Jun. 2, 2023).W. Gómez Flores, Análisis de Imágenes Digitales, https://www.tamps.cinvestav.mx/~wgomez/diapositivas/AID/Clase09.pdf (accessed Jun. 2, 2023).S. Baklouti, G. Gallot, J. Viaud, and K. Subrin, “On the improvement of ROS-based control for Teleoperated Yaskawa Robots,” MDPI, https://www.mdpi.com/2076-3417/11/16/7190 (accessed Jun. 2, 2023).“Rover de Exploración Marciana Uniandino (REM-U),” Robocol Uniandes, https://robocol.uniandes.edu.co/es/ (accessed Dic. 19, 2023).“Ros 2 documentation,” ROS 2 Documentation - ROS 2 Documentation: Humble documentation, https://docs.ros.org/en/humble/index.html (accessed Dic. 19, 2023).“Pilz Industrial Motion Planner — moveit tutorials Noetic documentation.” https://ros-planning.github.io/moveit_tutorials/doc/pilz_industrial_motion_planner/pilz_industrial _motion_planner.html#sequence-of-multiple-segments (accessed Dic. 19, 2023).“Inkscape Laser Plug-In - J Tech Photonics, Inc.,” J Tech Photonics, Inc., Aug. 17, 2023. https://jtechphotonics.com/?page_id=2012 (accessed Dic. 19, 2023).I. W. Developers, “Draw Freely | Inkscape.” https://inkscape.org/ (accessed Dic. 19, 2023).“FormerLurker/ArcWelderPlugin: A plugin for OctoPrint used to convert G0/G1 commands to G2/G3 commands. Reduce the size of your gcode files, and reduce number of gcodes per second sent to your printer.,” GitHub. https://github.com/FormerLurker/ArcWelderPlugin (accessed Dic. 19, 2023).“Getting started | Seeed Studio Wiki,” Jan. 11, 2023. https://wiki.seeedstudio.com/Seeeduino-XIAO/ (accessed Dic. 19, 2023).“NEMA 17 Stepper Motor L=39mm Gear Ratio 50:1 High Precision Planetary Gearbox - 17HS15-1684S-HG50|STEPPERONLINE,” StepperOnline, Jun. 14, 2023. https://www.omc-stepperonline.com/ nema-17-stepper-motor-l-39mm-gear-ratio-50-1-high-precision-planetary-gearbox-17hs15-1684s-hg50 (accessed Dic. 19, 2023).“Nema 23 Stepper Motor Bipolar L=76mm w/ Gear Ratio 47:1 Planetary Gearbox -23HS30-2804S-PG47|STEPPERONLINE,” StepperOnline. https://www.omc-stepperonline.com/nema -23-stepper-motor-bipolar-l-76mm-w-gear-ratio-47-1-planetary-gearbox-23hs30-2804s-pg47 (accessed Dic. 19, 2023).“Nema 17 Stepper Motor Bipolar L=48mm w/ Gear Ratio 19:1 Planetary Gearbox - 17HS19-1684SPG19|STEPPERONLINE,” StepperOnline, Aug. 13, 2023. https://www.omc-stepperonline.com/nema -17-stepper-motor-bipolar-l-48mm-w-gear-ratio-19-1-planetary-gearbox-17hs19-1684s-pg19 (accessed Dic. 19, 2023).I. P. Y. F. Gómez, “Ecuaciones del Plano: General, Paramétrica, Segmentaria [Guía completa],” Álgebra Y Geometría Analítica, May 30, 2017. https://aga.frba.utn.edu.ar/ecuaciones-del-plano/ (accessed Dic. 19, 2023).G. Strang, “2.2 Vectores en tres dimensiones - Cálculo volumen 3 | OpenStax,” Mar. 24, 2022. https://openstax.org/books/c%C3%A1lculo-volumen-3/pages/2-2-vectores-en-tres-dimensiones (accessed Dic. 19, 2023).201812463Publicationhttps://scholar.google.es/citations?user=O8Cl-rUAAAAJvirtual::245-1https://scholar.google.es/citations?user=O8Cl-rUAAAAJvirtual::244-10000-0002-7438-8963virtual::245-10000-0002-7438-8963virtual::244-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000054020virtual::245-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000054020virtual::244-1e6d7de00-33cf-432f-9b5d-cdcff3b1f6a1virtual::244-1e6d7de00-33cf-432f-9b5d-cdcff3b1f6a1virtual::244-1e6d7de00-33cf-432f-9b5d-cdcff3b1f6a1virtual::245-1e6d7de00-33cf-432f-9b5d-cdcff3b1f6a1virtual::245-1ORIGINALDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial.pdfDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial.pdfapplication/pdf3985214https://repositorio.uniandes.edu.co/bitstreams/68457643-9d14-4425-b04e-a29e8fbd290e/downloade51cb31a03ffce6f5ba8a716bafd0d50MD51autorizacion tesis Juan Camilo Gutierrez.pdfautorizacion tesis Juan Camilo Gutierrez.pdfHIDEapplication/pdf329491https://repositorio.uniandes.edu.co/bitstreams/b00df072-3e9b-4e70-b108-ae7eaf236b8a/downloade17d7d51067a183d889374d7ac227b1eMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-82535https://repositorio.uniandes.edu.co/bitstreams/f0e6b388-cf70-4695-b8b0-cbf3f1d90c45/downloadae9e573a68e7f92501b6913cc846c39fMD53TEXTDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial.pdf.txtDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial.pdf.txtExtracted texttext/plain59644https://repositorio.uniandes.edu.co/bitstreams/e36e5fd1-f92d-4957-b45f-8b81fd383827/downloadc22adc444253a80385fad43fb8e0eefbMD54autorizacion tesis Juan Camilo Gutierrez.pdf.txtautorizacion tesis Juan Camilo Gutierrez.pdf.txtExtracted texttext/plain2058https://repositorio.uniandes.edu.co/bitstreams/97dcf469-e436-4951-adfb-eab367fa0291/download05a4cd07eb9d5201c9eefc50e77d215fMD56THUMBNAILDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial.pdf.jpgDesarrollo de trayectorias para procesos de manufactura en un brazo robótico no comercial.pdf.jpgGenerated Thumbnailimage/jpeg7371https://repositorio.uniandes.edu.co/bitstreams/b1f2cb6e-05a9-45dd-b1ad-00d3af988414/download64bb81ad9677e8e5a6d4746e931dbdc6MD55autorizacion tesis Juan Camilo Gutierrez.pdf.jpgautorizacion tesis Juan Camilo Gutierrez.pdf.jpgGenerated Thumbnailimage/jpeg10923https://repositorio.uniandes.edu.co/bitstreams/e640c8e0-0932-493e-bd0d-16ba72798624/download534d8cfce155b12b6fc18271c23fc0feMD571992/73574oai:repositorio.uniandes.edu.co:1992/735742024-01-30 03:03:45.143https://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