Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH

Este proyecto presenta la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques realizados a un servidor por un nodo botnet, utilizando el conjunto de datos BETH1. El contexto del trabajo se enmarca en la problemática actual de los ataques a la seguridad en...

Full description

Autores:
García González, Julián Eduardo
Payares Mateus, Kevin Geancarlo
Tipo de recurso:
Fecha de publicación:
2023
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/39595
Acceso en línea:
http://hdl.handle.net/11349/39595
Palabra clave:
Aprendizaje profundo
Servidores
Ciberataques
Seguridad de internet
Botnet
Redes neuronales
Aprendizaje automático
Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas
Detección de intrusos y ciberseguridad
Análisis de tráfico de redes y redes neuronales
Inteligencia artificial y seguridad informática
Deep learning
Servers
Cyber-attacks
Internet security
Botnet
Neural networks
Machine learning
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_1e0c669a06bb3bee537cc842db2ddb39
oai_identifier_str oai:repository.udistrital.edu.co:11349/39595
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
dc.title.titleenglish.spa.fl_str_mv Detection of attacks performed on a server by a BOTNET node by implementing a deep learning neural network model using the BETH dataset
title Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
spellingShingle Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
Aprendizaje profundo
Servidores
Ciberataques
Seguridad de internet
Botnet
Redes neuronales
Aprendizaje automático
Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas
Detección de intrusos y ciberseguridad
Análisis de tráfico de redes y redes neuronales
Inteligencia artificial y seguridad informática
Deep learning
Servers
Cyber-attacks
Internet security
Botnet
Neural networks
Machine learning
title_short Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
title_full Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
title_fullStr Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
title_full_unstemmed Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
title_sort Detección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETH
dc.creator.fl_str_mv García González, Julián Eduardo
Payares Mateus, Kevin Geancarlo
dc.contributor.advisor.none.fl_str_mv Hernández Martinez, Henry Alberto
dc.contributor.author.none.fl_str_mv García González, Julián Eduardo
Payares Mateus, Kevin Geancarlo
dc.contributor.orcid.none.fl_str_mv Hernández Martinez Henry Alberto [0000-0002-2323-0242]
dc.subject.none.fl_str_mv Aprendizaje profundo
Servidores
Ciberataques
Seguridad de internet
Botnet
Redes neuronales
Aprendizaje automático
topic Aprendizaje profundo
Servidores
Ciberataques
Seguridad de internet
Botnet
Redes neuronales
Aprendizaje automático
Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas
Detección de intrusos y ciberseguridad
Análisis de tráfico de redes y redes neuronales
Inteligencia artificial y seguridad informática
Deep learning
Servers
Cyber-attacks
Internet security
Botnet
Neural networks
Machine learning
dc.subject.lemb.none.fl_str_mv Ingeniería en Telecomunicaciones -- Tesis y disertaciones académicas
Detección de intrusos y ciberseguridad
Análisis de tráfico de redes y redes neuronales
Inteligencia artificial y seguridad informática
dc.subject.keyword.none.fl_str_mv Deep learning
Servers
Cyber-attacks
Internet security
Botnet
Neural networks
Machine learning
description Este proyecto presenta la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques realizados a un servidor por un nodo botnet, utilizando el conjunto de datos BETH1. El contexto del trabajo se enmarca en la problemática actual de los ataques a la seguridad en los sistemas informáticos de redes y la necesidad de contar con medidas de control inteligentes para protegerlos. El problema que se plantea en este trabajo de grado es la detección de ataques de un nodo botnet a un servidor, ya que, estos causan daños significativos a la infraestructura de la red, entre ellos están: la generación de tráfico masivo de datos hacia un servidor, el envío de grandes de correos electrónicos no solicitados, la infección de dispositivos de la red, entre otros daños. Este problema es complejo debido a que los nodos botnet están diseñados para evadir los sistemas de detección de intrusos y el tráfico que se genera es similar al tráfico legitimo. La solución desarrollada consiste en la implementación de un modelo de red neuronal de aprendizaje profundo utilizando el conjunto de datos BETH, que contiene información de tráfico de red generado por nodos botnet y tráfico legítimo. El rendimiento del modelo es evaluado mediante métricas de desempeño como la precisión, el recall y la F1-score. Los resultados obtenidos muestran que el modelo propuesto logra una precisión de detección de nodos botnet del 91%, lo que indica que es una solución eficiente para la detección de ataques de este tipo. En conclusión, la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques de un nodo botnet en un servidor es una solución efectiva y eficiente. Los resultados obtenidos demuestran la importancia de utilizar técnicas avanzadas de análisis de datos y aprendizaje profundo para mejorar la seguridad informática de redes en el área de la detección de anomalías.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-05-15
dc.date.accessioned.none.fl_str_mv 2024-08-13T14:59:30Z
dc.date.available.none.fl_str_mv 2024-08-13T14:59:30Z
dc.type.spa.fl_str_mv bachelorThesis
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
dc.type.degree.spa.fl_str_mv Monografía
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/39595
url http://hdl.handle.net/11349/39595
dc.language.iso.none.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 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 Attribution-NonCommercial-NoDerivatives 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 https://repository.udistrital.edu.co/bitstreams/2830426a-7f17-4775-824c-889c34f45f9b/download
https://repository.udistrital.edu.co/bitstreams/2ab3da28-edbb-499b-90e9-829450851583/download
https://repository.udistrital.edu.co/bitstreams/28325146-10f3-4eaf-b8c8-99e70663b691/download
https://repository.udistrital.edu.co/bitstreams/81bb15ba-bde5-4bf8-80bd-d95a17ea46a7/download
https://repository.udistrital.edu.co/bitstreams/86c55c79-bde5-4d5c-979a-dbc04d68cadb/download
https://repository.udistrital.edu.co/bitstreams/7d5ed836-7bc2-453d-b298-ebd6084d3499/download
bitstream.checksum.fl_str_mv 997daf6c648c962d566d7b082dac908d
5d83e5b595c2c3508066c76d3414c0c4
795130286cce77d76d8db1666fd7f169
4460e5956bc1d1639be9ae6146a50347
2222b40b8ed9f4bd4851c6fb5c259a1e
3fc5a7a009f8cecdacd3fff17d27f2bd
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828165901792313344
spelling Hernández Martinez, Henry AlbertoGarcía González, Julián EduardoPayares Mateus, Kevin GeancarloHernández Martinez Henry Alberto [0000-0002-2323-0242]2024-08-13T14:59:30Z2024-08-13T14:59:30Z2023-05-15http://hdl.handle.net/11349/39595Este proyecto presenta la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques realizados a un servidor por un nodo botnet, utilizando el conjunto de datos BETH1. El contexto del trabajo se enmarca en la problemática actual de los ataques a la seguridad en los sistemas informáticos de redes y la necesidad de contar con medidas de control inteligentes para protegerlos. El problema que se plantea en este trabajo de grado es la detección de ataques de un nodo botnet a un servidor, ya que, estos causan daños significativos a la infraestructura de la red, entre ellos están: la generación de tráfico masivo de datos hacia un servidor, el envío de grandes de correos electrónicos no solicitados, la infección de dispositivos de la red, entre otros daños. Este problema es complejo debido a que los nodos botnet están diseñados para evadir los sistemas de detección de intrusos y el tráfico que se genera es similar al tráfico legitimo. La solución desarrollada consiste en la implementación de un modelo de red neuronal de aprendizaje profundo utilizando el conjunto de datos BETH, que contiene información de tráfico de red generado por nodos botnet y tráfico legítimo. El rendimiento del modelo es evaluado mediante métricas de desempeño como la precisión, el recall y la F1-score. Los resultados obtenidos muestran que el modelo propuesto logra una precisión de detección de nodos botnet del 91%, lo que indica que es una solución eficiente para la detección de ataques de este tipo. En conclusión, la implementación de un modelo de red neuronal de aprendizaje profundo para la detección de ataques de un nodo botnet en un servidor es una solución efectiva y eficiente. Los resultados obtenidos demuestran la importancia de utilizar técnicas avanzadas de análisis de datos y aprendizaje profundo para mejorar la seguridad informática de redes en el área de la detección de anomalías.This project presents the implementation of a deep learning neural network model for the detection of attacks on a server by a botnet node, using the BETH1 dataset. The context of the work is framed within the current problem of security attacks on networked computer systems and the need for intelligent control measures to protect them. The problem posed in this degree work is the detection of attacks from a botnet node to a server, since they cause significant damage to the network infrastructure, among them are: the generation of massive data traffic to a server, the sending of large unsolicited emails, the infection of network devices, among other damages. This problem is complex because botnet nodes are designed to evade intrusion detection systems and the traffic generated is similar to legitimate traffic. The developed solution consists in the implementation of a deep learning neural network model using the BETH dataset, which contains network traffic information generated by botnet nodes and legitimate traffic. The model performance is evaluated using performance metrics such as accuracy, recall and F1-score. The results obtained show that the proposed model achieves a botnet node detection accuracy of 91%, indicating that it is an efficient solution for detecting botnet attacks. In conclusion, the implementation of a deep learning neural network model for the detection of botnet node attacks on a server is an effective and efficient solution. The results obtained demonstrate the importance of using advanced data analysis and deep learning techniques to improve network computer security in the area of anomaly detection.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Aprendizaje profundoServidoresCiberataquesSeguridad de internetBotnetRedes neuronalesAprendizaje automáticoIngeniería en Telecomunicaciones -- Tesis y disertaciones académicasDetección de intrusos y ciberseguridadAnálisis de tráfico de redes y redes neuronalesInteligencia artificial y seguridad informáticaDeep learningServersCyber-attacksInternet securityBotnetNeural networksMachine learningDetección de ataques realizados a un servidor por un nodo BOTNET mediante la implementación de un modelo de red neuronal de aprendizaje profundo (DEEP LEARNING) usando el conjunto de datos BETHDetection of attacks performed on a server by a BOTNET node by implementing a deep learning neural network model using the BETH datasetbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fLICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/2830426a-7f17-4775-824c-889c34f45f9b/download997daf6c648c962d566d7b082dac908dMD54ORIGINALGarciaGonzalezJulianEduardo2023.pdfGarciaGonzalezJulianEduardo2023.pdfTrabajo de grado / Pregradoapplication/pdf2478905https://repository.udistrital.edu.co/bitstreams/2ab3da28-edbb-499b-90e9-829450851583/download5d83e5b595c2c3508066c76d3414c0c4MD51Licencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicaciónapplication/pdf255539https://repository.udistrital.edu.co/bitstreams/28325146-10f3-4eaf-b8c8-99e70663b691/download795130286cce77d76d8db1666fd7f169MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/81bb15ba-bde5-4bf8-80bd-d95a17ea46a7/download4460e5956bc1d1639be9ae6146a50347MD53THUMBNAILGarciaGonzalezJulianEduardo2023.pdf.jpgGarciaGonzalezJulianEduardo2023.pdf.jpgIM Thumbnailimage/jpeg5123https://repository.udistrital.edu.co/bitstreams/86c55c79-bde5-4d5c-979a-dbc04d68cadb/download2222b40b8ed9f4bd4851c6fb5c259a1eMD55Licencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg9508https://repository.udistrital.edu.co/bitstreams/7d5ed836-7bc2-453d-b298-ebd6084d3499/download3fc5a7a009f8cecdacd3fff17d27f2bdMD5611349/39595oai:repository.udistrital.edu.co:11349/395952025-01-05 01:10:01.532http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK