GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras
El cierre de minas plantea el desafío crucial de restaurar ecosistemas intervenidos, donde la elección incorrecta de especies arbóreas puede llevar al fracaso de los esfuerzos de revegetalización. GeoReforest, un plugin para QGIS, surge como una solución innovadora para este problema. Integra datos...
- Autores:
-
Espitia, Mauren Ximena
Alba Becerra, Erika Carolina
- Tipo de recurso:
- Trabajo de grado de pregrado
- 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/94256
- Acceso en línea:
- http://hdl.handle.net/11349/94256
- Palabra clave:
- Reforestación
Complemento
Restauración
Especie arbórea
Dato geoambiental
Reforestation
Plugin
Restoration
Tree species
Geoenvironmental data
- Rights
- License
- Abierto (Texto Completo)
id |
UDISTRITA2_9665cc0a8e88cdeb96517be4fc400f56 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/94256 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.none.fl_str_mv |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
dc.title.titleenglish.none.fl_str_mv |
GeoReforest: QGIS plugin for the selection of tree species in the reforestation of mining areas |
title |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
spellingShingle |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras Reforestación Complemento Restauración Especie arbórea Dato geoambiental Reforestation Plugin Restoration Tree species Geoenvironmental data |
title_short |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
title_full |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
title_fullStr |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
title_full_unstemmed |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
title_sort |
GeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas mineras |
dc.creator.fl_str_mv |
Espitia, Mauren Ximena Alba Becerra, Erika Carolina |
dc.contributor.advisor.none.fl_str_mv |
Ramírez Fernández, Salomón Einstein |
dc.contributor.author.none.fl_str_mv |
Espitia, Mauren Ximena Alba Becerra, Erika Carolina |
dc.subject.none.fl_str_mv |
Reforestación Complemento Restauración Especie arbórea Dato geoambiental |
topic |
Reforestación Complemento Restauración Especie arbórea Dato geoambiental Reforestation Plugin Restoration Tree species Geoenvironmental data |
dc.subject.keyword.none.fl_str_mv |
Reforestation Plugin Restoration Tree species Geoenvironmental data |
description |
El cierre de minas plantea el desafío crucial de restaurar ecosistemas intervenidos, donde la elección incorrecta de especies arbóreas puede llevar al fracaso de los esfuerzos de revegetalización. GeoReforest, un plugin para QGIS, surge como una solución innovadora para este problema. Integra datos geoambientales, como altimetría, tipo de suelo, precipitación, temperatura y humedad, con una base de datos de especies arbóreas, permitiendo identificar las más adecuadas para cada área específica. El plugin no solo optimiza recursos y acelera la toma de decisiones, sino que también asegura que las especies seleccionadas tengan mayores tasas de supervivencia. Desarrollado bajo la metodología ágil SCRUM y utilizando herramientas como Python, PyQGIS y PostgreSQL, GeoReforest combina precisión técnica con accesibilidad para profesionales, contribuyendo significativamente a la restauración de paisajes y la sostenibilidad ambiental. |
publishDate |
2024 |
dc.date.created.none.fl_str_mv |
2024-12-03 |
dc.date.accessioned.none.fl_str_mv |
2025-03-27T20:01:28Z |
dc.date.available.none.fl_str_mv |
2025-03-27T20:01:28Z |
dc.type.none.fl_str_mv |
bachelorThesis |
dc.type.degree.none.fl_str_mv |
Monografía |
dc.type.driver.none.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
dc.type.coar.none.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/94256 |
url |
http://hdl.handle.net/11349/94256 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.relation.references.none.fl_str_mv |
Abud, M. (2012). Calidad en la industria del software. La norma ISO 9126. https://www.nacionmulticultural.unam.mx/empresasindigenas/docs/2094.pdf Autoridad Nacional de Licencias Ambientales. (2022). Guía para la elaboración del plan de cierre y abandono de proyectos mineros. https://www.anla.gov.co/01_anla/documentos/proyectos/02_transformacionale s/03_nuevo_modelo/Documentos/05-09-2022-anla-guia-de-cierre-abandono-proyectos mineros.pdf Castejón, M., Sanchez, F., y Rosselló, R. (1998). SIGEFOR: Sistema de Información Geográfica para la reforestación. Fundación del conde del Valle Salazar. https://www.researchgate.net/publication/235735750_SIGREFOR_Sistema_de_Informac ion_Geografica_para_la_Reforestacion Colmena, G., Colomina, D., Melero, M, Peiteado, C. y Rodríguez, G. (2021). Manual de restauración forestal. WWF España. https://wwfes.awsassets.panda.org/downloads/manual_restauracion_2021_caixabank_mo ntemadrid.pdf Comisión Nacional Forestal. (2010). Prácticas de reforestación. https://ccmss.org.mx/wp content/uploads/Practicas_de_reforestacion_manual_basico.pdf López-Senespleda, E., Alonso-Ponce, R., Ruiz-Peinado, R., Gómez, V., Serrada, R., y Montero, G. (2023). ModERFoRest: A new software for assessing the environmental performance of forest species. https://doi.org/10.5424/fs/2023321-19406 Ministerio de Ambiente y Desarrollo Sostenible. (2015). Decreto 1076 de 2015 Por medio del cual se expide el Decreto Único Reglamentario del Sector Ambiente y Desarrollo Sostenible. https://www.minambiente.gov.co/wp-content/uploads/2021/06/Decreto-1076-de 35 2015.pdf Navarro Cadavid, A., Fernández Martínez, J. D., y Morales Vélez, J. (2013). Revisión de metodologías ágiles para el desarrollo de software. PROSPECTIVA, 11(2), 30-39. Nielsen, J., Landauer, T. (1993). A mathematical model of the finding of usability problems. https://dl.acm.org/doi/10.1145/169059.169166 Tasoulas, E., Varras, G., Tsirogiannis, I., y Myriounis, C. (2013). Development of a GIS Application for Urban Planning. https://doi.org/10.1016/j.protcy.2013.11.011 United States Department of Agriculture. (2006). iTree. https://research.fs.usda.gov/products/dataandtools/tools/i-tree |
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 |
dc.publisher.none.fl_str_mv |
Universidad Distrital Francisco José de Caldas |
publisher.none.fl_str_mv |
Universidad Distrital Francisco José de Caldas |
institution |
Universidad Distrital Francisco José de Caldas |
bitstream.url.fl_str_mv |
https://repository.udistrital.edu.co/bitstreams/0acaeb56-d13c-4f19-aa86-16ba9d5e920b/download https://repository.udistrital.edu.co/bitstreams/4ec27f13-2e2d-4c50-84d8-f0b298d00426/download https://repository.udistrital.edu.co/bitstreams/94a97f0a-fe0f-4831-ae27-cddd745c7208/download https://repository.udistrital.edu.co/bitstreams/26e75683-7488-46bc-9ba1-c3d6f8f38e1f/download |
bitstream.checksum.fl_str_mv |
221d856a1c57ca299537d788d0720486 0864caa9c039d78486f8c41dfd6719f7 4edc7e55ed7445f05069f61d53fd15eb 997daf6c648c962d566d7b082dac908d |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Universidad Distrital |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1837007239622164480 |
spelling |
Ramírez Fernández, Salomón EinsteinEspitia, Mauren XimenaAlba Becerra, Erika Carolina2025-03-27T20:01:28Z2025-03-27T20:01:28Z2024-12-03http://hdl.handle.net/11349/94256El cierre de minas plantea el desafío crucial de restaurar ecosistemas intervenidos, donde la elección incorrecta de especies arbóreas puede llevar al fracaso de los esfuerzos de revegetalización. GeoReforest, un plugin para QGIS, surge como una solución innovadora para este problema. Integra datos geoambientales, como altimetría, tipo de suelo, precipitación, temperatura y humedad, con una base de datos de especies arbóreas, permitiendo identificar las más adecuadas para cada área específica. El plugin no solo optimiza recursos y acelera la toma de decisiones, sino que también asegura que las especies seleccionadas tengan mayores tasas de supervivencia. Desarrollado bajo la metodología ágil SCRUM y utilizando herramientas como Python, PyQGIS y PostgreSQL, GeoReforest combina precisión técnica con accesibilidad para profesionales, contribuyendo significativamente a la restauración de paisajes y la sostenibilidad ambiental.The closure of mines presents the critical challenge of restoring intervened ecosystems, where the wrong choice of tree species can lead to the failure of revegetation efforts. GeoReforest, a QGIS plugin, emerges as an innovative solution to this problem. It integrates geoenvironmental data, such as elevation, soil type, precipitation, temperature, and humidity, with a tree species database, enabling the identification of the most suitable species for each specific area. The plugin not only optimizes resources and accelerates decision-making but also ensures higher survival rates for the selected species. Developed using the agile SCRUM methodology and tools like Python, PyQGIS, and PostgreSQL, GeoReforest combines technical precision with accessibility for professionals, making a significant contribution to landscape restoration and environmental sustainability.pdfspaUniversidad Distrital Francisco José de CaldasReforestaciónComplementoRestauraciónEspecie arbóreaDato geoambientalReforestationPluginRestorationTree speciesGeoenvironmental dataGeoReforest: plugin de QGIS para la selección de especies arbóreas en la reforestación de áreas minerasGeoReforest: QGIS plugin for the selection of tree species in the reforestation of mining areasbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fAbierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Abud, M. (2012). Calidad en la industria del software. La norma ISO 9126. https://www.nacionmulticultural.unam.mx/empresasindigenas/docs/2094.pdfAutoridad Nacional de Licencias Ambientales. (2022). Guía para la elaboración del plan de cierre y abandono de proyectos mineros. https://www.anla.gov.co/01_anla/documentos/proyectos/02_transformacionale s/03_nuevo_modelo/Documentos/05-09-2022-anla-guia-de-cierre-abandono-proyectos mineros.pdfCastejón, M., Sanchez, F., y Rosselló, R. (1998). SIGEFOR: Sistema de Información Geográfica para la reforestación. Fundación del conde del Valle Salazar. https://www.researchgate.net/publication/235735750_SIGREFOR_Sistema_de_Informac ion_Geografica_para_la_ReforestacionColmena, G., Colomina, D., Melero, M, Peiteado, C. y Rodríguez, G. (2021). Manual de restauración forestal. WWF España. https://wwfes.awsassets.panda.org/downloads/manual_restauracion_2021_caixabank_mo ntemadrid.pdfComisión Nacional Forestal. (2010). Prácticas de reforestación. https://ccmss.org.mx/wp content/uploads/Practicas_de_reforestacion_manual_basico.pdf López-Senespleda, E., Alonso-Ponce, R., Ruiz-Peinado, R., Gómez, V., Serrada, R., y Montero, G. (2023). ModERFoRest: A new software for assessing the environmental performance of forest species. https://doi.org/10.5424/fs/2023321-19406Ministerio de Ambiente y Desarrollo Sostenible. (2015). Decreto 1076 de 2015 Por medio del cual se expide el Decreto Único Reglamentario del Sector Ambiente y Desarrollo Sostenible. https://www.minambiente.gov.co/wp-content/uploads/2021/06/Decreto-1076-de 35 2015.pdfNavarro Cadavid, A., Fernández Martínez, J. D., y Morales Vélez, J. (2013). Revisión de metodologías ágiles para el desarrollo de software. PROSPECTIVA, 11(2), 30-39.Nielsen, J., Landauer, T. (1993). A mathematical model of the finding of usability problems. https://dl.acm.org/doi/10.1145/169059.169166Tasoulas, E., Varras, G., Tsirogiannis, I., y Myriounis, C. (2013). Development of a GIS Application for Urban Planning. https://doi.org/10.1016/j.protcy.2013.11.011United States Department of Agriculture. (2006). iTree. https://research.fs.usda.gov/products/dataandtools/tools/i-treeORIGINALEspitiaMaurenXimena2024.pdfEspitiaMaurenXimena2024.pdfapplication/pdf752290https://repository.udistrital.edu.co/bitstreams/0acaeb56-d13c-4f19-aa86-16ba9d5e920b/download221d856a1c57ca299537d788d0720486MD52EspitiaMaurenXimenaAnexos2024.rarEspitiaMaurenXimenaAnexos2024.rarapplication/octet-stream35066https://repository.udistrital.edu.co/bitstreams/4ec27f13-2e2d-4c50-84d8-f0b298d00426/download0864caa9c039d78486f8c41dfd6719f7MD53Licencia de uso y publicacion RIUD.pdfLicencia de uso y publicacion RIUD.pdfapplication/pdf234241https://repository.udistrital.edu.co/bitstreams/94a97f0a-fe0f-4831-ae27-cddd745c7208/download4edc7e55ed7445f05069f61d53fd15ebMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/26e75683-7488-46bc-9ba1-c3d6f8f38e1f/download997daf6c648c962d566d7b082dac908dMD5111349/94256oai:repository.udistrital.edu.co:11349/942562025-03-27 15:01:30.826open.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |