Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra

A lo largo del siguiente documento se llevara a cabo un análisis técnico-practico, a fin de desarrollar un sistema capaz de realizar un proceso industrial implementando un servidor local; Iniciamos adecuando el proyecto de “DISEÑO E IMPLEMENTACIÓN DE UNA LÍNEA DE PRODUCCIÓN ADAPTADA AL BRAZO NEUMATI...

Full description

Autores:
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2020
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
spa
OAI Identifier:
oai:repository.udistrital.edu.co:11349/28208
Acceso en línea:
http://hdl.handle.net/11349/28208
Palabra clave:
Servidor
Interfaz (HMI)
Clasificar
Control
Base de Datos
Tecnología en Electrónica - Tesis y disertaciones académicas
Maquinas herramientas - Implementación
Herramientas - Diseño
Maquinas clasificadas de piezas geométricas - Diseño y construcción
Server
Interface (HMI)
Classify
Control
Database
Rights
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional
id UDISTRITA2_cdeb58c010553170e8aa83ecf4c875c4
oai_identifier_str oai:repository.udistrital.edu.co:11349/28208
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 interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
dc.title.titleenglish.spa.fl_str_mv Implementation and design of a customized graphic visualization interface for a geometric parts classifier of the investigation group integra
title Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
spellingShingle Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
Servidor
Interfaz (HMI)
Clasificar
Control
Base de Datos
Tecnología en Electrónica - Tesis y disertaciones académicas
Maquinas herramientas - Implementación
Herramientas - Diseño
Maquinas clasificadas de piezas geométricas - Diseño y construcción
Server
Interface (HMI)
Classify
Control
Database
title_short Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
title_full Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
title_fullStr Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
title_full_unstemmed Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
title_sort Diseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integra
dc.contributor.advisor.spa.fl_str_mv Porras Bohada, Jorge Eduardo
dc.subject.spa.fl_str_mv Servidor
Interfaz (HMI)
Clasificar
Control
Base de Datos
topic Servidor
Interfaz (HMI)
Clasificar
Control
Base de Datos
Tecnología en Electrónica - Tesis y disertaciones académicas
Maquinas herramientas - Implementación
Herramientas - Diseño
Maquinas clasificadas de piezas geométricas - Diseño y construcción
Server
Interface (HMI)
Classify
Control
Database
dc.subject.lemb.spa.fl_str_mv Tecnología en Electrónica - Tesis y disertaciones académicas
Maquinas herramientas - Implementación
Herramientas - Diseño
Maquinas clasificadas de piezas geométricas - Diseño y construcción
dc.subject.keyword.spa.fl_str_mv Server
Interface (HMI)
Classify
Control
Database
description A lo largo del siguiente documento se llevara a cabo un análisis técnico-practico, a fin de desarrollar un sistema capaz de realizar un proceso industrial implementando un servidor local; Iniciamos adecuando el proyecto de “DISEÑO E IMPLEMENTACIÓN DE UNA LÍNEA DE PRODUCCIÓN ADAPTADA AL BRAZO NEUMATICO FESTO PARA GRUPO DE INVESTIGACIÓN INTEGRA”, este es un prototipo de línea de producción el cual realiza una clasificación e identificación de piezas metálicas, mediante algoritmos de análisis de imagen. Modificamos el algoritmo de control y clasificación previo en la máquina, complementándolo con la conexión a una base de datos local alojada en un servidor web, permitiéndome la carga del valor de los sensores y demás eventos, así como descarga y ejecución del estado de los actuadores. Con el objetivo de poder controlar la maquina a gusto se desarrolló 2 interfaces gráficas, una para PC y otra para dispositivos Android, se interconecto estas interfaces al servidor web local logrando tener acceso a las bases de datos facilitando la manipulación y lectura del valor de los sensores, actuadores y demás eventos del mecanismo, adicionalmente se estructuro un sistema de seguridad basado en gestión de usuario, verificación de datos por medio de correo electrónico, registro y soporte en una pagina web.
publishDate 2020
dc.date.created.spa.fl_str_mv 2020-09-29
dc.date.accessioned.none.fl_str_mv 2022-02-05T20:36:47Z
dc.date.available.none.fl_str_mv 2022-02-05T20:36:47Z
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/28208
url http://hdl.handle.net/11349/28208
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/28208/9/HerranChaparroCristianAndres2020.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/28208/10/Licencia%20y%20autorizaci%c3%b3n%20de%20los%20autores%20para%20publicar.pdf.jpg
http://repository.udistrital.edu.co/bitstream/11349/28208/1/HerranChaparroCristianAndres2020.pdf
http://repository.udistrital.edu.co/bitstream/11349/28208/4/HerranChaparroCristianAndresAnexos2020.zip
http://repository.udistrital.edu.co/bitstream/11349/28208/2/Licencia%20y%20autorizaci%c3%b3n%20de%20los%20autores%20para%20publicar.pdf
http://repository.udistrital.edu.co/bitstream/11349/28208/5/license_url
http://repository.udistrital.edu.co/bitstream/11349/28208/6/license_text
http://repository.udistrital.edu.co/bitstream/11349/28208/7/license_rdf
http://repository.udistrital.edu.co/bitstream/11349/28208/8/license.txt
bitstream.checksum.fl_str_mv e85ebdeb4a17e50180e9c3eac3caade8
327d6e4507f9dfae6bb868f18c82f5c0
a79815f14f71e4c332716a45bf77f340
e4ea51299bb7b1d4fe970808ce43930d
869f7ad62ec29d056f62b09f71d7a634
4afdbb8c545fd630ea7db775da747b2f
d41d8cd98f00b204e9800998ecf8427e
d41d8cd98f00b204e9800998ecf8427e
da5c6a3ca62d5dd4853000a60fee7083
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
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_ 1803712453079465984
spelling Porras Bohada, Jorge EduardoHerrán Chaparro, Cristian AndrésÁlvarez Monroy, Cristian Andrés2022-02-05T20:36:47Z2022-02-05T20:36:47Z2020-09-29http://hdl.handle.net/11349/28208A lo largo del siguiente documento se llevara a cabo un análisis técnico-practico, a fin de desarrollar un sistema capaz de realizar un proceso industrial implementando un servidor local; Iniciamos adecuando el proyecto de “DISEÑO E IMPLEMENTACIÓN DE UNA LÍNEA DE PRODUCCIÓN ADAPTADA AL BRAZO NEUMATICO FESTO PARA GRUPO DE INVESTIGACIÓN INTEGRA”, este es un prototipo de línea de producción el cual realiza una clasificación e identificación de piezas metálicas, mediante algoritmos de análisis de imagen. Modificamos el algoritmo de control y clasificación previo en la máquina, complementándolo con la conexión a una base de datos local alojada en un servidor web, permitiéndome la carga del valor de los sensores y demás eventos, así como descarga y ejecución del estado de los actuadores. Con el objetivo de poder controlar la maquina a gusto se desarrolló 2 interfaces gráficas, una para PC y otra para dispositivos Android, se interconecto estas interfaces al servidor web local logrando tener acceso a las bases de datos facilitando la manipulación y lectura del valor de los sensores, actuadores y demás eventos del mecanismo, adicionalmente se estructuro un sistema de seguridad basado en gestión de usuario, verificación de datos por medio de correo electrónico, registro y soporte en una pagina web.Throughout the following document a technical-practical analysis will be carried out, in order to develop a system capable of carrying out an industrial process by implementing a local server; We started adapting the project of "DESIGN AND IMPLEMENTATION OF A PRODUCTION LINE ADAPTED TO THE FESTO PNEUMATIC ARM FOR INTEGRA RESEARCH GROUP", this is a production line prototype which performs a classification and identification of metal parts, using algorithms image analysis. We modify the previous control and classification algorithm in the machine, complementing it with the connection to a local database hosted on a web server, allowing me to upload the value of the sensors and other events, as well as download and execute the status of the actuators. In order to be able to control the machine at ease, 2 graphical interfaces were developed, one for PC and the other for Android devices, these interfaces were interconnected to the local web server, achieving access to the databases, facilitating the manipulation and reading of the value of the sensors, actuators and other events of the mechanism, additionally a security system was structured based on user management, data verification by email, registration and support on a web page.Grupo de investigacion Integra.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_abf2ServidorInterfaz (HMI)ClasificarControlBase de DatosTecnología en Electrónica - Tesis y disertaciones académicasMaquinas herramientas - ImplementaciónHerramientas - DiseñoMaquinas clasificadas de piezas geométricas - Diseño y construcciónServerInterface (HMI)ClassifyControlDatabaseDiseño e implementación de una interfaz gráfica de visualización personalizada para una clasificadora de piezas geométricas del grupo de investigación integraImplementation and design of a customized graphic visualization interface for a geometric parts classifier of the investigation group integraMonografíainfo:eu-repo/semantics/bachelorThesishttp://purl.org/coar/resource_type/c_7a1fTHUMBNAILHerranChaparroCristianAndres2020.pdf.jpgHerranChaparroCristianAndres2020.pdf.jpgIM Thumbnailimage/jpeg14933http://repository.udistrital.edu.co/bitstream/11349/28208/9/HerranChaparroCristianAndres2020.pdf.jpge85ebdeb4a17e50180e9c3eac3caade8MD59open accessLicencia y autorización de los autores para publicar.pdf.jpgLicencia y autorización de los autores para publicar.pdf.jpgIM Thumbnailimage/jpeg13147http://repository.udistrital.edu.co/bitstream/11349/28208/10/Licencia%20y%20autorizaci%c3%b3n%20de%20los%20autores%20para%20publicar.pdf.jpg327d6e4507f9dfae6bb868f18c82f5c0MD510open accessORIGINALHerranChaparroCristianAndres2020.pdfHerranChaparroCristianAndres2020.pdfapplication/pdf2182655http://repository.udistrital.edu.co/bitstream/11349/28208/1/HerranChaparroCristianAndres2020.pdfa79815f14f71e4c332716a45bf77f340MD51open accessHerranChaparroCristianAndresAnexos2020.zipHerranChaparroCristianAndresAnexos2020.zipapplication/octet-stream312917344http://repository.udistrital.edu.co/bitstream/11349/28208/4/HerranChaparroCristianAndresAnexos2020.zipe4ea51299bb7b1d4fe970808ce43930dMD54open accessLicencia y autorización de los autores para publicar.pdfLicencia y autorización de los autores para publicar.pdfapplication/pdf1847926http://repository.udistrital.edu.co/bitstream/11349/28208/2/Licencia%20y%20autorizaci%c3%b3n%20de%20los%20autores%20para%20publicar.pdf869f7ad62ec29d056f62b09f71d7a634MD52metadata only accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://repository.udistrital.edu.co/bitstream/11349/28208/5/license_url4afdbb8c545fd630ea7db775da747b2fMD55open accesslicense_textlicense_texttext/html; charset=utf-80http://repository.udistrital.edu.co/bitstream/11349/28208/6/license_textd41d8cd98f00b204e9800998ecf8427eMD56open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://repository.udistrital.edu.co/bitstream/11349/28208/7/license_rdfd41d8cd98f00b204e9800998ecf8427eMD57open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-87163http://repository.udistrital.edu.co/bitstream/11349/28208/8/license.txtda5c6a3ca62d5dd4853000a60fee7083MD58open access11349/28208oai:repository.udistrital.edu.co:11349/282082023-06-13 12:48:59.477open accessRepositorio Institucional Universidad Distrital - RIUDrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMClTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIHVzbyBwYXJhIHB1YmxpY2FjacOzbiBkZSBvYnJhcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChSSVVEKQoKQ29tbyB0aXR1bGFyKGVzKSBkZWwob3MpIGRlcmVjaG8ocykgZGUgYXV0b3IsIGNvbmZpZXJvIChlcmltb3MpIGEgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMgKGVuIGFkZWxhbnRlLCBMQSBVTklWRVJTSURBRCkgdW5hIGxpY2VuY2lhIHBhcmEgdXNvIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBpbnRlZ3JhcsOhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgKGVuIGFkZWxhbnRlLCBSSVVEKSwgZGUgYWN1ZXJkbyBhIGxhcyBzaWd1aWVudGVzIHJlZ2xhcywgbGFzIGN1YWxlcyBkZWNsYXJvIChhbW9zKSBjb25vY2VyIHkgYWNlcHRhcjoKCmEpCUVzdGFyw6EgdmlnZW50ZSBhIHBhcnRpciBkZSBsYSBmZWNoYSBlbiBxdWUgc2UgaW5jbHV5YSBlbiBlbCBSSVVEIHkgaGFzdGEgcG9yIHVuIHBsYXpvIGRlIGRpZXogKDEwKSBBw7FvcywgcHJvcnJvZ2FibGUgaW5kZWZpbmlkYW1lbnRlIHBvciBlbCB0aWVtcG8gcXVlIGR1cmUgZWwgZGVyZWNobyBQYXRyaW1vbmlhbCBkZWwgYXV0b3I7IGxhIGN1YWwgcG9kcsOhIGRhcnNlIHBvciB0ZXJtaW5hZGEgcHJldmlhIHNvbGljaXR1ZCBhIExBIFVOSVZFUlNJREFEIHBvciBlc2NyaXRvIGNvbiB1bmEgYW50ZWxhY2nDs24gZGUgZG9zICgyKSBtZXNlcyBhbnRlcyBkZWwgdmVuY2ltaWVudG8gZGVsIHBsYXpvIGluaWNpYWwgbyBlbCBkZSBzdShzKSBwcsOzcnJvZ2EocykuICAKCmIpCUxBIFVOSVZFUlNJREFEIHBvZHLDoSBwdWJsaWNhciBsYSBvYnJhIGVuIGxhcyBkaXN0aW50YXMgdmVyc2lvbmVzIHJlcXVlcmlkYXMgcG9yIGVsIFJJVUQgKGRpZ2l0YWwsIGltcHJlc28sIGVsZWN0csOzbmljbyB1IG90cm8gbWVkaW8gY29ub2NpZG8gbyBwb3IgY29ub2NlcikgTEEgVU5JVkVSU0lEQUQgbm8gc2Vyw6EgcmVzcG9uc2FibGUgZW4gZWwgZXZlbnRvIHF1ZSBlbCBkb2N1bWVudG8gYXBhcmV6Y2EgcmVmZXJlbmNpYWRvIGVuIG1vdG9yZXMgZGUgYsO6c3F1ZWRhIG8gcmVwb3NpdG9yaW9zIGRpZmVyZW50ZXMgYWwgUklVRCwgdW5hIHZleiBlbChvcykgYXV0b3IoZXMpIHNvbGljaXRlbiBzdSBlbGltaW5hY2nDs24gZGVsIFJJVUQsIGRhZG8gcXVlIGxhIG1pc21hIHNlcsOhIHB1YmxpY2FkYSBlbiBJbnRlcm5ldC4gCgpjKQlMYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIGxvcyBhdXRvcmVzIHJlbnVuY2lhbiBhIHJlY2liaXIgYmVuZWZpY2lvIGFsZ3VubyBwb3IgbGEgcHVibGljYWNpw7NuLCBkaXN0cmlidWNpw7NuLCBjb211bmljYWNpw7NuIHDDumJsaWNhIHkgY3VhbHF1aWVyIG90cm8gdXNvIHF1ZSBzZSBoYWdhIGVuIGxvcyB0w6lybWlub3MgZGUgbGEgcHJlc2VudGUgbGljZW5jaWEgeSBkZSBsYSBsaWNlbmNpYSBkZSB1c28gY29uIHF1ZSBzZSBwdWJsaWNhIChDcmVhdGl2ZSBDb21tb25zKS4KCmQpCUxvcyBjb250ZW5pZG9zIHB1YmxpY2Fkb3MgZW4gZWwgUklVRCBzb24gb2JyYShzKSBvcmlnaW5hbChlcykgc29icmUgbGEgY3VhbChlcykgZWwob3MpIGF1dG9yKGVzKSBjb21vIHRpdHVsYXJlcyBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IsIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgTEEgVU5JVkVSU0lEQUQgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gTEEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uCgplKQlMQSBVTklWRVJTSURBRCBwb2Ryw6EgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyDDrW5kaWNlcyB5IGJ1c2NhZG9yZXMgcXVlIGVzdGltZW4gbmVjZXNhcmlvcyBwYXJhIG1heGltaXphciBsYSB2aXNpYmlsaWRhZCBlbCB1c28geSBlbCBpbXBhY3RvIGRlIGxhIHByb2R1Y2Npw7NuIGNpZW50w61maWNhLCBhcnTDrXN0aWNhIHkgYWNhZMOpbWljYSBlbiBsYSBjb211bmlkYWQgbG9jYWwsIG5hY2lvbmFsIG8gaW50ZXJuYWNpb25hbC4gCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbyAJCkF1dG9yCUFwZWxsaWRvcwlOb21icmVzCjEJCQoyCQkKMwkJCiAKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8gIAoKaykJQWNlcHRvKGFtb3MpIHF1ZSBMQSBVTklWRVJTSURBRCBubyBzZSByZXNwb25zYWJpbGl6YSBwb3IgbGFzIGluZnJhY2Npb25lcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIERlcmVjaG9zIGRlIEF1dG9yIGNhdXNhZGFzIHBvciBsb3MgdGl0dWxhcmVzIGRlIGxhIHByZXNlbnRlIExpY2VuY2lhIHkgZGVjbGFyYW1vcyBxdWUgbWFudGVuZHLDqSAoZW1vcykgaW5kZW1uZSBhIExBIFVOSVZFUlNJREFEIHBvciBsYXMgcmVjbGFtYWNpb25lcyBsZWdhbGVzIGRlIGN1YWxxdWllciB0aXBvIHF1ZSBsbGVnYXJlbiBhIHByZXNlbnRhcnNlIHBvciB2aW9sYWNpw7NuIGRlIGRlcmVjaG9zIGEgbGEgcHJvcGllZGFkIGludGVsZWN0dWFsIG8gZGUgQXV0b3IgcmVsYWNpb25hZG9zIGNvbiBsb3MgZG9jdW1lbnRvcyByZWdpc3RyYWRvcyBlbiBlbCBSSVVELgoKbCkJRWwgKGxvcykgYXV0b3IoZXMpIG1hbmlmaWVzdGEobW9zKSBxdWUgbGEgb2JyYSBvYmpldG8gZGUgbGEgcHJlc2VudGUgYXV0b3JpemFjacOzbiBlcyBvcmlnaW5hbCwgZGUgZXhjbHVzaXZhIGF1dG9yw61hLCB5IHNlIHJlYWxpesOzIHNpbiB2aW9sYXIgbyB1c3VycGFyIGRlcmVjaG9zIGRlIGF1dG9yIGRlIHRlcmNlcm9zOyBkZSB0YWwgc3VlcnRlLCBlbiBjYXNvIGRlIHByZXNlbnRhcnNlIGN1YWxxdWllciByZWNsYW1hY2nDs24gbyBhY2Npw7NuIHBvciBwYXJ0ZSBkZSB1biB0ZXJjZXJvIGVuIGN1YW50byBhIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBzb2JyZSBsYSBvYnJhLCBlbCAobG9zKSBlc3R1ZGlhbnRlKHMpIOKAkyBhdXRvcihlcykgYXN1bWlyw6EobikgdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgeSBzYWxkcsOhKG4pIGVuIGRlZmVuc2EgZGUgbG9zIGRlcmVjaG9zIGFxdcOtIGF1dG9yaXphZG9zLiBQYXJhIHRvZG9zIGxvcyBlZmVjdG9zLCBMQSBVTklWRVJTSURBRCBhY3TDumEgY29tbyB1biB0ZXJjZXJvIGRlIGJ1ZW5hIGZlLiAgIAoKCm0pCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGNvbm96Y28oY2Vtb3MpIGxhIGF1dG9ub23DrWEgeSBsb3MgZGVyZWNob3MsIHF1ZSBwb3NlZShtb3MpIHNvYnJlIGxhIG9icmEgeSwgY29tbyB0YWwsIGVzIChzb21vcykgcmVzcG9uc2FibGUocykgZGVsIGFsY2FuY2UganVyw61kaWNvIHkgbGVnYWwsIGRlIGVzY29nZXIgbGEgb3BjacOzbiBkZSBsYSBwdWJsaWNhY2nDs24gbyBkZSByZXN0cmljY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIGRlbCBkb2N1bWVudG8gcmVnaXN0cmFkbyBlbiBlbCBSSVVELgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgCkRFUkVDSE9TIFkgT0JMSUdBQ0lPTkVTIFJFUVVFUklET1MgUE9SIEVMIFJFU1BFQ1RJVk8gQ09OVFJBVE8gTyBBQ1VFUkRPLgoKCgoKCgoKCgoKCgoKCgoKCgoKCgpFbiBjb25zdGFuY2lhIGRlIGxvIGFudGVyaW9yLCBmaXJtbyhhbW9zKSBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGVuIGxhIGNpdWRhZCBkZSBCb2dvdMOhLCBELkMuLCBhIGxvcyAKCgpGSVJNQSBERSBMT1MgVElUVUxBUkVTIERFIERFUkVDSE9TIERFIEFVVE9SCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCUNvcnJlbyBFbGVjdHLDs25pY28gCjEJCjIJCjMJCgpOb21icmUgZGUgRGlyZWN0b3IoZXMpIGRlIEdyYWRvOgoKMQkKMgkKMwkKCk5vbWJyZSBGYWN1bHRhZCB5IFByb3llY3RvIEN1cnJpY3VsYXI6CgpGYWN1bHRhZAlQcm95ZWN0byBDdXJyaWN1bGFyCgkKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEKCgo=