Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes

En principio, los sistemas de navegación están hechos mediante planificación de rutas donde se utilizan trayectorias geométricas, métodos estocásticos y navegación por métodos heurísticos lo que hace que estos sistemas sean óptimos pero muy engorrosos y complicados a la hora de puesta a punto, docum...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2015
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/2265
Acceso en línea:
http://hdl.handle.net/11349/2265
Palabra clave:
Navegación
Sistema embebido
Imágenes
Algoritmo
Navigation
Embedded system
Algorithm
Images
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_7bdffeeab6b295ac4c6fba7f9b8891ea
oai_identifier_str oai:repository.udistrital.edu.co:11349/2265
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
dc.title.titleenglish.spa.fl_str_mv ALGORITHM ONBOARD NAVIGATION IN CONTROLLED ENVIRONMENTS FROM IMAGE PROCESSING
title Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
spellingShingle Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
Navegación
Sistema embebido
Imágenes
Algoritmo
Navigation
Embedded system
Algorithm
Images
title_short Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
title_full Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
title_fullStr Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
title_full_unstemmed Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
title_sort Algoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de Imágenes
dc.contributor.advisor.spa.fl_str_mv Jacinto Gomez, Edwar
dc.subject.spa.fl_str_mv Navegación
Sistema embebido
Imágenes
Algoritmo
topic Navegación
Sistema embebido
Imágenes
Algoritmo
Navigation
Embedded system
Algorithm
Images
dc.subject.keyword.spa.fl_str_mv Navigation
Embedded system
Algorithm
Images
description En principio, los sistemas de navegación están hechos mediante planificación de rutas donde se utilizan trayectorias geométricas, métodos estocásticos y navegación por métodos heurísticos lo que hace que estos sistemas sean óptimos pero muy engorrosos y complicados a la hora de puesta a punto, documentación, modificación y mejoramiento. Por lo tanto, se desea seleccionar un algoritmo utilizando procesamiento de imágenes, que resulte adecuado para realizar la labor de navegación con cámara a bordo, implementado en un sistema digital móvil. Con esto, se verificará si la implementación del algoritmo es práctica, sencilla y realizable en una plataforma móvil robótica y que esta pueda navegar de manera autónoma en un ambiente controlado.
publishDate 2015
dc.date.accessioned.none.fl_str_mv 2015-10-21T21:56:49Z
dc.date.available.none.fl_str_mv 2015-10-21T21:56:49Z
dc.date.created.spa.fl_str_mv 2015-02-16
dc.type.driver.spa.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/2265
url http://hdl.handle.net/11349/2265
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Atribución-NoComercial-SinDerivadas 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-nd/4.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/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 http://repository.udistrital.edu.co/bitstream/11349/2265/6/BarreroArceAndresFelipe2015.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/2265/1/BarreroArceAndresFelipe2015.pdf
http://repository.udistrital.edu.co/bitstream/11349/2265/2/license_url
http://repository.udistrital.edu.co/bitstream/11349/2265/3/license_text
http://repository.udistrital.edu.co/bitstream/11349/2265/4/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/2265/5/license.txt
bitstream.checksum.fl_str_mv 272162d59f568ca92b738abe399b83fc
9991423c8d288d3bbac4cbfc1131c7a1
6f1da3ff281999354d4abd56d1551468
0552e6e906cb429d914cb92bdf876872
5f21d45308ffc58e8d263280cb61c64d
e6c9e0df7dc5f123da9169c3e3e5c87a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Distrital - RIUD
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1814111018675077120
spelling Jacinto Gomez, EdwarBarrero Arce, Andres FelipeRobayo Restrepo, Mario Fernando2015-10-21T21:56:49Z2015-10-21T21:56:49Z2015-02-16http://hdl.handle.net/11349/2265En principio, los sistemas de navegación están hechos mediante planificación de rutas donde se utilizan trayectorias geométricas, métodos estocásticos y navegación por métodos heurísticos lo que hace que estos sistemas sean óptimos pero muy engorrosos y complicados a la hora de puesta a punto, documentación, modificación y mejoramiento. Por lo tanto, se desea seleccionar un algoritmo utilizando procesamiento de imágenes, que resulte adecuado para realizar la labor de navegación con cámara a bordo, implementado en un sistema digital móvil. Con esto, se verificará si la implementación del algoritmo es práctica, sencilla y realizable en una plataforma móvil robótica y que esta pueda navegar de manera autónoma en un ambiente controlado.In principle, navigation systems are made by planning routes where geometric paths, stochastic methods are used for navigation and heuristics which makes these systems are optimal but very cumbersome and complicated at the time of commissioning, documentation, modification and improvement. Therefore, it is desired to select an algorithm using image processing that is appropriate for the work navigation onboard camera, implemented in a digital mobile system. With this, it will check whether the implementation of the algorithm is practical, simple and achievable in a mobile robotic platform and that it can navigate autonomously in a controlled environment.pdfspaAtribución-NoComercial-SinDerivadas 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2NavegaciónSistema embebidoImágenesAlgoritmoNavigationEmbedded systemAlgorithmImagesAlgoritmo de Navegación a Bordo en Ambientes Controlados a Partir de Procesamiento de ImágenesALGORITHM ONBOARD NAVIGATION IN CONTROLLED ENVIRONMENTS FROM IMAGE PROCESSINGinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILBarreroArceAndresFelipe2015.pdf.jpgBarreroArceAndresFelipe2015.pdf.jpgIM Thumbnailimage/jpeg6759http://repository.udistrital.edu.co/bitstream/11349/2265/6/BarreroArceAndresFelipe2015.pdf.jpg272162d59f568ca92b738abe399b83fcMD56open accessORIGINALBarreroArceAndresFelipe2015.pdfBarreroArceAndresFelipe2015.pdfapplication/pdf2786439http://repository.udistrital.edu.co/bitstream/11349/2265/1/BarreroArceAndresFelipe2015.pdf9991423c8d288d3bbac4cbfc1131c7a1MD51open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-846http://repository.udistrital.edu.co/bitstream/11349/2265/2/license_url6f1da3ff281999354d4abd56d1551468MD52open accesslicense_textlicense_texttext/html; charset=utf-821490http://repository.udistrital.edu.co/bitstream/11349/2265/3/license_text0552e6e906cb429d914cb92bdf876872MD53open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-821889http://repository.udistrital.edu.co/bitstream/11349/2265/4/license_rdf5f21d45308ffc58e8d263280cb61c64dMD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-85946http://repository.udistrital.edu.co/bitstream/11349/2265/5/license.txte6c9e0df7dc5f123da9169c3e3e5c87aMD55open access11349/2265oai:repository.udistrital.edu.co:11349/22652023-06-13 14:40:52.211open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyAgREUgQ09OVEVOSURPUyBFTiBFTCBSRVBPU0lUT1JJTyBJTlNUSVRVQ0lPTkFMIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTA0KVMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgdXNvICBwYXJhIHB1YmxpY2FjacOzbiBkZSBvYnJhcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuDQoNCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCAgY29uZmllcm8gKGVyaW1vcykgYSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB1bmEgbGljZW5jaWEgcGFyYSB1c28gIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSAgaW50ZWdyYXLDoSAgZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBhY3VlcmRvIGEgbGFzIHNpZ3VpZW50ZXMgcmVnbGFzLCAgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoNCg0KYSkgRXN0YXLDoSB2aWdlbnRlIGEgcGFydGlyIGRlIGxhIGZlY2hhICBlbiBxdWUgc2UgaW5jbHV5YSAgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCB5IGhhc3RhICBwb3IgdW4gcGxhem8gZGUgIGRpZXogKDEwKSAgQcOxb3MsICBwcm9ycm9nYWJsZSAgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gcXVlIGR1cmUgZWwgZGVyZWNobyBQYXRyaW1vbmlhbCBkZWwgYXV0b3I7ICBsYSBjdWFsIHBvZHLDoSAgIGRhcnNlICBwb3IgdGVybWluYWRhICBwcmV2aWEgIHNvbGljaXR1ZCAgIGEgbGEgVW5pdmVyc2lkYWQgcG9yIGVzY3JpdG8gY29uIHVuYSBhbnRlbGFjacOzbiBkZSBkb3MgKDIpIG1lc2VzIGFudGVzIGRlbCB2ZW5jaW1pZW50byBkZWwgcGxhem8gIGluaWNpYWwgbyBlbCBkZSBzdShzKSBwcsOzcnJvZ2EocykuICANCg0KYikgTGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgcG9kcsOhICBwdWJsaWNhciBsYSBvYnJhIGVuIGxhcyBkaXN0aW50YXMgdmVyc2lvbmVzIHJlcXVlcmlkYXMgKGRpZ2l0YWwsIGltcHJlc28sIGVsZWN0csOzbmljbyB1IG90cm8gbWVkaW8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikgIHBvciBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsLCAgTGEgVW5pdmVyc2lkYWQgbm8gc2Vyw6EgcmVzcG9uc2FibGUgZW4gZWwgZXZlbnRvIHF1ZSBlbCAgZG9jdW1lbnRvIGFwYXJlemNhIHJlZmVyZW5jaWFkbyBlbiBtb3RvcmVzIGRlIGLDunNxdWVkYSBvIHJlcG9zaXRvcmlvcyAgZGlmZXJlbnRlcyBhbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsLCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgIHNvbGljaXRlbiBzdSBlbGltaW5hY2nDs24gZGVsIFJlcG9zaXRvcmlvIGRlIGxhIFVuaXZlcnNpZGFkLCBkYWRvIHF1ZSAgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuICBJbnRlcm5ldC4gDQoNCmMpIExhIGF1dG9yaXphY2nDs24gc2UgaGFjZSBhIHTDrXR1bG8gZ3JhdHVpdG8sIHBvciBsbyB0YW50bywgbG9zIGF1dG9yZXMgcmVudW5jaWFuIGEgcmVjaWJpciBiZW5lZmljaW8gYWxndW5vIHBvciBsYSBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24sIGNvbXVuaWNhY2nDs24gIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSAgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuDQoNCmQpIExvcyBjb250ZW5pZG9zIHB1YmxpY2Fkb3MgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBzb24gIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhICBjdWFsKGVzKSAgZWwob3MpIGF1dG9yKGVzKSBjb21vIHRpdHVsYXJlcyBkZSBsb3MgIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIGxhIFVuaXZlcnNpZGFkIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uDQoNCmUpIExhICBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuIA0KDQpmKSBMYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgY29udmVydGlyIGxhIG9icmEgIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluICBkZSBzdSBwcmVzZXJ2YWNpw7NuIGVuIGVsIHRpZW1wbyBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBsYSBkZSBzdXMgcHLDs3Jyb2dhcy4NCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXrDsyBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBvYnJhICB0aXR1bGFkYSBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQogQSBmYXZvciBkZWwgIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgeSAgZGUgc3VzIHVzdWFyaW9zLCAgIGN1eW8ocykgIGF1dG9yKGVzKSBzb246IA0KQXV0b3IJQXBlbGxpZG9zCU5vbWJyZXMNCjEJCQ0KMgkJDQozCQkNCg0KYSkgQXV0b3Jpem8gcXVlIGxhIG9icmEgc2VhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZWwgcMO6YmxpY28gZW4gbG9zIHTDqXJtaW5vcyBhdXRvcml6YWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsICBiYWpvIGxvcyBsw61taXRlcyBkZWZpbmlkb3MgcG9yIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgUklVRCwgY3V5byB0ZXh0byBjb21wbGV0byBzZSBwdWVkZSBjb25zdWx0YXIgZW4gaHR0cDovL3JlcG9zaXRvcnkudWRpc3RyaXRhbC5lZHUuY28vDQoNCmIpIENvbm96Y28geSBhY2VwdG8gcXVlIG90b3JnbyB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIG9idGVuaWRvIHVuYSBjb3BpYS4NCg0KYykgIE1hbmlmaWVzdG8gbWkgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uDQoNCmcpIFF1ZSBjb25vemNvICAgbGEgbm9ybWF0aXZpZGFkIGludGVybmEgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgcmVsYXRpdm8gYSBwcm9waWVkYWQgIGludGVsZWN0dWFsIHJlZ3VsYWRhIHBvciBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgeSBsYXMgZGVtw6FzIG5vcm1hcyBjb25jb3JkYW50ZSB5IGNvbXBsZW1lbnRhcmlhcyBxdWUgcmlnZW4gYWwgcmVzcGVjdG8uIEVzdG9zIGRvY3VtZW50b3MgcG9kcsOhbiBzZXIgY29uc3VsdGFkb3MgeSBkZXNjYXJnYWRvcyBlbiBlbCBwb3J0YWwgd2ViIGRlIGxhIGJpYmxpb3RlY2EgaHR0cDovL3Npc3RlbWFkZWJpYmxpb3RlY2FzLnVkaXN0cml0YWwuZWR1LmNvLyAgDQoNClNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBESVNUUklUQUwgRlJBTkNJU0NPIEpPU0UgREUgQ0FMREFTLCBMT1MgQVVUT1JFUyBHQVJBTlRJWkFOIFFVRSBTRSBIQSBDVU1QTElETyBDT04gTE9TIA0KREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uDQpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyAoYW1vcykgZWwgcHJlc2VudGUgZG9jdW1lbnRvIGEgbG9zIA0KDQpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18NCg0KQ29ycmVvIEVsZWN0csOzbmljbyBJbnN0aXR1Y2lvbmFsIGRlbCBBdXRvciAoZXMpOg0KQXV0b3IJQ29ycmVvIEVsZWN0csOzbmljbyANCjEJDQoyCQ0KMwkNCg0KTm90YTogRW4gY2FzbyBxdWUgbm8gZXN0w6kgZGUgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhLCBqdXN0aWZpcXVlIGxvcyBtb3Rpdm9zIHBvciBsb3MgY3VhbGVzIGVsIGRvY3VtZW50byB5IHN1cyBhbmV4b3Mgbm8gcHVlZGVuIHNlciBwdWJsaWNhZG9zIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgUklVRA0K