Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá.
En este trabajo se presenta la implementación de una arquitectura de red neuronal convolucional-deconvolucional adaptada a la predicción de crimen en la ciudad de Bogotá. Específicamente, se diseña una arquitectura convolucional para extraer patrones espaciales de mapas bidimensionales de datos prov...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2021
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/30328
- Acceso en línea:
- http://hdl.handle.net/11349/30328
- Palabra clave:
- Aprendizaje automático
Aprendizaje profundo
Red neuronal convolucional
Grafo computacional
Predicción de crimen urbano
Inteligencia artificial
Ingeniería Electrónica - Tesis y disertaciones académicas
Redes neurales (Informática) - Bogotá (Colombia)
Procesamiento de imágenes digitales - Bogotá (Colombia)
Procesamiento digital de imágenes - Bogotá (Colombia)
Aprendizaje automático (Inteligencia artificial) - Bogotá (Colombia)
Criminología urbana - Bogotá (Colombia)
Inteligencia artificial - Bogotá (Colombia)
Machine learning
Deep learning
Convolutional neural networks
Computational graph
Urban crime forecasting
Artificial intelligence
- Rights
- License
- Atribución 2.5 Colombia
id |
UDISTRITA2_81b0b9a375b5ea8fc6ef1d8e83c18d08 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/30328 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
dc.title.titleenglish.spa.fl_str_mv |
Implementation of a convolutional neural network architecture for crime mass forecasting in Bogota City. |
title |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
spellingShingle |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. Aprendizaje automático Aprendizaje profundo Red neuronal convolucional Grafo computacional Predicción de crimen urbano Inteligencia artificial Ingeniería Electrónica - Tesis y disertaciones académicas Redes neurales (Informática) - Bogotá (Colombia) Procesamiento de imágenes digitales - Bogotá (Colombia) Procesamiento digital de imágenes - Bogotá (Colombia) Aprendizaje automático (Inteligencia artificial) - Bogotá (Colombia) Criminología urbana - Bogotá (Colombia) Inteligencia artificial - Bogotá (Colombia) Machine learning Deep learning Convolutional neural networks Computational graph Urban crime forecasting Artificial intelligence |
title_short |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
title_full |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
title_fullStr |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
title_full_unstemmed |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
title_sort |
Implementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá. |
dc.contributor.advisor.none.fl_str_mv |
Melgarejo Rey, Miguel Alberto |
dc.subject.spa.fl_str_mv |
Aprendizaje automático Aprendizaje profundo Red neuronal convolucional Grafo computacional Predicción de crimen urbano Inteligencia artificial |
topic |
Aprendizaje automático Aprendizaje profundo Red neuronal convolucional Grafo computacional Predicción de crimen urbano Inteligencia artificial Ingeniería Electrónica - Tesis y disertaciones académicas Redes neurales (Informática) - Bogotá (Colombia) Procesamiento de imágenes digitales - Bogotá (Colombia) Procesamiento digital de imágenes - Bogotá (Colombia) Aprendizaje automático (Inteligencia artificial) - Bogotá (Colombia) Criminología urbana - Bogotá (Colombia) Inteligencia artificial - Bogotá (Colombia) Machine learning Deep learning Convolutional neural networks Computational graph Urban crime forecasting Artificial intelligence |
dc.subject.lemb.spa.fl_str_mv |
Ingeniería Electrónica - Tesis y disertaciones académicas Redes neurales (Informática) - Bogotá (Colombia) Procesamiento de imágenes digitales - Bogotá (Colombia) Procesamiento digital de imágenes - Bogotá (Colombia) Aprendizaje automático (Inteligencia artificial) - Bogotá (Colombia) Criminología urbana - Bogotá (Colombia) Inteligencia artificial - Bogotá (Colombia) |
dc.subject.keyword.spa.fl_str_mv |
Machine learning Deep learning Convolutional neural networks Computational graph Urban crime forecasting Artificial intelligence |
description |
En este trabajo se presenta la implementación de una arquitectura de red neuronal convolucional-deconvolucional adaptada a la predicción de crimen en la ciudad de Bogotá. Específicamente, se diseña una arquitectura convolucional para extraer patrones espaciales de mapas bidimensionales de datos provenientes de eventos de crimen. También se agregan capas de convolución transpuesta para recuperar el tamaño espacial de la señal de entrada. Esta adaptación permite generar información que al ser representada en mapas bidimensionales se puede comparar con la información proveniente de eventos de subreportes de crimen y determinar el desempeño de las redes neuronales. Por otra parte, partiendo de un estudio previo del crimen en la ciudad de Bogotá, se generan volúmenes de datos sintéticos a partir de autómatas celulares con reglas del juego de la vida de Conway. Estos volúmenes de datos sintéticos poseen propiedades similares a las de las dinámicas espacio-temporales presentes en la señal de eventos de crimen en la ciudad de Bogotá. Dentro de este marco se configuran experimentos con dos tipos de entrada sobre la arquitectura convolucional-deconvolucional. En unos primeros, se alimenta la red con volúmenes de datos obtenidos del reporte de eventos de crimen en la ciudad de Bogotá. En los segundos, con volúmenes de datos sintéticos y en otros con el conjunto unión de datos reales y datos sintéticos. En total se presentan cinco casos de uso en los que se entrena la arquitectura con diferentes configuraciones de volúmenes y técnicas de aprendizaje profundo para posteriormente evaluar su desempeño. |
publishDate |
2021 |
dc.date.created.none.fl_str_mv |
2021-12-18 |
dc.date.accessioned.none.fl_str_mv |
2022-10-13T16:20:54Z |
dc.date.available.none.fl_str_mv |
2022-10-13T16:20:54Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Monografía |
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/30328 |
url |
http://hdl.handle.net/11349/30328 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución 2.5 Colombia Atribución-CompartirIgual 2.5 Colombia Atribución-NoComercial-CompartirIgual 2.5 Colombia Atribución-NoComercial-CompartirIgual 2.5 Colombia Atribución-NoComercial-CompartirIgual 2.5 Colombia |
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-sa/2.5/co/ |
dc.rights.acceso.spa.fl_str_mv |
Abierto (Texto Completo) |
rights_invalid_str_mv |
Atribución 2.5 Colombia Atribución-CompartirIgual 2.5 Colombia Atribución-NoComercial-CompartirIgual 2.5 Colombia http://creativecommons.org/licenses/by-nc-sa/2.5/co/ 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/30328/5/FajardoFajardoLuisAndrey2022.pdf http://repository.udistrital.edu.co/bitstream/11349/30328/11/Licencia%20de%20uso%20y%20autorizacion%20especial%20de%20los%20autores%20para%20publicar.pdf http://repository.udistrital.edu.co/bitstream/11349/30328/12/license_rdf http://repository.udistrital.edu.co/bitstream/11349/30328/13/license.txt http://repository.udistrital.edu.co/bitstream/11349/30328/14/FajardoFajardoLuisAndrey2022.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/30328/15/Licencia%20de%20uso%20y%20autorizacion%20especial%20de%20los%20autores%20para%20publicar.pdf.jpg |
bitstream.checksum.fl_str_mv |
219b088c4befe3b2074774ed2a5ffe3c cff24fdd0ac079b3ff6c29d5a9eaf895 1487462a1490a8fc01f5999ce7b3b9cc 997daf6c648c962d566d7b082dac908d a63feb5a1ef94d16306fd260119d44bf 7c8af422fd6b7307410b1d43520b794f |
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_ |
1814111018551345152 |
spelling |
Melgarejo Rey, Miguel AlbertoFajardo Fajardo, Luis AndreyPiraján Ovalle, Freddy Humberto2022-10-13T16:20:54Z2022-10-13T16:20:54Z2021-12-18http://hdl.handle.net/11349/30328En este trabajo se presenta la implementación de una arquitectura de red neuronal convolucional-deconvolucional adaptada a la predicción de crimen en la ciudad de Bogotá. Específicamente, se diseña una arquitectura convolucional para extraer patrones espaciales de mapas bidimensionales de datos provenientes de eventos de crimen. También se agregan capas de convolución transpuesta para recuperar el tamaño espacial de la señal de entrada. Esta adaptación permite generar información que al ser representada en mapas bidimensionales se puede comparar con la información proveniente de eventos de subreportes de crimen y determinar el desempeño de las redes neuronales. Por otra parte, partiendo de un estudio previo del crimen en la ciudad de Bogotá, se generan volúmenes de datos sintéticos a partir de autómatas celulares con reglas del juego de la vida de Conway. Estos volúmenes de datos sintéticos poseen propiedades similares a las de las dinámicas espacio-temporales presentes en la señal de eventos de crimen en la ciudad de Bogotá. Dentro de este marco se configuran experimentos con dos tipos de entrada sobre la arquitectura convolucional-deconvolucional. En unos primeros, se alimenta la red con volúmenes de datos obtenidos del reporte de eventos de crimen en la ciudad de Bogotá. En los segundos, con volúmenes de datos sintéticos y en otros con el conjunto unión de datos reales y datos sintéticos. En total se presentan cinco casos de uso en los que se entrena la arquitectura con diferentes configuraciones de volúmenes y técnicas de aprendizaje profundo para posteriormente evaluar su desempeño.The current work presents the design and adaptation of a deep neural network architecture for urban crime forecasting in Bogota city. The architecture skeleton is based on convolutional and deconvolutional layers trained with multidimensional data from criminal subreports. A subset of convolutional layers is used to capture spatial patterns from crime events. Additionally, transposed convolutional layers are used on top of the deepest convolutional layer to recover the spatial dimensions of the input data. Therefore, the information generated by the architecture is compared with the expected output over two-dimensional crime masses maps. Moreover, this work expands upon a previous study of urban crime in Bogota city by generating synthetic data from the cellular automaton known as Conway's Game of Life. This synthetic data exhibits similar properties to the Spatio-temporal crime dynamics in Bogota city. In addition, the experimentation over the convolutional-deconvolutional architecture is performed with two subsets of input volumes. The first subset of input arrays was built based upon information gathered from criminal subreports in Bogota city. The second subset of inputs consists of synthetic data. Hence, the experiments with real, synthetic, and the union of real and synthetic data were summarized in five use cases. Each use case was set up with a specific scheme of deep learning techniques and a variation of parameters to evaluate performance for each case independently.pdfspaAtribución 2.5 ColombiaAtribución-CompartirIgual 2.5 ColombiaAtribución-NoComercial-CompartirIgual 2.5 ColombiaAtribución-NoComercial-CompartirIgual 2.5 ColombiaAtribución-NoComercial-CompartirIgual 2.5 Colombiahttp://creativecommons.org/licenses/by-nc-sa/2.5/co/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Aprendizaje automáticoAprendizaje profundoRed neuronal convolucionalGrafo computacionalPredicción de crimen urbanoInteligencia artificialIngeniería Electrónica - Tesis y disertaciones académicasRedes neurales (Informática) - Bogotá (Colombia)Procesamiento de imágenes digitales - Bogotá (Colombia)Procesamiento digital de imágenes - Bogotá (Colombia)Aprendizaje automático (Inteligencia artificial) - Bogotá (Colombia)Criminología urbana - Bogotá (Colombia)Inteligencia artificial - Bogotá (Colombia)Machine learningDeep learningConvolutional neural networksComputational graphUrban crime forecastingArtificial intelligenceImplementación de una arquitectura de red convolucional aplicada a la predicción de masas de crimen en la Ciudad de Bogotá.Implementation of a convolutional neural network architecture for crime mass forecasting in Bogota City.bachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALFajardoFajardoLuisAndrey2022.pdfFajardoFajardoLuisAndrey2022.pdfapplication/pdf7384733http://repository.udistrital.edu.co/bitstream/11349/30328/5/FajardoFajardoLuisAndrey2022.pdf219b088c4befe3b2074774ed2a5ffe3cMD55open accessLicencia de uso y autorizacion especial de los autores para publicar.pdfLicencia de uso y autorizacion especial de los autores para publicar.pdfLicencia de uso y autorización especial de los autores para publicarapplication/pdf109266http://repository.udistrital.edu.co/bitstream/11349/30328/11/Licencia%20de%20uso%20y%20autorizacion%20especial%20de%20los%20autores%20para%20publicar.pdfcff24fdd0ac079b3ff6c29d5a9eaf895MD511metadata only accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-81037http://repository.udistrital.edu.co/bitstream/11349/30328/12/license_rdf1487462a1490a8fc01f5999ce7b3b9ccMD512open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/30328/13/license.txt997daf6c648c962d566d7b082dac908dMD513open accessTHUMBNAILFajardoFajardoLuisAndrey2022.pdf.jpgFajardoFajardoLuisAndrey2022.pdf.jpgIM Thumbnailimage/jpeg6857http://repository.udistrital.edu.co/bitstream/11349/30328/14/FajardoFajardoLuisAndrey2022.pdf.jpga63feb5a1ef94d16306fd260119d44bfMD514open accessLicencia de uso y autorizacion especial de los autores para publicar.pdf.jpgLicencia de uso y autorizacion especial de los autores para publicar.pdf.jpgIM Thumbnailimage/jpeg13184http://repository.udistrital.edu.co/bitstream/11349/30328/15/Licencia%20de%20uso%20y%20autorizacion%20especial%20de%20los%20autores%20para%20publicar.pdf.jpg7c8af422fd6b7307410b1d43520b794fMD515open access11349/30328oai:repository.udistrital.edu.co:11349/303282023-06-13 12:53:22.015open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK |