Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático

ilustraciones, diagramas

Autores:
Tamayo Palomino, Andrés David
Tipo de recurso:
Fecha de publicación:
2021
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
spa
OAI Identifier:
oai:repositorio.unal.edu.co:unal/80671
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/80671
https://repositorio.unal.edu.co/
Palabra clave:
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
Artificial intelligence
Inteligencia artificial
MLOps
DataOps
Trading
Deep Learning
Comercio
Aprendizaje profundo
Rights
openAccess
License
Atribución-CompartirIgual 4.0 Internacional
id UNACIONAL2_d0438ddeb80a15224880e49cc5cc7a05
oai_identifier_str oai:repositorio.unal.edu.co:unal/80671
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.spa.fl_str_mv Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
dc.title.translated.eng.fl_str_mv Methodological approach for integration of methodologies DataOps and MLOps applied to automatic trading
title Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
spellingShingle Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
Artificial intelligence
Inteligencia artificial
MLOps
DataOps
Trading
Deep Learning
Comercio
Aprendizaje profundo
title_short Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
title_full Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
title_fullStr Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
title_full_unstemmed Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
title_sort Aproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automático
dc.creator.fl_str_mv Tamayo Palomino, Andrés David
dc.contributor.advisor.none.fl_str_mv Velásquez Henao, Juan David
dc.contributor.author.none.fl_str_mv Tamayo Palomino, Andrés David
dc.subject.ddc.spa.fl_str_mv 000 - Ciencias de la computación, información y obras generales::003 - Sistemas
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
topic 000 - Ciencias de la computación, información y obras generales::003 - Sistemas
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
Artificial intelligence
Inteligencia artificial
MLOps
DataOps
Trading
Deep Learning
Comercio
Aprendizaje profundo
dc.subject.lemb.eng.fl_str_mv Artificial intelligence
dc.subject.lemb.spa.fl_str_mv Inteligencia artificial
dc.subject.proposal.eng.fl_str_mv MLOps
DataOps
Trading
Deep Learning
dc.subject.proposal.spa.fl_str_mv Comercio
Aprendizaje profundo
description ilustraciones, diagramas
publishDate 2021
dc.date.accessioned.none.fl_str_mv 2021-11-09T16:20:35Z
dc.date.available.none.fl_str_mv 2021-11-09T16:20:35Z
dc.date.issued.none.fl_str_mv 2021-09-20
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/80671
dc.identifier.instname.spa.fl_str_mv Universidad Nacional de Colombia
dc.identifier.reponame.spa.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
dc.identifier.repourl.spa.fl_str_mv https://repositorio.unal.edu.co/
url https://repositorio.unal.edu.co/handle/unal/80671
https://repositorio.unal.edu.co/
identifier_str_mv Universidad Nacional de Colombia
Repositorio Institucional Universidad Nacional de Colombia
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv kdnuggets, «What main methodology are you using for your analytics, data mining, or data science projects?,» 2014. [En línea]. Available: https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-sciencemethodology.html
H. Atwal, Practical DataOps: Delivering Agile Data Science at Scale, Apress, 2020.
M.Treveil y D. Team, Introducing Mlops: How to Scale Machine Learning in the Enterprise, oreilly, 2020
G. H. D. G. E. D. T. P. D. Sculley, «Hidden Technical Debt in Machine Learning Systems,» Advances in Neural Information Processing Systems, 2015.
G. S. d. Nascimento y A. A. D. Oliveira, «An Agile Knowledge Discovery in Databases Software Process,» ICDKE , 2012.
M. Taifi, Clean Machine Learning Code, leanpub, 2020.
What is the Team Data Science Process?, 2020. [En línea]. Available: https://docs.microsoft.com/en-us/azure/architecture/data-science-process/overview.
2020 state of enterprise machine learning, «algorithmia,» 2020. [En línea]. Available: https://info.algorithmia.com/hubfs/2019/Whitepapers/The-State-of-Enterprise-ML2020/Algorithmia_2020_State_of_Enterprise_ML.pdf?utm_campaign=The%20Batch &utm_source=hs_email&utm_medium=email&utm_content=80984419&_hsenc=p2A Nqtz--sz-e2gfqUeDvVSmjsXfvwOnLHB2Z.
valohai, «valohai.com,» [En línea]. Available: https://valohai.com/mlops/
Valohai, Practical MLOPS, 2020.
C. Bergh, G. Benghiat y E. Strod, The DataOps Cookbook, vol. 2, 2019.
C. Ebert, G. Gallardo, J. Hernantes y N. Serrano, «DevOps,» IEEE, 2016.
«Qué es DataOps y MLOps?,» 2020. [En línea]. Available: https://anllogui.medium.com/qu%C3%A9-es-dataops-y-mlops-e07ef8281416
A.Burkov, Machine Learning Engineering, True Positive Inc, 2020.
R. Dash y P. Dash, «A Hybrid Stock Trading Framework Integrating Technical Analysis with Machine Learning Techniques,» ScienceDirect, 2016.
S. Jansen, Machine Learning for Algorithmic Trading, vol. 2, Packt Publishing, 2020.
B. Huang, Y. Huan, L. Da, L. Zheng y Z. Zou, «Automated trading systems statistical and machine learning methods and hardware implementation: a survey,,» ResearchGate, 2018
M. Dempster y V.Leemans, «An automated FX trading system using adaptive reinforcement learning,,» ScienceDirect, 2006.
Figure Eight, «Data Scientist Report 2018,» 2018
Google, «MLOps: Continuous delivery and automation pipelines in machine learning,» 2020. [En línea]. Available: https://cloud.google.com/architecture/mlopscontinuous-delivery-and-automation-pipelines-in-machine-learning.
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-CompartirIgual 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-sa/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-CompartirIgual 4.0 Internacional
http://creativecommons.org/licenses/by-sa/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv xviii, 89 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad Nacional de Colombia
dc.publisher.program.spa.fl_str_mv Medellín - Minas - Maestría en Ingeniería - Analítica
dc.publisher.department.spa.fl_str_mv Departamento de la Computación y la Decisión
dc.publisher.faculty.spa.fl_str_mv Facultad de Minas
dc.publisher.place.spa.fl_str_mv Medellín, Colombia
dc.publisher.branch.spa.fl_str_mv Universidad Nacional de Colombia - Sede Medellín
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/80671/1/license.txt
https://repositorio.unal.edu.co/bitstream/unal/80671/3/1036663108.2021.pdf
https://repositorio.unal.edu.co/bitstream/unal/80671/4/1036663108.2021.pdf.jpg
bitstream.checksum.fl_str_mv 8153f7789df02f0a4c9e079953658ab2
a6e1e1b8c14089bbd78fdbeb41bf11d1
5aa5caabaab7cb7e4407b066ac0036d7
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1814089633130086400
spelling Atribución-CompartirIgual 4.0 Internacionalhttp://creativecommons.org/licenses/by-sa/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Velásquez Henao, Juan David7b16d4a5377f0f1b1f90d3c8c6fd9f8bTamayo Palomino, Andrés David5b4b646ef401772a560bb17fa923879e2021-11-09T16:20:35Z2021-11-09T16:20:35Z2021-09-20https://repositorio.unal.edu.co/handle/unal/80671Universidad Nacional de ColombiaRepositorio Institucional Universidad Nacional de Colombiahttps://repositorio.unal.edu.co/ilustraciones, diagramasLas metodologías tradicionales usadas para el desarrollo de aplicaciones de ciencia de datos dan cabida a una gran deuda técnica en su proceso desarrollo que termina por ocasionar el fracaso de muchos proyectos. Para mitigar dicha deuda, se plantea una integración entre los enfoques de DataOps y MLOps, en donde se definen los beneficios, pasos y principios a seguir en la construcción de una aplicación enmarcada bajo esta integración propuesta. Posterior a ello se comparan dos aplicaciones de trading automático usando Deep learning, una de ella es desarrollada bajo las metodologías tradicionales y otra bajo la integración de los enfoques de MLOps y DataOps. Se concluye que la integración de ambos enfoques resulta altamente provechosa, permitiendo suplir las falencias de las metodologías tradicionales y las deficiencias de cada uno de los enfoques usados de forma independiente. (Texto tomado de la fuente)The traditional methodologies used for the development of data science applications give place to a great technical debt in their development process that ends up causing the failure of many projects. To mitigate this debt, an integration between DataOps and MLOps approaches is proposed, where the benefits, steps and principles to be followed in the construction of an application framed under this proposed integration are defined. Subsequently, two automatic trading applications using Deep learning are compared, one of them is developed under traditional methodologies and the other one under the integration of MLOps and DataOps approaches. It is concluded that the integration of both approaches is highly useful, allowing to supply the shortcomings of the traditional methodologies and the deficiencies of each of the approaches used independently.MaestríaMagíster en Ingeniería - AnalíticaAnalíticaÁrea Curricular de Ingeniería de Sistemas e Informáticaxviii, 89 páginasapplication/pdfspaUniversidad Nacional de ColombiaMedellín - Minas - Maestría en Ingeniería - AnalíticaDepartamento de la Computación y la DecisiónFacultad de MinasMedellín, ColombiaUniversidad Nacional de Colombia - Sede Medellín000 - Ciencias de la computación, información y obras generales::003 - Sistemas000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computaciónArtificial intelligenceInteligencia artificialMLOpsDataOpsTradingDeep LearningComercioAprendizaje profundoAproximación metodológica para la integración de las metodologías DataOps y MLOps aplicadas al trading automáticoMethodological approach for integration of methodologies DataOps and MLOps applied to automatic tradingTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMkdnuggets, «What main methodology are you using for your analytics, data mining, or data science projects?,» 2014. [En línea]. Available: https://www.kdnuggets.com/polls/2014/analytics-data-mining-data-sciencemethodology.htmlH. Atwal, Practical DataOps: Delivering Agile Data Science at Scale, Apress, 2020.M.Treveil y D. Team, Introducing Mlops: How to Scale Machine Learning in the Enterprise, oreilly, 2020G. H. D. G. E. D. T. P. D. Sculley, «Hidden Technical Debt in Machine Learning Systems,» Advances in Neural Information Processing Systems, 2015.G. S. d. Nascimento y A. A. D. Oliveira, «An Agile Knowledge Discovery in Databases Software Process,» ICDKE , 2012.M. Taifi, Clean Machine Learning Code, leanpub, 2020.What is the Team Data Science Process?, 2020. [En línea]. Available: https://docs.microsoft.com/en-us/azure/architecture/data-science-process/overview.2020 state of enterprise machine learning, «algorithmia,» 2020. [En línea]. Available: https://info.algorithmia.com/hubfs/2019/Whitepapers/The-State-of-Enterprise-ML2020/Algorithmia_2020_State_of_Enterprise_ML.pdf?utm_campaign=The%20Batch &utm_source=hs_email&utm_medium=email&utm_content=80984419&_hsenc=p2A Nqtz--sz-e2gfqUeDvVSmjsXfvwOnLHB2Z.valohai, «valohai.com,» [En línea]. Available: https://valohai.com/mlops/Valohai, Practical MLOPS, 2020.C. Bergh, G. Benghiat y E. Strod, The DataOps Cookbook, vol. 2, 2019.C. Ebert, G. Gallardo, J. Hernantes y N. Serrano, «DevOps,» IEEE, 2016.«Qué es DataOps y MLOps?,» 2020. [En línea]. Available: https://anllogui.medium.com/qu%C3%A9-es-dataops-y-mlops-e07ef8281416A.Burkov, Machine Learning Engineering, True Positive Inc, 2020.R. Dash y P. Dash, «A Hybrid Stock Trading Framework Integrating Technical Analysis with Machine Learning Techniques,» ScienceDirect, 2016.S. Jansen, Machine Learning for Algorithmic Trading, vol. 2, Packt Publishing, 2020.B. Huang, Y. Huan, L. Da, L. Zheng y Z. Zou, «Automated trading systems statistical and machine learning methods and hardware implementation: a survey,,» ResearchGate, 2018M. Dempster y V.Leemans, «An automated FX trading system using adaptive reinforcement learning,,» ScienceDirect, 2006.Figure Eight, «Data Scientist Report 2018,» 2018Google, «MLOps: Continuous delivery and automation pipelines in machine learning,» 2020. [En línea]. Available: https://cloud.google.com/architecture/mlopscontinuous-delivery-and-automation-pipelines-in-machine-learning.InvestigadoresMaestrosLICENSElicense.txtlicense.txttext/plain; charset=utf-84074https://repositorio.unal.edu.co/bitstream/unal/80671/1/license.txt8153f7789df02f0a4c9e079953658ab2MD51ORIGINAL1036663108.2021.pdf1036663108.2021.pdfTesis de Maestría en Ingeniería - Analíticaapplication/pdf4555454https://repositorio.unal.edu.co/bitstream/unal/80671/3/1036663108.2021.pdfa6e1e1b8c14089bbd78fdbeb41bf11d1MD53THUMBNAIL1036663108.2021.pdf.jpg1036663108.2021.pdf.jpgGenerated Thumbnailimage/jpeg5263https://repositorio.unal.edu.co/bitstream/unal/80671/4/1036663108.2021.pdf.jpg5aa5caabaab7cb7e4407b066ac0036d7MD54unal/80671oai:repositorio.unal.edu.co:unal/806712023-10-25 10:24:52.48Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUExBTlRJTExBIERFUMOTU0lUTwoKQ29tbyBlZGl0b3IgZGUgZXN0ZSDDrXRlbSwgdXN0ZWQgcHVlZGUgbW92ZXJsbyBhIHJldmlzacOzbiBzaW4gYW50ZXMgcmVzb2x2ZXIgbG9zIHByb2JsZW1hcyBpZGVudGlmaWNhZG9zLCBkZSBsbyBjb250cmFyaW8sIGhhZ2EgY2xpYyBlbiBHdWFyZGFyIHBhcmEgZ3VhcmRhciBlbCDDrXRlbSB5IHNvbHVjaW9uYXIgZXN0b3MgcHJvYmxlbWFzIG1hcyB0YXJkZS4KClBhcmEgdHJhYmFqb3MgZGVwb3NpdGFkb3MgcG9yIHN1IHByb3BpbyBhdXRvcjoKIApBbCBhdXRvYXJjaGl2YXIgZXN0ZSBncnVwbyBkZSBhcmNoaXZvcyBkaWdpdGFsZXMgeSBzdXMgbWV0YWRhdG9zLCB5byBnYXJhbnRpem8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVbmFsIGVsIGRlcmVjaG8gYSBhbG1hY2VuYXJsb3MgeSBtYW50ZW5lcmxvcyBkaXNwb25pYmxlcyBlbiBsw61uZWEgZGUgbWFuZXJhIGdyYXR1aXRhLiBEZWNsYXJvIHF1ZSBsYSBvYnJhIGVzIGRlIG1pIHByb3BpZWRhZCBpbnRlbGVjdHVhbCB5IHF1ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVuYWwgbm8gYXN1bWUgbmluZ3VuYSByZXNwb25zYWJpbGlkYWQgc2kgaGF5IGFsZ3VuYSB2aW9sYWNpw7NuIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGFsIGRpc3RyaWJ1aXIgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuIChTZSByZWNvbWllbmRhIGEgdG9kb3MgbG9zIGF1dG9yZXMgYSBpbmRpY2FyIHN1cyBkZXJlY2hvcyBkZSBhdXRvciBlbiBsYSBww6FnaW5hIGRlIHTDrXR1bG8gZGUgc3UgZG9jdW1lbnRvLikgRGUgbGEgbWlzbWEgbWFuZXJhLCBhY2VwdG8gbG9zIHTDqXJtaW5vcyBkZSBsYSBzaWd1aWVudGUgbGljZW5jaWE6IExvcyBhdXRvcmVzIG8gdGl0dWxhcmVzIGRlbCBkZXJlY2hvIGRlIGF1dG9yIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gY29uZmllcmVuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBzZSBpbnRlZ3JhIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHF1ZSBzZSBhanVzdGEgYSBsYXMgc2lndWllbnRlcyBjYXJhY3RlcsOtc3RpY2FzOiBhKSBFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWUgZW4gZWwgcmVwb3NpdG9yaW8sIHF1ZSBzZXLDoW4gcHJvcnJvZ2FibGVzIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gcGF0cmltb25pYWwgZGVsIGF1dG9yLiBFbCBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgbGljZW5jaWEgc29saWNpdMOhbmRvbG8gYSBsYSBVbml2ZXJzaWRhZC4gYikgTG9zIGF1dG9yZXMgYXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBwdWJsaWNhciBsYSBvYnJhIGVuIGVsIGZvcm1hdG8gcXVlIGVsIHJlcG9zaXRvcmlvIGxvIHJlcXVpZXJhIChpbXByZXNvLCBkaWdpdGFsLCBlbGVjdHLDs25pY28gbyBjdWFscXVpZXIgb3RybyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSB5IGNvbm9jZW4gcXVlIGRhZG8gcXVlIHNlIHB1YmxpY2EgZW4gSW50ZXJuZXQgcG9yIGVzdGUgaGVjaG8gY2lyY3VsYSBjb24gYWxjYW5jZSBtdW5kaWFsLiBjKSBMb3MgYXV0b3JlcyBhY2VwdGFuIHF1ZSBsYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIHJlbnVuY2lhbiBhIHJlY2liaXIgZW1vbHVtZW50byBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBjb24gcXVlIHNlIHB1YmxpY2EuIGQpIExvcyBhdXRvcmVzIG1hbmlmaWVzdGFuIHF1ZSBzZSB0cmF0YSBkZSB1bmEgb2JyYSBvcmlnaW5hbCBzb2JyZSBsYSBxdWUgdGllbmVuIGxvcyBkZXJlY2hvcyBxdWUgYXV0b3JpemFuIHkgcXVlIHNvbiBlbGxvcyBxdWllbmVzIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uIGUpIExvcyBhdXRvcmVzIGF1dG9yaXphbiBhIGxhIFVuaXZlcnNpZGFkIHBhcmEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyBhZ3JlZ2Fkb3JlcywgaW5kaWNlc3MgeSBidXNjYWRvcmVzIHF1ZSBzZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBwcm9tb3ZlciBzdSBkaWZ1c2nDs24uIGYpIExvcyBhdXRvcmVzIGFjZXB0YW4gcXVlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHB1ZWRhIGNvbnZlcnRpciBlbCBkb2N1bWVudG8gYSBjdWFscXVpZXIgbWVkaW8gbyBmb3JtYXRvIHBhcmEgcHJvcMOzc2l0b3MgZGUgcHJlc2VydmFjacOzbiBkaWdpdGFsLiBTSSBFTCBET0NVTUVOVE8gU0UgQkFTQSBFTiBVTiBUUkFCQUpPIFFVRSBIQSBTSURPIFBBVFJPQ0lOQURPIE8gQVBPWUFETyBQT1IgVU5BIEFHRU5DSUEgTyBVTkEgT1JHQU5JWkFDScOTTiwgQ09OIEVYQ0VQQ0nDk04gREUgTEEgVU5JVkVSU0lEQUQgTkFDSU9OQUwgREUgQ09MT01CSUEsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uIAoKUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igb3RyYXMgcGVyc29uYXMgZGlzdGludGFzIGEgc3UgYXV0b3I6IAoKRGVjbGFybyBxdWUgZWwgZ3J1cG8gZGUgYXJjaGl2b3MgZGlnaXRhbGVzIHkgbWV0YWRhdG9zIGFzb2NpYWRvcyBxdWUgZXN0b3kgYXJjaGl2YW5kbyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVOKSBlcyBkZSBkb21pbmlvIHDDumJsaWNvLiBTaSBubyBmdWVzZSBlbCBjYXNvLCBhY2VwdG8gdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgcG9yIGN1YWxxdWllciBpbmZyYWNjacOzbiBkZSBkZXJlY2hvcyBkZSBhdXRvciBxdWUgY29ubGxldmUgbGEgZGlzdHJpYnVjacOzbiBkZSBlc3RvcyBhcmNoaXZvcyB5IG1ldGFkYXRvcy4KTk9UQTogU0kgTEEgVEVTSVMgQSBQVUJMSUNBUiBBRFFVSVJJw5MgQ09NUFJPTUlTT1MgREUgQ09ORklERU5DSUFMSURBRCBFTiBFTCBERVNBUlJPTExPIE8gUEFSVEVTIERFTCBET0NVTUVOVE8uIFNJR0EgTEEgRElSRUNUUklaIERFIExBIFJFU09MVUNJw5NOIDAyMyBERSAyMDE1LCBQT1IgTEEgQ1VBTCBTRSBFU1RBQkxFQ0UgRUwgUFJPQ0VESU1JRU5UTyBQQVJBIExBIFBVQkxJQ0FDScOTTiBERSBURVNJUyBERSBNQUVTVFLDjUEgWSBET0NUT1JBRE8gREUgTE9TIEVTVFVESUFOVEVTIERFIExBIFVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU4sIEVYUEVESURBIFBPUiBMQSBTRUNSRVRBUsONQSBHRU5FUkFMLiAqTEEgVEVTSVMgQSBQVUJMSUNBUiBERUJFIFNFUiBMQSBWRVJTScOTTiBGSU5BTCBBUFJPQkFEQS4gCgpBbCBoYWNlciBjbGljIGVuIGVsIHNpZ3VpZW50ZSBib3TDs24sIHVzdGVkIGluZGljYSBxdWUgZXN0w6EgZGUgYWN1ZXJkbyBjb24gZXN0b3MgdMOpcm1pbm9zLiBTaSB0aWVuZSBhbGd1bmEgZHVkYSBzb2JyZSBsYSBsaWNlbmNpYSwgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwgYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYS4KClVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIC0gw5psdGltYSBtb2RpZmljYWNpw7NuIDE5LzEwLzIwMjEK