Implementación inicial de GORM: un ORM para GO

El propósito de la presente guía es ilustrar al estudiante el proceso de implementación de GORM como herramienta ORM para la gestión de base de datos en una aplicación software realizada en el lenguaje de programación GO. Con un enfoque básico y sencillo que permite una implementación de un...

Full description

Autores:
Porras García, Yerson Ferney
Patiño Martínez, Francy Yaneth
Chica Sosa, Piedad
Tipo de recurso:
Informe
Fecha de publicación:
2023
Institución:
Universidad Cooperativa de Colombia
Repositorio:
Repositorio UCC
Idioma:
spa
OAI Identifier:
oai:repository.ucc.edu.co:20.500.12494/55318
Acceso en línea:
https://hdl.handle.net/20.500.12494/55318
http://dx.doi.org/10.16925/gcgp.105
Palabra clave:
Database
GO
GORM
ORM
Software
Rights
openAccess
License
http://creativecommons.org/licenses/by-nc-nd/4.0/
id COOPER2_411ee525efd99abaf2f8dcfa02e801b3
oai_identifier_str oai:repository.ucc.edu.co:20.500.12494/55318
network_acronym_str COOPER2
network_name_str Repositorio UCC
repository_id_str
dc.title.none.fl_str_mv Implementación inicial de GORM: un ORM para GO
title Implementación inicial de GORM: un ORM para GO
spellingShingle Implementación inicial de GORM: un ORM para GO
Database
GO
GORM
ORM
Software
title_short Implementación inicial de GORM: un ORM para GO
title_full Implementación inicial de GORM: un ORM para GO
title_fullStr Implementación inicial de GORM: un ORM para GO
title_full_unstemmed Implementación inicial de GORM: un ORM para GO
title_sort Implementación inicial de GORM: un ORM para GO
dc.creator.fl_str_mv Porras García, Yerson Ferney
Patiño Martínez, Francy Yaneth
Chica Sosa, Piedad
dc.contributor.author.none.fl_str_mv Porras García, Yerson Ferney
Patiño Martínez, Francy Yaneth
Chica Sosa, Piedad
dc.subject.proposal.none.fl_str_mv Database
GO
GORM
ORM
Software
topic Database
GO
GORM
ORM
Software
description El propósito de la presente guía es ilustrar al estudiante el proceso de implementación de GORM como herramienta ORM para la gestión de base de datos en una aplicación software realizada en el lenguaje de programación GO. Con un enfoque básico y sencillo que permite una implementación de un CRUD. Adicionalmente, se recomiendan algunas herramientas de software útiles para la codificación en GO. Finalmente, se define paso a paso la implementación de un modelo y su utilización y se presentan los parámetros para la elaboración y presentación del informe final.
publishDate 2023
dc.date.issued.none.fl_str_mv 2023-10
dc.date.accessioned.none.fl_str_mv 2024-04-03T14:59:31Z
dc.date.available.none.fl_str_mv 2024-04-03T14:59:31Z
dc.type.none.fl_str_mv Guía de práctica o manual
dc.type.coar.none.fl_str_mv http://purl.org/coar/resource_type/c_93fc
dc.type.coarversion.none.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
dc.type.driver.none.fl_str_mv info:eu-repo/semantics/report
dc.type.version.none.fl_str_mv info:eu-repo/semantics/publishedVersion
format http://purl.org/coar/resource_type/c_93fc
status_str publishedVersion
dc.identifier.citation.none.fl_str_mv Y. F. Porras-García, F. Y. Patiño Martínez y P. Chica Sosa, Implementación inicial de GORM: un ORM para GO (Generación de contenidos impresos N.° 67). Bogotá: Ediciones Universidad Cooperativa de Colombia, 2023. http://dx.doi.org/10.16925/gcgp.105
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/20.500.12494/55318
dc.identifier.doi.none.fl_str_mv http://dx.doi.org/10.16925/gcgp.105
identifier_str_mv Y. F. Porras-García, F. Y. Patiño Martínez y P. Chica Sosa, Implementación inicial de GORM: un ORM para GO (Generación de contenidos impresos N.° 67). Bogotá: Ediciones Universidad Cooperativa de Colombia, 2023. http://dx.doi.org/10.16925/gcgp.105
url https://hdl.handle.net/20.500.12494/55318
http://dx.doi.org/10.16925/gcgp.105
dc.language.iso.none.fl_str_mv spa
language spa
dc.relation.references.none.fl_str_mv “Classification of Programming Languages: Low-Level and High-Level - javatpoint.” [En línea]. Disponible en: https://www.javatpoint.com/classification-of-programming-languages (citado en May 15, 2023).
“Types of Programming Languages: High-level and Low-level - Unicminds.” [En línea]. Disponible en: https://unicminds.com/types-of-programming-languages-high-level-and-low-level/ (citado en May 15, 2023).
“GORM - The fantastic ORM library for Golang, aims to be developer friendly.” [En línea]. Disponible en: https://gorm.io/ (citado en May 14, 2023).
T. Halpin, “ORM/NIAM Object-Role Modeling,” en Handbook on Architectures of Information Systems, P. Bernus, K. Mertins y G. Schmidt, Eds., Berlín, Heidelberg: Springer Berlin Heidelberg, 1998, pp. 81–101. doi:10.1007/978-3-662-03526-9_4.
C. Xia, G. Yu y M. Tang, “Efficient implement of ORM (Object/Relational Mapping) use in J2EE framework: Hibernate,” Proceedings 2009 International Conference on Computational Intelligence and Software Engineering, CiSE 2009, 2009, doi: 10.1109/CISE.2009.5365905.
P. Van Zyl, D. G. Kourie y A. Boake, “Comparing the performance of object databases and ORM tools,” ACM International Conference Proceeding Series, vol. 204, pp. 1–11, 2006, doi: 10.1145/1216262.1216263.
dc.rights.uri.none.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.accessrights.none.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.none.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
dc.rights.coar.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
Attribution-NonCommercial-NoDerivatives 4.0 International
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.none.fl_str_mv 12 p.
dc.format.mimetype.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad Cooperativa de Colombia, Villavicencio, Facultad de Ingenierías, Ingeniería de sistemas
dc.publisher.place.none.fl_str_mv Bogotá
publisher.none.fl_str_mv Universidad Cooperativa de Colombia, Villavicencio, Facultad de Ingenierías, Ingeniería de sistemas
institution Universidad Cooperativa de Colombia
bitstream.url.fl_str_mv https://repository.ucc.edu.co/bitstreams/67f9cc1e-0c8d-4e02-9f52-67b458ce2719/download
https://repository.ucc.edu.co/bitstreams/79950afe-7790-40a0-8592-40c4ef66c5e4/download
https://repository.ucc.edu.co/bitstreams/8fe56f27-e1d6-4e73-927b-7f748b44104a/download
https://repository.ucc.edu.co/bitstreams/73e47be6-3ed4-4c4f-8983-95ae5ae87ffd/download
https://repository.ucc.edu.co/bitstreams/c340e216-1017-43d6-88ec-12cb01f678e3/download
https://repository.ucc.edu.co/bitstreams/f95d4e32-cc22-4abe-ada9-be193911ea8d/download
https://repository.ucc.edu.co/bitstreams/088de3f4-90db-4f0e-9309-18446a1a1d92/download
https://repository.ucc.edu.co/bitstreams/c3761b92-442b-4847-8519-38fe86073903/download
bitstream.checksum.fl_str_mv fdc689f30472d7218ac1172eb23c5cb4
0b1d02d73a677228104beff8ad383778
4460e5956bc1d1639be9ae6146a50347
3bce4f7ab09dfc588f126e1e36e98a45
c197d44e72dfda124c9c0136853bd125
09444ffb09beb868f3ce6bc59e9a27bd
ba387836c557677ab850f0143c235e46
6b7402b2052272790a28c397a022489c
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Cooperativa de Colombia
repository.mail.fl_str_mv bdigital@metabiblioteca.com
_version_ 1808788874428678144
spelling Porras García, Yerson FerneyPatiño Martínez, Francy YanethChica Sosa, Piedad2024-04-03T14:59:31Z2024-04-03T14:59:31Z2023-10Y. F. Porras-García, F. Y. Patiño Martínez y P. Chica Sosa, Implementación inicial de GORM: un ORM para GO (Generación de contenidos impresos N.° 67). Bogotá: Ediciones Universidad Cooperativa de Colombia, 2023. http://dx.doi.org/10.16925/gcgp.105https://hdl.handle.net/20.500.12494/55318http://dx.doi.org/10.16925/gcgp.105El propósito de la presente guía es ilustrar al estudiante el proceso de implementación de GORM como herramienta ORM para la gestión de base de datos en una aplicación software realizada en el lenguaje de programación GO. Con un enfoque básico y sencillo que permite una implementación de un CRUD. Adicionalmente, se recomiendan algunas herramientas de software útiles para la codificación en GO. Finalmente, se define paso a paso la implementación de un modelo y su utilización y se presentan los parámetros para la elaboración y presentación del informe final.1. Introducción. -- 2. Marco teórico. -- 3. Objetivos y materiales. -- 4. Materiales. -- 5. Descripción de actividades y procedimientos. -- 6. Referencias.12 p.application/pdfspaUniversidad Cooperativa de Colombia, Villavicencio, Facultad de Ingenierías, Ingeniería de sistemasBogotáhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://purl.org/coar/access_right/c_abf2Implementación inicial de GORM: un ORM para GOGuía de práctica o manualhttp://purl.org/coar/resource_type/c_93fchttp://purl.org/coar/version/c_970fb48d4fbd8a85info:eu-repo/semantics/reportinfo:eu-repo/semantics/publishedVersion“Classification of Programming Languages: Low-Level and High-Level - javatpoint.” [En línea]. Disponible en: https://www.javatpoint.com/classification-of-programming-languages (citado en May 15, 2023).“Types of Programming Languages: High-level and Low-level - Unicminds.” [En línea]. Disponible en: https://unicminds.com/types-of-programming-languages-high-level-and-low-level/ (citado en May 15, 2023).“GORM - The fantastic ORM library for Golang, aims to be developer friendly.” [En línea]. Disponible en: https://gorm.io/ (citado en May 14, 2023).T. Halpin, “ORM/NIAM Object-Role Modeling,” en Handbook on Architectures of Information Systems, P. Bernus, K. Mertins y G. Schmidt, Eds., Berlín, Heidelberg: Springer Berlin Heidelberg, 1998, pp. 81–101. doi:10.1007/978-3-662-03526-9_4.C. Xia, G. Yu y M. Tang, “Efficient implement of ORM (Object/Relational Mapping) use in J2EE framework: Hibernate,” Proceedings 2009 International Conference on Computational Intelligence and Software Engineering, CiSE 2009, 2009, doi: 10.1109/CISE.2009.5365905.P. Van Zyl, D. G. Kourie y A. Boake, “Comparing the performance of object databases and ORM tools,” ACM International Conference Proceeding Series, vol. 204, pp. 1–11, 2006, doi: 10.1145/1216262.1216263.DatabaseGOGORMORMSoftwarePublicationORIGINAL2023_GP_PracticaGORM_Porras_VF.pdf2023_GP_PracticaGORM_Porras_VF.pdfapplication/pdf800462https://repository.ucc.edu.co/bitstreams/67f9cc1e-0c8d-4e02-9f52-67b458ce2719/downloadfdc689f30472d7218ac1172eb23c5cb4MD512023_GP_LICENCIA_PracticaGORM_Porras.pdf2023_GP_LICENCIA_PracticaGORM_Porras.pdfapplication/pdf120028https://repository.ucc.edu.co/bitstreams/79950afe-7790-40a0-8592-40c4ef66c5e4/download0b1d02d73a677228104beff8ad383778MD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.ucc.edu.co/bitstreams/8fe56f27-e1d6-4e73-927b-7f748b44104a/download4460e5956bc1d1639be9ae6146a50347MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-84334https://repository.ucc.edu.co/bitstreams/73e47be6-3ed4-4c4f-8983-95ae5ae87ffd/download3bce4f7ab09dfc588f126e1e36e98a45MD54TEXT2023_GP_PracticaGORM_Porras_VF.pdf.txt2023_GP_PracticaGORM_Porras_VF.pdf.txtExtracted texttext/plain22506https://repository.ucc.edu.co/bitstreams/c340e216-1017-43d6-88ec-12cb01f678e3/downloadc197d44e72dfda124c9c0136853bd125MD552023_GP_LICENCIA_PracticaGORM_Porras.pdf.txt2023_GP_LICENCIA_PracticaGORM_Porras.pdf.txtExtracted texttext/plain6933https://repository.ucc.edu.co/bitstreams/f95d4e32-cc22-4abe-ada9-be193911ea8d/download09444ffb09beb868f3ce6bc59e9a27bdMD57THUMBNAIL2023_GP_PracticaGORM_Porras_VF.pdf.jpg2023_GP_PracticaGORM_Porras_VF.pdf.jpgGenerated Thumbnailimage/jpeg7817https://repository.ucc.edu.co/bitstreams/088de3f4-90db-4f0e-9309-18446a1a1d92/downloadba387836c557677ab850f0143c235e46MD562023_GP_LICENCIA_PracticaGORM_Porras.pdf.jpg2023_GP_LICENCIA_PracticaGORM_Porras.pdf.jpgGenerated Thumbnailimage/jpeg17453https://repository.ucc.edu.co/bitstreams/c3761b92-442b-4847-8519-38fe86073903/download6b7402b2052272790a28c397a022489cMD5820.500.12494/55318oai:repository.ucc.edu.co:20.500.12494/553182024-08-10 17:48:42.245http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internationalopen.accesshttps://repository.ucc.edu.coRepositorio Institucional Universidad Cooperativa de Colombiabdigital@metabiblioteca.comVU5JVkVSU0lEQUQgQ09PUEVSQVRJVkEgREUgQ09MT01CSUEKUkVQT1NJVE9SSU9TIElOU1RJVFVDSU9OQUxFUwpMSUNFTkNJQSBERSBVU08KClBvciBtZWRpbyBkZWwgcHJlc2VudGUgZG9jdW1lbnRvLCBlbCBBdXRvcihlcyksIG1heW9yIChlcykgZGUgZWRhZCwgcXVpZW4gZW4gYWRlbGFudGUgc2UgZGVub21pbmFyw6EgZWwgQVVUT1IsIGNvbmZpZXJlIGEgbGEgVU5JVkVSU0lEQUQgQ09PUEVSQVRJVkEgREUgQ09MT01CSUEsIGNvbiBOSVQuIDg2MC0wMjk5MjQtNywgdW5hIExJQ0VOQ0lBIERFIFVTTyBkZSBvYnJhLCBiYWpvIGxhcyBzaWd1aWVudGVzIGNvbmRpY2lvbmVzLgoKQ0zDgVVTVUxBUwoKUFJJTUVSQS4gT2JqZXRvLiBFTCBBVVRPUiBwb3IgZXN0ZSBhY3RvIGF1dG9yaXphIGxhIHV0aWxpemFjacOzbiBkZSBsYSBvYnJhLCBkZSBjb25mb3JtaWRhZCBjb24gbG8gZXN0aXB1bGFkbyBhIGNvbnRpbnVhY2nDs246IAoKKGEpIFBhcmEgZWZlY3RvcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSBzZSBhdXRvcml6YSBsYSByZXByb2R1Y2Npw7NuIGRlIGxhIG9icmEgYW50ZXJpb3JtZW50ZSBjaXRhZGEsIGxhIGN1YWwgc2UgYWxvamFyw6EgZW4gZm9ybWF0byBkaWdpdGFsIGVuIGxhcyBwbGF0YWZvcm1hcyBvIHJlcG9zaXRvcmlvcyBhZG1pbmlzdHJhZG9zIHBvciBsYSBVTklWRVJTSURBRCBvIGVuIG90cm8gdGlwbyBkZSByZXBvc2l0b3Jpb3MgZXh0ZXJub3MgbyBww6FnaW5hcyB3ZWIgZXNjb2dpZG9zIHBvciBsYSBVTklWRVJTSURBRCwgcGFyYSBmaW5lcyBkZSBkaWZ1c2nDs24geSBkaXZ1bGdhY2nDs24uIEFkaWNpb25hbG1lbnRlLCBzZSBhdXRvcml6YSBhIHF1ZSBsb3MgdXN1YXJpb3MgaW50ZXJub3MgeSBleHRlcm5vcyBkZSBkaWNoYXMgcGxhdGFmb3JtYXMgbyByZXBvc2l0b3Jpb3MgcmVwcm9kdXpjYW4gbyBkZXNjYXJndWVuIGxhIG9icmEsIHNpbiDDoW5pbW8gZGUgbHVjcm8sIHBhcmEgZmluZXMgcHJpdmFkb3MsIGVkdWNhdGl2b3MgbyBhY2Fkw6ltaWNvczsgc2llbXByZSB5IGN1YW5kbyBubyBzZSB2aW9sZW4gYWN1ZXJkb3MgY29uIGVkaXRvcmVzLCBwZXJpb2RvcyBkZSBlbWJhcmdvIG8gYWN1ZXJkb3MgZGUgY29uZmlkZW5jaWFsaWRhZCBxdWUgYXBsaXF1ZW4uCgooYikgU2UgYXV0b3JpemEgbGEgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGxhIHB1ZXN0YSBhIGRpc3Bvc2ljacOzbiBkZSBsYSBvYnJhIG1lbmNpb25hZGEsIGVuIGFjY2VzbyBhYmllcnRvLCBwYXJhIHN1IHV0aWxpemFjacOzbiBlbiBsYXMgcGxhdGFmb3JtYXMgbyByZXBvc2l0b3Jpb3MgYWRtaW5pc3RyYWRvcyBwb3IgbGEgVU5JVkVSU0lEQUQuCgooYykgTG8gYW50ZXJpb3IgZXN0YXLDoSBzdWpldG8gYSBsYXMgZGVmaW5pY2lvbmVzIGNvbnRlbmlkYXMgZW4gbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MyB5IGxhIExleSAyMyBkZSAxOTgyLgoKClNFR1VOREEuIE9yaWdpbmFsaWRhZCB5IHJlY2xhbWFjaW9uZXMuIEVsIEFVVE9SIGRlY2xhcmEgcXVlIGxhIE9CUkEgZXMgb3JpZ2luYWwgeSBxdWUgZXMgZGUgc3UgY3JlYWNpw7NuIGV4Y2x1c2l2YSwgbm8gZXhpc3RpZW5kbyBpbXBlZGltZW50byBkZSBjdWFscXVpZXIgbmF0dXJhbGV6YSAoZW1iYXJnb3MsIHVzbyBkZSBtYXRlcmlhbCBwcm90ZWdpZG8gcG9yIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGxhIGNvbmNlc2nDs24gZGUgbG9zIGRlcmVjaG9zIHByZXZpc3RvcyBlbiBlc3RlIGFjdWVyZG8uIEVsIEFVVE9SIHJlc3BvbmRlcsOhIHBvciBjdWFscXVpZXIgYWNjacOzbiBkZSByZWl2aW5kaWNhY2nDs24sIHBsYWdpbyB1IG90cmEgY2xhc2UgZGUgcmVjbGFtYWNpw7NuIHF1ZSBhbCByZXNwZWN0byBwdWRpZXJhIHNvYnJldmVuaXIuCgpURVJDRVJBLiBDb250cmFwcmVzdGFjacOzbi4gRWwgQVVUT1IgYXV0b3JpemEgYSBxdWUgc3Ugb2JyYSBzZWEgdXRpbGl6YWRhIGRlIGNvbmZvcm1pZGFkIGNvbiBsYSBjbMOhdXN1bGEgUFJJTUVSQSBkZSBmb3JtYSBncmF0dWl0YSwgZXMgZGVjaXIsIHF1ZSBsYSB1dGlsaXphY2nDs24gZGUgbGEgbWlzbWEgbm8gZ2VuZXJhIG5pbmfDum4gcGFnbyBvIHJlZ2Fsw61hcyBlbiBmYXZvciBkZSBlc3RlLgoKQ1VBUlRBLiBUaXR1bGFyaWRhZCBkZSBkZXJlY2hvcy4gRWwgcHJlc2VudGUgY29udHJhdG8gbm8gdHJhbnNmaWVyZSBsYSB0aXR1bGFyaWRhZCBkZSBsb3MgZGVyZWNob3MgcGF0cmltb25pYWxlcyBzb2JyZSBsYXMgb2JyYXMgYW50ZXJpb3JtZW50ZSBtZW5jaW9uYWRhcyBhIGxhIFVOSVZFUlNJREFELiDDmm5pY2FtZW50ZSBoYWNlIHJlbGFjacOzbiBhIHVuYSBsaWNlbmNpYSBubyBleGNsdXNpdmEgZW4gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGFudGVyaW9ybWVudGUgcGFjdGFkb3MuCgpRVUlOVEEuIENyw6lkaXRvcy4gTGEgVU5JVkVSU0lEQUQgc2UgY29tcHJvbWV0ZSBhIGRhciBhbCBBVVRPUiwgZWwgcmVjb25vY2ltaWVudG8gZGVudHJvIGNhZGEgZm9ybWEgZGUgdXRpbGl6YWNpw7NuIGVuIGxhIG9icmEuIExvcyBjcsOpZGl0b3MgZGViZW4gZmlndXJhciBlbiBjYWRhIHVubyBkZSBsb3MgZm9ybWF0b3MgbyByZWdpc3Ryb3MgZGUgcHVibGljYWNpw7NuLiBObyBjb25zdGl0dWlyw6EgdW5hIHZpb2xhY2nDs24gYSBsb3MgZGVyZWNob3MgbW9yYWxlcyBkZWwgYXV0b3IgbGEgbm8gcmVwcm9kdWNjacOzbiwgY29tdW5pY2FjacOzbiBvIGRlbcOhcyB1dGlsaXphY2lvbmVzIGRlIGxhIG9icmEuIExhIHV0aWxpemFjacOzbiBvIG5vIGRlIGxhIG9icmEsIGFzw60gY29tbyBzdSBmb3JtYSBkZSB1dGlsaXphY2nDs24gc2Vyw6EgZmFjdWx0YWQgZXhjbHVzaXZhIGRlIGxhIFVOSVZFUlNJREFELgogClNFWFRBLiBEdXJhY2nDs24geSB0ZXJyaXRvcmlvLiBMYSBwcmVzZW50ZSBsaWNlbmNpYSBkZSB1c28gcXVlIHNlIG90b3JnYSBhIGZhdm9yIGRlIGxhIFVOSVZFUlNJREFEIHRlbmRyw6EgdW5hIGR1cmFjacOzbiBlcXVpdmFsZW50ZSBhbCB0w6lybWlubyBkZSBwcm90ZWNjacOzbiBsZWdhbCBkZSBsYSBvYnJhIHkgcGFyYSB0b2RvcyBsb3MgcGHDrXNlcyBkZWwgbXVuZG8uCgpTw4lQVElNQS4gVXNvIGRlIENyZWF0aXZlIENvbW1vbnMuIEVsIEFVVE9SIGF1dG9yaXphcsOhIGxhIGRpZnVzacOzbiBkZSBzdSBjb250ZW5pZG8gYmFqbyB1bmEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBhdHJpYnVjacOzbiA0LjAgaW50ZXJuYWNpb25hbCwgcXVlIGRlYmVyw6EgaW5jbHVpcnNlIGVuIGVsIGNvbnRlbmlkby4gCgpPQ1RBVkEuIERlcmVjaG8gZGUgZXhjbHVzacOzbi4gQ2FkYSBhdXRvciBwdWVkZSBpbmRpY2FyIGVuIGVsIG1vbWVudG8gZGUgZGVww7NzaXRvIGRlbCBjb250ZW5pZG8gcXVlIGVsIHRleHRvIGNvbXBsZXRvIGRlIGxhIHByb2R1Y2Npw7NuIGFjYWTDqW1pY2EgbyBjaWVudMOtZmljYSBubyBlc3RlIGNvbiBhY2Nlc28gYWJpZXJ0byBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIHBvciBtb3Rpdm9zIGRlIGNvbmZpZGVuY2lhbGlkYWQsIHBvcnF1ZSBzZSBlbmN1ZW50cmUgZW4gdsOtYXMgZGUgb2J0ZW5lciB1biBkZXJlY2hvIGRlIHByb3BpZWRhZCBpbmR1c3RyaWFsIG8gZXhpc3RpciBhY3VlcmRvcyBwcmV2aW9zIGNvbiB0ZXJjZXJvcyAoZWRpdG9yaWFsZXMsIHJldmlzdGFzIGNpZW50w61maWNhcywgb3RyYXMgaW5zdGl0dWNpb25lcykuIEVsIGF1dG9yIHNlIGNvbXByb21ldGUgYSBkZXBvc2l0YXIgbG9zIG1ldGFkYXRvcyBlIGluZm9ybWFyIGVsIHRpZW1wbyBkZSBlbWJhcmdvIGR1cmFudGUgZWwgY3VhbCBlbCB0ZXh0byBjb21wbGV0byB0ZW5kcsOhIGFjY2VzbyByZXN0cmluZ2lkby4gCgpOT1ZFTkEuIEVsIEFVVE9SIGFsIGFjZXB0YXIgZXN0YSBsaWNlbmNpYSBhZHVjZSBxdWUgZXN0YSBwcm9kdWNjacOzbiBzZSBkZXNhcnJvbGzDsyBlbiBlbCBwZXJpb2RvIGVuIHF1ZSBzZSBlbmN1ZW50cmEgY29uIHbDrW5jdWxvcyBjb24gTGEgVW5pdmVyc2lkYWQuCgpEw4lDSU1BLiBOb3JtYXMgYXBsaWNhYmxlcy4gUGFyYSBsYSBpbnRlcnByZXRhY2nDs24geSBjdW1wbGltaWVudG8gZGVsIHByZXNlbnRlIGFjdWVyZG8gbGFzIHBhcnRlcyBzZSBzb21ldGVuIGEgbGEgRGVjaXNpw7NuIEFuZGluYSAzNTEgZGUgMTk5MywgbGEgTGV5IDIzIGRlIDE5ODIgeSBkZW3DoXMgbm9ybWFzIGFwbGljYWJsZXMgZGUgQ29sb21iaWEuIEFkZW3DoXMsIGEgbGFzIG5vcm1hcyBJbnN0aXR1Y2lvbmFsZXMgcXVlIGFwbGlxdWVuLgoKTGEgcHJlc2VudGUgbGljZW5jaWEgc2UgYXV0b3JpemEgZW4gbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuIGVuIGxvcyByZXBvc2l0b3Jpb3MgaW5zdGl0dWNpb25hbGVzLgo=