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...

Full description

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