Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral

Al descubrir la interrelación entre el color, la frecuencia y la longitud de onda por William Herschel, se revelaron los principios usados para caracterizar la incidencia de la luz sobre los objetos [5], principios que hacen parte fundamental de la teledetección. La teledetección se ha convertido en...

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/7860
Acceso en línea:
http://hdl.handle.net/11349/7860
Palabra clave:
Mapeo
Código abierto
Imágenes hiperespectrales
Ángulo espectral
Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Procesamiento digital de imágenes
Fotogrametría aérea
Detección a distancia
Mapping
Open source
Hyperespectral images
Spectral angle
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_75a63cf9c938fff9b40d1c291f8598d9
oai_identifier_str oai:repository.udistrital.edu.co:11349/7860
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
dc.title.titleenglish.spa.fl_str_mv Develop of a free code library to classify images hyper spectral spectral angle mapping
title Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
spellingShingle Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
Mapeo
Código abierto
Imágenes hiperespectrales
Ángulo espectral
Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Procesamiento digital de imágenes
Fotogrametría aérea
Detección a distancia
Mapping
Open source
Hyperespectral images
Spectral angle
title_short Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
title_full Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
title_fullStr Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
title_full_unstemmed Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
title_sort Desarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectral
dc.contributor.advisor.spa.fl_str_mv Ramírez Ramos, Carlos Germán
dc.subject.spa.fl_str_mv Mapeo
Código abierto
Imágenes hiperespectrales
Ángulo espectral
topic Mapeo
Código abierto
Imágenes hiperespectrales
Ángulo espectral
Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Procesamiento digital de imágenes
Fotogrametría aérea
Detección a distancia
Mapping
Open source
Hyperespectral images
Spectral angle
dc.subject.lemb.spa.fl_str_mv Ingeniería Catastral y Geodesia - Tesis y disertaciones académicas
Procesamiento digital de imágenes
Fotogrametría aérea
Detección a distancia
dc.subject.keyword.spa.fl_str_mv Mapping
Open source
Hyperespectral images
Spectral angle
description Al descubrir la interrelación entre el color, la frecuencia y la longitud de onda por William Herschel, se revelaron los principios usados para caracterizar la incidencia de la luz sobre los objetos [5], principios que hacen parte fundamental de la teledetección. La teledetección se ha convertido en una herramienta esencial para el estudio, seguimiento y comprensión de fenómenos no solo de la superficie terrestre sino también de los cuerpos celestes. Los sensores remotos han experimentado grandes avances, desde las primeras cámaras pancromáticas usadas para fotogrametría aérea, pasando por los scanner multiespectrales (transportados por satélites), hasta el sensor CASI (con una resolución espectral de 288 bandas [6]). Ese avance se refleja en su producto “la imagen”, la cual incrementó la cantidad de datos almacenados, pasando de multiespectral a hiperespectral; permitiendo de ese modo, mejorar la exactitud en la capacidad de análisis y síntesis, sin embargo, esto demanda mejores capacidades tanto software como hardware para realizar los procesos [37]. Dentro de las diferentes aplicaciones Software especializadas en procesar datos de sensores remotos o raster se conocen Erdas, Envi, Ilwis, Grass, entre otros; los dos primeros son comerciales y el último es Software libre. Los procesos más relevantes que permiten estos software son: la manipulación de información raster y vector, georreferenciación y segmentación de imágenes, análisis espectrales y la clasificación de imágenes [11] [35]. Los datos raster o imágenes se encuentran en diferentes formatos y tipos; los tipos más utilizados en la actualidad son los multiespectrales, pero desde la década pasada el análisis de imágenes hiperespectrales ha tenido gran actividad. La imagen hiperespectral es el producto del desarrollo tecnológico de los sensores espectrales [37]. La clasificación de las imágenes es una tarea que se realiza con el propósito de convertir datos cuantitativos en cualitativos [29], para lograrlo existen diferentes métodos que se han implementado en esta compleja tarea, los más relevante son: máxima probabilidad, Isodata, Fuzzy y, dentro de los algoritmos de inteligencia artificial están la retro-propagación y los árboles de decisiones [25] [8]. El tipo de imagen determina la forma de clasificación, para imágenes hiperespectrales los métodos que predominan son: Mapeo del Angulo Espectral, Análisis de Mezcla Espectral, Análisis de todo el Pixel, Montaje característica espectral, Análisis del Sub-Pixel, entre otros. El software Grass posee pocas herramientas para el procesamiento de imágenes hiperespectrales, especialmente que permita la clasificación por Mapeo del Ángulo Espectral (por sus siglas en ingles SAM, Spectral Anguler Mapper). Generando la necesidad de desarrollar una librería que permita esa clasificación en el software, migrando la ecuación SAM a un lenguaje de programación soportado por Grass para que se ejecute sobre su kernel; lo que permitirá que los usuarios accedan a una herramienta en software libre para realizar la clasificación SAM.
publishDate 2015
dc.date.created.spa.fl_str_mv 2015
dc.date.accessioned.none.fl_str_mv 2018-04-05T16:57:23Z
dc.date.available.none.fl_str_mv 2018-04-05T16:57:23Z
dc.type.degree.spa.fl_str_mv Creación o Interpretación
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/7860
url http://hdl.handle.net/11349/7860
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/7860/3/Desarrollo%20de%20una%20Librer%c3%ada%20en%20C%c3%b3digo%20Libre%20Para%20Clasificar%20Im%c3%a1genes%20Hiperespectrales%20por%20Mapeo%20de.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/7860/2/license.txt
http://repository.udistrital.edu.co/bitstream/11349/7860/1/Desarrollo%20de%20una%20Librer%c3%ada%20en%20C%c3%b3digo%20Libre%20Para%20Clasificar%20Im%c3%a1genes%20Hiperespectrales%20por%20Mapeo%20de.pdf
bitstream.checksum.fl_str_mv 53695279647f8560f12135ff189d5dd3
da5c6a3ca62d5dd4853000a60fee7083
4b95aba75ac5a3d1528902e0df87cbd3
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Distrital - RIUD
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1803712438693003264
spelling Ramírez Ramos, Carlos GermánParra Barreto, Álvaro Andrés2018-04-05T16:57:23Z2018-04-05T16:57:23Z2015http://hdl.handle.net/11349/7860Al descubrir la interrelación entre el color, la frecuencia y la longitud de onda por William Herschel, se revelaron los principios usados para caracterizar la incidencia de la luz sobre los objetos [5], principios que hacen parte fundamental de la teledetección. La teledetección se ha convertido en una herramienta esencial para el estudio, seguimiento y comprensión de fenómenos no solo de la superficie terrestre sino también de los cuerpos celestes. Los sensores remotos han experimentado grandes avances, desde las primeras cámaras pancromáticas usadas para fotogrametría aérea, pasando por los scanner multiespectrales (transportados por satélites), hasta el sensor CASI (con una resolución espectral de 288 bandas [6]). Ese avance se refleja en su producto “la imagen”, la cual incrementó la cantidad de datos almacenados, pasando de multiespectral a hiperespectral; permitiendo de ese modo, mejorar la exactitud en la capacidad de análisis y síntesis, sin embargo, esto demanda mejores capacidades tanto software como hardware para realizar los procesos [37]. Dentro de las diferentes aplicaciones Software especializadas en procesar datos de sensores remotos o raster se conocen Erdas, Envi, Ilwis, Grass, entre otros; los dos primeros son comerciales y el último es Software libre. Los procesos más relevantes que permiten estos software son: la manipulación de información raster y vector, georreferenciación y segmentación de imágenes, análisis espectrales y la clasificación de imágenes [11] [35]. Los datos raster o imágenes se encuentran en diferentes formatos y tipos; los tipos más utilizados en la actualidad son los multiespectrales, pero desde la década pasada el análisis de imágenes hiperespectrales ha tenido gran actividad. La imagen hiperespectral es el producto del desarrollo tecnológico de los sensores espectrales [37]. La clasificación de las imágenes es una tarea que se realiza con el propósito de convertir datos cuantitativos en cualitativos [29], para lograrlo existen diferentes métodos que se han implementado en esta compleja tarea, los más relevante son: máxima probabilidad, Isodata, Fuzzy y, dentro de los algoritmos de inteligencia artificial están la retro-propagación y los árboles de decisiones [25] [8]. El tipo de imagen determina la forma de clasificación, para imágenes hiperespectrales los métodos que predominan son: Mapeo del Angulo Espectral, Análisis de Mezcla Espectral, Análisis de todo el Pixel, Montaje característica espectral, Análisis del Sub-Pixel, entre otros. El software Grass posee pocas herramientas para el procesamiento de imágenes hiperespectrales, especialmente que permita la clasificación por Mapeo del Ángulo Espectral (por sus siglas en ingles SAM, Spectral Anguler Mapper). Generando la necesidad de desarrollar una librería que permita esa clasificación en el software, migrando la ecuación SAM a un lenguaje de programación soportado por Grass para que se ejecute sobre su kernel; lo que permitirá que los usuarios accedan a una herramienta en software libre para realizar la clasificación SAM.Discovering the interrelation between color, frequency and wavelength by William Herschel, the principles used to characterize incidence of light on objects [5], fundamental principles of remote sensing. Remote sensing has become an essential tool for the study, monitoring and understanding of phenomena not only of the earth's surface but also of the celestial bodies. Remote sensors have made great strides, from the very first panchromatic cameras used for aerial photogrammetry, multispectral scanner (transported by satellites), to the CASI sensor (with a spectral resolution of 288 bands [6]). This progress is reflected in your product "Image", which increased the amount of data stored, from multispectral to hyperspectral; thereby allowing for improved accuracy in the capacity for analysis and synthesis, however, this demands better capabilities both software and hardware to perform the processes [37]. Within the different applications Software specialized in processing data of remote or raster sensors are known Erdas, Envi, Ilwis, Grass, among others; the first two are commercial and the last one is free software. The most that allow these software are: the manipulation of raster information and vector, georeferencing and segmentation of images, spectral analyzes and image classification [11] [35]. Raster data or images are in different formats and types; the types currently used are multispectral, but since the In the past decade, the analysis of hyperspectral images has been very active. The hyperspectral image is the product of the technological development of spectral sensors [37]. The classification of the images is a task that is done with the purpose of quantitative data to qualitative [29], to achieve this there are different methods that have been implemented in this complex task, the most relevant are: maximum likelihood, Isodata, Fuzzy and, within the algorithms of intelligence artificial are retro-propagation and tree-making [25] [8]. The type of image determines the form of classification, for images the most prevalent methods are: Spectral Angle Mapping, Analysis of Spectral Mixture, Analysis of the whole Pixel, Montage characteristic Spectral Analysis, Sub-Pixel Analysis, among others. Grass software has few tools for image processing hyperspectral, especially that allows the classification by Mapping of the Spectral Angle (SAM, Spectral Anguler Mapper). Generating the need to develop a library that allows this classification in the software, migrating the SAM equation to a programming language supported by Grass to run on your kernel; which will allow users to access a free software tool to perform the classification SAM.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_abf2MapeoCódigo abiertoImágenes hiperespectralesÁngulo espectralIngeniería Catastral y Geodesia - Tesis y disertaciones académicasProcesamiento digital de imágenesFotogrametría aéreaDetección a distanciaMappingOpen sourceHyperespectral imagesSpectral angleDesarrollo de microorganismos Desarrollo de una librería en código libre para clasificar imágenes hiperespectrales por mapeo del ángulo espectralDevelop of a free code library to classify images hyper spectral spectral angle mappingCreación o Interpretacióninfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILDesarrollo de una Librería en Código Libre Para Clasificar Imágenes Hiperespectrales por Mapeo de.pdf.jpgDesarrollo de una Librería en Código Libre Para Clasificar Imágenes Hiperespectrales por Mapeo de.pdf.jpgIM Thumbnailimage/jpeg5832http://repository.udistrital.edu.co/bitstream/11349/7860/3/Desarrollo%20de%20una%20Librer%c3%ada%20en%20C%c3%b3digo%20Libre%20Para%20Clasificar%20Im%c3%a1genes%20Hiperespectrales%20por%20Mapeo%20de.pdf.jpg53695279647f8560f12135ff189d5dd3MD53open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87163http://repository.udistrital.edu.co/bitstream/11349/7860/2/license.txtda5c6a3ca62d5dd4853000a60fee7083MD52open accessORIGINALDesarrollo de una Librería en Código Libre Para Clasificar Imágenes Hiperespectrales por Mapeo de.pdfDesarrollo de una Librería en Código Libre Para Clasificar Imágenes Hiperespectrales por Mapeo de.pdfTesis de Gradoapplication/pdf1309358http://repository.udistrital.edu.co/bitstream/11349/7860/1/Desarrollo%20de%20una%20Librer%c3%ada%20en%20C%c3%b3digo%20Libre%20Para%20Clasificar%20Im%c3%a1genes%20Hiperespectrales%20por%20Mapeo%20de.pdf4b95aba75ac5a3d1528902e0df87cbd3MD51open access11349/7860oai:repository.udistrital.edu.co:11349/78602023-06-13 11:55:22.968open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMClTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIHVzbyBwYXJhIHB1YmxpY2FjacOzbiBkZSBvYnJhcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChSSVVEKQoKQ29tbyB0aXR1bGFyKGVzKSBkZWwob3MpIGRlcmVjaG8ocykgZGUgYXV0b3IsIGNvbmZpZXJvIChlcmltb3MpIGEgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgKGVuIGFkZWxhbnRlLCBMQSBVTklWRVJTSURBRCkgdW5hIGxpY2VuY2lhIHBhcmEgdXNvIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBpbnRlZ3JhcsOhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgKGVuIGFkZWxhbnRlLCBSSVVEKSwgZGUgYWN1ZXJkbyBhIGxhcyBzaWd1aWVudGVzIHJlZ2xhcywgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoKCmEpCUVzdGFyw6EgdmlnZW50ZSBhIHBhcnRpciBkZSBsYSBmZWNoYSBlbiBxdWUgc2UgaW5jbHV5YSBlbiBlbCBSSVVEIHkgaGFzdGEgcG9yIHVuIHBsYXpvIGRlIGRpZXogKDEwKSBBw7FvcywgcHJvcnJvZ2FibGUgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gcXVlIGR1cmUgZWwgZGVyZWNobyBQYXRyaW1vbmlhbCBkZWwgYXV0b3I7IGxhIGN1YWwgcG9kcsOhIGRhcnNlIHBvciB0ZXJtaW5hZGEgcHJldmlhIHNvbGljaXR1ZCBhIExBIFVOSVZFUlNJREFEIHBvciBlc2NyaXRvIGNvbiB1bmEgYW50ZWxhY2nDs24gZGUgZG9zICgyKSBtZXNlcyBhbnRlcyBkZWwgdmVuY2ltaWVudG8gZGVsIHBsYXpvIGluaWNpYWwgbyBlbCBkZSBzdShzKSBwcsOzcnJvZ2EocykuICAKCmIpCUxBIFVOSVZFUlNJREFEIHBvZHLDoSBwdWJsaWNhciBsYSBvYnJhIGVuIGxhcyBkaXN0aW50YXMgdmVyc2lvbmVzIHJlcXVlcmlkYXMgcG9yIGVsIFJJVUQgKGRpZ2l0YWwsIGltcHJlc28sIGVsZWN0csOzbmljbyB1IG90cm8gbWVkaW8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikgTEEgVU5JVkVSU0lEQUQgbm8gc2Vyw6EgcmVzcG9uc2FibGUgZW4gZWwgZXZlbnRvIHF1ZSBlbCBkb2N1bWVudG8gYXBhcmV6Y2EgcmVmZXJlbmNpYWRvIGVuIG1vdG9yZXMgZGUgYsO6c3F1ZWRhIG8gcmVwb3NpdG9yaW9zIGRpZmVyZW50ZXMgYWwgUklVRCwgdW5hIHZleiBlbChvcykgYXV0b3IoZXMpIHNvbGljaXRlbiBzdSBlbGltaW5hY2nDs24gZGVsIFJJVUQsIGRhZG8gcXVlIGxhIG1pc21hIHNlcsOhIHB1YmxpY2FkYSBlbiBJbnRlcm5ldC4gCgpjKQlMYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIGxvcyBhdXRvcmVzIHJlbnVuY2lhbiBhIHJlY2liaXIgYmVuZWZpY2lvIGFsZ3VubyBwb3IgbGEgcHVibGljYWNpw7NuLCBkaXN0cmlidWNpw7NuLCBjb211bmljYWNpw7NuIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSBkZSB1c28gY29uIHF1ZSBzZSBwdWJsaWNhIChDcmVhdGl2ZSBDb21tb25zKS4KCmQpCUxvcyBjb250ZW5pZG9zIHB1YmxpY2Fkb3MgZW4gZWwgUklVRCBzb24gb2JyYShzKSBvcmlnaW5hbChlcykgc29icmUgbGEgY3VhbChlcykgZWwob3MpIGF1dG9yKGVzKSBjb21vIHRpdHVsYXJlcyBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IsIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgTEEgVU5JVkVSU0lEQUQgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gTEEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uCgplKQlMQSBVTklWRVJTSURBRCBwb2Ryw6EgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIG1heGltaXphciBsYSB2aXNpYmlsaWRhZCBlbCB1c28geSBlbCBpbXBhY3RvIGRlIGxhIHByb2R1Y2Npw7NuIGNpZW50w61maWNhLCBhcnTDrXN0aWNhIHkgYWNhZMOpbWljYSBlbiBsYSBjb211bmlkYWQgbG9jYWwsIG5hY2lvbmFsIG8gaW50ZXJuYWNpb25hbC4gCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbyAJCkF1dG9yCUFwZWxsaWRvcwlOb21icmVzCjEJCQoyCQkKMwkJCiAKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8gIAoKaykJQWNlcHRvKGFtb3MpIHF1ZSBMQSBVTklWRVJTSURBRCBubyBzZSByZXNwb25zYWJpbGl6YSBwb3IgbGFzIGluZnJhY2Npb25lcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIERlcmVjaG9zIGRlIEF1dG9yIGNhdXNhZGFzIHBvciBsb3MgdGl0dWxhcmVzIGRlIGxhIHByZXNlbnRlIExpY2VuY2lhIHkgZGVjbGFyYW1vcyBxdWUgbWFudGVuZHLDqSAoZW1vcykgaW5kZW1uZSBhIExBIFVOSVZFUlNJREFEIHBvciBsYXMgcmVjbGFtYWNpb25lcyBsZWdhbGVzIGRlIGN1YWxxdWllciB0aXBvIHF1ZSBsbGVnYXJlbiBhIHByZXNlbnRhcnNlIHBvciB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGEgbGEgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gZGUgQXV0b3IgcmVsYWNpb25hZG9zIGNvbiBsb3MgZG9jdW1lbnRvcyByZWdpc3RyYWRvcyBlbiBlbCBSSVVELgoKbCkJRWwgKGxvcykgYXV0b3IoZXMpIG1hbmlmaWVzdGEobW9zKSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCwgZGUgZXhjbHVzaXZhIGF1dG9yw61hLCB5IHNlIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zOyBkZSB0YWwgc3VlcnRlLCBlbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhLCBlbCAobG9zKSBlc3R1ZGlhbnRlKHMpIOKAkyBhdXRvcihlcykgYXN1bWlyw6EobikgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgeSBzYWxkcsOhKG4pIGVuIGRlZmVuc2EgZGUgbG9zIGRlcmVjaG9zIGFxdcOtIGF1dG9yaXphZG9zLiBQYXJhIHRvZG9zIGxvcyBlZmVjdG9zLCBMQSBVTklWRVJTSURBRCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAgIAoKCm0pCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGNvbm96Y28oY2Vtb3MpIGxhIGF1dG9ub23DrWEgeSBsb3MgZGVyZWNob3MsIHF1ZSBwb3NlZShtb3MpIHNvYnJlIGxhIG9icmEgeSwgY29tbyB0YWwsIGVzIChzb21vcykgcmVzcG9uc2FibGUocykgZGVsIGFsY2FuY2UganVyw61kaWNvIHkgbGVnYWwsIGRlIGVzY29nZXIgbGEgb3BjacOzbiBkZSBsYSBwdWJsaWNhY2nDs24gbyBkZSByZXN0cmljY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIGRlbCBkb2N1bWVudG8gcmVnaXN0cmFkbyBlbiBlbCBSSVVELgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgCkRFUkVDSE9TIFkgT0JMSUdBQ0lPTkVTIFJFUVVFUklET1MgUE9SIEVMIFJFU1BFQ1RJVk8gQ09OVFJBVE8gTyBBQ1VFUkRPLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyhhbW9zKSBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGVuIGxhIGNpdWRhZCBkZSBCb2dvdMOhLCBELkMuLCBhIGxvcyAKCgpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCUNvcnJlbyBFbGVjdHLDs25pY28gCjEJCjIJCjMJCgpOb21icmUgZGUgRGlyZWN0b3IoZXMpIGRlIEdyYWRvOgoKMQkKMgkKMwkKCk5vbWJyZSBGYWN1bHRhZCB5IFByb3llY3RvIEN1cnJpY3VsYXI6CgpGYWN1bHRhZAlQcm95ZWN0byBDdXJyaWN1bGFyCgkKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEKCgo=