Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial
En la actualidad, la automatización y la inteligencia artificial están cambiando varias industrias, incluyendo la agricultura. Dado el incremento en la necesidad de eficiencia en la producción agrícola, es fundamental crear herramientas tecnológicas que mejoren labores clave como la medición instant...
- Autores:
-
Castañeda Puentes, Emily
Rivera Moreno, Sebastian
- Tipo de recurso:
- Fecha de publicación:
- 2024
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/93356
- Acceso en línea:
- http://hdl.handle.net/11349/93356
- Palabra clave:
- Automatización
Inteligencia artificial
Visión artificial
Agricultura de precisión
Ingeniería en Control -- Tesis y disertaciones académicas
Automation
Artificial Intelligence
Computer Vision
Precision Agriculture
- Rights
- License
- Abierto (Texto Completo)
id |
UDISTRITA2_f3c13be740bf14b55c61fc33208f2dab |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/93356 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.none.fl_str_mv |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
dc.title.titleenglish.none.fl_str_mv |
Software design for automation of fruit counting. through intelligence and artificial vision |
title |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
spellingShingle |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial Automatización Inteligencia artificial Visión artificial Agricultura de precisión Ingeniería en Control -- Tesis y disertaciones académicas Automation Artificial Intelligence Computer Vision Precision Agriculture |
title_short |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
title_full |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
title_fullStr |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
title_full_unstemmed |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
title_sort |
Diseño de software para automatización del conteo de frutos mediante inteligencia y visión artificial |
dc.creator.fl_str_mv |
Castañeda Puentes, Emily Rivera Moreno, Sebastian |
dc.contributor.advisor.none.fl_str_mv |
Nixon Giraldo, Frank |
dc.contributor.author.none.fl_str_mv |
Castañeda Puentes, Emily Rivera Moreno, Sebastian |
dc.contributor.orcid.none.fl_str_mv |
Nixon Giraldo, Frank [0000-0001-8407-1831] |
dc.subject.none.fl_str_mv |
Automatización Inteligencia artificial Visión artificial Agricultura de precisión |
topic |
Automatización Inteligencia artificial Visión artificial Agricultura de precisión Ingeniería en Control -- Tesis y disertaciones académicas Automation Artificial Intelligence Computer Vision Precision Agriculture |
dc.subject.lemb.none.fl_str_mv |
Ingeniería en Control -- Tesis y disertaciones académicas |
dc.subject.keyword.none.fl_str_mv |
Automation Artificial Intelligence Computer Vision Precision Agriculture |
description |
En la actualidad, la automatización y la inteligencia artificial están cambiando varias industrias, incluyendo la agricultura. Dado el incremento en la necesidad de eficiencia en la producción agrícola, es fundamental crear herramientas tecnológicas que mejoren labores clave como la medición instantánea de frutos en tiempo real. Esta necesidad surge en un contexto donde la precisión y rapidez son fundamentales para maximizar la producción y reducir costos. El problema principal radica en la dificultad de realizar conteos manuales o semiautomáticos de frutos, lo cual es un proceso laborioso, propenso a errores humanos y costoso en términos de tiempo y recursos. Las soluciones tradicionales, basadas en el monitoreo visual manual o tecnologías de baja precisión, no son suficientes para atender las necesidades actuales del sector. Para solucionar esta problemática, se ha diseñado un software basado en inteligencia artificial y visión artificial que permite automatizar el proceso de conteo de frutos en entornos agrícolas. Este sistema utiliza algoritmos avanzados de procesamiento de imágenes y técnicas de IA para identificar, clasificar y contar frutos con alta precisión, proporcionando resultados en tiempo real. Los resultados obtenidos muestran que esta solución es eficiente en comparación con los métodos tradicionales. El tiempo de procesamiento se reduce significativamente, y la precisión en el conteo de frutos mejora, lo que en conjunto optimiza la producción agrícola y ayuda a reducir errores y desperdicios. Este trabajo presenta una solución viable para la automatización del conteo de frutos, ofreciendo una alternativa más precisa y eficiente frente a las técnicas convencionales. La implementación de este sistema puede marcar una diferencia significativa en la productividad del sector agrícola y su competitividad en el mercado global. |
publishDate |
2024 |
dc.date.created.none.fl_str_mv |
2024-11-19 |
dc.date.accessioned.none.fl_str_mv |
2025-03-06T19:48:49Z |
dc.date.available.none.fl_str_mv |
2025-03-06T19:48:49Z |
dc.type.none.fl_str_mv |
bachelorThesis |
dc.type.coar.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.degree.none.fl_str_mv |
Monografía |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/11349/93356 |
url |
http://hdl.handle.net/11349/93356 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.relation.references.none.fl_str_mv |
[1] Eissa, Mostafa. (2024). Precision Agriculture using Artificial Intelligence and Robotics. Journal of Research in Agriculture and Food Sciences. [2] Bazargani, Khadijeh & Deemyad, Taher. (2024). Automation’s Impact on Agriculture: Opportunities, Challenges, and Economic Effects. Robotics. [3] Mejía Martínez, C. E., Ramirez Beltran, N. J., & Rojas Eslava, J. P. (2022). Software para automatización de conteo de plantas en cultivos de papa mediante visión artificial. Pontificia Universidad Javeriana https://repository.javeriana.edu.co/handle/10554/63696 [4] Martínez, C., Albornoz, E., Pizarro, J., & Carolo, y. R. (s/f). Sistema de Conteo Forestal, Agrícola y Ganadero mediante procesamiento de imágenes. Org.ar. Recuperado el 21 de octubre de 2024, de https://49jaiio.sadio.org.ar/pdfs/jui/JUI-10.pdf [5] Universidad Militar Nueva Granada, Pulido-Rojas, C. A., Molina-Villa, M. A., Universidad Militar Nueva Granada, Solaque-Guzmán, L. E., & Universidad Militar Nueva Granada. (2016). Machine vision system for weed detection using image filtering in vegetables crops. Revista Facultad de Ingeniería Universidad de Antioquia, 80, 124–130. [6] Pinho, Tatiana M.; Coelho, J.P.; Oliveira, Josenalde; Boaventura-Cunha, José (2017). Comparative analysis between LDR and HDR images for automatic fruit recognition and counting. Journal of Sensors. ISSN 1687-725X. p. 1-12 [7] Montoya Holguin, Christian, Cortés Osorio, Jimmy Alexander, & Chaves Osorio, José Andrés. (2014). Sistema automático de reconocimiento de frutas basado en visión por computador. Ingeniare. Revista chilena de ingeniería, 22(4), 504-516. https://dx.doi.org/10.4067/S0718-33052014000400006 [8] Medina Tobón, D. (2021). Conteo de flores y frutos para el monitoreo del cultivo de aguacate Hass por medio de imágenes utilizando Machine Learning. Universidad de los Andes. Disponible en: http://hdl.handle.net/1992/52997 [9] Saleem, M.H., Potgieter, J. & Arif, K.M. Automation in Agriculture by Machine and Deep Learning Techniques: A Review of Recent Developments. Precision Agric 22, 2053–2091 (2021). [10] Birrell, S., Hughes, J., Cai, J. Y., & Iida, F. (2020). A field‐tested robotic harvesting system for iceberg lettuce. Journal of Field Robotics, 37(2), 225–245. [11] ¿Qué es la visión artificial? (2024, octubre 9). Ibm.com. https://www.ibm.com/mx-es/topics/computer-vision [12] Qué es la Inteligencia Artificial. (s/f). Gob.es. Recuperado el 21 de octubre de 2024, de https://planderecuperacion.gob.es/noticias/que-es-inteligencia-artificial-ia-prtr [13] ¿Qué es una base de datos? (2020, noviembre 24). Oracle.com; Oracle. https://www.oracle.com/co/database/what-is-database/ [14] (S/f). Amazon.com. Recuperado el 21 de octubre de 2024, de https://aws.amazon.com/es/what-is/neural-network [15] de Imagina, E. (2024, octubre 21). Procesamiento de imágenes con OpenCV en Python. Imaginaformacion.com; Imagina Formación. https://imaginaformacion.com/tutoriales/opencv-en-python [16] TensorFlow. (s/f). TensorFlow. Recuperado el 21 de octubre de 2024, de https://www.tensorflow.org/?hl=es-419 [17] Williams, J., & Thompson, R. (2019). Labor challenges in modern agriculture: The role of automation in addressing workforce shortages. Journal of Agricultural Economics and Development, 16(2), 45-58. [18] Smith, A., & Robinson, K. (2020). Automation in agriculture: Tackling labor shortages and improving ef iciency. International Journal of Agricultural Innovation and Research, 9(1), 22-34. [19] C.M. Bishop. "Pattern recognition and machine learning". Springer. Vol. 1. New York, USA. 200 [20] N.B. Ahmad Mustafa, S. Khaleel Ahmed, Z. Ali, W. Bing Yit, A.A. Zainul Abidin and Z.A. Md Sharrif. "Agricultural Produce Sorting and Grading using Support Vector Machines and Fuzzy Logic". IEEE Conference Publications, pp. 391-396. 2009. [21] R. González and R. Woods. "Digital Image Processing". Prentice-Hall. 3rd edition. 2007. |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.acceso.none.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Abierto (Texto Completo) http://purl.org/coar/access_right/c_abf2 |
dc.format.mimetype.none.fl_str_mv |
pdf |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
https://repository.udistrital.edu.co/bitstreams/8eb0a3fe-45e8-4e67-96fe-bda44cfcf871/download https://repository.udistrital.edu.co/bitstreams/c94d0a5e-c0d5-4706-bf04-9053f8d5e627/download https://repository.udistrital.edu.co/bitstreams/0b6c6a2a-bff1-4148-ba7b-60c4a0b7d4e8/download https://repository.udistrital.edu.co/bitstreams/a1840813-b3a5-4c2a-9cb9-c60707f098d3/download https://repository.udistrital.edu.co/bitstreams/3a7a21cd-aefe-46f0-a82e-b487058481ac/download |
bitstream.checksum.fl_str_mv |
741e13e4ad25a20b6b3a03edf9577ffa cb21ac4de7712eae007f4055f2eb4bab 997daf6c648c962d566d7b082dac908d ed8a95cc6b388f0d77ce0bc7908bee48 e813984e5e55213c313e0d447f6492ec |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Universidad Distrital |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1828164909239631872 |
spelling |
Nixon Giraldo, FrankCastañeda Puentes, EmilyRivera Moreno, SebastianNixon Giraldo, Frank [0000-0001-8407-1831]2025-03-06T19:48:49Z2025-03-06T19:48:49Z2024-11-19http://hdl.handle.net/11349/93356En la actualidad, la automatización y la inteligencia artificial están cambiando varias industrias, incluyendo la agricultura. Dado el incremento en la necesidad de eficiencia en la producción agrícola, es fundamental crear herramientas tecnológicas que mejoren labores clave como la medición instantánea de frutos en tiempo real. Esta necesidad surge en un contexto donde la precisión y rapidez son fundamentales para maximizar la producción y reducir costos. El problema principal radica en la dificultad de realizar conteos manuales o semiautomáticos de frutos, lo cual es un proceso laborioso, propenso a errores humanos y costoso en términos de tiempo y recursos. Las soluciones tradicionales, basadas en el monitoreo visual manual o tecnologías de baja precisión, no son suficientes para atender las necesidades actuales del sector. Para solucionar esta problemática, se ha diseñado un software basado en inteligencia artificial y visión artificial que permite automatizar el proceso de conteo de frutos en entornos agrícolas. Este sistema utiliza algoritmos avanzados de procesamiento de imágenes y técnicas de IA para identificar, clasificar y contar frutos con alta precisión, proporcionando resultados en tiempo real. Los resultados obtenidos muestran que esta solución es eficiente en comparación con los métodos tradicionales. El tiempo de procesamiento se reduce significativamente, y la precisión en el conteo de frutos mejora, lo que en conjunto optimiza la producción agrícola y ayuda a reducir errores y desperdicios. Este trabajo presenta una solución viable para la automatización del conteo de frutos, ofreciendo una alternativa más precisa y eficiente frente a las técnicas convencionales. La implementación de este sistema puede marcar una diferencia significativa en la productividad del sector agrícola y su competitividad en el mercado global.Currently, automation and artificial intelligence are transforming various industries, including agriculture. As the demand for efficiency in agricultural production processes increases, the development of technological tools that optimize essential tasks, such as real-time fruit counting, becomes necessary. This need arises in a context where precision and speed are crucial to maximizing production and reducing costs. The main problem lies in the difficulty of performing manual or semi-automatic fruit counting, which is a laborious process, prone to human error, and costly in terms of time and resources. Traditional solutions, based on manual visual monitoring or low-precision technologies, are not sufficient to meet the current needs of the sector. In response to this issue, a software based on artificial intelligence and computer vision has been developed to automate the fruit counting process in agricultural environments. The system uses advanced image processing algorithms and IA techniques to identify, classify, and count fruits with high accuracy, providing real-time results. The results obtained show that this solution is much more efficient than traditional methods. Processing time is significantly reduced, and the accuracy in fruit counting improves, which optimizes agricultural production overall and helps reduce errors and waste. In conclusion, this work presents a viable solution for automating fruit counting, offering a more precise and efficient alternative compared to conventional techniques. The implementation of this system can make a significant difference in the productivity of the agricultural sector and its competitiveness in the global market.pdfspaAutomatizaciónInteligencia artificialVisión artificialAgricultura de precisiónIngeniería en Control -- Tesis y disertaciones académicasAutomationArtificial IntelligenceComputer VisionPrecision AgricultureDiseño de software para automatización del conteo de frutos mediante inteligencia y visión artificialSoftware design for automation of fruit counting. through intelligence and artificial visionbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2[1] Eissa, Mostafa. (2024). Precision Agriculture using Artificial Intelligence and Robotics. Journal of Research in Agriculture and Food Sciences.[2] Bazargani, Khadijeh & Deemyad, Taher. (2024). Automation’s Impact on Agriculture: Opportunities, Challenges, and Economic Effects. Robotics.[3] Mejía Martínez, C. E., Ramirez Beltran, N. J., & Rojas Eslava, J. P. (2022). Software para automatización de conteo de plantas en cultivos de papa mediante visión artificial. Pontificia Universidad Javeriana https://repository.javeriana.edu.co/handle/10554/63696[4] Martínez, C., Albornoz, E., Pizarro, J., & Carolo, y. R. (s/f). Sistema de Conteo Forestal, Agrícola y Ganadero mediante procesamiento de imágenes. Org.ar. Recuperado el 21 de octubre de 2024, de https://49jaiio.sadio.org.ar/pdfs/jui/JUI-10.pdf[5] Universidad Militar Nueva Granada, Pulido-Rojas, C. A., Molina-Villa, M. A., Universidad Militar Nueva Granada, Solaque-Guzmán, L. E., & Universidad Militar Nueva Granada. (2016). Machine vision system for weed detection using image filtering in vegetables crops. Revista Facultad de Ingeniería Universidad de Antioquia, 80, 124–130.[6] Pinho, Tatiana M.; Coelho, J.P.; Oliveira, Josenalde; Boaventura-Cunha, José (2017). Comparative analysis between LDR and HDR images for automatic fruit recognition and counting. Journal of Sensors. ISSN 1687-725X. p. 1-12[7] Montoya Holguin, Christian, Cortés Osorio, Jimmy Alexander, & Chaves Osorio, José Andrés. (2014). Sistema automático de reconocimiento de frutas basado en visión por computador. Ingeniare. Revista chilena de ingeniería, 22(4), 504-516. https://dx.doi.org/10.4067/S0718-33052014000400006[8] Medina Tobón, D. (2021). Conteo de flores y frutos para el monitoreo del cultivo de aguacate Hass por medio de imágenes utilizando Machine Learning. Universidad de los Andes. Disponible en: http://hdl.handle.net/1992/52997[9] Saleem, M.H., Potgieter, J. & Arif, K.M. Automation in Agriculture by Machine and Deep Learning Techniques: A Review of Recent Developments. Precision Agric 22, 2053–2091 (2021).[10] Birrell, S., Hughes, J., Cai, J. Y., & Iida, F. (2020). A field‐tested robotic harvesting system for iceberg lettuce. Journal of Field Robotics, 37(2), 225–245.[11] ¿Qué es la visión artificial? (2024, octubre 9). Ibm.com. https://www.ibm.com/mx-es/topics/computer-vision[12] Qué es la Inteligencia Artificial. (s/f). Gob.es. Recuperado el 21 de octubre de 2024, de https://planderecuperacion.gob.es/noticias/que-es-inteligencia-artificial-ia-prtr[13] ¿Qué es una base de datos? (2020, noviembre 24). Oracle.com; Oracle. https://www.oracle.com/co/database/what-is-database/[14] (S/f). Amazon.com. Recuperado el 21 de octubre de 2024, de https://aws.amazon.com/es/what-is/neural-network[15] de Imagina, E. (2024, octubre 21). Procesamiento de imágenes con OpenCV en Python. Imaginaformacion.com; Imagina Formación. https://imaginaformacion.com/tutoriales/opencv-en-python[16] TensorFlow. (s/f). TensorFlow. Recuperado el 21 de octubre de 2024, de https://www.tensorflow.org/?hl=es-419[17] Williams, J., & Thompson, R. (2019). Labor challenges in modern agriculture: The role of automation in addressing workforce shortages. Journal of Agricultural Economics and Development, 16(2), 45-58.[18] Smith, A., & Robinson, K. (2020). Automation in agriculture: Tackling labor shortages and improving ef iciency. International Journal of Agricultural Innovation and Research, 9(1), 22-34.[19] C.M. Bishop. "Pattern recognition and machine learning". Springer. Vol. 1. New York, USA. 200[20] N.B. Ahmad Mustafa, S. Khaleel Ahmed, Z. Ali, W. Bing Yit, A.A. Zainul Abidin and Z.A. Md Sharrif. "Agricultural Produce Sorting and Grading using Support Vector Machines and Fuzzy Logic". IEEE Conference Publications, pp. 391-396. 2009.[21] R. González and R. Woods. "Digital Image Processing". Prentice-Hall. 3rd edition. 2007.ORIGINALCastañedaPuentesEmily2024.pdfCastañedaPuentesEmily2024.pdfapplication/pdf3442668https://repository.udistrital.edu.co/bitstreams/8eb0a3fe-45e8-4e67-96fe-bda44cfcf871/download741e13e4ad25a20b6b3a03edf9577ffaMD51Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfapplication/pdf178234https://repository.udistrital.edu.co/bitstreams/c94d0a5e-c0d5-4706-bf04-9053f8d5e627/downloadcb21ac4de7712eae007f4055f2eb4babMD53LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/0b6c6a2a-bff1-4148-ba7b-60c4a0b7d4e8/download997daf6c648c962d566d7b082dac908dMD52THUMBNAILCastañedaPuentesEmily2024.pdf.jpgCastañedaPuentesEmily2024.pdf.jpgIM Thumbnailimage/jpeg6143https://repository.udistrital.edu.co/bitstreams/a1840813-b3a5-4c2a-9cb9-c60707f098d3/downloaded8a95cc6b388f0d77ce0bc7908bee48MD54Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg12115https://repository.udistrital.edu.co/bitstreams/3a7a21cd-aefe-46f0-a82e-b487058481ac/downloade813984e5e55213c313e0d447f6492ecMD5511349/93356oai:repository.udistrital.edu.co:11349/933562025-03-07 01:03:30.701open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |