Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C
El proyecto permite generar un código fuente en lenguaje Aixt (basado en V) que sea correctamente compilado a la serie PSoC 4 de manera automática, sin tener que realizar cambios manuales que puedan resultar tediosos y costosos en términos de tiempo y recursos. Aixt está optimizado para funcionar ef...
- Autores:
-
Tavera Leon, Javier Alfonso
Lucas Jutinico, Camilo Andres
- 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/39795
- Acceso en línea:
- http://hdl.handle.net/11349/39795
- Palabra clave:
- PSoC
Microcontroladores
Aixt
Lenguaje de programación V
Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y disertaciones académicas
Circuitos eléctronicos -- Electrónica
Hardware -- Computador
Programación -- Informática
V programming language
Microcontrollers
PSoC
Aixt
- Rights
- License
- Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id |
UDISTRITA2_73cf90bd002dc94b25b4952602168bc6 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/39795 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
dc.title.titleenglish.spa.fl_str_mv |
Transcompilation support for PSoC 4 series microcontrollers from a V-based language to its native C compiler |
title |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
spellingShingle |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C PSoC Microcontroladores Aixt Lenguaje de programación V Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y disertaciones académicas Circuitos eléctronicos -- Electrónica Hardware -- Computador Programación -- Informática V programming language Microcontrollers PSoC Aixt |
title_short |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
title_full |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
title_fullStr |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
title_full_unstemmed |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
title_sort |
Soporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en C |
dc.creator.fl_str_mv |
Tavera Leon, Javier Alfonso Lucas Jutinico, Camilo Andres |
dc.contributor.advisor.none.fl_str_mv |
Martínez Santa, Fernando |
dc.contributor.author.none.fl_str_mv |
Tavera Leon, Javier Alfonso Lucas Jutinico, Camilo Andres |
dc.subject.spa.fl_str_mv |
PSoC Microcontroladores Aixt Lenguaje de programación V |
topic |
PSoC Microcontroladores Aixt Lenguaje de programación V Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y disertaciones académicas Circuitos eléctronicos -- Electrónica Hardware -- Computador Programación -- Informática V programming language Microcontrollers PSoC Aixt |
dc.subject.lemb.none.fl_str_mv |
Ingeniería Eléctrica por Ciclos Propedéuticos -- Tesis y disertaciones académicas Circuitos eléctronicos -- Electrónica Hardware -- Computador Programación -- Informática |
dc.subject.keyword.spa.fl_str_mv |
V programming language Microcontrollers PSoC Aixt |
description |
El proyecto permite generar un código fuente en lenguaje Aixt (basado en V) que sea correctamente compilado a la serie PSoC 4 de manera automática, sin tener que realizar cambios manuales que puedan resultar tediosos y costosos en términos de tiempo y recursos. Aixt está optimizado para funcionar eficientemente en dispositivos con recursos limitados como los son los microcontroladores de la serie PSoC 4, lo que lo hace adecuado para aplicaciones que requieren una solución eficiente en términos de recursos. |
publishDate |
2023 |
dc.date.created.none.fl_str_mv |
2023-10-25 |
dc.date.accessioned.none.fl_str_mv |
2024-08-15T23:58:47Z |
dc.date.available.none.fl_str_mv |
2024-08-15T23:58:47Z |
dc.type.spa.fl_str_mv |
bachelorThesis |
dc.type.degree.spa.fl_str_mv |
Pasantí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/39795 |
url |
http://hdl.handle.net/11349/39795 |
dc.language.iso.none.fl_str_mv |
spa |
language |
spa |
dc.relation.references.none.fl_str_mv |
Fernando Martínez Santa (vol. 13, nº 12, p. 8, 2022). Microcontrollers Programming Framework based on a V-like programming Language [Articulo]. ProQuest.com. Recuperado de: https://www.proquest.com/openview/45feb85c9a7b12989aaf7e21a385577c/1?pqorigsite=gscholar&cbl=5444811 [Último acceso: Agosto del 2023]. Fernando Martínez Santa, «Aixt,» 2022. [En línea]. Available in: https://gitlab.com/fermarsan/aixt-project . [Último acceso: 27 Febrero 2023]. F. Martínez Santa, «Sokae Project,» Noviembre 2022. [En línea]. Available in: https://gitlab.com/fermarsan/sokae-project . Fernando Martinez Santa, Santiago Orjuela Rivera, and Fredy H. Martinez Sarmiento (2022). "Rust-like Programming Language for Low-resource Microcontrollers." Advances in Dynamical Systems and Applications vol. 17 nº 2 pp. 599-614, 2022. Recuperado de: https://repositorio.cun.edu.co/handle/cun/4469. [Último acceso: Julio del 2023]. Cypress semiconductor. (8 de enero del 2016). PSoC Creator 101:0. CY8CKIT049 Prototyping Kit Getting Started.[Archivo de video]. Youtube. https://www.youtube.com/watch?v=v-ZHFygeL2I . PSoC Projects. (15 de Marzo del 2015). ADC y UART PSoC 4 CY8CKIT-049. [Archivo de video]. Youtube. https://www.youtube.com/watch?v=hWFiN5NY_NU&t=639s . PSoC Projects. (11 de Octubre del 2016). PSoC4S-CY8CKIT145. [Archivo de video]. Youtube. https://www.youtube.com/watch?v=YvJfd_lAJJA . Cypress Semiconductor Corporation. PSoC4 Prototyping Kit Guide CY8CKIT049XX. Doc. #: 001-90711 [Online]. 2014 2018. Recuperado de: https://www.infineon.com/dgdl/Infineon-CY8CKIT-049- 4xxx_PSoC_4_Prototyping_Kit_Guide-UserManual-v01_00- EN.pdf?fileId=8ac78c8c7d0d8da4017d0ef17bd002cb . [Último acceso: Junio del 2023]. Cypress Semiconductor Corporation. PSoC4 Prototyping Kit Guide CY8CKIT145-40XX. Doc. #: 002-11504 [Online]. 2016 2018. Recuperado de: https://www.infineon.com/dgdl/Infineon-CY8CKIT-145- 40XX_PSoC_4000S_Prototyping_Kit_Guide-UserManual-v01_00- EN.pdf?fileId=8ac78c8c7d0d8da4017d0efccdd91344 . [Último acceso: Junio del 2023]. Kelsey R. Fulton, Anna Chan, Daniel Votipka, Michael Hicks y Michelle L. Mazurek. (9 de Agosto del 2021). Benefits and Drawbacks of Adopting a Secure Programming Language: Rust as a Case Study. [Articulo]. usenix.org. Recuperado de: https://www.usenix.org/system/files/soups2021-fulton.pdf . [Último acceso: Abril del 2023]. |
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/47d0127d-2c3d-40a3-8648-38205ac42dfd/download https://repository.udistrital.edu.co/bitstreams/5e4e4942-48b6-418b-9d9a-7dc4b6f642e7/download https://repository.udistrital.edu.co/bitstreams/8ed2e720-aac4-4921-9b61-0030d7c6bfc7/download https://repository.udistrital.edu.co/bitstreams/18bb8e7a-85a5-4685-ac38-356b48e8a0ab/download https://repository.udistrital.edu.co/bitstreams/1655ba0b-c525-4a98-b5c0-a827d3a37792/download https://repository.udistrital.edu.co/bitstreams/3b391f68-3551-4cf6-bbaa-2677c8dd4011/download |
bitstream.checksum.fl_str_mv |
997daf6c648c962d566d7b082dac908d c1f62a086daccd0d7d0d680a2b3997ed 9d456d758052e9cd4b932fe632aac147 4460e5956bc1d1639be9ae6146a50347 28ffd0197cbf1a882a37c9eea99b3dbc 52539665b58eeacd8de79159f34c28b6 |
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_ |
1828164849208655872 |
spelling |
Martínez Santa, FernandoTavera Leon, Javier AlfonsoLucas Jutinico, Camilo Andres2024-08-15T23:58:47Z2024-08-15T23:58:47Z2023-10-25http://hdl.handle.net/11349/39795El proyecto permite generar un código fuente en lenguaje Aixt (basado en V) que sea correctamente compilado a la serie PSoC 4 de manera automática, sin tener que realizar cambios manuales que puedan resultar tediosos y costosos en términos de tiempo y recursos. Aixt está optimizado para funcionar eficientemente en dispositivos con recursos limitados como los son los microcontroladores de la serie PSoC 4, lo que lo hace adecuado para aplicaciones que requieren una solución eficiente en términos de recursos.The project allows generating source code in Aixt language (based on V) that is correctly compiled to the PSoC 4 series automatically, without having to make manual changes that can be tedious and costly in terms of time and resources. Aixt is optimized to run efficiently on resource-constrained devices such as PSoC 4 series microcontrollers, making it suitable for applications that require a resource-efficient solution.pdfspaAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2PSoCMicrocontroladoresAixtLenguaje de programación VIngeniería Eléctrica por Ciclos Propedéuticos -- Tesis y disertaciones académicasCircuitos eléctronicos -- ElectrónicaHardware -- ComputadorProgramación -- InformáticaV programming languageMicrocontrollersPSoCAixtSoporte de transcompilación para microcontroladores de la serie PSoC 4, desde un lenguaje basado en V a su compilador nativo en CTranscompilation support for PSoC 4 series microcontrollers from a V-based language to its native C compilerbachelorThesisPasantíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fFernando Martínez Santa (vol. 13, nº 12, p. 8, 2022). Microcontrollers Programming Framework based on a V-like programming Language [Articulo]. ProQuest.com. Recuperado de: https://www.proquest.com/openview/45feb85c9a7b12989aaf7e21a385577c/1?pqorigsite=gscholar&cbl=5444811 [Último acceso: Agosto del 2023].Fernando Martínez Santa, «Aixt,» 2022. [En línea]. Available in: https://gitlab.com/fermarsan/aixt-project . [Último acceso: 27 Febrero 2023].F. Martínez Santa, «Sokae Project,» Noviembre 2022. [En línea]. Available in: https://gitlab.com/fermarsan/sokae-project .Fernando Martinez Santa, Santiago Orjuela Rivera, and Fredy H. Martinez Sarmiento (2022). "Rust-like Programming Language for Low-resource Microcontrollers." Advances in Dynamical Systems and Applications vol. 17 nº 2 pp. 599-614, 2022. Recuperado de: https://repositorio.cun.edu.co/handle/cun/4469. [Último acceso: Julio del 2023].Cypress semiconductor. (8 de enero del 2016). PSoC Creator 101:0. CY8CKIT049 Prototyping Kit Getting Started.[Archivo de video]. Youtube. https://www.youtube.com/watch?v=v-ZHFygeL2I .PSoC Projects. (15 de Marzo del 2015). ADC y UART PSoC 4 CY8CKIT-049. [Archivo de video]. Youtube. https://www.youtube.com/watch?v=hWFiN5NY_NU&t=639s .PSoC Projects. (11 de Octubre del 2016). PSoC4S-CY8CKIT145. [Archivo de video]. Youtube. https://www.youtube.com/watch?v=YvJfd_lAJJA .Cypress Semiconductor Corporation. PSoC4 Prototyping Kit Guide CY8CKIT049XX. Doc. #: 001-90711 [Online]. 2014 2018. Recuperado de: https://www.infineon.com/dgdl/Infineon-CY8CKIT-049- 4xxx_PSoC_4_Prototyping_Kit_Guide-UserManual-v01_00- EN.pdf?fileId=8ac78c8c7d0d8da4017d0ef17bd002cb . [Último acceso: Junio del 2023].Cypress Semiconductor Corporation. PSoC4 Prototyping Kit Guide CY8CKIT145-40XX. Doc. #: 002-11504 [Online]. 2016 2018. Recuperado de: https://www.infineon.com/dgdl/Infineon-CY8CKIT-145- 40XX_PSoC_4000S_Prototyping_Kit_Guide-UserManual-v01_00- EN.pdf?fileId=8ac78c8c7d0d8da4017d0efccdd91344 . [Último acceso: Junio del 2023].Kelsey R. Fulton, Anna Chan, Daniel Votipka, Michael Hicks y Michelle L. Mazurek. (9 de Agosto del 2021). Benefits and Drawbacks of Adopting a Secure Programming Language: Rust as a Case Study. [Articulo]. usenix.org. Recuperado de: https://www.usenix.org/system/files/soups2021-fulton.pdf . [Último acceso: Abril del 2023].LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/47d0127d-2c3d-40a3-8648-38205ac42dfd/download997daf6c648c962d566d7b082dac908dMD55ORIGINALTrabajo de gradoTrabajo de gradoapplication/pdf688362https://repository.udistrital.edu.co/bitstreams/5e4e4942-48b6-418b-9d9a-7dc4b6f642e7/downloadc1f62a086daccd0d7d0d680a2b3997edMD51Licencia de uso y autorizaciónLicencia de uso y autorizaciónapplication/pdf530929https://repository.udistrital.edu.co/bitstreams/8ed2e720-aac4-4921-9b61-0030d7c6bfc7/download9d456d758052e9cd4b932fe632aac147MD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/18bb8e7a-85a5-4685-ac38-356b48e8a0ab/download4460e5956bc1d1639be9ae6146a50347MD54THUMBNAILTrabajo de grado.jpgTrabajo de grado.jpgIM Thumbnailimage/jpeg11963https://repository.udistrital.edu.co/bitstreams/1655ba0b-c525-4a98-b5c0-a827d3a37792/download28ffd0197cbf1a882a37c9eea99b3dbcMD56Licencia de uso y autorización.jpgLicencia de uso y autorización.jpgIM Thumbnailimage/jpeg9698https://repository.udistrital.edu.co/bitstreams/3b391f68-3551-4cf6-bbaa-2677c8dd4011/download52539665b58eeacd8de79159f34c28b6MD5711349/39795oai:repository.udistrital.edu.co:11349/397952024-11-02 01:02:12.963http://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 |