Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning
Diversas condiciones sobre las que operan las redes móviles LTE visibilizan la necesidad de establecer estrategias que permitan la interpretación de distintas variables que intervienen en su diseño, construcción, despliegue y funcionamiento. Una de estas variables clave dentro del contexto móvil LTE...
- Autores:
-
Porras Garzón, Nicolás
Gómez Pérez, Helmunt Alberto
- Tipo de recurso:
- Trabajo de grado de pregrado
- 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/41055
- Acceso en línea:
- http://hdl.handle.net/11349/41055
- Palabra clave:
- Estación base
FPGA
LTE
Machine Learning
Modelos predictivos
Python
RSSI
Ingeniería en Telecomunicaciones -- Tesis y disertacioes académicas
Predicción de medidas LTE
Machine Learning en telecomunicaciones
Modelos predictivos en redes móviles
Calidad de señal en LTE
Base station
FPGA
LTE
Machine Learning
Predictive Model
Python
RSSI
- Rights
- License
- Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id |
UDISTRITA2_894b5b47011825d50c64f4e691919608 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/41055 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.none.fl_str_mv |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
dc.title.titleenglish.none.fl_str_mv |
mplementation of an LTE measurement prediction system using the Zedboard development board and Machine Learning |
title |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
spellingShingle |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning Estación base FPGA LTE Machine Learning Modelos predictivos Python RSSI Ingeniería en Telecomunicaciones -- Tesis y disertacioes académicas Predicción de medidas LTE Machine Learning en telecomunicaciones Modelos predictivos en redes móviles Calidad de señal en LTE Base station FPGA LTE Machine Learning Predictive Model Python RSSI |
title_short |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
title_full |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
title_fullStr |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
title_full_unstemmed |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
title_sort |
Implementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learning |
dc.creator.fl_str_mv |
Porras Garzón, Nicolás Gómez Pérez, Helmunt Alberto |
dc.contributor.advisor.none.fl_str_mv |
Pedraza Martínez, Luis Fernando |
dc.contributor.author.none.fl_str_mv |
Porras Garzón, Nicolás Gómez Pérez, Helmunt Alberto |
dc.subject.none.fl_str_mv |
Estación base FPGA LTE Machine Learning Modelos predictivos Python RSSI |
topic |
Estación base FPGA LTE Machine Learning Modelos predictivos Python RSSI Ingeniería en Telecomunicaciones -- Tesis y disertacioes académicas Predicción de medidas LTE Machine Learning en telecomunicaciones Modelos predictivos en redes móviles Calidad de señal en LTE Base station FPGA LTE Machine Learning Predictive Model Python RSSI |
dc.subject.lemb.none.fl_str_mv |
Ingeniería en Telecomunicaciones -- Tesis y disertacioes académicas Predicción de medidas LTE Machine Learning en telecomunicaciones Modelos predictivos en redes móviles Calidad de señal en LTE |
dc.subject.keyword.none.fl_str_mv |
Base station FPGA LTE Machine Learning Predictive Model Python RSSI |
description |
Diversas condiciones sobre las que operan las redes móviles LTE visibilizan la necesidad de establecer estrategias que permitan la interpretación de distintas variables que intervienen en su diseño, construcción, despliegue y funcionamiento. Una de estas variables clave dentro del contexto móvil LTE son las medidas de relación de potencia y calidad de señal, RSSI, RSRP y RSRQ. Los principales métodos usados para cuantificar estas medidas en un entorno físico, más allá de la medición en sitio, pueden ser los modelos de propagación, sin embargo, además de la construcción matemática que significa su uso e implementación, no son realmente herramientas que pronostiquen o predigan el comportamiento de la señal en un entorno específico, mostrando claramente una necesidad que no se ha suplido adecuadamente en esta área. En esta perspectiva, una opción viable a la predicción de estas medidas son los modelos predictivos, pero si además del problema de predecir propiamente, se suma el contexto de trabajo con equipos móviles y entornos al aire libre, tiene sentido encaminar estos modelos de predicción en un dispositivo que ofrezca portabilidad de alguna forma. Las tarjetas reprogramables tipo FPGA o los sistemas embebidos, proveen de una cantidad de recursos de procesamiento moderada que, en aplicaciones como las requeridas para este problema, resultan ser suficientes para implementar modelos predictivos. Es así como ZedBoard, en conjunto de un sistema operativo dedicado que soporte lenguajes de programación especializados en Machine Learning como Python, es un candidato adecuado para el prototipado de código en este campo. Se plantea entonces el diseño y ejecución en un ambiente interactivo de código Python, como Jupyter Notebook, el desarrollo de tres modelos predictivos basándose en los algoritmos de Regresión lineal, Regresión Polinomial, y Bosques Aleatorios, respectivamente, usando como referencia las mediciones reales tomadas de una estación base LTE sobre un terminal móvil. Adicionalmente, se desarrolla un modelo predictivo basado en Redes Neuronales Recurrentes fuera de la tarjeta ZedBoard, esto tiene como finalidad, en primer lugar, diversificar las alternativas en cuanto algoritmos Machine Learning usados; y también, sustentar técnicamente que la efectividad y utilidad que tiene el uso de otros modelos en embebidos que aparentemente no tienen la potencia necesaria en este tipo de aplicaciones, son también capaces de ofrecer soluciones completas en un área en el que no suelen ser considerados. Al finalizar el diseño y despliegue sobre los datos de prueba, las predicciones hechas por cada modelo son concluyentes y reafirman la posibilidad real que existe para implementar modelos predictivos basados en técnicas Machine Learning en sistemas embebidos, y dentro del contexto de las telecomunicaciones móviles. Para esta problemática en concreto, el modelo de Bosques Aleatorios mostró ser muy superior y adaptarse adecuadamente a las características propias de las variables LTE analizadas con un margen de error inferior al 6% en cualquier caso, incluso por encima del modelo Red Neuronal Recurrente que no fue ejecutado en ZedBoard, permitiendo deducir que existen otras opciones en relación con el pronóstico de señales móviles y ofreciendo nuevas alternativas a los métodos clásicos de planificación, dimensionamiento y caracterización de una red celular LTE. |
publishDate |
2023 |
dc.date.created.none.fl_str_mv |
2023-10-13 |
dc.date.accessioned.none.fl_str_mv |
2024-09-25T20:25:49Z |
dc.date.available.none.fl_str_mv |
2024-09-25T20:25:49Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.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/41055 |
url |
http://hdl.handle.net/11349/41055 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Attribution-NonCommercial-NoDerivatives 4.0 Internacional Attribution-NonCommercial-NoDerivatives 4.0 Internacional Attribution-NonCommercial-NoDerivatives 4.0 Internacional Attribution-NonCommercial-NoDerivatives 4.0 Internacional Attribution-NonCommercial-NoDerivatives 4.0 Internacional 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/936b6c6c-f43e-45da-ab88-fa290b971cc2/download https://repository.udistrital.edu.co/bitstreams/aace2e93-23d4-41de-b21a-83aa2f9f01ed/download https://repository.udistrital.edu.co/bitstreams/78704f71-7c77-4ed2-a993-901ab5634640/download https://repository.udistrital.edu.co/bitstreams/3918b394-9c65-4dfe-beb9-c1f675946e45/download https://repository.udistrital.edu.co/bitstreams/8400333e-21e1-4e16-9431-59367b2cb587/download https://repository.udistrital.edu.co/bitstreams/9ebba810-8330-4728-8c9d-c6eb73d39510/download |
bitstream.checksum.fl_str_mv |
978cc2bbffe2d6a9d05c480941a0ec7d 95fa1b4c0dce8343042736f85d7ac5be 997daf6c648c962d566d7b082dac908d 4460e5956bc1d1639be9ae6146a50347 100df9b67f319031a33538946d0a28bc 085189b130a7d19c299d1de916a78af3 |
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_ |
1828164806766493696 |
spelling |
Pedraza Martínez, Luis FernandoPorras Garzón, NicolásGómez Pérez, Helmunt Alberto2024-09-25T20:25:49Z2024-09-25T20:25:49Z2023-10-13http://hdl.handle.net/11349/41055Diversas condiciones sobre las que operan las redes móviles LTE visibilizan la necesidad de establecer estrategias que permitan la interpretación de distintas variables que intervienen en su diseño, construcción, despliegue y funcionamiento. Una de estas variables clave dentro del contexto móvil LTE son las medidas de relación de potencia y calidad de señal, RSSI, RSRP y RSRQ. Los principales métodos usados para cuantificar estas medidas en un entorno físico, más allá de la medición en sitio, pueden ser los modelos de propagación, sin embargo, además de la construcción matemática que significa su uso e implementación, no son realmente herramientas que pronostiquen o predigan el comportamiento de la señal en un entorno específico, mostrando claramente una necesidad que no se ha suplido adecuadamente en esta área. En esta perspectiva, una opción viable a la predicción de estas medidas son los modelos predictivos, pero si además del problema de predecir propiamente, se suma el contexto de trabajo con equipos móviles y entornos al aire libre, tiene sentido encaminar estos modelos de predicción en un dispositivo que ofrezca portabilidad de alguna forma. Las tarjetas reprogramables tipo FPGA o los sistemas embebidos, proveen de una cantidad de recursos de procesamiento moderada que, en aplicaciones como las requeridas para este problema, resultan ser suficientes para implementar modelos predictivos. Es así como ZedBoard, en conjunto de un sistema operativo dedicado que soporte lenguajes de programación especializados en Machine Learning como Python, es un candidato adecuado para el prototipado de código en este campo. Se plantea entonces el diseño y ejecución en un ambiente interactivo de código Python, como Jupyter Notebook, el desarrollo de tres modelos predictivos basándose en los algoritmos de Regresión lineal, Regresión Polinomial, y Bosques Aleatorios, respectivamente, usando como referencia las mediciones reales tomadas de una estación base LTE sobre un terminal móvil. Adicionalmente, se desarrolla un modelo predictivo basado en Redes Neuronales Recurrentes fuera de la tarjeta ZedBoard, esto tiene como finalidad, en primer lugar, diversificar las alternativas en cuanto algoritmos Machine Learning usados; y también, sustentar técnicamente que la efectividad y utilidad que tiene el uso de otros modelos en embebidos que aparentemente no tienen la potencia necesaria en este tipo de aplicaciones, son también capaces de ofrecer soluciones completas en un área en el que no suelen ser considerados. Al finalizar el diseño y despliegue sobre los datos de prueba, las predicciones hechas por cada modelo son concluyentes y reafirman la posibilidad real que existe para implementar modelos predictivos basados en técnicas Machine Learning en sistemas embebidos, y dentro del contexto de las telecomunicaciones móviles. Para esta problemática en concreto, el modelo de Bosques Aleatorios mostró ser muy superior y adaptarse adecuadamente a las características propias de las variables LTE analizadas con un margen de error inferior al 6% en cualquier caso, incluso por encima del modelo Red Neuronal Recurrente que no fue ejecutado en ZedBoard, permitiendo deducir que existen otras opciones en relación con el pronóstico de señales móviles y ofreciendo nuevas alternativas a los métodos clásicos de planificación, dimensionamiento y caracterización de una red celular LTE.The different conditions under which LTE mobile networks operate make it necessary to establish strategies that allow the interpretation of different variables involved in their design, construction, deployment and operation. One of these key variables within the LTE mobile context are the power ratio and signal quality measurements, RSSI, RSRP and RSRQ. The main methods used to quantify these measurements in a physical environment, beyond on-site measurement, may be propagation models, however, in addition to the mathematical construction involved in their use and implementation, they are not really tools that forecast or predict signal behavior in a specific environment, clearly showing a need that has not been adequately met in this area. In this perspective, a viable option to the prediction of these measurements are predictive models, but if in addition to the problem of predicting itself, the context of working with mobile equipment and outdoor environments is added, it makes sense to route these prediction models in a device that offers portability in some way. FPGA-type reprogrammable boards or embedded systems provide a moderate amount of processing resources that, in applications such as those required for this problem, turn out to be sufficient to implement predictive models. Thus, ZedBoard, together with a dedicated operating system that supports programming languages specialized in Machine Learning such as Python, is a suitable candidate for code prototyping in this field. We propose then the design and execution in an interactive Python code environment, such as Jupyter Notebook, the development of three predictive models based on the algorithms of Linear Regression, Polynomial Regression, and Random Forests, respectively, using as reference the real measurements taken from an LTE base station on a mobile terminal. Additionally, a predictive model based on Recurrent Neural Networks is developed outside the ZedBoard. The purpose of this is, firstly, to diversify the alternatives in terms of Machine Learning algorithms used; and also, to technically support that the effectiveness and usefulness of the use of other embedded models that apparently do not have the necessary power in this type of applications, are also capable of offering complete solutions in an area in which they are not usually considered. At the end of the design and deployment on the test data, the predictions made by each model are conclusive and reaffirm the real possibility of implementing predictive models based on Machine Learning techniques in embedded systems, and within the context of mobile telecommunications. For this specific problem, the Random Forests model proved to be far superior and adequately adapted to the characteristics of the LTE variables analyzed with an error margin of less than 6% in any case, even above the Recurrent Neural Network model that was not executed in ZedBoard, allowing to deduce that there are other options in relation to the prediction of mobile signals and offering new alternatives to the classical methods of planning, dimensioning and characterization of an LTE cellular network.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 InternacionalAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Estación baseFPGALTEMachine LearningModelos predictivosPythonRSSIIngeniería en Telecomunicaciones -- Tesis y disertacioes académicasPredicción de medidas LTEMachine Learning en telecomunicacionesModelos predictivos en redes móvilesCalidad de señal en LTEBase stationFPGALTEMachine LearningPredictive ModelPythonRSSIImplementación de un sistema de predicción de medidas LTE utilizando la tarjeta de desarrollo Zedboard y Machine Learningmplementation of an LTE measurement prediction system using the Zedboard development board and Machine LearningbachelorThesisMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALPorrasGarzonNicolas2023.pdfPorrasGarzonNicolas2023.pdfTrabajo de gradoapplication/pdf2804884https://repository.udistrital.edu.co/bitstreams/936b6c6c-f43e-45da-ab88-fa290b971cc2/download978cc2bbffe2d6a9d05c480941a0ec7dMD56Licencia y autorización de los autores para publicarLicencia y autorización de los autores para publicarLicencia de uso y publicacionapplication/pdf478489https://repository.udistrital.edu.co/bitstreams/aace2e93-23d4-41de-b21a-83aa2f9f01ed/download95fa1b4c0dce8343042736f85d7ac5beMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/78704f71-7c77-4ed2-a993-901ab5634640/download997daf6c648c962d566d7b082dac908dMD58CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/3918b394-9c65-4dfe-beb9-c1f675946e45/download4460e5956bc1d1639be9ae6146a50347MD57THUMBNAILPorrasGarzonNicolas2023.pdf.jpgPorrasGarzonNicolas2023.pdf.jpgIM Thumbnailimage/jpeg4124https://repository.udistrital.edu.co/bitstreams/8400333e-21e1-4e16-9431-59367b2cb587/download100df9b67f319031a33538946d0a28bcMD59Licencia y autorización de los autores para publicar.jpgLicencia y autorización de los autores para publicar.jpgIM Thumbnailimage/jpeg12102https://repository.udistrital.edu.co/bitstreams/9ebba810-8330-4728-8c9d-c6eb73d39510/download085189b130a7d19c299d1de916a78af3MD51011349/41055oai:repository.udistrital.edu.co:11349/410552024-10-30 01:01:09.883http://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 |