Optimización e implementación de disposotivo vestible para la medición de las fases al caminar

Este trabajo de investigación se enfoca en la implementación de dispositivos robóticos en la rehabilitación de pacientes con problemas de movilidad. El objetivo principal es una reducción del dispositivo existente basado en sensores de fuerza resistivos para mejorar su comodidad y practicidad al mom...

Full description

Autores:
Cortes Bastidas, Cesar Augusto
Fontanilla Barrera, Johnny Daniel
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/40590
Acceso en línea:
http://hdl.handle.net/11349/40590
Palabra clave:
Rehabilitación
Sensor inercial
Sensor FSR
Fases del caminar
Acelerómetro
Giroscopio
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Rehabilitación robótica
Sensores de fuerza resistivos
Algoritmos de detección de fases del caminar
Tecnología de asistencia para personas con dificultades motrices
Rehabilitation
Inertial sensor
FSR sensor
Walking phases
Accelerometer
Gyroscope
Rights
License
Atribución-NoComercial 4.0 Internacional
id UDISTRITA2_527976e58df86d269193c8bd64e9e0e9
oai_identifier_str oai:repository.udistrital.edu.co:11349/40590
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
dc.title.titleenglish.spa.fl_str_mv Optimization and implementation of a wearable device for measuring walking phases
title Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
spellingShingle Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
Rehabilitación
Sensor inercial
Sensor FSR
Fases del caminar
Acelerómetro
Giroscopio
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Rehabilitación robótica
Sensores de fuerza resistivos
Algoritmos de detección de fases del caminar
Tecnología de asistencia para personas con dificultades motrices
Rehabilitation
Inertial sensor
FSR sensor
Walking phases
Accelerometer
Gyroscope
title_short Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
title_full Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
title_fullStr Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
title_full_unstemmed Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
title_sort Optimización e implementación de disposotivo vestible para la medición de las fases al caminar
dc.creator.fl_str_mv Cortes Bastidas, Cesar Augusto
Fontanilla Barrera, Johnny Daniel
dc.contributor.advisor.none.fl_str_mv Jutinico Alarcon, Andres Leonardo
dc.contributor.author.none.fl_str_mv Cortes Bastidas, Cesar Augusto
Fontanilla Barrera, Johnny Daniel
dc.contributor.orcid.none.fl_str_mv Jutinico Alarcon Andres Leonardo [0000-0001-9146-9637]
dc.subject.spa.fl_str_mv Rehabilitación
Sensor inercial
Sensor FSR
Fases del caminar
Acelerómetro
Giroscopio
topic Rehabilitación
Sensor inercial
Sensor FSR
Fases del caminar
Acelerómetro
Giroscopio
Ingeniería Eléctrica -- Tesis y disertaciones académicas
Rehabilitación robótica
Sensores de fuerza resistivos
Algoritmos de detección de fases del caminar
Tecnología de asistencia para personas con dificultades motrices
Rehabilitation
Inertial sensor
FSR sensor
Walking phases
Accelerometer
Gyroscope
dc.subject.lemb.none.fl_str_mv Ingeniería Eléctrica -- Tesis y disertaciones académicas
Rehabilitación robótica
Sensores de fuerza resistivos
Algoritmos de detección de fases del caminar
Tecnología de asistencia para personas con dificultades motrices
dc.subject.keyword.spa.fl_str_mv Rehabilitation
Inertial sensor
FSR sensor
Walking phases
Accelerometer
Gyroscope
description Este trabajo de investigación se enfoca en la implementación de dispositivos robóticos en la rehabilitación de pacientes con problemas de movilidad. El objetivo principal es una reducción del dispositivo existente basado en sensores de fuerza resistivos para mejorar su comodidad y practicidad al momento de tomar medidas, mientras se mantiene la disposición de los sensores y el segundo dispositivo que emplea un sensor inercial MPU6050 manteniendo así la coherencia en la toma de datos. Adicionalmente se tomó una base de datos de 30 individuos la cual se utilizó para crear un nuevo algoritmo más general en la detección de las fases del caminar. Este algoritmo fue desarrollado con el propósito de mejorar la precisión y la eficiencia en la identificación de las diferentes etapas del ciclo de la marcha humana. Gracias a la diversidad de datos recopilados de estas 30 personas, se logró obtener un modelo robusto y versátil que puede adaptarse a diferentes características y variaciones en los patrones de caminar de las personas. Este avance en la detección de las fases del caminar tiene el potencial de beneficiar a diversos campos, como la medicina, la rehabilitación y la tecnología de asistencia para personas con dificultades motrices. En la implementación preexistente del dispositivo existían dos algoritmos de clasificación, el algoritmo de Perez del cual se obtiene un F1-Score de 0.64 en la clasificación de las 5 fases del caminar usando datos de una sola persona y una red neuronal (Perceptron) la cual mejora el F1-Score a 0,93 igualmente usando los datos de una única persona y reduciendo a 4 las fases del caminar, el dispositivo estaba realizado con tecnologia THT la cual por sus características de soldadura y ubicación de los elementos sobre la placa le permitía tener un tamaño de 10x10 cm, en contraste, en este proyecto de grado al ejecutar el perceptron para clasificar una base de datos de 33 personas y 5 fases del caminar se obtiene un F1-Score de 0.22, por lo cual se decide hacer la implementación de dos algoritmos difusos los cuales obtienen un F1-Score de 0.68 para el MFC Clusterin y un F1-Score de 0.69 para el algoritmo de Grid partition ambos algoritmos retomando la clasificación de las 5 fases del caminar y clasificando sobre una base de datos de 33 personas, adicionalmente, el dispositivo realizado con tecnología SMT permitió reducir un 40% las dimensiones del mismo obteniendo un tamaño final de 6x6 cm.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-11-16
dc.date.accessioned.none.fl_str_mv 2024-09-10T20:29:01Z
dc.date.available.none.fl_str_mv 2024-09-10T20:29:01Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.degree.spa.fl_str_mv Investigación-Innovación
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/40590
url http://hdl.handle.net/11349/40590
dc.language.iso.none.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Atribución-NoComercial 4.0 Internacional
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional
http://creativecommons.org/licenses/by-nc/4.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/0de4e825-9e03-4899-ab10-f047a8aebd47/download
https://repository.udistrital.edu.co/bitstreams/1321148a-29f1-4242-954f-f619493f606a/download
https://repository.udistrital.edu.co/bitstreams/fc4d2cd3-2f99-49e3-b358-ec04ad3bcfca/download
https://repository.udistrital.edu.co/bitstreams/66cc986d-3bdb-4692-a4d9-12e5d5868a69/download
https://repository.udistrital.edu.co/bitstreams/d097acd0-358f-4a0a-b5b2-c95eb50645b8/download
https://repository.udistrital.edu.co/bitstreams/aa4e7e25-3c27-40bb-a034-8194e31d22f8/download
bitstream.checksum.fl_str_mv d37b6aa9dce89ebbf9beb7639d175346
299ebb37cf628f2734ec3533a8d1c583
24013099e9e6abb1575dc6ce0855efd5
997daf6c648c962d566d7b082dac908d
9cd883beeb9960ee905e9420db05454d
cd3029a4dbf25e5eb7acc7f0840767cd
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837006867391315968
spelling Jutinico Alarcon, Andres LeonardoCortes Bastidas, Cesar AugustoFontanilla Barrera, Johnny DanielJutinico Alarcon Andres Leonardo [0000-0001-9146-9637]2024-09-10T20:29:01Z2024-09-10T20:29:01Z2023-11-16http://hdl.handle.net/11349/40590Este trabajo de investigación se enfoca en la implementación de dispositivos robóticos en la rehabilitación de pacientes con problemas de movilidad. El objetivo principal es una reducción del dispositivo existente basado en sensores de fuerza resistivos para mejorar su comodidad y practicidad al momento de tomar medidas, mientras se mantiene la disposición de los sensores y el segundo dispositivo que emplea un sensor inercial MPU6050 manteniendo así la coherencia en la toma de datos. Adicionalmente se tomó una base de datos de 30 individuos la cual se utilizó para crear un nuevo algoritmo más general en la detección de las fases del caminar. Este algoritmo fue desarrollado con el propósito de mejorar la precisión y la eficiencia en la identificación de las diferentes etapas del ciclo de la marcha humana. Gracias a la diversidad de datos recopilados de estas 30 personas, se logró obtener un modelo robusto y versátil que puede adaptarse a diferentes características y variaciones en los patrones de caminar de las personas. Este avance en la detección de las fases del caminar tiene el potencial de beneficiar a diversos campos, como la medicina, la rehabilitación y la tecnología de asistencia para personas con dificultades motrices. En la implementación preexistente del dispositivo existían dos algoritmos de clasificación, el algoritmo de Perez del cual se obtiene un F1-Score de 0.64 en la clasificación de las 5 fases del caminar usando datos de una sola persona y una red neuronal (Perceptron) la cual mejora el F1-Score a 0,93 igualmente usando los datos de una única persona y reduciendo a 4 las fases del caminar, el dispositivo estaba realizado con tecnologia THT la cual por sus características de soldadura y ubicación de los elementos sobre la placa le permitía tener un tamaño de 10x10 cm, en contraste, en este proyecto de grado al ejecutar el perceptron para clasificar una base de datos de 33 personas y 5 fases del caminar se obtiene un F1-Score de 0.22, por lo cual se decide hacer la implementación de dos algoritmos difusos los cuales obtienen un F1-Score de 0.68 para el MFC Clusterin y un F1-Score de 0.69 para el algoritmo de Grid partition ambos algoritmos retomando la clasificación de las 5 fases del caminar y clasificando sobre una base de datos de 33 personas, adicionalmente, el dispositivo realizado con tecnología SMT permitió reducir un 40% las dimensiones del mismo obteniendo un tamaño final de 6x6 cm.This research work focuses on the implementation of robotic devices in the rehabilitation of patients with mobility problems. The main objective is a reduction of the existing device based on resistive force sensors (FSR) to improve its comfort and practicality when taking measurements, while maintaining the arrangement of the sensors and the second device that employs an MPU6050 inertial sensor thus maintaining consistency in data collection. Additionally, a database of 30 individuals was taken and used to create a new, more general algorithm for detecting walking phases. This algorithm was developed with the purpose of improving the accuracy and efficiency in identifying the different stages of the human gait cycle. Thanks to the diversity of data collected from these 30 people, it was possible to obtain a robust and versatile model that can adapt to different characteristics and variations in people's walking patterns. This advance in the detection of walking phases has the potential to benefit various fields, such as medicine, rehabilitation and assistive technology for people with motor difficulties. In the previous implementation of the device, there were two classification algorithms, Perez's algorithm, which gives an F1-score of 0.64 in the classification of the 5 phases of walking using data from a single person and a neural network (perceptron) which improves the F1-score to 0.93 also using data from a single person and reducing to 4 phases of walking, the device was made with THT technology, which by its welding characteristics and the location of the elements on the plate allowed it to have a size of 10x10 cm, in contrast, in this degree project using the Perceptron to classify a database of 33 people and 5 phases of walking, obtained an F1-score value of 0.22, Therefore, it was decided to implement two fuzzy algorithms which obtain an F1-score of 0.68 for the MFC Clusterin and an F1-score of 0.69 for the Grid Partition algorithm, both algorithms retake the classification of the 5 phases of walking and classifying on a database of 33 people, in addition, the device made with SMT technology allowed to reduce its dimensions by 40%, obtaining a final size of 6x6 cm.pdfspaAtribución-NoComercial 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2RehabilitaciónSensor inercialSensor FSRFases del caminarAcelerómetroGiroscopioIngeniería Eléctrica -- Tesis y disertaciones académicasRehabilitación robóticaSensores de fuerza resistivosAlgoritmos de detección de fases del caminarTecnología de asistencia para personas con dificultades motricesRehabilitationInertial sensorFSR sensorWalking phasesAccelerometerGyroscopeOptimización e implementación de disposotivo vestible para la medición de las fases al caminarOptimization and implementation of a wearable device for measuring walking phasesbachelorThesisInvestigación-Innovacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALCortesBastidasCesarAugusto2023.pdfCortesBastidasCesarAugusto2023.pdfTrabajo de gradoapplication/pdf14294786https://repository.udistrital.edu.co/bitstreams/0de4e825-9e03-4899-ab10-f047a8aebd47/downloadd37b6aa9dce89ebbf9beb7639d175346MD51Licencia y autorización de los autores para publicar.pdfLicencia y autorización de los autores para publicar.pdfLicencia de publicacionapplication/pdf184130https://repository.udistrital.edu.co/bitstreams/1321148a-29f1-4242-954f-f619493f606a/download299ebb37cf628f2734ec3533a8d1c583MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8914https://repository.udistrital.edu.co/bitstreams/fc4d2cd3-2f99-49e3-b358-ec04ad3bcfca/download24013099e9e6abb1575dc6ce0855efd5MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/66cc986d-3bdb-4692-a4d9-12e5d5868a69/download997daf6c648c962d566d7b082dac908dMD54THUMBNAILCortesBastidasCesarAugusto2023.pdf.jpgCortesBastidasCesarAugusto2023.pdf.jpgIM Thumbnailimage/jpeg6202https://repository.udistrital.edu.co/bitstreams/d097acd0-358f-4a0a-b5b2-c95eb50645b8/download9cd883beeb9960ee905e9420db05454dMD55Licencia y autorización de los autores para publicar.pdf.jpgLicencia y autorización de los autores para publicar.pdf.jpgIM Thumbnailimage/jpeg9503https://repository.udistrital.edu.co/bitstreams/aa4e7e25-3c27-40bb-a034-8194e31d22f8/downloadcd3029a4dbf25e5eb7acc7f0840767cdMD5611349/40590oai:repository.udistrital.edu.co:11349/405902025-01-19 01:10:25.842http://creativecommons.org/licenses/by-nc/4.0/Atribución-NoComercial 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK