Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.

En el presente documento se muestra una propuesta de diseño e implementación de unaherramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana (FAC), partiendo de un proyecto previamente realizado por la Oficina de...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2022
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/30113
Acceso en línea:
http://hdl.handle.net/11349/30113
Palabra clave:
Backend
Camila T-90
Entrenamiento en vuelo
FAC
Python
Raspberry PI
Aviónica
Ingeniería en Telecomunicaciones - Tesis y disertaciones académicas
Telemetría aeroespacial
Electrónica - Mediciones
Dispositivos de almacenamiento (Computadores)
Python (Lenguaje de programación de computadores)
Sistemas de transmisión de datos
Camila T-90
FAC
python
Raspberry PI
Avionics
Back-end
Fight
Training
Rights
License
CC0 1.0 Universal
id UDISTRITA2_0d7f3dc784374de399a25e4b8ca612fa
oai_identifier_str oai:repository.udistrital.edu.co:11349/30113
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
dc.title.titleenglish.spa.fl_str_mv Design and implementation of a tool for the processing, storage and visualization of telemetry data from the Calima T-90 aircraft of the Colombian Air Force.
title Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
spellingShingle Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
Backend
Camila T-90
Entrenamiento en vuelo
FAC
Python
Raspberry PI
Aviónica
Ingeniería en Telecomunicaciones - Tesis y disertaciones académicas
Telemetría aeroespacial
Electrónica - Mediciones
Dispositivos de almacenamiento (Computadores)
Python (Lenguaje de programación de computadores)
Sistemas de transmisión de datos
Camila T-90
FAC
python
Raspberry PI
Avionics
Back-end
Fight
Training
title_short Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
title_full Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
title_fullStr Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
title_full_unstemmed Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
title_sort Diseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.
dc.contributor.advisor.none.fl_str_mv Gómez Gómez, Edgar Leonardo
dc.subject.spa.fl_str_mv Backend
Camila T-90
Entrenamiento en vuelo
FAC
Python
Raspberry PI
Aviónica
topic Backend
Camila T-90
Entrenamiento en vuelo
FAC
Python
Raspberry PI
Aviónica
Ingeniería en Telecomunicaciones - Tesis y disertaciones académicas
Telemetría aeroespacial
Electrónica - Mediciones
Dispositivos de almacenamiento (Computadores)
Python (Lenguaje de programación de computadores)
Sistemas de transmisión de datos
Camila T-90
FAC
python
Raspberry PI
Avionics
Back-end
Fight
Training
dc.subject.lemb.spa.fl_str_mv Ingeniería en Telecomunicaciones - Tesis y disertaciones académicas
Telemetría aeroespacial
Electrónica - Mediciones
Dispositivos de almacenamiento (Computadores)
Python (Lenguaje de programación de computadores)
Sistemas de transmisión de datos
dc.subject.keyword.spa.fl_str_mv Camila T-90
FAC
python
Raspberry PI
Avionics
Back-end
Fight
Training
description En el presente documento se muestra una propuesta de diseño e implementación de unaherramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana (FAC), partiendo de un proyecto previamente realizado por la Oficina de Certificación Aeronáutica de la Defensa (SECAD) que buscaba establecer un enlace de comunicación de datos de telemetría en tiempo real entre una estación en tierra y las aeronaves que son usadas para propósitos de entrenamiento de pilotosenla Escuela Militar de Aviación Marco Fidel Suárez. De acuerdo con los resultados alcanzados hasta el momento por la FACse tienen varias conclusiones, las más relevantes son: primero, se tiene un retardo de varios segundos en e lprocesamiento de los datos a nivel de software que puede llegar a ocasionar pérdida de información y mal funcionamiento del sistema; segundo, la FAC ha de pagar licenciamientos costosos al utilizar tecnología de NI (National Instruments) además que el software de LabVIEWes bastante restrictivo para el desarrollador y requiere de muchos recursos computacionales para ser ejecutado en un computador. Partiendo de dichas falencias, se ha implementado una aplicación en una RASPBERRYPI4 donde se tiene una entidad BACKEND realizada en Python que recibe los datos de la antena entierra, procesa la información y la emite a través de WEBSOCKET. La entidad FRONTENDrecibe los datos y los plasma en una interfaz gráfica, usando los lenguajes HTML, CSSyJavaScript de libre licenciamiento. Se testea la aplicación en la base CAMAN (Comando Aéreo de Mantenimiento) de laFACenMadrid Cundinamarca utilizando un panel de aviónica de la aeronave Calima T90, en el cual se emula el comportamiento de la aeronave en vuelo, comprobando una rápida respuesta para graficar los datos provenientes de la aeronave para 4 escenarios propuestos. Como resultado se tiene una aplicación de bajo consumo de recursos de Hardware y un código que se puede utilizar como base para futuros proyectos relacionados.
publishDate 2022
dc.date.accessioned.none.fl_str_mv 2022-08-18T15:38:45Z
dc.date.available.none.fl_str_mv 2022-08-18T15:38:45Z
dc.date.created.none.fl_str_mv 2022-03-07
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/30113
url http://hdl.handle.net/11349/30113
dc.language.iso.spa.fl_str_mv spa
language spa
dc.rights.*.fl_str_mv CC0 1.0 Universal
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/publicdomain/zero/1.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv CC0 1.0 Universal
http://creativecommons.org/publicdomain/zero/1.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv http://repository.udistrital.edu.co/bitstream/11349/30113/5/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/30113/6/license.txt
http://repository.udistrital.edu.co/bitstream/11349/30113/2/GonzalezRia%c3%b1oOscarJulian2022.pdf
http://repository.udistrital.edu.co/bitstream/11349/30113/4/Licencia%20de%20uso%20y%20publicacion.pdf
http://repository.udistrital.edu.co/bitstream/11349/30113/7/GonzalezRia%c3%b1oOscarJulian2022.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/30113/8/Licencia%20de%20uso%20y%20publicacion.pdf.jpg
bitstream.checksum.fl_str_mv 42fd4ad1e89814f5e4a476b409eb708c
997daf6c648c962d566d7b082dac908d
2ed9a2f32ff5a0c51aa68cc437a91188
7908c001fa7dfbf11694089a62fd1c6d
67c4bb06c4c70af5f4753f334653c89f
3a52bcc0d97d26e3b5fce067af55fdeb
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_ 1803712499472662528
spelling Gómez Gómez, Edgar LeonardoGonzález Riaño, Oscar JuliánVega Valencia, Brayan Andrés2022-08-18T15:38:45Z2022-08-18T15:38:45Z2022-03-07http://hdl.handle.net/11349/30113En el presente documento se muestra una propuesta de diseño e implementación de unaherramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana (FAC), partiendo de un proyecto previamente realizado por la Oficina de Certificación Aeronáutica de la Defensa (SECAD) que buscaba establecer un enlace de comunicación de datos de telemetría en tiempo real entre una estación en tierra y las aeronaves que son usadas para propósitos de entrenamiento de pilotosenla Escuela Militar de Aviación Marco Fidel Suárez. De acuerdo con los resultados alcanzados hasta el momento por la FACse tienen varias conclusiones, las más relevantes son: primero, se tiene un retardo de varios segundos en e lprocesamiento de los datos a nivel de software que puede llegar a ocasionar pérdida de información y mal funcionamiento del sistema; segundo, la FAC ha de pagar licenciamientos costosos al utilizar tecnología de NI (National Instruments) además que el software de LabVIEWes bastante restrictivo para el desarrollador y requiere de muchos recursos computacionales para ser ejecutado en un computador. Partiendo de dichas falencias, se ha implementado una aplicación en una RASPBERRYPI4 donde se tiene una entidad BACKEND realizada en Python que recibe los datos de la antena entierra, procesa la información y la emite a través de WEBSOCKET. La entidad FRONTENDrecibe los datos y los plasma en una interfaz gráfica, usando los lenguajes HTML, CSSyJavaScript de libre licenciamiento. Se testea la aplicación en la base CAMAN (Comando Aéreo de Mantenimiento) de laFACenMadrid Cundinamarca utilizando un panel de aviónica de la aeronave Calima T90, en el cual se emula el comportamiento de la aeronave en vuelo, comprobando una rápida respuesta para graficar los datos provenientes de la aeronave para 4 escenarios propuestos. Como resultado se tiene una aplicación de bajo consumo de recursos de Hardware y un código que se puede utilizar como base para futuros proyectos relacionados.This document shows a proposal for the design and implementation of a tool for the processing, storage and visualization of telemetry data from the Calima T-90 aircraft of the Colombian Air Force (FAC), based on a project previously carried out by the Defense Aeronautical Certification Office ( SECAD) that sought to establish a telemetry data communication link in real time between a ground station and the aircraft that are used for pilot training purposes at the Marco Fidel Suarez Military Aviation School. According to the results achieved so far by the FAC, there are several conclusions, the most relevant are: first, there is a delay of several seconds in the processing of data at the software level that can cause loss of information and malfunction of the system; second, the FAC has to pay expensive licenses when using NI (National Instruments) technology, in addition to the fact that LabVIEW software is quite restrictive for the developer and requires a lot of computational resources to be executed on a computer. Based on these shortcomings, an application has been implemented in a RASPBERRYPI4 where there is a BACKEND entity made in Python that receives the data from the underground antenna, processes the information and emits it through WEBSOCKET. The FRONTEND entity receives the data and displays it in a graphical interface, using the freely licensed HTML, CSS and JavaScript languages. The application is tested at the CAMAN base (Air Maintenance Command) of the FAC in Madrid Cundinamarca using an avionics panel from the Calima T90 aircraft, in which the behavior of the aircraft in flight is simulated, checking a rapid response to graph the data coming from the aircraft to 4 proposed scenarios. As a result, there is an application with low consumption of Hardware resources and a code that can be used as a base for future related projects.Fuerza Aérea ColombianapdfspaCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2BackendCamila T-90Entrenamiento en vueloFACPythonRaspberry PIAviónicaIngeniería en Telecomunicaciones - Tesis y disertaciones académicasTelemetría aeroespacialElectrónica - MedicionesDispositivos de almacenamiento (Computadores)Python (Lenguaje de programación de computadores)Sistemas de transmisión de datosCamila T-90FACpythonRaspberry PIAvionicsBack-endFightTrainingDiseño e implementación de una herramienta para el procesamiento, almacenamiento y visualización de datos de telemetría de la aeronave Calima T-90 de la Fuerza Aérea Colombiana.Design and implementation of a tool for the processing, storage and visualization of telemetry data from the Calima T-90 aircraft of the Colombian Air Force.Monografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701http://repository.udistrital.edu.co/bitstream/11349/30113/5/license_rdf42fd4ad1e89814f5e4a476b409eb708cMD55open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87167http://repository.udistrital.edu.co/bitstream/11349/30113/6/license.txt997daf6c648c962d566d7b082dac908dMD56open accessORIGINALGonzalezRiañoOscarJulian2022.pdfGonzalezRiañoOscarJulian2022.pdfapplication/pdf3612100http://repository.udistrital.edu.co/bitstream/11349/30113/2/GonzalezRia%c3%b1oOscarJulian2022.pdf2ed9a2f32ff5a0c51aa68cc437a91188MD52open accessLicencia de uso y publicacion.pdfLicencia de uso y publicacion.pdfLicencia de uso y publicaciónapplication/pdf296038http://repository.udistrital.edu.co/bitstream/11349/30113/4/Licencia%20de%20uso%20y%20publicacion.pdf7908c001fa7dfbf11694089a62fd1c6dMD54metadata only accessTHUMBNAILGonzalezRiañoOscarJulian2022.pdf.jpgGonzalezRiañoOscarJulian2022.pdf.jpgIM Thumbnailimage/jpeg6570http://repository.udistrital.edu.co/bitstream/11349/30113/7/GonzalezRia%c3%b1oOscarJulian2022.pdf.jpg67c4bb06c4c70af5f4753f334653c89fMD57open accessLicencia de uso y publicacion.pdf.jpgLicencia de uso y publicacion.pdf.jpgIM Thumbnailimage/jpeg13389http://repository.udistrital.edu.co/bitstream/11349/30113/8/Licencia%20de%20uso%20y%20publicacion.pdf.jpg3a52bcc0d97d26e3b5fce067af55fdebMD58open access11349/30113oai:repository.udistrital.edu.co:11349/301132023-06-13 14:41:29.33open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK