Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta

Este trabajo de grado presenta una investigación de tipo experimental que plantea la solución numérica del modelo de Heston de valoración de opciones. El modelo de Heston para la valoración de opciones financieras, en particular, las opciones europeas comprende sistema de ecuaciones diferenciales es...

Full description

Autores:
Castillo Reyes, Miguel Angel
Ladino Villamil, Marly Jenny
Tipo de recurso:
Tesis
Fecha de publicación:
2022
Institución:
Universidad ECCI
Repositorio:
Repositorio Institucional ECCI
Idioma:
spa
OAI Identifier:
oai:repositorio.ecci.edu.co:001/3315
Acceso en línea:
https://repositorio.ecci.edu.co/handle/001/3315
Palabra clave:
Herramientas computacionales
Esquemas tipo Runge-Kutta
Sistema de ecuaciones diferenciales
Computing tools
Runge-Kutta type schemes
System of differential equations
Rights
openAccess
License
Derechos Reservados - Universidad ECCI, 2022
id ECCI2_cd11aeeeaa5eeeb82d10355fd283a133
oai_identifier_str oai:repositorio.ecci.edu.co:001/3315
network_acronym_str ECCI2
network_name_str Repositorio Institucional ECCI
repository_id_str
dc.title.spa.fl_str_mv Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
title Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
spellingShingle Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
Herramientas computacionales
Esquemas tipo Runge-Kutta
Sistema de ecuaciones diferenciales
Computing tools
Runge-Kutta type schemes
System of differential equations
title_short Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
title_full Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
title_fullStr Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
title_full_unstemmed Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
title_sort Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-Kutta
dc.creator.fl_str_mv Castillo Reyes, Miguel Angel
Ladino Villamil, Marly Jenny
dc.contributor.advisor.none.fl_str_mv Munar Benítez, Edgar Mauricio
dc.contributor.author.none.fl_str_mv Castillo Reyes, Miguel Angel
Ladino Villamil, Marly Jenny
dc.subject.proposal.spa.fl_str_mv Herramientas computacionales
Esquemas tipo Runge-Kutta
Sistema de ecuaciones diferenciales
topic Herramientas computacionales
Esquemas tipo Runge-Kutta
Sistema de ecuaciones diferenciales
Computing tools
Runge-Kutta type schemes
System of differential equations
dc.subject.proposal.eng.fl_str_mv Computing tools
Runge-Kutta type schemes
System of differential equations
description Este trabajo de grado presenta una investigación de tipo experimental que plantea la solución numérica del modelo de Heston de valoración de opciones. El modelo de Heston para la valoración de opciones financieras, en particular, las opciones europeas comprende sistema de ecuaciones diferenciales estocásticas que busca predecir el valor de la prima que se paga en este tipo de derivados financieros. Esta clase de modelos son muy difíciles de resolver de manera analítica, por lo que requieren simulaciones computacionales en el proceso del cálculo de la prima. Si bien existen algunas fórmulas cerradas para el modelo de Heston, el contar con estrategias numéricas permite considerar modelos mas sofisticados basados en Heston, y para los cuales no existen tales fórmulas cerradas. Para este propósito, primero se requiere de un modelo matemático que simule el comportamiento de las opciones financieras bajo el modelo de Heston de volatilidad estocástica.
publishDate 2022
dc.date.issued.none.fl_str_mv 2022
dc.date.accessioned.none.fl_str_mv 2023-03-07T19:44:09Z
dc.date.available.none.fl_str_mv 2023-03-07T19:44:09Z
dc.type.spa.fl_str_mv Trabajo de grado - Pregrado
dc.type.coarversion.fl_str_mv http://purl.org/coar/version/c_dc82b40f9837b551
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_46ec
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/other
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/WP
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_46ec
dc.identifier.uri.none.fl_str_mv https://repositorio.ecci.edu.co/handle/001/3315
url https://repositorio.ecci.edu.co/handle/001/3315
dc.language.iso.spa.fl_str_mv spa
language spa
dc.relation.references.spa.fl_str_mv G. A.C, Análisis empírico del modelo de Heston en opciones sobre el índice SP500, Tesis de pregrado. Universidad de los Andes, 2007.
F. Black and M. Scholes, The pricing of options and corporate liabilities, J. Polit. Econ., 81 (1973), pp. 637–654.
I. J. y. R. S. Cox, J.C., A theory of the term structure of interest rates, Econometrica, 53 (1985), pp. 385–407.
G. Cuesta, Introducción a los modelos de volatilidad estocástica, Tesis de maestría. Uned, 2014.
W. Fang, From Constant to Stochastic Volatility: Black-Scholes Versus Heston Option Pricing Models, Senior Projects Spring, 2019.
F. Garcia and R. Romero, Caracterización y análisis de modelos de evaluación económica de proyectos de inversión bajo incertidumbre, 8 (2009).
A. Gaviria, Análisis empírico del Modelo de Heston en Opciones sobre el índice S&P500, Proyecto de Grado. Universidad de los Andes, 2007.
S. L. Heston, A closed-form solution for options with stochastic volatility with applications to bond and currency options, Rev. Financ. Stud., 6 (1993), pp. 327–343.
R. C. Merton, Theory of rational option pricing, Bell J. Econom. and Management Sci., 4 (1973), pp. 141–183.
L. Rincón, Introducción a los procesos estocásticos, Libro. Universidad UNAM, 2012.
V. Rozo, Contraste entre técnicas tradicionales de inversión y valoración de opciones reales en ambientes de incertidumbre, utilizando el modelo de Black-Scholes y el método binomial, Tesis de maestría. Universidad del Norte, 2007.
A. Sevilla, Opción de compra (call), www.economipedia.com, 2015.
S. Shreve, Stochastic Calculus for Finance II: continuous-time models, Springer, 2004.
A. Tresierra and C. Marilia, Valorización de opciones reales: modelo ornstein-uhlenbeck, J. Econ. finan. adm., 21 (2016), pp. 56–62.
V. Velayos, Opciones financieras, www.economipedia.com, 2015.
dc.rights.spa.fl_str_mv Derechos Reservados - Universidad ECCI, 2022
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv Derechos Reservados - Universidad ECCI, 2022
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 41 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad ECCI
dc.publisher.place.spa.fl_str_mv Colombia
dc.publisher.faculty.spa.fl_str_mv Facultad de Ciencias Económicas y Administrativas
institution Universidad ECCI
bitstream.url.fl_str_mv https://repositorio.ecci.edu.co/bitstream/001/3315/5/Trabajo%20de%20grado.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3315/7/Acta%20de%20grado.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3315/9/Cesi%c3%b3n%20de%20derechos.pdf.txt
https://repositorio.ecci.edu.co/bitstream/001/3315/6/Trabajo%20de%20grado.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3315/8/Acta%20de%20grado.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3315/10/Cesi%c3%b3n%20de%20derechos.pdf.jpg
https://repositorio.ecci.edu.co/bitstream/001/3315/1/Trabajo%20de%20grado.pdf
https://repositorio.ecci.edu.co/bitstream/001/3315/3/Acta%20de%20grado.pdf
https://repositorio.ecci.edu.co/bitstream/001/3315/2/Cesi%c3%b3n%20de%20derechos.pdf
https://repositorio.ecci.edu.co/bitstream/001/3315/4/license.txt
bitstream.checksum.fl_str_mv b602a35987e2c1ad9812233d09309ac3
68b329da9893e34099c7d8ad5cb9c940
68b329da9893e34099c7d8ad5cb9c940
7a61bb3957dc3562b0751d28179cc134
05c1f04f409c6bb32d9322231399a518
ccfc9ba2785aa8992c87371d9f569590
bb694fd868e3dfa3dc15eced71a7b5ef
b595097763894ceb6f0017b23591c3ea
bea9137bdc5ae50f1dee19b7b75bba9b
88794144ff048353b359a3174871b0d5
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital Universidad ECCI
repository.mail.fl_str_mv repositorio.institucional@ecci.edu.co
_version_ 1814100637225320448
spelling Munar Benítez, Edgar Mauricio4323951fe41802a16da14c5644186641Castillo Reyes, Miguel Angel3ab98a0621583076c1f264878b5917eaLadino Villamil, Marly Jenny0a5fb8c634f1f2c8a247b09ae255a6972023-03-07T19:44:09Z2023-03-07T19:44:09Z2022https://repositorio.ecci.edu.co/handle/001/3315Este trabajo de grado presenta una investigación de tipo experimental que plantea la solución numérica del modelo de Heston de valoración de opciones. El modelo de Heston para la valoración de opciones financieras, en particular, las opciones europeas comprende sistema de ecuaciones diferenciales estocásticas que busca predecir el valor de la prima que se paga en este tipo de derivados financieros. Esta clase de modelos son muy difíciles de resolver de manera analítica, por lo que requieren simulaciones computacionales en el proceso del cálculo de la prima. Si bien existen algunas fórmulas cerradas para el modelo de Heston, el contar con estrategias numéricas permite considerar modelos mas sofisticados basados en Heston, y para los cuales no existen tales fórmulas cerradas. Para este propósito, primero se requiere de un modelo matemático que simule el comportamiento de las opciones financieras bajo el modelo de Heston de volatilidad estocástica.Índice general Abstract iii Resumen iv Agradecimientos v Contenidos vi Lista de Tablas viii Lista de Figuras ix Introducción 1 1. Preliminares 3 1.1. Conceptos básicos 3 2. Modelos matemáticos en la valoración de opciones 7 2.1. Conceptos básicos de finanzas 7 2.2. Opciones financieras 8 2.3. El modelo de Black-Scholes-Merton 11 2.4. El modelo de Heston de volatilidad estocástica 13 2.5. La EDP asociada al modelo de Heston 15 3. Métodos numéricos para la valoración de opciones 18 3.1. Métodos de árboles 18 3.2. Métodos monte carlo 19 3.3. Método de líneas 19 4. Esquemas tipo Runge-Kutta para el modelo de Heston 21 4.1. EDP con condiciones de frontera 21 4.2. Esquema numérico opciones tipo CALL 22 5. Experimentos Numéricos 27 5.1. Métodos Explícitos 27 5.2. Métodos Implícitos 28 5.3. Efecto del Tamaño de Paso 29 5.4. Efecto del Tiempo de Maduración 30 Conclusiones y Trabajos Futuros 31 Referencias 32PregradoEstadísticoEstadística41 p.application/pdfspaUniversidad ECCIColombiaFacultad de Ciencias Económicas y AdministrativasDerechos Reservados - Universidad ECCI, 2022info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Simulación numérica para el modelo de Heston de valoración de opciones usando esquemas tipo Runge-KuttaTrabajo de grado - Pregradohttp://purl.org/coar/resource_type/c_46ecTextinfo:eu-repo/semantics/otherhttps://purl.org/redcol/resource_type/WPhttp://purl.org/coar/version/c_970fb48d4fbd8a85http://purl.org/coar/version/c_dc82b40f9837b551G. A.C, Análisis empírico del modelo de Heston en opciones sobre el índice SP500, Tesis de pregrado. Universidad de los Andes, 2007.F. Black and M. Scholes, The pricing of options and corporate liabilities, J. Polit. Econ., 81 (1973), pp. 637–654.I. J. y. R. S. Cox, J.C., A theory of the term structure of interest rates, Econometrica, 53 (1985), pp. 385–407.G. Cuesta, Introducción a los modelos de volatilidad estocástica, Tesis de maestría. Uned, 2014.W. Fang, From Constant to Stochastic Volatility: Black-Scholes Versus Heston Option Pricing Models, Senior Projects Spring, 2019.F. Garcia and R. Romero, Caracterización y análisis de modelos de evaluación económica de proyectos de inversión bajo incertidumbre, 8 (2009).A. Gaviria, Análisis empírico del Modelo de Heston en Opciones sobre el índice S&P500, Proyecto de Grado. Universidad de los Andes, 2007.S. L. Heston, A closed-form solution for options with stochastic volatility with applications to bond and currency options, Rev. Financ. Stud., 6 (1993), pp. 327–343.R. C. Merton, Theory of rational option pricing, Bell J. Econom. and Management Sci., 4 (1973), pp. 141–183.L. Rincón, Introducción a los procesos estocásticos, Libro. Universidad UNAM, 2012.V. Rozo, Contraste entre técnicas tradicionales de inversión y valoración de opciones reales en ambientes de incertidumbre, utilizando el modelo de Black-Scholes y el método binomial, Tesis de maestría. Universidad del Norte, 2007.A. Sevilla, Opción de compra (call), www.economipedia.com, 2015.S. Shreve, Stochastic Calculus for Finance II: continuous-time models, Springer, 2004.A. Tresierra and C. Marilia, Valorización de opciones reales: modelo ornstein-uhlenbeck, J. Econ. finan. adm., 21 (2016), pp. 56–62.V. Velayos, Opciones financieras, www.economipedia.com, 2015.Herramientas computacionalesEsquemas tipo Runge-KuttaSistema de ecuaciones diferencialesComputing toolsRunge-Kutta type schemesSystem of differential equationsTEXTTrabajo de grado.pdf.txtTrabajo de grado.pdf.txtExtracted texttext/plain71933https://repositorio.ecci.edu.co/bitstream/001/3315/5/Trabajo%20de%20grado.pdf.txtb602a35987e2c1ad9812233d09309ac3MD55Acta de grado.pdf.txtActa de grado.pdf.txtExtracted texttext/plain1https://repositorio.ecci.edu.co/bitstream/001/3315/7/Acta%20de%20grado.pdf.txt68b329da9893e34099c7d8ad5cb9c940MD57Cesión de derechos.pdf.txtCesión de derechos.pdf.txtExtracted texttext/plain1https://repositorio.ecci.edu.co/bitstream/001/3315/9/Cesi%c3%b3n%20de%20derechos.pdf.txt68b329da9893e34099c7d8ad5cb9c940MD59THUMBNAILTrabajo de grado.pdf.jpgTrabajo de grado.pdf.jpgGenerated Thumbnailimage/jpeg7205https://repositorio.ecci.edu.co/bitstream/001/3315/6/Trabajo%20de%20grado.pdf.jpg7a61bb3957dc3562b0751d28179cc134MD56Acta de grado.pdf.jpgActa de grado.pdf.jpgGenerated Thumbnailimage/jpeg12530https://repositorio.ecci.edu.co/bitstream/001/3315/8/Acta%20de%20grado.pdf.jpg05c1f04f409c6bb32d9322231399a518MD58Cesión de derechos.pdf.jpgCesión de derechos.pdf.jpgGenerated Thumbnailimage/jpeg15137https://repositorio.ecci.edu.co/bitstream/001/3315/10/Cesi%c3%b3n%20de%20derechos.pdf.jpgccfc9ba2785aa8992c87371d9f569590MD510ORIGINALTrabajo de grado.pdfTrabajo de grado.pdfapplication/pdf691440https://repositorio.ecci.edu.co/bitstream/001/3315/1/Trabajo%20de%20grado.pdfbb694fd868e3dfa3dc15eced71a7b5efMD51Acta de grado.pdfActa de grado.pdfapplication/pdf541244https://repositorio.ecci.edu.co/bitstream/001/3315/3/Acta%20de%20grado.pdfb595097763894ceb6f0017b23591c3eaMD53Cesión de derechos.pdfCesión de derechos.pdfapplication/pdf2774354https://repositorio.ecci.edu.co/bitstream/001/3315/2/Cesi%c3%b3n%20de%20derechos.pdfbea9137bdc5ae50f1dee19b7b75bba9bMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-814798https://repositorio.ecci.edu.co/bitstream/001/3315/4/license.txt88794144ff048353b359a3174871b0d5MD54TEXTTHUMBNAIL001/3315oai:repositorio.ecci.edu.co:001/33152024-07-24 16:33:56.941Repositorio Digital Universidad ECCIrepositorio.institucional@ecci.edu.coTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCk1FRElBTlRFIEVMIEVKRVJDSUNJTyBERSBDVUFMUVVJRVJBIERFIExPUyBERVJFQ0hPUyBRVUUgU0UgT1RPUkdBTiBFTiBFU1RBIExJQ0VOQ0lBLCBVU1RFRCBBQ0VQVEEgWSBBQ1VFUkRBIFFVRURBUiBPQkxJR0FETyBFTiBMT1MgVEVSTUlOT1MgUVVFIFNFIFNFw5FBTEFOIEVOIEVMTEEuIEVMIExJQ0VOQ0lBTlRFIENPTkNFREUgQSBVU1RFRCBMT1MgREVSRUNIT1MgQ09OVEVOSURPUyBFTiBFU1RBIExJQ0VOQ0lBIENPTkRJQ0lPTkFET1MgQSBMQSBBQ0VQVEFDScOTTiBERSBTVVMgVEVSTUlOT1MgWSBDT05ESUNJT05FUy4KMS4gRGVmaW5pY2lvbmVzCmEuCU9icmEgQ29sZWN0aXZhIGVzIHVuYSBvYnJhLCB0YWwgY29tbyB1bmEgcHVibGljYWNpw7NuIHBlcmnDs2RpY2EsIHVuYSBhbnRvbG9nw61hLCBvIHVuYSBlbmNpY2xvcGVkaWEsIGVuIGxhIHF1ZSBsYSBvYnJhIGVuIHN1IHRvdGFsaWRhZCwgc2luIG1vZGlmaWNhY2nDs24gYWxndW5hLCBqdW50byBjb24gdW4gZ3J1cG8gZGUgb3RyYXMgY29udHJpYnVjaW9uZXMgcXVlIGNvbnN0aXR1eWVuIG9icmFzIHNlcGFyYWRhcyBlIGluZGVwZW5kaWVudGVzIGVuIHPDrSBtaXNtYXMsIHNlIGludGVncmFuIGVuIHVuIHRvZG8gY29sZWN0aXZvLiBVbmEgT2JyYSBxdWUgY29uc3RpdHV5ZSB1bmEgb2JyYSBjb2xlY3RpdmEgbm8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIChjb21vIHNlIGRlZmluZSBhYmFqbykgcGFyYSBsb3MgcHJvcMOzc2l0b3MgZGUgZXN0YSBsaWNlbmNpYS4gYXF1ZWxsYSBwcm9kdWNpZGEgcG9yIHVuIGdydXBvIGRlIGF1dG9yZXMsIGVuIHF1ZSBsYSBPYnJhIHNlIGVuY3VlbnRyYSBzaW4gbW9kaWZpY2FjaW9uZXMsIGp1bnRvIGNvbiB1bmEgY2llcnRhIGNhbnRpZGFkIGRlIG90cmFzIGNvbnRyaWJ1Y2lvbmVzLCBxdWUgY29uc3RpdHV5ZW4gZW4gc8OtIG1pc21vcyB0cmFiYWpvcyBzZXBhcmFkb3MgZSBpbmRlcGVuZGllbnRlcywgcXVlIHNvbiBpbnRlZ3JhZG9zIGFsIHRvZG8gY29sZWN0aXZvLCB0YWxlcyBjb21vIHB1YmxpY2FjaW9uZXMgcGVyacOzZGljYXMsIGFudG9sb2fDrWFzIG8gZW5jaWNsb3BlZGlhcy4KYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgpjLglMaWNlbmNpYW50ZSwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCB0aXR1bGFyIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBxdWUgb2ZyZWNlIGxhIE9icmEgZW4gY29uZm9ybWlkYWQgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLgpkLglBdXRvciBvcmlnaW5hbCwgZXMgZWwgaW5kaXZpZHVvIHF1ZSBjcmXDsyBsYSBPYnJhLgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCmYuCVVzdGVkLCBlcyBlbCBpbmRpdmlkdW8gbyBsYSBlbnRpZGFkIHF1ZSBlamVyY2l0YSBsb3MgZGVyZWNob3Mgb3RvcmdhZG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHkgcXVlIGNvbiBhbnRlcmlvcmlkYWQgbm8gaGEgdmlvbGFkbyBsYXMgY29uZGljaW9uZXMgZGUgbGEgbWlzbWEgcmVzcGVjdG8gYSBsYSBPYnJhLCBvIHF1ZSBoYXlhIG9idGVuaWRvIGF1dG9yaXphY2nDs24gZXhwcmVzYSBwb3IgcGFydGUgZGVsIExpY2VuY2lhbnRlIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgYWwgYW1wYXJvIGRlIGVzdGEgTGljZW5jaWEgcGVzZSBhIHVuYSB2aW9sYWNpw7NuIGFudGVyaW9yLgoyLiBEZXJlY2hvcyBkZSBVc29zIEhvbnJhZG9zIHkgZXhjZXBjaW9uZXMgTGVnYWxlcy4KTmFkYSBlbiBlc3RhIExpY2VuY2lhIHBvZHLDoSBzZXIgaW50ZXJwcmV0YWRvIGNvbW8gdW5hIGRpc21pbnVjacOzbiwgbGltaXRhY2nDs24gbyByZXN0cmljY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlcml2YWRvcyBkZWwgdXNvIGhvbnJhZG8geSBvdHJhcyBsaW1pdGFjaW9uZXMgbyBleGNlcGNpb25lcyBhIGxvcyBkZXJlY2hvcyBkZWwgYXV0b3IgYmFqbyBlbCByw6lnaW1lbiBsZWdhbCB2aWdlbnRlIG8gZGVyaXZhZG8gZGUgY3VhbHF1aWVyIG90cmEgbm9ybWEgcXVlIHNlIGxlIGFwbGlxdWUuCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CmEuCVJlcHJvZHVjaXIgbGEgT2JyYSwgaW5jb3Jwb3JhciBsYSBPYnJhIGVuIHVuYSBvIG3DoXMgT2JyYXMgQ29sZWN0aXZhcywgeSByZXByb2R1Y2lyIGxhIE9icmEgaW5jb3Jwb3JhZGEgZW4gbGFzIE9icmFzIENvbGVjdGl2YXM7CmIuCURpc3RyaWJ1aXIgY29waWFzIG8gZm9ub2dyYW1hcyBkZSBsYXMgT2JyYXMsIGV4aGliaXJsYXMgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXJsYXMgcMO6YmxpY2FtZW50ZSB5L28gcG9uZXJsYXMgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EsIGluY2x1ecOpbmRvbGFzIGNvbW8gaW5jb3Jwb3JhZGFzIGVuIE9icmFzIENvbGVjdGl2YXMsIHNlZ8O6biBjb3JyZXNwb25kYTsKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCjQuIFJlc3RyaWNjaW9uZXMuCkxhIGxpY2VuY2lhIG90b3JnYWRhIGVuIGxhIGFudGVyaW9yIFNlY2Npw7NuIDMgZXN0w6EgZXhwcmVzYW1lbnRlIHN1amV0YSB5IGxpbWl0YWRhIHBvciBsYXMgc2lndWllbnRlcyByZXN0cmljY2lvbmVzOgphLglVc3RlZCBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBzw7NsbyBiYWpvIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLCB5IFVzdGVkIGRlYmUgaW5jbHVpciB1bmEgY29waWEgZGUgZXN0YSBsaWNlbmNpYSBvIGRlbCBJZGVudGlmaWNhZG9yIFVuaXZlcnNhbCBkZSBSZWN1cnNvcyBkZSBsYSBtaXNtYSBjb24gY2FkYSBjb3BpYSBkZSBsYSBPYnJhIHF1ZSBkaXN0cmlidXlhLCBleGhpYmEgcMO6YmxpY2FtZW50ZSwgZWplY3V0ZSBww7pibGljYW1lbnRlIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EuIE5vIGVzIHBvc2libGUgb2ZyZWNlciBvIGltcG9uZXIgbmluZ3VuYSBjb25kaWNpw7NuIHNvYnJlIGxhIE9icmEgcXVlIGFsdGVyZSBvIGxpbWl0ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYSBvIGVsIGVqZXJjaWNpbyBkZSBsb3MgZGVyZWNob3MgZGUgbG9zIGRlc3RpbmF0YXJpb3Mgb3RvcmdhZG9zIGVuIGVzdGUgZG9jdW1lbnRvLiBObyBlcyBwb3NpYmxlIHN1YmxpY2VuY2lhciBsYSBPYnJhLiBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdG9zIHRvZG9zIGxvcyBhdmlzb3MgcXVlIGhhZ2FuIHJlZmVyZW5jaWEgYSBlc3RhIExpY2VuY2lhIHkgYSBsYSBjbMOhdXN1bGEgZGUgbGltaXRhY2nDs24gZGUgZ2FyYW50w61hcy4gVXN0ZWQgbm8gcHVlZGUgZGlzdHJpYnVpciwgZXhoaWJpciBww7pibGljYW1lbnRlLCBlamVjdXRhciBww7pibGljYW1lbnRlLCBvIHBvbmVyIGEgZGlzcG9zaWNpw7NuIHDDumJsaWNhIGxhIE9icmEgY29uIGFsZ3VuYSBtZWRpZGEgdGVjbm9sw7NnaWNhIHF1ZSBjb250cm9sZSBlbCBhY2Nlc28gbyBsYSB1dGlsaXphY2nDs24gZGUgZWxsYSBkZSB1bmEgZm9ybWEgcXVlIHNlYSBpbmNvbnNpc3RlbnRlIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4gTG8gYW50ZXJpb3Igc2UgYXBsaWNhIGEgbGEgT2JyYSBpbmNvcnBvcmFkYSBhIHVuYSBPYnJhIENvbGVjdGl2YSwgcGVybyBlc3RvIG5vIGV4aWdlIHF1ZSBsYSBPYnJhIENvbGVjdGl2YSBhcGFydGUgZGUgbGEgb2JyYSBtaXNtYSBxdWVkZSBzdWpldGEgYSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4gU2kgVXN0ZWQgY3JlYSB1bmEgT2JyYSBDb2xlY3RpdmEsIHByZXZpbyBhdmlzbyBkZSBjdWFscXVpZXIgTGljZW5jaWFudGUgZGViZSwgZW4gbGEgbWVkaWRhIGRlIGxvIHBvc2libGUsIGVsaW1pbmFyIGRlIGxhIE9icmEgQ29sZWN0aXZhIGN1YWxxdWllciByZWZlcmVuY2lhIGEgZGljaG8gTGljZW5jaWFudGUgbyBhbCBBdXRvciBPcmlnaW5hbCwgc2Vnw7puIGxvIHNvbGljaXRhZG8gcG9yIGVsIExpY2VuY2lhbnRlIHkgY29uZm9ybWUgbG8gZXhpZ2UgbGEgY2zDoXVzdWxhIDQoYykuCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KYy4JU2kgdXN0ZWQgZGlzdHJpYnV5ZSwgZXhoaWJlIHDDumJsaWNhbWVudGUsIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBvIGVqZWN1dGEgcMO6YmxpY2FtZW50ZSBlbiBmb3JtYSBkaWdpdGFsIGxhIE9icmEgbyBjdWFscXVpZXIgT2JyYSBEZXJpdmFkYSB1IE9icmEgQ29sZWN0aXZhLCBVc3RlZCBkZWJlIG1hbnRlbmVyIGludGFjdGEgdG9kYSBsYSBpbmZvcm1hY2nDs24gZGUgZGVyZWNobyBkZSBhdXRvciBkZSBsYSBPYnJhIHkgcHJvcG9yY2lvbmFyLCBkZSBmb3JtYSByYXpvbmFibGUgc2Vnw7puIGVsIG1lZGlvIG8gbWFuZXJhIHF1ZSBVc3RlZCBlc3TDqSB1dGlsaXphbmRvOiAoaSkgZWwgbm9tYnJlIGRlbCBBdXRvciBPcmlnaW5hbCBzaSBlc3TDoSBwcm92aXN0byAobyBzZXVkw7NuaW1vLCBzaSBmdWVyZSBhcGxpY2FibGUpLCB5L28gKGlpKSBlbCBub21icmUgZGUgbGEgcGFydGUgbyBsYXMgcGFydGVzIHF1ZSBlbCBBdXRvciBPcmlnaW5hbCB5L28gZWwgTGljZW5jaWFudGUgaHViaWVyZW4gZGVzaWduYWRvIHBhcmEgbGEgYXRyaWJ1Y2nDs24gKHYuZy4sIHVuIGluc3RpdHV0byBwYXRyb2NpbmFkb3IsIGVkaXRvcmlhbCwgcHVibGljYWNpw7NuKSBlbiBsYSBpbmZvcm1hY2nDs24gZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlbCBMaWNlbmNpYW50ZSwgdMOpcm1pbm9zIGRlIHNlcnZpY2lvcyBvIGRlIG90cmFzIGZvcm1hcyByYXpvbmFibGVzOyBlbCB0w610dWxvIGRlIGxhIE9icmEgc2kgZXN0w6EgcHJvdmlzdG87IGVuIGxhIG1lZGlkYSBkZSBsbyByYXpvbmFibGVtZW50ZSBmYWN0aWJsZSB5LCBzaSBlc3TDoSBwcm92aXN0bywgZWwgSWRlbnRpZmljYWRvciBVbmlmb3JtZSBkZSBSZWN1cnNvcyAoVW5pZm9ybSBSZXNvdXJjZSBJZGVudGlmaWVyKSBxdWUgZWwgTGljZW5jaWFudGUgZXNwZWNpZmljYSBwYXJhIHNlciBhc29jaWFkbyBjb24gbGEgT2JyYSwgc2Fsdm8gcXVlIHRhbCBVUkkgbm8gc2UgcmVmaWVyYSBhIGxhIG5vdGEgc29icmUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIG8gYSBsYSBpbmZvcm1hY2nDs24gc29icmUgZWwgbGljZW5jaWFtaWVudG8gZGUgbGEgT2JyYTsgeSBlbiBlbCBjYXNvIGRlIHVuYSBPYnJhIERlcml2YWRhLCBhdHJpYnVpciBlbCBjcsOpZGl0byBpZGVudGlmaWNhbmRvIGVsIHVzbyBkZSBsYSBPYnJhIGVuIGxhIE9icmEgRGVyaXZhZGEgKHYuZy4sICJUcmFkdWNjacOzbiBGcmFuY2VzYSBkZSBsYSBPYnJhIGRlbCBBdXRvciBPcmlnaW5hbCwiIG8gIkd1acOzbiBDaW5lbWF0b2dyw6FmaWNvIGJhc2FkbyBlbiBsYSBPYnJhIG9yaWdpbmFsIGRlbCBBdXRvciBPcmlnaW5hbCIpLiBUYWwgY3LDqWRpdG8gcHVlZGUgc2VyIGltcGxlbWVudGFkbyBkZSBjdWFscXVpZXIgZm9ybWEgcmF6b25hYmxlOyBlbiBlbCBjYXNvLCBzaW4gZW1iYXJnbywgZGUgT2JyYXMgRGVyaXZhZGFzIHUgT2JyYXMgQ29sZWN0aXZhcywgdGFsIGNyw6lkaXRvIGFwYXJlY2Vyw6EsIGNvbW8gbcOtbmltbywgZG9uZGUgYXBhcmVjZSBlbCBjcsOpZGl0byBkZSBjdWFscXVpZXIgb3RybyBhdXRvciBjb21wYXJhYmxlIHkgZGUgdW5hIG1hbmVyYSwgYWwgbWVub3MsIHRhbiBkZXN0YWNhZGEgY29tbyBlbCBjcsOpZGl0byBkZSBvdHJvIGF1dG9yIGNvbXBhcmFibGUuCmQuCVBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgZXMgdW5hIGNvbXBvc2ljacOzbiBtdXNpY2FsOgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgppaS4JUmVnYWzDrWFzIHBvciBGb25vZ3JhbWFzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIGxvcyBjb25zYWdyYWRvcyBwb3IgbGEgU0FZQ08pLCB1bmEgYWdlbmNpYSBkZSBkZXJlY2hvcyBtdXNpY2FsZXMgbyBhbGfDum4gYWdlbnRlIGRlc2lnbmFkbywgbGFzIHJlZ2Fsw61hcyBwb3IgY3VhbHF1aWVyIGZvbm9ncmFtYSBxdWUgVXN0ZWQgY3JlZSBhIHBhcnRpciBkZSBsYSBvYnJhICjigJx2ZXJzacOzbiBjb3ZlcuKAnSkgeSBkaXN0cmlidXlhLCBlbiBsb3MgdMOpcm1pbm9zIGRlbCByw6lnaW1lbiBkZSBkZXJlY2hvcyBkZSBhdXRvciwgc2kgbGEgY3JlYWNpw7NuIG8gZGlzdHJpYnVjacOzbiBkZSBlc2EgdmVyc2nDs24gY292ZXIgZXN0w6EgcHJpbW9yZGlhbG1lbnRlIGRlc3RpbmFkYSBvIGRpcmlnaWRhIGEgb2J0ZW5lciB1bmEgdmVudGFqYSBjb21lcmNpYWwgbyB1bmEgY29tcGVuc2FjacOzbiBtb25ldGFyaWEgcHJpdmFkYS4KZS4JR2VzdGnDs24gZGUgRGVyZWNob3MgZGUgQXV0b3Igc29icmUgSW50ZXJwcmV0YWNpb25lcyB5IEVqZWN1Y2lvbmVzIERpZ2l0YWxlcyAoV2ViQ2FzdGluZykuIFBhcmEgZXZpdGFyIHRvZGEgY29uZnVzacOzbiwgZWwgTGljZW5jaWFudGUgYWNsYXJhIHF1ZSwgY3VhbmRvIGxhIG9icmEgc2VhIHVuIGZvbm9ncmFtYSwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSBhdXRvcml6YXIgbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgKHBvciBlamVtcGxvLCB3ZWJjYXN0KSB5IGRlIHJlY29sZWN0YXIsIGluZGl2aWR1YWxtZW50ZSBvIGEgdHJhdsOpcyBkZSB1bmEgc29jaWVkYWQgZGUgZ2VzdGnDs24gY29sZWN0aXZhIGRlIGRlcmVjaG9zIGRlIGF1dG9yIHkgZGVyZWNob3MgY29uZXhvcyAocG9yIGVqZW1wbG8sIEFDSU5QUk8pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpLCBzdWpldGEgYSBsYXMgZGlzcG9zaWNpb25lcyBhcGxpY2FibGVzIGRlbCByw6lnaW1lbiBkZSBEZXJlY2hvIGRlIEF1dG9yLCBzaSBlc3RhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBlc3TDoSBwcmltb3JkaWFsbWVudGUgZGlyaWdpZGEgYSBvYnRlbmVyIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KNi4gTGltaXRhY2nDs24gZGUgcmVzcG9uc2FiaWxpZGFkLgpBIE1FTk9TIFFVRSBMTyBFWElKQSBFWFBSRVNBTUVOVEUgTEEgTEVZIEFQTElDQUJMRSwgRUwgTElDRU5DSUFOVEUgTk8gU0VSw4EgUkVTUE9OU0FCTEUgQU5URSBVU1RFRCBQT1IgREHDkU8gQUxHVU5PLCBTRUEgUE9SIFJFU1BPTlNBQklMSURBRCBFWFRSQUNPTlRSQUNUVUFMLCBQUkVDT05UUkFDVFVBTCBPIENPTlRSQUNUVUFMLCBPQkpFVElWQSBPIFNVQkpFVElWQSwgU0UgVFJBVEUgREUgREHDkU9TIE1PUkFMRVMgTyBQQVRSSU1PTklBTEVTLCBESVJFQ1RPUyBPIElORElSRUNUT1MsIFBSRVZJU1RPUyBPIElNUFJFVklTVE9TIFBST0RVQ0lET1MgUE9SIEVMIFVTTyBERSBFU1RBIExJQ0VOQ0lBIE8gREUgTEEgT0JSQSwgQVVOIENVQU5ETyBFTCBMSUNFTkNJQU5URSBIQVlBIFNJRE8gQURWRVJUSURPIERFIExBIFBPU0lCSUxJREFEIERFIERJQ0hPUyBEQcORT1MuIEFMR1VOQVMgTEVZRVMgTk8gUEVSTUlURU4gTEEgRVhDTFVTScOTTiBERSBDSUVSVEEgUkVTUE9OU0FCSUxJREFELCBFTiBDVVlPIENBU08gRVNUQSBFWENMVVNJw5NOIFBVRURFIE5PIEFQTElDQVJTRSBBIFVTVEVELgo3LiBUw6lybWluby4KYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCmIuCVN1amV0YSBhIGxhcyBjb25kaWNpb25lcyB5IHTDqXJtaW5vcyBhbnRlcmlvcmVzLCBsYSBsaWNlbmNpYSBvdG9yZ2FkYSBhcXXDrSBlcyBwZXJwZXR1YSAoZHVyYW50ZSBlbCBwZXLDrW9kbyBkZSB2aWdlbmNpYSBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgZGUgbGEgb2JyYSkuIE5vIG9ic3RhbnRlIGxvIGFudGVyaW9yLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gYSBwdWJsaWNhciB5L28gZXN0cmVuYXIgbGEgT2JyYSBiYWpvIGNvbmRpY2lvbmVzIGRlIGxpY2VuY2lhIGRpZmVyZW50ZXMgbyBhIGRlamFyIGRlIGRpc3RyaWJ1aXJsYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgTGljZW5jaWEgZW4gY3VhbHF1aWVyIG1vbWVudG87IGVuIGVsIGVudGVuZGlkbywgc2luIGVtYmFyZ28sIHF1ZSBlc2EgZWxlY2Npw7NuIG5vIHNlcnZpcsOhIHBhcmEgcmV2b2NhciBlc3RhIGxpY2VuY2lhIG8gcXVlIGRlYmEgc2VyIG90b3JnYWRhICwgYmFqbyBsb3MgdMOpcm1pbm9zIGRlIGVzdGEgbGljZW5jaWEpLCB5IGVzdGEgbGljZW5jaWEgY29udGludWFyw6EgZW4gcGxlbm8gdmlnb3IgeSBlZmVjdG8gYSBtZW5vcyBxdWUgc2VhIHRlcm1pbmFkYSBjb21vIHNlIGV4cHJlc2EgYXRyw6FzLiBMYSBMaWNlbmNpYSByZXZvY2FkYSBjb250aW51YXLDoSBzaWVuZG8gcGxlbmFtZW50ZSB2aWdlbnRlIHkgZWZlY3RpdmEgc2kgbm8gc2UgbGUgZGEgdMOpcm1pbm8gZW4gbGFzIGNvbmRpY2lvbmVzIGluZGljYWRhcyBhbnRlcmlvcm1lbnRlLgo4LiBWYXJpb3MuCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCmIuCVNpIGFsZ3VuYSBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSByZXN1bHRhIGludmFsaWRhZGEgbyBubyBleGlnaWJsZSwgc2Vnw7puIGxhIGxlZ2lzbGFjacOzbiB2aWdlbnRlLCBlc3RvIG5vIGFmZWN0YXLDoSBuaSBsYSB2YWxpZGV6IG5pIGxhIGFwbGljYWJpbGlkYWQgZGVsIHJlc3RvIGRlIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEgeSwgc2luIGFjY2nDs24gYWRpY2lvbmFsIHBvciBwYXJ0ZSBkZSBsb3Mgc3VqZXRvcyBkZSBlc3RlIGFjdWVyZG8sIGFxdcOpbGxhIHNlIGVudGVuZGVyw6EgcmVmb3JtYWRhIGxvIG3DrW5pbW8gbmVjZXNhcmlvIHBhcmEgaGFjZXIgcXVlIGRpY2hhIGRpc3Bvc2ljacOzbiBzZWEgdsOhbGlkYSB5IGV4aWdpYmxlLgpjLglOaW5nw7puIHTDqXJtaW5vIG8gZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgc2UgZXN0aW1hcsOhIHJlbnVuY2lhZGEgeSBuaW5ndW5hIHZpb2xhY2nDs24gZGUgZWxsYSBzZXLDoSBjb25zZW50aWRhIGEgbWVub3MgcXVlIGVzYSByZW51bmNpYSBvIGNvbnNlbnRpbWllbnRvIHNlYSBvdG9yZ2FkbyBwb3IgZXNjcml0byB5IGZpcm1hZG8gcG9yIGxhIHBhcnRlIHF1ZSByZW51bmNpZSBvIGNvbnNpZW50YS4KZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=