Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información

La malla de datos es un método descentralizado para la gestión y el gobierno de los datos analíticos propuesto por Zhamak Dehghani. La Oficina Asesora de Tecnologías de la Información de la Universidad Distrital, lidera una iniciativa para adoptar, validar e implantar el enfoque de malla de datos de...

Full description

Autores:
Orjuela Velásquez, Sergio David
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/41231
Acceso en línea:
http://hdl.handle.net/11349/41231
Palabra clave:
Arquitectura de malla de datos
Malla de Datos
Gobernanza de datos
Arquitectura AWS
Analítica de datos
Maestría en Ciencias de la Información y las Comunicaciones -- Tesis y disertaciones académicas
Plataforma de datos de autoservicio
Arquitectura AWS
Gestión descentralizada de datos
Gobierno de datos analíticos
Data Mesh Architecture
Data governance
AWS architecture
Data analytics
Rights
License
CC0 1.0 Universal
id UDISTRITA2_3e7a556e784d2a966346b68802de9ae6
oai_identifier_str oai:repository.udistrital.edu.co:11349/41231
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.none.fl_str_mv Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
dc.title.titleenglish.none.fl_str_mv Design of the self-service data platform to support the implementation of a Data Mesh approach in the information technology advisory office
title Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
spellingShingle Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
Arquitectura de malla de datos
Malla de Datos
Gobernanza de datos
Arquitectura AWS
Analítica de datos
Maestría en Ciencias de la Información y las Comunicaciones -- Tesis y disertaciones académicas
Plataforma de datos de autoservicio
Arquitectura AWS
Gestión descentralizada de datos
Gobierno de datos analíticos
Data Mesh Architecture
Data governance
AWS architecture
Data analytics
title_short Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
title_full Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
title_fullStr Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
title_full_unstemmed Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
title_sort Diseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la información
dc.creator.fl_str_mv Orjuela Velásquez, Sergio David
dc.contributor.advisor.none.fl_str_mv Daza Corredor, Alejandro Paolo
dc.contributor.author.none.fl_str_mv Orjuela Velásquez, Sergio David
dc.contributor.orcid.none.fl_str_mv Daza Corredor,Alejandro Paolo [0000-0002-3089-1233]
dc.subject.spa.fl_str_mv Arquitectura de malla de datos
Malla de Datos
Gobernanza de datos
Arquitectura AWS
Analítica de datos
topic Arquitectura de malla de datos
Malla de Datos
Gobernanza de datos
Arquitectura AWS
Analítica de datos
Maestría en Ciencias de la Información y las Comunicaciones -- Tesis y disertaciones académicas
Plataforma de datos de autoservicio
Arquitectura AWS
Gestión descentralizada de datos
Gobierno de datos analíticos
Data Mesh Architecture
Data governance
AWS architecture
Data analytics
dc.subject.lemb.none.fl_str_mv Maestría en Ciencias de la Información y las Comunicaciones -- Tesis y disertaciones académicas
Plataforma de datos de autoservicio
Arquitectura AWS
Gestión descentralizada de datos
Gobierno de datos analíticos
dc.subject.keyword.spa.fl_str_mv Data Mesh Architecture
Data governance
AWS architecture
Data analytics
description La malla de datos es un método descentralizado para la gestión y el gobierno de los datos analíticos propuesto por Zhamak Dehghani. La Oficina Asesora de Tecnologías de la Información de la Universidad Distrital, lidera una iniciativa para adoptar, validar e implantar el enfoque de malla de datos dentro del contexto de la entidad académica. Este proyecto se enfocó en diseñar y presentar una arquitectura AWS que ilustra los componentes (herramientas y servicios) y su interacción para soportar la plataforma de datos de autoservicio, esta plataforma es uno de los cuatro principios fundamentales en el enfoque de malla de datos. La arquitectura se diseñó a partir de cuatro ejes: Identificación y priorización de la necesidades establecidas por los tres principios de la malla de datos que se deben soportar en la plataforma. Consideración de los roles que utilizan la plataforma. Utilizar la noción de plano para dividir lógicamente la plataforma. Diseñar la plataforma en torno a los servicios ofrecidos por AWS. Se elaboró la matriz de funcionalidades por rol y plano, el diagrama de componentes AWS, el manual técnico y un manual funcional. Iniciar un proceso de implantación de malla de datos está al alcance de todos. El enfoque es nuevo pero flexible, la plataforma solo es el primer paso pero las funcionalidades y las alternativas están disponibles para dar el paso a la cultura de la descentralización y los dominios en la analítica de datos.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-12-28
dc.date.accessioned.none.fl_str_mv 2024-10-04T17:14:50Z
dc.date.available.none.fl_str_mv 2024-10-04T17:14:50Z
dc.type.spa.fl_str_mv masterThesis
dc.type.degree.spa.fl_str_mv Pasantía
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/masterThesis
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/41231
url http://hdl.handle.net/11349/41231
dc.language.iso.none.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_16ec
dc.rights.uri.*.fl_str_mv http://creativecommons.org/publicdomain/zero/1.0/
dc.rights.acceso.spa.fl_str_mv Restringido (Solo Referencia)
rights_invalid_str_mv CC0 1.0 Universal
http://creativecommons.org/publicdomain/zero/1.0/
Restringido (Solo Referencia)
http://purl.org/coar/access_right/c_16ec
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/a5aec23f-b0ee-4057-a816-368735a9cf74/download
https://repository.udistrital.edu.co/bitstreams/c39fade6-c7d4-4e9c-a58e-c07ff8b1f492/download
https://repository.udistrital.edu.co/bitstreams/648d76b9-89f7-4f00-a2a3-614ab96fa79a/download
https://repository.udistrital.edu.co/bitstreams/67d4e379-4503-4761-806d-5910334acaa1/download
https://repository.udistrital.edu.co/bitstreams/4d3d09c1-3226-41b9-8eaf-5ff7e7fee34c/download
https://repository.udistrital.edu.co/bitstreams/be0c9072-76e6-4ac4-9654-d662a2576bc5/download
https://repository.udistrital.edu.co/bitstreams/982f1c93-2f8e-4f0e-911e-bec485f4f7b4/download
bitstream.checksum.fl_str_mv 51e50c776cf68a1d5f9ffea4f4cdfc29
7623dbdac9f4647e21afed065a2a41d0
b85915e117028f71e2c61c26067a10ec
42fd4ad1e89814f5e4a476b409eb708c
997daf6c648c962d566d7b082dac908d
60d639cd187c5b31fc3369f604256e20
4c87f50ded3395fea2f77c51c574e580
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1837007054814838784
spelling Daza Corredor, Alejandro PaoloOrjuela Velásquez, Sergio DavidDaza Corredor,Alejandro Paolo [0000-0002-3089-1233]2024-10-04T17:14:50Z2024-10-04T17:14:50Z2023-12-28http://hdl.handle.net/11349/41231La malla de datos es un método descentralizado para la gestión y el gobierno de los datos analíticos propuesto por Zhamak Dehghani. La Oficina Asesora de Tecnologías de la Información de la Universidad Distrital, lidera una iniciativa para adoptar, validar e implantar el enfoque de malla de datos dentro del contexto de la entidad académica. Este proyecto se enfocó en diseñar y presentar una arquitectura AWS que ilustra los componentes (herramientas y servicios) y su interacción para soportar la plataforma de datos de autoservicio, esta plataforma es uno de los cuatro principios fundamentales en el enfoque de malla de datos. La arquitectura se diseñó a partir de cuatro ejes: Identificación y priorización de la necesidades establecidas por los tres principios de la malla de datos que se deben soportar en la plataforma. Consideración de los roles que utilizan la plataforma. Utilizar la noción de plano para dividir lógicamente la plataforma. Diseñar la plataforma en torno a los servicios ofrecidos por AWS. Se elaboró la matriz de funcionalidades por rol y plano, el diagrama de componentes AWS, el manual técnico y un manual funcional. Iniciar un proceso de implantación de malla de datos está al alcance de todos. El enfoque es nuevo pero flexible, la plataforma solo es el primer paso pero las funcionalidades y las alternativas están disponibles para dar el paso a la cultura de la descentralización y los dominios en la analítica de datos.Context: Data mesh is a decentralized method for managing and governing analytical data proposed by Zhamak Dehghani. The Information Technology Advisory Office of the District University leads an initiative to adopt, validate and implement the data mesh approach within the context of the academic entity. This project focused on designing and presenting an AWS architecture that illustrates the components (tools and services) and their interaction to support the self-service data platform, this platform is one of the four fundamental principles in the data mesh approach. Method: The architecture was designed based on four axes: Identify and prioritize the needs established by the three principles of the data mesh that must be supported on the platform, consider the roles that use the platform, use the notion of a plane to logically divide the platform and design the platform around the services offered by AWS. Results: The functionalities matrix by role and plane, the AWS component diagram, the technical manual and a functional manual were prepared. Conclusions: Starting a data mesh implementation process is within everyone’s reach. The approach is new but flexible, the platform is only the first step but the functionalities and alternatives are available to take the step to the culture of and domains in data analytics.pdfspaCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/Restringido (Solo Referencia)http://purl.org/coar/access_right/c_16ecArquitectura de malla de datosMalla de DatosGobernanza de datosArquitectura AWSAnalítica de datosMaestría en Ciencias de la Información y las Comunicaciones -- Tesis y disertaciones académicasPlataforma de datos de autoservicioArquitectura AWSGestión descentralizada de datosGobierno de datos analíticosData Mesh ArchitectureData governanceAWS architectureData analyticsDiseño de la plataforma de datos de autoservicio para soportar la implantación de un enfoque de Malla de Datos en la oficina asesora de tecnologías de la informaciónDesign of the self-service data platform to support the implementation of a Data Mesh approach in the information technology advisory officemasterThesisPasantíainfo:eu-repo/semantics/masterThesishttp://purl.org/coar/resource_type/c_7a1fORIGINALOrjuelaVelasquezSergioDavid2024.pdfOrjuelaVelasquezSergioDavid2024.pdfTrabajo de gradoapplication/pdf310424https://repository.udistrital.edu.co/bitstreams/a5aec23f-b0ee-4057-a816-368735a9cf74/download51e50c776cf68a1d5f9ffea4f4cdfc29MD51Licencia y autorización de los autores para publicarLicencia y autorización de los autores para publicarLicencia de uso y publicaciónapplication/pdf514327https://repository.udistrital.edu.co/bitstreams/c39fade6-c7d4-4e9c-a58e-c07ff8b1f492/download7623dbdac9f4647e21afed065a2a41d0MD52OrjuelaVelasquezSergioDavid2024Anexos.zipOrjuelaVelasquezSergioDavid2024Anexos.zipapplication/zip2319233https://repository.udistrital.edu.co/bitstreams/648d76b9-89f7-4f00-a2a3-614ab96fa79a/downloadb85915e117028f71e2c61c26067a10ecMD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701https://repository.udistrital.edu.co/bitstreams/67d4e379-4503-4761-806d-5910334acaa1/download42fd4ad1e89814f5e4a476b409eb708cMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/4d3d09c1-3226-41b9-8eaf-5ff7e7fee34c/download997daf6c648c962d566d7b082dac908dMD55THUMBNAILOrjuelaVelasquezSergioDavid2024.pdf.jpgOrjuelaVelasquezSergioDavid2024.pdf.jpgIM Thumbnailimage/jpeg3941https://repository.udistrital.edu.co/bitstreams/be0c9072-76e6-4ac4-9654-d662a2576bc5/download60d639cd187c5b31fc3369f604256e20MD56Licencia y autorización de los autores para publicar.jpgLicencia y autorización de los autores para publicar.jpgIM Thumbnailimage/jpeg9689https://repository.udistrital.edu.co/bitstreams/982f1c93-2f8e-4f0e-911e-bec485f4f7b4/download4c87f50ded3395fea2f77c51c574e580MD5711349/41231oai:repository.udistrital.edu.co:11349/412312025-02-18 01:15:08.126http://creativecommons.org/publicdomain/zero/1.0/CC0 1.0 Universalunknownhttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK