Levantamiento topográfico aéreo usando camara monocular
En este documento se muestra el proceso de diseño e implementación de un sistema de levantamiento topográfico en ROS, capaz de reconstruir un terreno arbóreo usando un conjunto de imágenes tomadas de manera aérea. El proyecto se realiza mediante la utilización de un vehículo volador de bajo costo (Q...
- Autores:
-
Jaramillo Neme, Jorge Andrés
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2018
- Institución:
- Universidad Autónoma de Occidente
- Repositorio:
- RED: Repositorio Educativo Digital UAO
- Idioma:
- spa
- OAI Identifier:
- oai:red.uao.edu.co:10614/11067
- Acceso en línea:
- http://hdl.handle.net/10614/11067
- Palabra clave:
- Ingeniería Mecatrónica
Georreferenciación
Sistemas de representación de información
Algoritmos (Computadores)
Cámaras robóticas
Mapas
Structure from motion
- Rights
- openAccess
- License
- Derechos Reservados - Universidad Autónoma de Occidente
id |
REPOUAO2_a4eac2ff42a1164c3a19eebc7ee87bf9 |
---|---|
oai_identifier_str |
oai:red.uao.edu.co:10614/11067 |
network_acronym_str |
REPOUAO2 |
network_name_str |
RED: Repositorio Educativo Digital UAO |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Levantamiento topográfico aéreo usando camara monocular |
title |
Levantamiento topográfico aéreo usando camara monocular |
spellingShingle |
Levantamiento topográfico aéreo usando camara monocular Ingeniería Mecatrónica Georreferenciación Sistemas de representación de información Algoritmos (Computadores) Cámaras robóticas Mapas Structure from motion |
title_short |
Levantamiento topográfico aéreo usando camara monocular |
title_full |
Levantamiento topográfico aéreo usando camara monocular |
title_fullStr |
Levantamiento topográfico aéreo usando camara monocular |
title_full_unstemmed |
Levantamiento topográfico aéreo usando camara monocular |
title_sort |
Levantamiento topográfico aéreo usando camara monocular |
dc.creator.fl_str_mv |
Jaramillo Neme, Jorge Andrés |
dc.contributor.advisor.none.fl_str_mv |
Perafán Villota, Juan Carlos |
dc.contributor.author.spa.fl_str_mv |
Jaramillo Neme, Jorge Andrés |
dc.subject.spa.fl_str_mv |
Ingeniería Mecatrónica Georreferenciación Sistemas de representación de información Algoritmos (Computadores) Cámaras robóticas Mapas |
topic |
Ingeniería Mecatrónica Georreferenciación Sistemas de representación de información Algoritmos (Computadores) Cámaras robóticas Mapas Structure from motion |
dc.subject.eng.fl_str_mv |
Structure from motion |
description |
En este documento se muestra el proceso de diseño e implementación de un sistema de levantamiento topográfico en ROS, capaz de reconstruir un terreno arbóreo usando un conjunto de imágenes tomadas de manera aérea. El proyecto se realiza mediante la utilización de un vehículo volador de bajo costo (Quadcopter), el cual por medio de una cámara monocular realiza capturas aéreas de una determinada zona boscosa, con el fin de obtener múltiples vistas en diferentes perspectivas, y así tener la suficiente información espacial para realizar el proceso de reconstrucción. El control motor del dron (AR PARROT), se realiza mediante la renovación e implementación de un paquete de ROS para la versión KINETIC. Este paquete permite la utlilización de un mando y obtención inalámbrica de las imágenes capturadas. Para el proceso de reconstrucción, se implementa manualmente un algoritmo que contiene como base la teoría de Structure From Motion(SFM), y a su vez, mecanismos de selección que permiten obtener las combinaciones más eficientes de imágenes, para lograr resultados más robustos y precisos. Debido a la complejidad del algoritmo implementado, en el documento se enfatiza en la explicación elaborada de la lógica y algunos aspectos matemáticos-físicos, los cuales son esenciales para entender la estructura de programación propuesta. El programa se realiza principalmente en el lenguaje PYTHON para el proceso de reconstrucción, y C++ para el de clasificación. Ya que se desarrolla como paquete por medio de ROS y sus librerías de Visión Computacional asociadas: OPENCV y PCL. El proceso de clasificación inteligente se realiza directamente sobre la estructura 3D, es decir, se tiene en cuenta la forma y posición del modelo, para resaltar aspectos importantes como su altura y posicion general. Por último, se comparan y muestran los resultados obtenidos en la reconstrucción, con un software comercial y mediciones reales, para tener una perspectiva del nivel detalle que se puede alcanzar, y el nivel de precisión que se podría obtener utilizando dichas técnicas |
publishDate |
2018 |
dc.date.issued.spa.fl_str_mv |
2018-10-09 |
dc.date.accessioned.spa.fl_str_mv |
2019-09-09T15:35:06Z |
dc.date.available.spa.fl_str_mv |
2019-09-09T15:35:06Z |
dc.type.spa.fl_str_mv |
Trabajo de grado - Pregrado |
dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
dc.type.coar.spa.fl_str_mv |
http://purl.org/coar/resource_type/c_7a1f |
dc.type.content.spa.fl_str_mv |
Text |
dc.type.driver.spa.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.redcol.spa.fl_str_mv |
https://purl.org/redcol/resource_type/TP |
dc.type.version.spa.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
format |
http://purl.org/coar/resource_type/c_7a1f |
status_str |
publishedVersion |
dc.identifier.uri.spa.fl_str_mv |
http://hdl.handle.net/10614/11067 |
url |
http://hdl.handle.net/10614/11067 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.spa.fl_str_mv |
Derechos Reservados - Universidad Autónoma de Occidente |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.rights.uri.spa.fl_str_mv |
https://creativecommons.org/licenses/by-nc-nd/4.0/ |
dc.rights.accessrights.spa.fl_str_mv |
info:eu-repo/semantics/openAccess |
dc.rights.creativecommons.spa.fl_str_mv |
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) |
rights_invalid_str_mv |
Derechos Reservados - Universidad Autónoma de Occidente https://creativecommons.org/licenses/by-nc-nd/4.0/ Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0) http://purl.org/coar/access_right/c_abf2 |
eu_rights_str_mv |
openAccess |
dc.format.spa.fl_str_mv |
application/pdf |
dc.format.extent.spa.fl_str_mv |
123 páginas |
dc.coverage.spatial.spa.fl_str_mv |
Universidad Autónoma de Occidente. Calle 25 115-85. Km 2 vía Cali-Jamundí |
dc.publisher.spa.fl_str_mv |
Universidad Autónoma de Occidente |
dc.publisher.program.spa.fl_str_mv |
Ingeniería Mecatrónica |
dc.publisher.department.spa.fl_str_mv |
Departamento de Automática y Electrónica |
dc.publisher.faculty.spa.fl_str_mv |
Facultad de Ingeniería |
dc.source.spa.fl_str_mv |
instname:Universidad Autónoma de Occidente reponame:Repositorio Institucional UAO |
instname_str |
Universidad Autónoma de Occidente |
institution |
Universidad Autónoma de Occidente |
reponame_str |
Repositorio Institucional UAO |
collection |
Repositorio Institucional UAO |
dc.source.bibliographiccitation.spa.fl_str_mv |
Ardrone Autonomy doc. Ardrone-Autonomy.[en linea].ardroneautonomy. readthedocs [Consultado: 26 de julio de 2018]. Disponible en: URL.http:// ardrone-autonomy.readthedocs. io/en/latest/ ARTAL, Mur. Should we still do sparse-feature based SLAM? Aragón, España: ICCV Workshop, 2015. BAGGIO, Daniel; EMAMI, Shervin; ESCRIVÁ, David; LEVGEN, K; MAHMOOD, Naureen; SARAIGIH, Jason y SHILKROT, Roy. Mastering OpenCV with practical computer vision projects. PACKT Publishing, 2012. BAY, Herbert; TUYTELAARS, Tinne y VAN GOOL, Luc. SURF: Speeded Up Robust Features. Katholieke Universiteit Leuven, 2006. BEAMONTE, Paloma. Descubren ’megalópolis’ maya bajo la selva usando tecnolo-gía LiDAR. [en linea] hipertextual.[consultado febrero 2 de 2018]Disponible en: URL, [https://hipertextual.com/2018/02/megalopolis-mayatecnologia- lidar]. CERÓN CORREA, Alexander. UAV vision system: Application in electric line following and 3D reconstruction of associated terrain. Bogotá: Universidad Nacional de Colombia, 2017. DRONE DEPLOY. [en linea] dronedeploy. .[Consultado: 10 de Marzo de 2017]. Disponible en: URL.https : / / www. dronedeploy. com/ ESCALANTE TORRADO, Jesús; CÁCERES JIMENEZ, Jhon y PORRAS DÍAS, Hernán. Ortomosaicos y modelos digitales de elevación generados a partir de imágenes tomadas con sistemas UAV.[en linea] En: Revista Tecnura, vol. 20, no. 50, p. # 119-140. [Consultado 19 de Marzo de 2017]. Disponible en : 10.14483/ udistrital.jour.tecnura.2016.4.a09, 2016. GAO, X; HOU, R; TANG, J y CHANG, H. Complete Solution Classification for the Perspective-Three-Point Problem. IEEE Transactions on Patter Analysis y Machine Intelligence, 2003.HARRIS, Chris y STEPHENS, Mike. A combined corner and edge detector. United Kingdom: Plessey Research Roke Manor, 1988. HARTLEY, Richard y ZISSERMAN, Andrew. Multiple view geometry in computer vision. Cambridge University Press, 2004. LEPETIT, V; MORENO-NOGUER, F y FUA, P. EPnP: Efficient perspective-n-point camera pose estimation. Brazil: IEEE International conference on computer vision, 2007. LOWE, David G. Distinctive image features from Scale-Invariant keypoints. Vancouver, Canada: University of British Columbia, 2004. Monocular Visión. Swarovski optik.[en linea].uk.swarovskioptik.[Consultado: 8 de mayo de 2017]. Disponible en: URL.http://uk.swarovskioptik.com/hunting NISTÉR, D. An efficient solution to the five-point relative pose problem. CVPR, 2003. PAPERT SEYMOUR, A. The summer vision project. Memo AI group, 1966. PCL. ¿Qué es? [en linea] pointclouds..[Consultado: 26 de julio de 2018]. Disponible en: URL.http://pointclouds.org/] RUBLEE, Ethan; RABAUD, Vincent; KONOLIGE, Kurt y BRADSKI, Gary. ORB: an efficient alternative to SIFT or SURF. Willow Garage, Menlo Park, California, 2011. SenseFly. Oblique mapping of a village dataset.[en linea] sensefly[Consultado: 20 septiembre de 2018]. Disponible en : URL. [https://www.sensefly.com/education/ datasets/]. |
bitstream.url.fl_str_mv |
https://red.uao.edu.co/bitstreams/076a3036-d0b8-4fd0-b12d-9efa84bd71c3/download https://red.uao.edu.co/bitstreams/5111dd69-4435-4196-89a8-8b31fa128008/download https://red.uao.edu.co/bitstreams/6406c93c-21ea-48b4-ad92-90d0aacde0e3/download https://red.uao.edu.co/bitstreams/75a1eb68-291e-42b9-9385-c1896eb547ec/download https://red.uao.edu.co/bitstreams/5a72d508-a9fa-4e2f-9b6f-03e65bca5838/download https://red.uao.edu.co/bitstreams/523f67c5-a316-4f42-8e0e-05052d401f1b/download https://red.uao.edu.co/bitstreams/0f1af737-f629-4e66-98ba-87f4b687adc4/download https://red.uao.edu.co/bitstreams/993fb83d-2853-4e55-b667-91d94dbaf835/download |
bitstream.checksum.fl_str_mv |
604c238b7151349f1b800c1891006f9d e1c06d85ae7b8b032bef47e42e4c08f9 478d7725b2e8945546355738f04efc0a 18576065bd9186b55e3cf5f8f7419e58 4460e5956bc1d1639be9ae6146a50347 20b5ba22b1117f71589c7318baa2c560 62ef290c87ec0abec873022ed18f1746 dbc3f7081c22cd4ea9affe0c9c0c2f7f |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Digital Universidad Autonoma de Occidente |
repository.mail.fl_str_mv |
repositorio@uao.edu.co |
_version_ |
1814259765556019200 |
spelling |
Perafán Villota, Juan Carlosvirtual::4125-1Jaramillo Neme, Jorge Andrés2d33d6426ca33d9da56c778298f49543-1Ingeniero MecatrónicoUniversidad Autónoma de Occidente. Calle 25 115-85. Km 2 vía Cali-Jamundí2019-09-09T15:35:06Z2019-09-09T15:35:06Z2018-10-09http://hdl.handle.net/10614/11067En este documento se muestra el proceso de diseño e implementación de un sistema de levantamiento topográfico en ROS, capaz de reconstruir un terreno arbóreo usando un conjunto de imágenes tomadas de manera aérea. El proyecto se realiza mediante la utilización de un vehículo volador de bajo costo (Quadcopter), el cual por medio de una cámara monocular realiza capturas aéreas de una determinada zona boscosa, con el fin de obtener múltiples vistas en diferentes perspectivas, y así tener la suficiente información espacial para realizar el proceso de reconstrucción. El control motor del dron (AR PARROT), se realiza mediante la renovación e implementación de un paquete de ROS para la versión KINETIC. Este paquete permite la utlilización de un mando y obtención inalámbrica de las imágenes capturadas. Para el proceso de reconstrucción, se implementa manualmente un algoritmo que contiene como base la teoría de Structure From Motion(SFM), y a su vez, mecanismos de selección que permiten obtener las combinaciones más eficientes de imágenes, para lograr resultados más robustos y precisos. Debido a la complejidad del algoritmo implementado, en el documento se enfatiza en la explicación elaborada de la lógica y algunos aspectos matemáticos-físicos, los cuales son esenciales para entender la estructura de programación propuesta. El programa se realiza principalmente en el lenguaje PYTHON para el proceso de reconstrucción, y C++ para el de clasificación. Ya que se desarrolla como paquete por medio de ROS y sus librerías de Visión Computacional asociadas: OPENCV y PCL. El proceso de clasificación inteligente se realiza directamente sobre la estructura 3D, es decir, se tiene en cuenta la forma y posición del modelo, para resaltar aspectos importantes como su altura y posicion general. Por último, se comparan y muestran los resultados obtenidos en la reconstrucción, con un software comercial y mediciones reales, para tener una perspectiva del nivel detalle que se puede alcanzar, y el nivel de precisión que se podría obtener utilizando dichas técnicasProyecto de grado (Ingeniero Mecatrónico)-- Universidad Autónoma de Occidente, 2019PregradoIngeniero(a) Mecatrónico(a)application/pdf123 páginasspaUniversidad Autónoma de OccidenteIngeniería MecatrónicaDepartamento de Automática y ElectrónicaFacultad de IngenieríaDerechos Reservados - Universidad Autónoma de Occidentehttps://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)http://purl.org/coar/access_right/c_abf2instname:Universidad Autónoma de Occidentereponame:Repositorio Institucional UAOArdrone Autonomy doc. Ardrone-Autonomy.[en linea].ardroneautonomy. readthedocs [Consultado: 26 de julio de 2018]. Disponible en: URL.http:// ardrone-autonomy.readthedocs. io/en/latest/ ARTAL, Mur. Should we still do sparse-feature based SLAM? Aragón, España: ICCV Workshop, 2015. BAGGIO, Daniel; EMAMI, Shervin; ESCRIVÁ, David; LEVGEN, K; MAHMOOD, Naureen; SARAIGIH, Jason y SHILKROT, Roy. Mastering OpenCV with practical computer vision projects. PACKT Publishing, 2012. BAY, Herbert; TUYTELAARS, Tinne y VAN GOOL, Luc. SURF: Speeded Up Robust Features. Katholieke Universiteit Leuven, 2006. BEAMONTE, Paloma. Descubren ’megalópolis’ maya bajo la selva usando tecnolo-gía LiDAR. [en linea] hipertextual.[consultado febrero 2 de 2018]Disponible en: URL, [https://hipertextual.com/2018/02/megalopolis-mayatecnologia- lidar]. CERÓN CORREA, Alexander. UAV vision system: Application in electric line following and 3D reconstruction of associated terrain. Bogotá: Universidad Nacional de Colombia, 2017. DRONE DEPLOY. [en linea] dronedeploy. .[Consultado: 10 de Marzo de 2017]. Disponible en: URL.https : / / www. dronedeploy. com/ ESCALANTE TORRADO, Jesús; CÁCERES JIMENEZ, Jhon y PORRAS DÍAS, Hernán. Ortomosaicos y modelos digitales de elevación generados a partir de imágenes tomadas con sistemas UAV.[en linea] En: Revista Tecnura, vol. 20, no. 50, p. # 119-140. [Consultado 19 de Marzo de 2017]. Disponible en : 10.14483/ udistrital.jour.tecnura.2016.4.a09, 2016. GAO, X; HOU, R; TANG, J y CHANG, H. Complete Solution Classification for the Perspective-Three-Point Problem. IEEE Transactions on Patter Analysis y Machine Intelligence, 2003.HARRIS, Chris y STEPHENS, Mike. A combined corner and edge detector. United Kingdom: Plessey Research Roke Manor, 1988. HARTLEY, Richard y ZISSERMAN, Andrew. Multiple view geometry in computer vision. Cambridge University Press, 2004. LEPETIT, V; MORENO-NOGUER, F y FUA, P. EPnP: Efficient perspective-n-point camera pose estimation. Brazil: IEEE International conference on computer vision, 2007. LOWE, David G. Distinctive image features from Scale-Invariant keypoints. Vancouver, Canada: University of British Columbia, 2004. Monocular Visión. Swarovski optik.[en linea].uk.swarovskioptik.[Consultado: 8 de mayo de 2017]. Disponible en: URL.http://uk.swarovskioptik.com/hunting NISTÉR, D. An efficient solution to the five-point relative pose problem. CVPR, 2003. PAPERT SEYMOUR, A. The summer vision project. Memo AI group, 1966. PCL. ¿Qué es? [en linea] pointclouds..[Consultado: 26 de julio de 2018]. Disponible en: URL.http://pointclouds.org/] RUBLEE, Ethan; RABAUD, Vincent; KONOLIGE, Kurt y BRADSKI, Gary. ORB: an efficient alternative to SIFT or SURF. Willow Garage, Menlo Park, California, 2011. SenseFly. Oblique mapping of a village dataset.[en linea] sensefly[Consultado: 20 septiembre de 2018]. Disponible en : URL. [https://www.sensefly.com/education/ datasets/].Ingeniería MecatrónicaGeorreferenciaciónSistemas de representación de informaciónAlgoritmos (Computadores)Cámaras robóticasMapasStructure from motionLevantamiento topográfico aéreo usando camara monocularTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_7a1fTextinfo:eu-repo/semantics/bachelorThesishttps://purl.org/redcol/resource_type/TPinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Publicationhttps://scholar.google.com/citations?user=MW2zbLAAAAAJ&hl=envirtual::4125-10000-0002-7275-9839virtual::4125-1https://scienti.minciencias.gov.co/cvlac/visualizador/generarCurriculoCv.do?cod_rh=0000637769virtual::4125-1286553f4-3942-4404-9123-b85ee6e69330virtual::4125-1286553f4-3942-4404-9123-b85ee6e69330virtual::4125-1TEXTT08382.pdf.txtT08382.pdf.txtExtracted texttext/plain163438https://red.uao.edu.co/bitstreams/076a3036-d0b8-4fd0-b12d-9efa84bd71c3/download604c238b7151349f1b800c1891006f9dMD57TA8382.pdf.txtTA8382.pdf.txtExtracted texttext/plain2https://red.uao.edu.co/bitstreams/5111dd69-4435-4196-89a8-8b31fa128008/downloade1c06d85ae7b8b032bef47e42e4c08f9MD59THUMBNAILT08382.pdf.jpgT08382.pdf.jpgGenerated Thumbnailimage/jpeg7205https://red.uao.edu.co/bitstreams/6406c93c-21ea-48b4-ad92-90d0aacde0e3/download478d7725b2e8945546355738f04efc0aMD58TA8382.pdf.jpgTA8382.pdf.jpgGenerated Thumbnailimage/jpeg15287https://red.uao.edu.co/bitstreams/75a1eb68-291e-42b9-9385-c1896eb547ec/download18576065bd9186b55e3cf5f8f7419e58MD510CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://red.uao.edu.co/bitstreams/5a72d508-a9fa-4e2f-9b6f-03e65bca5838/download4460e5956bc1d1639be9ae6146a50347MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-81665https://red.uao.edu.co/bitstreams/523f67c5-a316-4f42-8e0e-05052d401f1b/download20b5ba22b1117f71589c7318baa2c560MD54ORIGINALT08382.pdfT08382.pdfapplication/pdf5803647https://red.uao.edu.co/bitstreams/0f1af737-f629-4e66-98ba-87f4b687adc4/download62ef290c87ec0abec873022ed18f1746MD55TA8382.pdfTA8382.pdfapplication/pdf133844https://red.uao.edu.co/bitstreams/993fb83d-2853-4e55-b667-91d94dbaf835/downloaddbc3f7081c22cd4ea9affe0c9c0c2f7fMD5610614/11067oai:red.uao.edu.co:10614/110672024-03-13 11:46:16.946https://creativecommons.org/licenses/by-nc-nd/4.0/Derechos Reservados - Universidad Autónoma de Occidenteopen.accesshttps://red.uao.edu.coRepositorio Digital Universidad Autonoma de Occidenterepositorio@uao.edu.coRUwgQVVUT1IgYXV0b3JpemEgYSBsYSBVbml2ZXJzaWRhZCBBdXTDs25vbWEgZGUgT2NjaWRlbnRlLCBkZSBmb3JtYSBpbmRlZmluaWRhLCBwYXJhIHF1ZSBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsYSBMZXkgMjMgZGUgMTk4MiwgbGEgTGV5IDQ0IGRlIDE5OTMsIGxhIERlY2lzacOzbiBhbmRpbmEgMzUxIGRlIDE5OTMsIGVsIERlY3JldG8gNDYwIGRlIDE5OTUgeSBkZW3DoXMgbGV5ZXMgeSBqdXJpc3BydWRlbmNpYSB2aWdlbnRlIGFsIHJlc3BlY3RvLCBoYWdhIHB1YmxpY2FjacOzbiBkZSBlc3RlIGNvbiBmaW5lcyBlZHVjYXRpdm9zLiBQQVJBR1JBRk86IEVzdGEgYXV0b3JpemFjacOzbiBhZGVtw6FzIGRlIHNlciB2w6FsaWRhIHBhcmEgbGFzIGZhY3VsdGFkZXMgeSBkZXJlY2hvcyBkZSB1c28gc29icmUgbGEgb2JyYSBlbiBmb3JtYXRvIG8gc29wb3J0ZSBtYXRlcmlhbCwgdGFtYmnDqW4gcGFyYSBmb3JtYXRvIGRpZ2l0YWwsIGVsZWN0csOzbmljbywgdmlydHVhbCwgcGFyYSB1c29zIGVuIHJlZCwgSW50ZXJuZXQsIGV4dHJhbmV0LCBpbnRyYW5ldCwgYmlibGlvdGVjYSBkaWdpdGFsIHkgZGVtw6FzIHBhcmEgY3VhbHF1aWVyIGZvcm1hdG8gY29ub2NpZG8gbyBwb3IgY29ub2Nlci4gRUwgQVVUT1IsIGV4cHJlc2EgcXVlIGVsIGRvY3VtZW50byAodHJhYmFqbyBkZSBncmFkbywgcGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCB5IGxhIGVsYWJvcsOzIHNpbiBxdWVicmFudGFyIG5pIHN1cGxhbnRhciBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgdGVyY2Vyb3MsIHkgZGUgdGFsIGZvcm1hLCBlbCBkb2N1bWVudG8gKHRyYWJham8gZGUgZ3JhZG8sIHBhc2FudMOtYSwgY2Fzb3MgbyB0ZXNpcykgZXMgZGUgc3UgZXhjbHVzaXZhIGF1dG9yw61hIHkgdGllbmUgbGEgdGl0dWxhcmlkYWQgc29icmUgw6lzdGUuIFBBUkFHUkFGTzogZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBhbGd1bmEgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybywgcmVmZXJlbnRlIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIHNvYnJlIGVsIGRvY3VtZW50byAoVHJhYmFqbyBkZSBncmFkbywgUGFzYW50w61hLCBjYXNvcyBvIHRlc2lzKSBlbiBjdWVzdGnDs24sIEVMIEFVVE9SLCBhc3VtaXLDoSBsYSByZXNwb25zYWJpbGlkYWQgdG90YWwsIHkgc2FsZHLDoSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvczsgcGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgbGEgVW5pdmVyc2lkYWQgIEF1dMOzbm9tYSBkZSBPY2NpZGVudGUgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4gVG9kYSBwZXJzb25hIHF1ZSBjb25zdWx0ZSB5YSBzZWEgZW4gbGEgYmlibGlvdGVjYSBvIGVuIG1lZGlvIGVsZWN0csOzbmljbyBwb2Ryw6EgY29waWFyIGFwYXJ0ZXMgZGVsIHRleHRvIGNpdGFuZG8gc2llbXByZSBsYSBmdWVudGUsIGVzIGRlY2lyIGVsIHTDrXR1bG8gZGVsIHRyYWJham8geSBlbCBhdXRvci4gRXN0YSBhdXRvcml6YWNpw7NuIG5vIGltcGxpY2EgcmVudW5jaWEgYSBsYSBmYWN1bHRhZCBxdWUgdGllbmUgRUwgQVVUT1IgZGUgcHVibGljYXIgdG90YWwgbyBwYXJjaWFsbWVudGUgbGEgb2JyYS4K |