Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485
Este articulo muestra el desarrollo de un sistema maestro/esclavo haciendo uso del protocolo de comunicación I2C por medio físico RS-485 para el control de los actuadores que trabajan en la PPA (Planta De Procesos Análogos) con el fin de reemplazar ciertas funciones del PLC (Controlador lógico progr...
- Autores:
- Tipo de recurso:
- Trabajo de grado de pregrado
- Fecha de publicación:
- 2015
- Institución:
- Universidad Distrital Francisco José de Caldas
- Repositorio:
- RIUD: repositorio U. Distrital
- Idioma:
- spa
- OAI Identifier:
- oai:repository.udistrital.edu.co:11349/2245
- Acceso en línea:
- http://hdl.handle.net/11349/2245
- Palabra clave:
- Actuador inteligente
I2C
PSoC
Python
RS-485
Tecnología en Electrónica - Tesis y disertaciones académicas
Controladores programables
Python (Lenguaje de programación de computadores)
Lenguajes de programación (Computadores)
Actuadores inteligentes
Intelligent actuator
I2C
PSoC
Python
RS_485
- Rights
- License
- Atribución-NoComercial-SinDerivadas 4.0 Internacional
id |
UDISTRITA2_b920352b6c90a0e4ae8240741a6df8b1 |
---|---|
oai_identifier_str |
oai:repository.udistrital.edu.co:11349/2245 |
network_acronym_str |
UDISTRITA2 |
network_name_str |
RIUD: repositorio U. Distrital |
repository_id_str |
|
dc.title.spa.fl_str_mv |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
dc.title.titleenglish.spa.fl_str_mv |
Intelligent actuators i2c communication protocol and rs-485 physical means |
title |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
spellingShingle |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 Actuador inteligente I2C PSoC Python RS-485 Tecnología en Electrónica - Tesis y disertaciones académicas Controladores programables Python (Lenguaje de programación de computadores) Lenguajes de programación (Computadores) Actuadores inteligentes Intelligent actuator I2C PSoC Python RS_485 |
title_short |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
title_full |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
title_fullStr |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
title_full_unstemmed |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
title_sort |
Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485 |
dc.contributor.advisor.spa.fl_str_mv |
Porras Bohada, Jorge Eduardo |
dc.subject.spa.fl_str_mv |
Actuador inteligente I2C PSoC Python RS-485 |
topic |
Actuador inteligente I2C PSoC Python RS-485 Tecnología en Electrónica - Tesis y disertaciones académicas Controladores programables Python (Lenguaje de programación de computadores) Lenguajes de programación (Computadores) Actuadores inteligentes Intelligent actuator I2C PSoC Python RS_485 |
dc.subject.lemb.spa.fl_str_mv |
Tecnología en Electrónica - Tesis y disertaciones académicas Controladores programables Python (Lenguaje de programación de computadores) Lenguajes de programación (Computadores) Actuadores inteligentes |
dc.subject.keyword.spa.fl_str_mv |
Intelligent actuator I2C PSoC Python RS_485 |
description |
Este articulo muestra el desarrollo de un sistema maestro/esclavo haciendo uso del protocolo de comunicación I2C por medio físico RS-485 para el control de los actuadores que trabajan en la PPA (Planta De Procesos Análogos) con el fin de reemplazar ciertas funciones del PLC (Controlador lógico programable) con el que cuenta actualmente la planta. Este sistema se implementa utilizando PSoC 4200 Prototyping Kit, el sistema es inteligente por tener las características de llevar la cuenta del uso del actuador, el estado del mismo (On/Off) e informar en caso de desconexión por factores externos (desgaste o daño en las líneas de comunicación y/o hardware) o interno (comunicación fallida), además de preservar la cuenta y estado en caso de pérdida en la alimentación del dispositivo. Se hace uso del software libre Python para diseñar la interfaz gráfica, en la cual el usuario tiene la posibilidad de visualizar el estado de los actuadores, así como su correcto funcionamiento e interactuar con estos para su correspondiente apertura y cierre. |
publishDate |
2015 |
dc.date.accessioned.none.fl_str_mv |
2015-10-19T20:42:59Z |
dc.date.available.none.fl_str_mv |
2015-10-19T20:42:59Z |
dc.date.created.spa.fl_str_mv |
2015-02-16 |
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/2245 |
url |
http://hdl.handle.net/11349/2245 |
dc.language.iso.spa.fl_str_mv |
spa |
language |
spa |
dc.rights.*.fl_str_mv |
Atribución-NoComercial-SinDerivadas 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 |
Atribución-NoComercial-SinDerivadas 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 |
http://repository.udistrital.edu.co/bitstream/11349/2245/3/PimentelOspinaErika2015.pdf.jpg http://repository.udistrital.edu.co/bitstream/11349/2245/2/license.txt http://repository.udistrital.edu.co/bitstream/11349/2245/1/PimentelOspinaErika2015.pdf |
bitstream.checksum.fl_str_mv |
35262a58849bda23aacda3e38c3658aa e6c9e0df7dc5f123da9169c3e3e5c87a fbfab8250fa45290ad5a7150ac48ee73 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositorio Institucional Universidad Distrital - RIUD |
repository.mail.fl_str_mv |
repositorio@udistrital.edu.co |
_version_ |
1814111218283053056 |
spelling |
Porras Bohada, Jorge EduardoPimentel Ospina, ErikaYate Monrroy, Yeferson2015-10-19T20:42:59Z2015-10-19T20:42:59Z2015-02-16http://hdl.handle.net/11349/2245Este articulo muestra el desarrollo de un sistema maestro/esclavo haciendo uso del protocolo de comunicación I2C por medio físico RS-485 para el control de los actuadores que trabajan en la PPA (Planta De Procesos Análogos) con el fin de reemplazar ciertas funciones del PLC (Controlador lógico programable) con el que cuenta actualmente la planta. Este sistema se implementa utilizando PSoC 4200 Prototyping Kit, el sistema es inteligente por tener las características de llevar la cuenta del uso del actuador, el estado del mismo (On/Off) e informar en caso de desconexión por factores externos (desgaste o daño en las líneas de comunicación y/o hardware) o interno (comunicación fallida), además de preservar la cuenta y estado en caso de pérdida en la alimentación del dispositivo. Se hace uso del software libre Python para diseñar la interfaz gráfica, en la cual el usuario tiene la posibilidad de visualizar el estado de los actuadores, así como su correcto funcionamiento e interactuar con estos para su correspondiente apertura y cierre.This article shows the development of a Master / Slave system using I2C communication protocol for RS-485 physical means to control actuators working in the APP (Analog Process Plant) in order to replace certain functions of the PLC (programmable Logic Controller) with which currently has the plant. This system is implemented using PSoC 4200 Prototyping Kit, the system is smart to have the features to keep track of the use of the actuator, the condition (On / Off) and report in case of disconnection by external factors (wear or damage in the communication lines and / or hardware) or internal (failed communication), besides preserving the state account and for loss in power from the device. Python use of free software is made to design the GUI in which the user has the ability to view the status of the actuators, as well as proper operation and interact with those for the corresponding opening and closing.pdfspaAtribución-NoComercial-SinDerivadas 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Actuador inteligenteI2CPSoCPythonRS-485Tecnología en Electrónica - Tesis y disertaciones académicasControladores programablesPython (Lenguaje de programación de computadores)Lenguajes de programación (Computadores)Actuadores inteligentesIntelligent actuatorI2CPSoCPythonRS_485Actuadores inteligentes con protocolo de comunicación I2C y medio físico RS-485Intelligent actuators i2c communication protocol and rs-485 physical meansinfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILPimentelOspinaErika2015.pdf.jpgPimentelOspinaErika2015.pdf.jpgIM Thumbnailimage/jpeg14360http://repository.udistrital.edu.co/bitstream/11349/2245/3/PimentelOspinaErika2015.pdf.jpg35262a58849bda23aacda3e38c3658aaMD53open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-85946http://repository.udistrital.edu.co/bitstream/11349/2245/2/license.txte6c9e0df7dc5f123da9169c3e3e5c87aMD52open accessORIGINALPimentelOspinaErika2015.pdfPimentelOspinaErika2015.pdfTrabajo de gradoapplication/pdf633700http://repository.udistrital.edu.co/bitstream/11349/2245/1/PimentelOspinaErika2015.pdffbfab8250fa45290ad5a7150ac48ee73MD51metadata only access11349/2245oai:repository.udistrital.edu.co:11349/22452023-06-13 11:51:57.525metadata only accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyAgREUgQ09OVEVOSURPUyBFTiBFTCBSRVBPU0lUT1JJTyBJTlNUSVRVQ0lPTkFMIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTA0KVMOpcm1pbm9zIHkgY29uZGljaW9uZXMgZGUgdXNvICBwYXJhIHB1YmxpY2FjacOzbiBkZSBvYnJhcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuDQoNCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCAgY29uZmllcm8gKGVyaW1vcykgYSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB1bmEgbGljZW5jaWEgcGFyYSB1c28gIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSAgaW50ZWdyYXLDoSAgZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBhY3VlcmRvIGEgbGFzIHNpZ3VpZW50ZXMgcmVnbGFzLCAgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoNCg0KYSkgRXN0YXLDoSB2aWdlbnRlIGEgcGFydGlyIGRlIGxhIGZlY2hhICBlbiBxdWUgc2UgaW5jbHV5YSAgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCB5IGhhc3RhICBwb3IgdW4gcGxhem8gZGUgIGRpZXogKDEwKSAgQcOxb3MsICBwcm9ycm9nYWJsZSAgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gcXVlIGR1cmUgZWwgZGVyZWNobyBQYXRyaW1vbmlhbCBkZWwgYXV0b3I7ICBsYSBjdWFsIHBvZHLDoSAgIGRhcnNlICBwb3IgdGVybWluYWRhICBwcmV2aWEgIHNvbGljaXR1ZCAgIGEgbGEgVW5pdmVyc2lkYWQgcG9yIGVzY3JpdG8gY29uIHVuYSBhbnRlbGFjacOzbiBkZSBkb3MgKDIpIG1lc2VzIGFudGVzIGRlbCB2ZW5jaW1pZW50byBkZWwgcGxhem8gIGluaWNpYWwgbyBlbCBkZSBzdShzKSBwcsOzcnJvZ2EocykuICANCg0KYikgTGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgcG9kcsOhICBwdWJsaWNhciBsYSBvYnJhIGVuIGxhcyBkaXN0aW50YXMgdmVyc2lvbmVzIHJlcXVlcmlkYXMgKGRpZ2l0YWwsIGltcHJlc28sIGVsZWN0csOzbmljbyB1IG90cm8gbWVkaW8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikgIHBvciBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsLCAgTGEgVW5pdmVyc2lkYWQgbm8gc2Vyw6EgcmVzcG9uc2FibGUgZW4gZWwgZXZlbnRvIHF1ZSBlbCAgZG9jdW1lbnRvIGFwYXJlemNhIHJlZmVyZW5jaWFkbyBlbiBtb3RvcmVzIGRlIGLDunNxdWVkYSBvIHJlcG9zaXRvcmlvcyAgZGlmZXJlbnRlcyBhbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsLCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgIHNvbGljaXRlbiBzdSBlbGltaW5hY2nDs24gZGVsIFJlcG9zaXRvcmlvIGRlIGxhIFVuaXZlcnNpZGFkLCBkYWRvIHF1ZSAgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuICBJbnRlcm5ldC4gDQoNCmMpIExhIGF1dG9yaXphY2nDs24gc2UgaGFjZSBhIHTDrXR1bG8gZ3JhdHVpdG8sIHBvciBsbyB0YW50bywgbG9zIGF1dG9yZXMgcmVudW5jaWFuIGEgcmVjaWJpciBiZW5lZmljaW8gYWxndW5vIHBvciBsYSBwdWJsaWNhY2nDs24sIGRpc3RyaWJ1Y2nDs24sIGNvbXVuaWNhY2nDs24gIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSAgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuDQoNCmQpIExvcyBjb250ZW5pZG9zIHB1YmxpY2Fkb3MgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBzb24gIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhICBjdWFsKGVzKSAgZWwob3MpIGF1dG9yKGVzKSBjb21vIHRpdHVsYXJlcyBkZSBsb3MgIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIGxhIFVuaXZlcnNpZGFkIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uDQoNCmUpIExhICBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuIA0KDQpmKSBMYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyBwb2Ryw6EgY29udmVydGlyIGxhIG9icmEgIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluICBkZSBzdSBwcmVzZXJ2YWNpw7NuIGVuIGVsIHRpZW1wbyBxdWUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBsYSBkZSBzdXMgcHLDs3Jyb2dhcy4NCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXrDsyBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBvYnJhICB0aXR1bGFkYSBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KDQogQSBmYXZvciBkZWwgIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgeSAgZGUgc3VzIHVzdWFyaW9zLCAgIGN1eW8ocykgIGF1dG9yKGVzKSBzb246IA0KQXV0b3IJQXBlbGxpZG9zCU5vbWJyZXMNCjEJCQ0KMgkJDQozCQkNCg0KYSkgQXV0b3Jpem8gcXVlIGxhIG9icmEgc2VhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZWwgcMO6YmxpY28gZW4gbG9zIHTDqXJtaW5vcyBhdXRvcml6YWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsICBiYWpvIGxvcyBsw61taXRlcyBkZWZpbmlkb3MgcG9yIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgUklVRCwgY3V5byB0ZXh0byBjb21wbGV0byBzZSBwdWVkZSBjb25zdWx0YXIgZW4gaHR0cDovL3JlcG9zaXRvcnkudWRpc3RyaXRhbC5lZHUuY28vDQoNCmIpIENvbm96Y28geSBhY2VwdG8gcXVlIG90b3JnbyB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIG9idGVuaWRvIHVuYSBjb3BpYS4NCg0KYykgIE1hbmlmaWVzdG8gbWkgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uDQoNCmcpIFF1ZSBjb25vemNvICAgbGEgbm9ybWF0aXZpZGFkIGludGVybmEgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgcmVsYXRpdm8gYSBwcm9waWVkYWQgIGludGVsZWN0dWFsIHJlZ3VsYWRhIHBvciBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgeSBsYXMgZGVtw6FzIG5vcm1hcyBjb25jb3JkYW50ZSB5IGNvbXBsZW1lbnRhcmlhcyBxdWUgcmlnZW4gYWwgcmVzcGVjdG8uIEVzdG9zIGRvY3VtZW50b3MgcG9kcsOhbiBzZXIgY29uc3VsdGFkb3MgeSBkZXNjYXJnYWRvcyBlbiBlbCBwb3J0YWwgd2ViIGRlIGxhIGJpYmxpb3RlY2EgaHR0cDovL3Npc3RlbWFkZWJpYmxpb3RlY2FzLnVkaXN0cml0YWwuZWR1LmNvLyAgDQoNClNJIEVMIERPQ1VNRU5UTyBTRSBCQVNBIEVOIFVOIFRSQUJBSk8gUVVFIEhBIFNJRE8gUEFUUk9DSU5BRE8gTyBBUE9ZQURPIFBPUiBVTkEgQUdFTkNJQSBPIFVOQSBPUkdBTklaQUNJw5NOLCBDT04gRVhDRVBDScOTTiBERSBMQSBVTklWRVJTSURBRCBESVNUUklUQUwgRlJBTkNJU0NPIEpPU0UgREUgQ0FMREFTLCBMT1MgQVVUT1JFUyBHQVJBTlRJWkFOIFFVRSBTRSBIQSBDVU1QTElETyBDT04gTE9TIA0KREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uDQpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyAoYW1vcykgZWwgcHJlc2VudGUgZG9jdW1lbnRvIGEgbG9zIA0KDQpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18NCg0KQ29ycmVvIEVsZWN0csOzbmljbyBJbnN0aXR1Y2lvbmFsIGRlbCBBdXRvciAoZXMpOg0KQXV0b3IJQ29ycmVvIEVsZWN0csOzbmljbyANCjEJDQoyCQ0KMwkNCg0KTm90YTogRW4gY2FzbyBxdWUgbm8gZXN0w6kgZGUgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhLCBqdXN0aWZpcXVlIGxvcyBtb3Rpdm9zIHBvciBsb3MgY3VhbGVzIGVsIGRvY3VtZW50byB5IHN1cyBhbmV4b3Mgbm8gcHVlZGVuIHNlciBwdWJsaWNhZG9zIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgUklVRA0K |