Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine

Based on increasing global energy demand, electric power generation from Internal Combustion Engines (ICE) has increased over the years. On this idea, the industries have adopted different methods and procedures to prevent failures in these engines, achieve an extension of the life cycle of the mach...

Full description

Autores:
Cardenas Escorcia, Yulineth
Carrillo Caballero, Gaylord Enrique
Alviz Meza, Anibal
ALVIZ, ANTISTIO
Portnoy, Ivan
Fajardo Cuadro, Juan
Ocampo Batlle, Eric Alberto
Da-Costa, Edson
Tipo de recurso:
Article of investigation
Fecha de publicación:
2022
Institución:
Corporación Universidad de la Costa
Repositorio:
REDICUC - Repositorio CUC
Idioma:
eng
OAI Identifier:
oai:repositorio.cuc.edu.co:11323/10926
Acceso en línea:
https://hdl.handle.net/11323/10926
https://repositorio.cuc.edu.co/
Palabra clave:
Principal component analysis
Internal combustion engine
Fault detection
Fault diagnosis
Rights
openAccess
License
Atribución 4.0 Internacional (CC BY 4.0)
id RCUC2_1f15252ed1c1dd71e26d1b5835a80dbe
oai_identifier_str oai:repositorio.cuc.edu.co:11323/10926
network_acronym_str RCUC2
network_name_str REDICUC - Repositorio CUC
repository_id_str
dc.title.eng.fl_str_mv Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
title Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
spellingShingle Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
Principal component analysis
Internal combustion engine
Fault detection
Fault diagnosis
title_short Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
title_full Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
title_fullStr Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
title_full_unstemmed Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
title_sort Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine
dc.creator.fl_str_mv Cardenas Escorcia, Yulineth
Carrillo Caballero, Gaylord Enrique
Alviz Meza, Anibal
ALVIZ, ANTISTIO
Portnoy, Ivan
Fajardo Cuadro, Juan
Ocampo Batlle, Eric Alberto
Da-Costa, Edson
dc.contributor.author.none.fl_str_mv Cardenas Escorcia, Yulineth
Carrillo Caballero, Gaylord Enrique
Alviz Meza, Anibal
ALVIZ, ANTISTIO
Portnoy, Ivan
Fajardo Cuadro, Juan
Ocampo Batlle, Eric Alberto
Da-Costa, Edson
dc.subject.proposal.eng.fl_str_mv Principal component analysis
Internal combustion engine
topic Principal component analysis
Internal combustion engine
Fault detection
Fault diagnosis
dc.subject.proposal.fra.fl_str_mv Fault detection
Fault diagnosis
description Based on increasing global energy demand, electric power generation from Internal Combustion Engines (ICE) has increased over the years. On this idea, the industries have adopted different methods and procedures to prevent failures in these engines, achieve an extension of the life cycle of the machines, improve their safety, and provide financial savings. For this reason, this work implements a methodology for detecting and identifying failures in a natural gas engine (JGS 612 GS-N. L), based on the integration of Principal Component Analysis (PCA) and alarm streak analysis. A method used to describe a data set in terms of new uncorrelated variables or components. The components are ordered by the amount of original variance they describe, making the technique useful for reducing the dimensionality of a data set. Technically, PCA searches for the projection according to which the data are best represented in terms of least squares, using the T2 and Q statistics. In the initial stage, a PCA-based algorithm was developed to detect abnormal process trends and identify the variables of greater impact when these anomalies arise. In the next stage, an algorithm was developed and implemented, based on the analysis of alarm streaks, to identify the system’s behavior and thus classify fluctuations into either normal operating condition drifts or system failures. The application of the proposed methodology with real operation data of the engine (JGS 612 GS-N. L) shows that the method outperforms operators in detecting and identifying faults, as it performs these tasks considerably earlier than operators.
publishDate 2022
dc.date.issued.none.fl_str_mv 2022
dc.date.accessioned.none.fl_str_mv 2024-04-02T15:50:37Z
dc.date.available.none.fl_str_mv 2024-04-02T15:50:37Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/ART
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_2df8fbb1
status_str publishedVersion
dc.identifier.citation.spa.fl_str_mv Cardenas, Y., Carrillo, G., Alviz, A., Alviz, A., Portnoy, I., Fajardo, J., Ocampo, E., & Da-Costa, E. (2022). Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine. EUREKA: Physics and Engineering, (6), 84-98. https://doi.org/10.21303/2461-4262.2022.002701
dc.identifier.issn.spa.fl_str_mv 2461-4254
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/11323/10926
dc.identifier.doi.none.fl_str_mv 10.21303/2461-4262.2022.002701
dc.identifier.eissn.spa.fl_str_mv 2461-4262
dc.identifier.instname.spa.fl_str_mv Corporación Universidad de la Costa
dc.identifier.reponame.spa.fl_str_mv REDICUC – Repositorio CUC
dc.identifier.repourl.spa.fl_str_mv https://repositorio.cuc.edu.co/
identifier_str_mv Cardenas, Y., Carrillo, G., Alviz, A., Alviz, A., Portnoy, I., Fajardo, J., Ocampo, E., & Da-Costa, E. (2022). Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine. EUREKA: Physics and Engineering, (6), 84-98. https://doi.org/10.21303/2461-4262.2022.002701
2461-4254
10.21303/2461-4262.2022.002701
2461-4262
Corporación Universidad de la Costa
REDICUC – Repositorio CUC
url https://hdl.handle.net/11323/10926
https://repositorio.cuc.edu.co/
dc.language.iso.spa.fl_str_mv eng
language eng
dc.relation.ispartofjournal.spa.fl_str_mv EUREKA, Physics and Engineering
dc.relation.references.spa.fl_str_mv [1] van Schrick, D. (1997). Remarks on Terminology in the Field of Supervision, Fault Detection and Diagnosis. IFAC Proceedings Volumes, 30 (18), 959–964. doi: https://doi.org/10.1016/s1474-6670(17)42524-9
[2] Quiñones-Grueiro, M., Prieto-Moreno, A., Verde, C., Llanes-Santiago, O. (2019). Data-driven monitoring of multimode continuous processes: A review. Chemometrics and Intelligent Laboratory Systems, 189, 56–71. doi: https://doi.org/10.1016/ j.chemolab.2019.03.012
[3] Coussement, A., Gicquel, O., Parente, A. (2013). MG-local-PCA method for reduced order combustion modeling. Proceedings of the Combustion Institute, 34 (1), 1117–1123. doi: https://doi.org/10.1016/j.proci.2012.05.073
[4] Jung, D., Ng, K. Y., Frisk, E., Krysander, M. (2018). Combining model-based diagnosis and data-driven anomaly classifiers for fault isolation. Control Engineering Practice, 80, 146–156. doi: https://doi.org/10.1016/j.conengprac.2018.08.013
[5] Haanchumpol, T., Sudasna-na-Ayudthya, P., Singhtaun, C. (2020). Modern multivariate control chart using spatial signed rank for non-normal process. Engineering Science and Technology, an International Journal, 23 (4), 859–869. doi: https:// doi.org/10.1016/j.jestch.2019.12.001
[6] Isermann, R. (2005). Model-based fault-detection and diagnosis – status and applications. Annual Reviews in Control, 29 (1), 71–85. doi: https://doi.org/10.1016/j.arcontrol.2004.12.002
[7] Jafarian, K., Mobin, M., Jafari-Marandi, R., Rabiei, E. (2018). Misfire and valve clearance faults detection in the combustion engines based on a multi-sensor vibration signal monitoring. Measurement, 128, 527–536. doi: https://doi.org/10.1016/ j.measurement.2018.04.062
[8] Portnoy, I., Melendez, K., Pinzon, H., Sanjuan, M. (2016). An improved weighted recursive PCA algorithm for adaptive fault detection. Control Engineering Practice, 50, 69–83. doi: https://doi.org/10.1016/j.conengprac.2016.02.010
[9] Niu, G., Xiong, L., Qin, X., Pecht, M. (2019). Fault detection isolation and diagnosis of multi-axle speed sensors for high-speed trains. Mechanical Systems and Signal Processing, 131, 183–198. doi: https://doi.org/10.1016/j.ymssp.2019.05.053
[10] Albarbar, A., Gu, F., Ball, A. D. (2010). Diesel engine fuel injection monitoring using acoustic measurements and independent component analysis. Measurement, 43 (10), 1376–1386. doi: https://doi.org/10.1016/j.measurement.2010.08.003
[11] Shahnazari, H. (2020). Fault diagnosis of nonlinear systems using recurrent neural networks. Chemical Engineering Research and Design, 153, 233–245. doi: https://doi.org/10.1016/j.cherd.2019.09.026
[12] Ahmadi, H., Gholamzadeh, M., Shahmoradi, L., Nilashi, M., Rashvand, P. (2018). Diseases diagnosis using fuzzy logic methods: A systematic and meta-analysis review. Computer Methods and Programs in Biomedicine, 161, 145–172. doi: https:// doi.org/10.1016/j.cmpb.2018.04.013
[13] Cardenas, Y. (2019). Fallas en bujías para motores de generación a gas. (Tesis de maestría). Universidad del Atantico.
[14] Camacho, J., Pérez-Villegas, A., García-Teodoro, P., Maciá-Fernández, G. (2016). PCA-based multivariate statistical network monitoring for anomaly detection. Computers & Security, 59, 118–137. doi: https://doi.org/10.1016/j.cose. 2016.02.008
[15] Meglen, R. R. (1992). Examining large databases: a chemometric approach using principal component analysis. Marine Chemistry, 39 (1-3), 217–237. doi: https://doi.org/10.1016/0304-4203(92)90103-h
[16] Aversano, G., Parra-Alvarez, J. C., Isaac, B. J., Smith, S. T., Coussement, A., Gicquel, O., Parente, A. (2019). PCA and Kriging for the efficient exploration of consistency regions in Uncertainty Quantification. Proceedings of the Combustion Institute, 37 (4), 4461–4469. doi: https://doi.org/10.1016/j.proci.2018.07.040
[17] Li, Z., Yan, X., Yuan, C., Peng, Z., Li, L. (2011). Virtual prototype and experimental research on gear multi-fault diagnosis using wavelet-autoregressive model and principal component analysis method. Mechanical Systems and Signal Processing, 25 (7), 2589–2607. doi: https://doi.org/10.1016/j.ymssp.2011.02.017
[18] D. Rosković, A., Grbić, R., Slišković (2011). Fault tolerant system in a process measurement system based on the pca method. MIPRO, 2011 Proceedings of the 34th International Convention, 1646–1651.
[19] Harrou, F., Nounou, M., Nounou, H. (2013). A statistical fault detection strategy using PCA based EWMA control schemes. 2013 9th Asian Control Conference (ASCC). doi: https://doi.org/10.1109/ascc.2013.6606311
[20] Ding, S., Zhang, P., Ding, E., Naik, A., Deng, P., Gui, W. (2010). On the application of PCA technique to fault diagnosis. Tsinghua Science and Technology, 15 (2), 138–144. doi: https://doi.org/10.1016/s1007-0214(10)70043-2
[21] Yin, S., Steven, X. D., Naik, A., Deng, P., Haghani, A. (2010). On PCA-based fault diagnosis techniques. 2010 Conference on Control and Fault-Tolerant Systems (SysTol). doi: https://doi.org/10.1109/systol.2010.5676031
[22] Tong, C., Lan, T., Shi, X. (2017). Fault detection and diagnosis of dynamic processes using weighted dynamic decentralized PCA approach. Chemometrics and Intelligent Laboratory Systems, 161, 34–42. doi: https://doi.org/10.1016/j.chemolab.2016.11.015
[23] Hu, Z., Chen, Z., Gui, W., Jiang, B. (2014). Adaptive PCA based fault diagnosis scheme in imperial smelting process. ISA Transactions, 53 (5), 1446–1455. doi: https://doi.org/10.1016/j.isatra.2013.12.018
[24] Huang, Y., Shen, L., Liu, H. (2019). Grey relational analysis, principal component analysis and forecasting of carbon emissions based on long short-term memory in China. Journal of Cleaner Production, 209, 415–423. doi: https://doi.org/10.1016/ j.jclepro.2018.10.128
[25] Miller, P., Swanson, R. E., Heckler, C. E. (1998). Contribution plots: A missing link in multivariate quality control. Applied mathematics and computer science, 8 (4), 775–792.
[26] Oliveira, J. C. M., Pontes, K. V., Sartori, I., Embiruçu, M. (2017). Fault Detection and Diagnosis in dynamic systems using Weightless Neural Networks. Expert Systems with Applications, 84, 200–219. doi: https://doi.org/10.1016/j.eswa.2017.05.020
[27] Mårtensson, J., Hjalmarsson, H. (2009). Variance-error quantification for identified poles and zeros. Automatica, 45 (11), 2512–2525. doi: https://doi.org/10.1016/j.automatica.2009.08.001
[28] Wu, X. (2015). Study on mean-standard deviation shortest path problem in stochastic and time-dependent networks: A stochastic dominance based approach. Transportation Research Part B: Methodological, 80, 275–290. doi: https://doi.org/10.1016/ j.trb.2015.07.009
[29] Boutellaa, E., Kerdjidj, O., Ghanem, K. (2019). Covariance matrix based fall detection from multiple wearable sensors. Journal of Biomedical Informatics, 94, 103189. doi: https://doi.org/10.1016/j.jbi.2019.103189
[30] Yang, H., Li, S., Li, K. (2012). Order estimation of multivariable ill-conditioned processes based on PCA method. Journal of Process Control, 22 (7), 1397–1403. doi: https://doi.org/10.1016/j.jprocont.2012.06.013
[31] Zumoffen, D. (2008). Desarrollo de Sistemas de Diagnóstico de Fallas Integrado al Diseño de Control Tolerante a Fallas en Procesos Químicos.
[32] Lane, S., Martin, E. B., Morris, A. J., Gower, P. (2003). Application of exponentially weighted principal component analysis for the monitoring of a polymer film manufacturing process. Transactions of the Institute of Measurement and Control, 25 (1), 17–35. doi: https://doi.org/10.1191/0142331203tm071oa
[33] Venkatasubramanian, V., Rengaswamy, R., Kavuri, S. N., Yin, K. (2003). A review of process fault detection and diagnosis Part III: Process history based methods. Computers and Chemical Engineering, 27, 327–346.
dc.relation.citationendpage.spa.fl_str_mv 98
dc.relation.citationstartpage.spa.fl_str_mv 84
dc.relation.citationissue.spa.fl_str_mv 6
dc.rights.license.spa.fl_str_mv Atribución 4.0 Internacional (CC BY 4.0)
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by/4.0/
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 Atribución 4.0 Internacional (CC BY 4.0)
https://creativecommons.org/licenses/by/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv 15 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Scientific Route OÜ
dc.publisher.place.spa.fl_str_mv stonia
dc.source.spa.fl_str_mv https://journal.eu-jr.eu/engineering/article/view/2701
institution Corporación Universidad de la Costa
bitstream.url.fl_str_mv https://repositorio.cuc.edu.co/bitstreams/f91a43a9-b252-434e-8ca6-8d2ae07d2a22/download
https://repositorio.cuc.edu.co/bitstreams/e0f1a160-12ec-4a46-8cec-8df284baec6e/download
https://repositorio.cuc.edu.co/bitstreams/d1049e00-f12d-4954-a92d-0796e3639abc/download
https://repositorio.cuc.edu.co/bitstreams/4ed5e0b6-a538-4e93-a27e-53a0ecf8af85/download
bitstream.checksum.fl_str_mv c0afd373b5eb9eb19ddb70b745ca0a6c
2f9959eaf5b71fae44bbf9ec84150c7a
228036e8ea2e2eb9b3a71fbcb4ebe421
c258c68509c57bfc3215a2e48c709e58
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio de la Universidad de la Costa CUC
repository.mail.fl_str_mv repdigital@cuc.edu.co
_version_ 1828166907600044032
spelling Atribución 4.0 Internacional (CC BY 4.0)© 2022 Yulineth Cardenas, Gaylord Carrillo, Anibal Alviz, Antistio Alviz, Ivan Portnoy, Juan Fajardo, Eric Ocampo, Edson Da-Costahttps://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Cardenas Escorcia, YulinethCarrillo Caballero, Gaylord EnriqueAlviz Meza, AnibalALVIZ, ANTISTIOPortnoy, IvanFajardo Cuadro, JuanOcampo Batlle, Eric AlbertoDa-Costa, Edson2024-04-02T15:50:37Z2024-04-02T15:50:37Z2022Cardenas, Y., Carrillo, G., Alviz, A., Alviz, A., Portnoy, I., Fajardo, J., Ocampo, E., & Da-Costa, E. (2022). Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine. EUREKA: Physics and Engineering, (6), 84-98. https://doi.org/10.21303/2461-4262.2022.0027012461-4254https://hdl.handle.net/11323/1092610.21303/2461-4262.2022.0027012461-4262Corporación Universidad de la CostaREDICUC – Repositorio CUChttps://repositorio.cuc.edu.co/Based on increasing global energy demand, electric power generation from Internal Combustion Engines (ICE) has increased over the years. On this idea, the industries have adopted different methods and procedures to prevent failures in these engines, achieve an extension of the life cycle of the machines, improve their safety, and provide financial savings. For this reason, this work implements a methodology for detecting and identifying failures in a natural gas engine (JGS 612 GS-N. L), based on the integration of Principal Component Analysis (PCA) and alarm streak analysis. A method used to describe a data set in terms of new uncorrelated variables or components. The components are ordered by the amount of original variance they describe, making the technique useful for reducing the dimensionality of a data set. Technically, PCA searches for the projection according to which the data are best represented in terms of least squares, using the T2 and Q statistics. In the initial stage, a PCA-based algorithm was developed to detect abnormal process trends and identify the variables of greater impact when these anomalies arise. In the next stage, an algorithm was developed and implemented, based on the analysis of alarm streaks, to identify the system’s behavior and thus classify fluctuations into either normal operating condition drifts or system failures. The application of the proposed methodology with real operation data of the engine (JGS 612 GS-N. L) shows that the method outperforms operators in detecting and identifying faults, as it performs these tasks considerably earlier than operators.15 páginasapplication/pdfengScientific Route OÜstoniahttps://journal.eu-jr.eu/engineering/article/view/2701Application of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engineArtículo de revistahttp://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/articlehttp://purl.org/redcol/resource_type/ARTinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85EUREKA, Physics and Engineering[1] van Schrick, D. (1997). Remarks on Terminology in the Field of Supervision, Fault Detection and Diagnosis. IFAC Proceedings Volumes, 30 (18), 959–964. doi: https://doi.org/10.1016/s1474-6670(17)42524-9[2] Quiñones-Grueiro, M., Prieto-Moreno, A., Verde, C., Llanes-Santiago, O. (2019). Data-driven monitoring of multimode continuous processes: A review. Chemometrics and Intelligent Laboratory Systems, 189, 56–71. doi: https://doi.org/10.1016/ j.chemolab.2019.03.012[3] Coussement, A., Gicquel, O., Parente, A. (2013). MG-local-PCA method for reduced order combustion modeling. Proceedings of the Combustion Institute, 34 (1), 1117–1123. doi: https://doi.org/10.1016/j.proci.2012.05.073[4] Jung, D., Ng, K. Y., Frisk, E., Krysander, M. (2018). Combining model-based diagnosis and data-driven anomaly classifiers for fault isolation. Control Engineering Practice, 80, 146–156. doi: https://doi.org/10.1016/j.conengprac.2018.08.013[5] Haanchumpol, T., Sudasna-na-Ayudthya, P., Singhtaun, C. (2020). Modern multivariate control chart using spatial signed rank for non-normal process. Engineering Science and Technology, an International Journal, 23 (4), 859–869. doi: https:// doi.org/10.1016/j.jestch.2019.12.001[6] Isermann, R. (2005). Model-based fault-detection and diagnosis – status and applications. Annual Reviews in Control, 29 (1), 71–85. doi: https://doi.org/10.1016/j.arcontrol.2004.12.002[7] Jafarian, K., Mobin, M., Jafari-Marandi, R., Rabiei, E. (2018). Misfire and valve clearance faults detection in the combustion engines based on a multi-sensor vibration signal monitoring. Measurement, 128, 527–536. doi: https://doi.org/10.1016/ j.measurement.2018.04.062[8] Portnoy, I., Melendez, K., Pinzon, H., Sanjuan, M. (2016). An improved weighted recursive PCA algorithm for adaptive fault detection. Control Engineering Practice, 50, 69–83. doi: https://doi.org/10.1016/j.conengprac.2016.02.010[9] Niu, G., Xiong, L., Qin, X., Pecht, M. (2019). Fault detection isolation and diagnosis of multi-axle speed sensors for high-speed trains. Mechanical Systems and Signal Processing, 131, 183–198. doi: https://doi.org/10.1016/j.ymssp.2019.05.053[10] Albarbar, A., Gu, F., Ball, A. D. (2010). Diesel engine fuel injection monitoring using acoustic measurements and independent component analysis. Measurement, 43 (10), 1376–1386. doi: https://doi.org/10.1016/j.measurement.2010.08.003[11] Shahnazari, H. (2020). Fault diagnosis of nonlinear systems using recurrent neural networks. Chemical Engineering Research and Design, 153, 233–245. doi: https://doi.org/10.1016/j.cherd.2019.09.026[12] Ahmadi, H., Gholamzadeh, M., Shahmoradi, L., Nilashi, M., Rashvand, P. (2018). Diseases diagnosis using fuzzy logic methods: A systematic and meta-analysis review. Computer Methods and Programs in Biomedicine, 161, 145–172. doi: https:// doi.org/10.1016/j.cmpb.2018.04.013[13] Cardenas, Y. (2019). Fallas en bujías para motores de generación a gas. (Tesis de maestría). Universidad del Atantico.[14] Camacho, J., Pérez-Villegas, A., García-Teodoro, P., Maciá-Fernández, G. (2016). PCA-based multivariate statistical network monitoring for anomaly detection. Computers & Security, 59, 118–137. doi: https://doi.org/10.1016/j.cose. 2016.02.008[15] Meglen, R. R. (1992). Examining large databases: a chemometric approach using principal component analysis. Marine Chemistry, 39 (1-3), 217–237. doi: https://doi.org/10.1016/0304-4203(92)90103-h[16] Aversano, G., Parra-Alvarez, J. C., Isaac, B. J., Smith, S. T., Coussement, A., Gicquel, O., Parente, A. (2019). PCA and Kriging for the efficient exploration of consistency regions in Uncertainty Quantification. Proceedings of the Combustion Institute, 37 (4), 4461–4469. doi: https://doi.org/10.1016/j.proci.2018.07.040[17] Li, Z., Yan, X., Yuan, C., Peng, Z., Li, L. (2011). Virtual prototype and experimental research on gear multi-fault diagnosis using wavelet-autoregressive model and principal component analysis method. Mechanical Systems and Signal Processing, 25 (7), 2589–2607. doi: https://doi.org/10.1016/j.ymssp.2011.02.017[18] D. Rosković, A., Grbić, R., Slišković (2011). Fault tolerant system in a process measurement system based on the pca method. MIPRO, 2011 Proceedings of the 34th International Convention, 1646–1651.[19] Harrou, F., Nounou, M., Nounou, H. (2013). A statistical fault detection strategy using PCA based EWMA control schemes. 2013 9th Asian Control Conference (ASCC). doi: https://doi.org/10.1109/ascc.2013.6606311[20] Ding, S., Zhang, P., Ding, E., Naik, A., Deng, P., Gui, W. (2010). On the application of PCA technique to fault diagnosis. Tsinghua Science and Technology, 15 (2), 138–144. doi: https://doi.org/10.1016/s1007-0214(10)70043-2[21] Yin, S., Steven, X. D., Naik, A., Deng, P., Haghani, A. (2010). On PCA-based fault diagnosis techniques. 2010 Conference on Control and Fault-Tolerant Systems (SysTol). doi: https://doi.org/10.1109/systol.2010.5676031[22] Tong, C., Lan, T., Shi, X. (2017). Fault detection and diagnosis of dynamic processes using weighted dynamic decentralized PCA approach. Chemometrics and Intelligent Laboratory Systems, 161, 34–42. doi: https://doi.org/10.1016/j.chemolab.2016.11.015[23] Hu, Z., Chen, Z., Gui, W., Jiang, B. (2014). Adaptive PCA based fault diagnosis scheme in imperial smelting process. ISA Transactions, 53 (5), 1446–1455. doi: https://doi.org/10.1016/j.isatra.2013.12.018[24] Huang, Y., Shen, L., Liu, H. (2019). Grey relational analysis, principal component analysis and forecasting of carbon emissions based on long short-term memory in China. Journal of Cleaner Production, 209, 415–423. doi: https://doi.org/10.1016/ j.jclepro.2018.10.128[25] Miller, P., Swanson, R. E., Heckler, C. E. (1998). Contribution plots: A missing link in multivariate quality control. Applied mathematics and computer science, 8 (4), 775–792.[26] Oliveira, J. C. M., Pontes, K. V., Sartori, I., Embiruçu, M. (2017). Fault Detection and Diagnosis in dynamic systems using Weightless Neural Networks. Expert Systems with Applications, 84, 200–219. doi: https://doi.org/10.1016/j.eswa.2017.05.020[27] Mårtensson, J., Hjalmarsson, H. (2009). Variance-error quantification for identified poles and zeros. Automatica, 45 (11), 2512–2525. doi: https://doi.org/10.1016/j.automatica.2009.08.001[28] Wu, X. (2015). Study on mean-standard deviation shortest path problem in stochastic and time-dependent networks: A stochastic dominance based approach. Transportation Research Part B: Methodological, 80, 275–290. doi: https://doi.org/10.1016/ j.trb.2015.07.009[29] Boutellaa, E., Kerdjidj, O., Ghanem, K. (2019). Covariance matrix based fall detection from multiple wearable sensors. Journal of Biomedical Informatics, 94, 103189. doi: https://doi.org/10.1016/j.jbi.2019.103189[30] Yang, H., Li, S., Li, K. (2012). Order estimation of multivariable ill-conditioned processes based on PCA method. Journal of Process Control, 22 (7), 1397–1403. doi: https://doi.org/10.1016/j.jprocont.2012.06.013[31] Zumoffen, D. (2008). Desarrollo de Sistemas de Diagnóstico de Fallas Integrado al Diseño de Control Tolerante a Fallas en Procesos Químicos.[32] Lane, S., Martin, E. B., Morris, A. J., Gower, P. (2003). Application of exponentially weighted principal component analysis for the monitoring of a polymer film manufacturing process. Transactions of the Institute of Measurement and Control, 25 (1), 17–35. doi: https://doi.org/10.1191/0142331203tm071oa[33] Venkatasubramanian, V., Rengaswamy, R., Kavuri, S. N., Yin, K. (2003). A review of process fault detection and diagnosis Part III: Process history based methods. Computers and Chemical Engineering, 27, 327–346.98846Principal component analysisInternal combustion engineFault detectionFault diagnosisPublicationORIGINALApplication of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine.pdfApplication of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine.pdfArtículoapplication/pdf5035728https://repositorio.cuc.edu.co/bitstreams/f91a43a9-b252-434e-8ca6-8d2ae07d2a22/downloadc0afd373b5eb9eb19ddb70b745ca0a6cMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-814828https://repositorio.cuc.edu.co/bitstreams/e0f1a160-12ec-4a46-8cec-8df284baec6e/download2f9959eaf5b71fae44bbf9ec84150c7aMD52TEXTApplication of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine.pdf.txtApplication of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine.pdf.txtExtracted texttext/plain39573https://repositorio.cuc.edu.co/bitstreams/d1049e00-f12d-4954-a92d-0796e3639abc/download228036e8ea2e2eb9b3a71fbcb4ebe421MD53THUMBNAILApplication of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine.pdf.jpgApplication of a PCA-based fault detection and diagnosis method in a power generation system with a 2 MW natural gas engine.pdf.jpgGenerated Thumbnailimage/jpeg11130https://repositorio.cuc.edu.co/bitstreams/4ed5e0b6-a538-4e93-a27e-53a0ecf8af85/downloadc258c68509c57bfc3215a2e48c709e58MD5411323/10926oai:repositorio.cuc.edu.co:11323/109262024-09-17 14:24:39.024https://creativecommons.org/licenses/by/4.0/© 2022 Yulineth Cardenas, Gaylord Carrillo, Anibal Alviz, Antistio Alviz, Ivan Portnoy, Juan Fajardo, Eric Ocampo, Edson Da-Costaopen.accesshttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.coTEEgT0JSQSAoVEFMIFkgQ09NTyBTRSBERUZJTkUgTcOBUyBBREVMQU5URSkgU0UgT1RPUkdBIEJBSk8gTE9TIFRFUk1JTk9TIERFIEVTVEEgTElDRU5DSUEgUMOaQkxJQ0EgREUgQ1JFQVRJVkUgQ09NTU9OUyAo4oCcTFBDQ+KAnSBPIOKAnExJQ0VOQ0lB4oCdKS4gTEEgT0JSQSBFU1TDgSBQUk9URUdJREEgUE9SIERFUkVDSE9TIERFIEFVVE9SIFkvVSBPVFJBUyBMRVlFUyBBUExJQ0FCTEVTLiBRVUVEQSBQUk9ISUJJRE8gQ1VBTFFVSUVSIFVTTyBRVUUgU0UgSEFHQSBERSBMQSBPQlJBIFFVRSBOTyBDVUVOVEUgQ09OIExBIEFVVE9SSVpBQ0nDk04gUEVSVElORU5URSBERSBDT05GT1JNSURBRCBDT04gTE9TIFTDiVJNSU5PUyBERSBFU1RBIExJQ0VOQ0lBIFkgREUgTEEgTEVZIERFIERFUkVDSE8gREUgQVVUT1IuCgpNRURJQU5URSBFTCBFSkVSQ0lDSU8gREUgQ1VBTFFVSUVSQSBERSBMT1MgREVSRUNIT1MgUVVFIFNFIE9UT1JHQU4gRU4gRVNUQSBMSUNFTkNJQSwgVVNURUQgQUNFUFRBIFkgQUNVRVJEQSBRVUVEQVIgT0JMSUdBRE8gRU4gTE9TIFRFUk1JTk9TIFFVRSBTRSBTRcORQUxBTiBFTiBFTExBLiBFTCBMSUNFTkNJQU5URSBDT05DRURFIEEgVVNURUQgTE9TIERFUkVDSE9TIENPTlRFTklET1MgRU4gRVNUQSBMSUNFTkNJQSBDT05ESUNJT05BRE9TIEEgTEEgQUNFUFRBQ0nDk04gREUgU1VTIFRFUk1JTk9TIFkgQ09ORElDSU9ORVMuCjEuIERlZmluaWNpb25lcwoKYS4JT2JyYSBDb2xlY3RpdmEgZXMgdW5hIG9icmEsIHRhbCBjb21vIHVuYSBwdWJsaWNhY2nDs24gcGVyacOzZGljYSwgdW5hIGFudG9sb2fDrWEsIG8gdW5hIGVuY2ljbG9wZWRpYSwgZW4gbGEgcXVlIGxhIG9icmEgZW4gc3UgdG90YWxpZGFkLCBzaW4gbW9kaWZpY2FjacOzbiBhbGd1bmEsIGp1bnRvIGNvbiB1biBncnVwbyBkZSBvdHJhcyBjb250cmlidWNpb25lcyBxdWUgY29uc3RpdHV5ZW4gb2JyYXMgc2VwYXJhZGFzIGUgaW5kZXBlbmRpZW50ZXMgZW4gc8OtIG1pc21hcywgc2UgaW50ZWdyYW4gZW4gdW4gdG9kbyBjb2xlY3Rpdm8uIFVuYSBPYnJhIHF1ZSBjb25zdGl0dXllIHVuYSBvYnJhIGNvbGVjdGl2YSBubyBzZSBjb25zaWRlcmFyw6EgdW5hIE9icmEgRGVyaXZhZGEgKGNvbW8gc2UgZGVmaW5lIGFiYWpvKSBwYXJhIGxvcyBwcm9ww7NzaXRvcyBkZSBlc3RhIGxpY2VuY2lhLiBhcXVlbGxhIHByb2R1Y2lkYSBwb3IgdW4gZ3J1cG8gZGUgYXV0b3JlcywgZW4gcXVlIGxhIE9icmEgc2UgZW5jdWVudHJhIHNpbiBtb2RpZmljYWNpb25lcywganVudG8gY29uIHVuYSBjaWVydGEgY2FudGlkYWQgZGUgb3RyYXMgY29udHJpYnVjaW9uZXMsIHF1ZSBjb25zdGl0dXllbiBlbiBzw60gbWlzbW9zIHRyYWJham9zIHNlcGFyYWRvcyBlIGluZGVwZW5kaWVudGVzLCBxdWUgc29uIGludGVncmFkb3MgYWwgdG9kbyBjb2xlY3Rpdm8sIHRhbGVzIGNvbW8gcHVibGljYWNpb25lcyBwZXJpw7NkaWNhcywgYW50b2xvZ8OtYXMgbyBlbmNpY2xvcGVkaWFzLgoKYi4JT2JyYSBEZXJpdmFkYSBzaWduaWZpY2EgdW5hIG9icmEgYmFzYWRhIGVuIGxhIG9icmEgb2JqZXRvIGRlIGVzdGEgbGljZW5jaWEgbyBlbiDDqXN0YSB5IG90cmFzIG9icmFzIHByZWV4aXN0ZW50ZXMsIHRhbGVzIGNvbW8gdHJhZHVjY2lvbmVzLCBhcnJlZ2xvcyBtdXNpY2FsZXMsIGRyYW1hdGl6YWNpb25lcywg4oCcZmljY2lvbmFsaXphY2lvbmVz4oCdLCB2ZXJzaW9uZXMgcGFyYSBjaW5lLCDigJxncmFiYWNpb25lcyBkZSBzb25pZG/igJ0sIHJlcHJvZHVjY2lvbmVzIGRlIGFydGUsIHJlc8O6bWVuZXMsIGNvbmRlbnNhY2lvbmVzLCBvIGN1YWxxdWllciBvdHJhIGVuIGxhIHF1ZSBsYSBvYnJhIHB1ZWRhIHNlciB0cmFuc2Zvcm1hZGEsIGNhbWJpYWRhIG8gYWRhcHRhZGEsIGV4Y2VwdG8gYXF1ZWxsYXMgcXVlIGNvbnN0aXR1eWFuIHVuYSBvYnJhIGNvbGVjdGl2YSwgbGFzIHF1ZSBubyBzZXLDoW4gY29uc2lkZXJhZGFzIHVuYSBvYnJhIGRlcml2YWRhIHBhcmEgZWZlY3RvcyBkZSBlc3RhIGxpY2VuY2lhLiAoUGFyYSBldml0YXIgZHVkYXMsIGVuIGVsIGNhc28gZGUgcXVlIGxhIE9icmEgc2VhIHVuYSBjb21wb3NpY2nDs24gbXVzaWNhbCBvIHVuYSBncmFiYWNpw7NuIHNvbm9yYSwgcGFyYSBsb3MgZWZlY3RvcyBkZSBlc3RhIExpY2VuY2lhIGxhIHNpbmNyb25pemFjacOzbiB0ZW1wb3JhbCBkZSBsYSBPYnJhIGNvbiB1bmEgaW1hZ2VuIGVuIG1vdmltaWVudG8gc2UgY29uc2lkZXJhcsOhIHVuYSBPYnJhIERlcml2YWRhIHBhcmEgbG9zIGZpbmVzIGRlIGVzdGEgbGljZW5jaWEpLgoKYy4JTGljZW5jaWFudGUsIGVzIGVsIGluZGl2aWR1byBvIGxhIGVudGlkYWQgdGl0dWxhciBkZSBsb3MgZGVyZWNob3MgZGUgYXV0b3IgcXVlIG9mcmVjZSBsYSBPYnJhIGVuIGNvbmZvcm1pZGFkIGNvbiBsYXMgY29uZGljaW9uZXMgZGUgZXN0YSBMaWNlbmNpYS4KCmQuCUF1dG9yIG9yaWdpbmFsLCBlcyBlbCBpbmRpdmlkdW8gcXVlIGNyZcOzIGxhIE9icmEuCgplLglPYnJhLCBlcyBhcXVlbGxhIG9icmEgc3VzY2VwdGlibGUgZGUgcHJvdGVjY2nDs24gcG9yIGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IgeSBxdWUgZXMgb2ZyZWNpZGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhCgpmLglVc3RlZCwgZXMgZWwgaW5kaXZpZHVvIG8gbGEgZW50aWRhZCBxdWUgZWplcmNpdGEgbG9zIGRlcmVjaG9zIG90b3JnYWRvcyBhbCBhbXBhcm8gZGUgZXN0YSBMaWNlbmNpYSB5IHF1ZSBjb24gYW50ZXJpb3JpZGFkIG5vIGhhIHZpb2xhZG8gbGFzIGNvbmRpY2lvbmVzIGRlIGxhIG1pc21hIHJlc3BlY3RvIGEgbGEgT2JyYSwgbyBxdWUgaGF5YSBvYnRlbmlkbyBhdXRvcml6YWNpw7NuIGV4cHJlc2EgcG9yIHBhcnRlIGRlbCBMaWNlbmNpYW50ZSBwYXJhIGVqZXJjZXIgbG9zIGRlcmVjaG9zIGFsIGFtcGFybyBkZSBlc3RhIExpY2VuY2lhIHBlc2UgYSB1bmEgdmlvbGFjacOzbiBhbnRlcmlvci4KCjIuIERlcmVjaG9zIGRlIFVzb3MgSG9ucmFkb3MgeSBleGNlcGNpb25lcyBMZWdhbGVzLgpOYWRhIGVuIGVzdGEgTGljZW5jaWEgcG9kcsOhIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bmEgZGlzbWludWNpw7NuLCBsaW1pdGFjacOzbiBvIHJlc3RyaWNjacOzbiBkZSBsb3MgZGVyZWNob3MgZGVyaXZhZG9zIGRlbCB1c28gaG9ucmFkbyB5IG90cmFzIGxpbWl0YWNpb25lcyBvIGV4Y2VwY2lvbmVzIGEgbG9zIGRlcmVjaG9zIGRlbCBhdXRvciBiYWpvIGVsIHLDqWdpbWVuIGxlZ2FsIHZpZ2VudGUgbyBkZXJpdmFkbyBkZSBjdWFscXVpZXIgb3RyYSBub3JtYSBxdWUgc2UgbGUgYXBsaXF1ZS4KCjMuIENvbmNlc2nDs24gZGUgbGEgTGljZW5jaWEuCkJham8gbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIGVsIExpY2VuY2lhbnRlIG90b3JnYSBhIFVzdGVkIHVuYSBsaWNlbmNpYSBtdW5kaWFsLCBsaWJyZSBkZSByZWdhbMOtYXMsIG5vIGV4Y2x1c2l2YSB5IHBlcnBldHVhIChkdXJhbnRlIHRvZG8gZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yKSBwYXJhIGVqZXJjZXIgZXN0b3MgZGVyZWNob3Mgc29icmUgbGEgT2JyYSB0YWwgeSBjb21vIHNlIGluZGljYSBhIGNvbnRpbnVhY2nDs246CgphLglSZXByb2R1Y2lyIGxhIE9icmEsIGluY29ycG9yYXIgbGEgT2JyYSBlbiB1bmEgbyBtw6FzIE9icmFzIENvbGVjdGl2YXMsIHkgcmVwcm9kdWNpciBsYSBPYnJhIGluY29ycG9yYWRhIGVuIGxhcyBPYnJhcyBDb2xlY3RpdmFzLgoKYi4JRGlzdHJpYnVpciBjb3BpYXMgbyBmb25vZ3JhbWFzIGRlIGxhcyBPYnJhcywgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYSwgaW5jbHV5w6luZG9sYXMgY29tbyBpbmNvcnBvcmFkYXMgZW4gT2JyYXMgQ29sZWN0aXZhcywgc2Vnw7puIGNvcnJlc3BvbmRhLgoKYy4JRGlzdHJpYnVpciBjb3BpYXMgZGUgbGFzIE9icmFzIERlcml2YWRhcyBxdWUgc2UgZ2VuZXJlbiwgZXhoaWJpcmxhcyBww7pibGljYW1lbnRlLCBlamVjdXRhcmxhcyBww7pibGljYW1lbnRlIHkvbyBwb25lcmxhcyBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4KTG9zIGRlcmVjaG9zIG1lbmNpb25hZG9zIGFudGVyaW9ybWVudGUgcHVlZGVuIHNlciBlamVyY2lkb3MgZW4gdG9kb3MgbG9zIG1lZGlvcyB5IGZvcm1hdG9zLCBhY3R1YWxtZW50ZSBjb25vY2lkb3MgbyBxdWUgc2UgaW52ZW50ZW4gZW4gZWwgZnV0dXJvLiBMb3MgZGVyZWNob3MgYW50ZXMgbWVuY2lvbmFkb3MgaW5jbHV5ZW4gZWwgZGVyZWNobyBhIHJlYWxpemFyIGRpY2hhcyBtb2RpZmljYWNpb25lcyBlbiBsYSBtZWRpZGEgcXVlIHNlYW4gdMOpY25pY2FtZW50ZSBuZWNlc2FyaWFzIHBhcmEgZWplcmNlciBsb3MgZGVyZWNob3MgZW4gb3RybyBtZWRpbyBvIGZvcm1hdG9zLCBwZXJvIGRlIG90cmEgbWFuZXJhIHVzdGVkIG5vIGVzdMOhIGF1dG9yaXphZG8gcGFyYSByZWFsaXphciBvYnJhcyBkZXJpdmFkYXMuIFRvZG9zIGxvcyBkZXJlY2hvcyBubyBvdG9yZ2Fkb3MgZXhwcmVzYW1lbnRlIHBvciBlbCBMaWNlbmNpYW50ZSBxdWVkYW4gcG9yIGVzdGUgbWVkaW8gcmVzZXJ2YWRvcywgaW5jbHV5ZW5kbyBwZXJvIHNpbiBsaW1pdGFyc2UgYSBhcXVlbGxvcyBxdWUgc2UgbWVuY2lvbmFuIGVuIGxhcyBzZWNjaW9uZXMgNChkKSB5IDQoZSkuCgo0LiBSZXN0cmljY2lvbmVzLgpMYSBsaWNlbmNpYSBvdG9yZ2FkYSBlbiBsYSBhbnRlcmlvciBTZWNjacOzbiAzIGVzdMOhIGV4cHJlc2FtZW50ZSBzdWpldGEgeSBsaW1pdGFkYSBwb3IgbGFzIHNpZ3VpZW50ZXMgcmVzdHJpY2Npb25lczoKCmEuCVVzdGVkIHB1ZWRlIGRpc3RyaWJ1aXIsIGV4aGliaXIgcMO6YmxpY2FtZW50ZSwgZWplY3V0YXIgcMO6YmxpY2FtZW50ZSwgbyBwb25lciBhIGRpc3Bvc2ljacOzbiBww7pibGljYSBsYSBPYnJhIHPDs2xvIGJham8gbGFzIGNvbmRpY2lvbmVzIGRlIGVzdGEgTGljZW5jaWEsIHkgVXN0ZWQgZGViZSBpbmNsdWlyIHVuYSBjb3BpYSBkZSBlc3RhIGxpY2VuY2lhIG8gZGVsIElkZW50aWZpY2Fkb3IgVW5pdmVyc2FsIGRlIFJlY3Vyc29zIGRlIGxhIG1pc21hIGNvbiBjYWRhIGNvcGlhIGRlIGxhIE9icmEgcXVlIGRpc3RyaWJ1eWEsIGV4aGliYSBww7pibGljYW1lbnRlLCBlamVjdXRlIHDDumJsaWNhbWVudGUgbyBwb25nYSBhIGRpc3Bvc2ljacOzbiBww7pibGljYS4gTm8gZXMgcG9zaWJsZSBvZnJlY2VyIG8gaW1wb25lciBuaW5ndW5hIGNvbmRpY2nDs24gc29icmUgbGEgT2JyYSBxdWUgYWx0ZXJlIG8gbGltaXRlIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIG8gZWwgZWplcmNpY2lvIGRlIGxvcyBkZXJlY2hvcyBkZSBsb3MgZGVzdGluYXRhcmlvcyBvdG9yZ2Fkb3MgZW4gZXN0ZSBkb2N1bWVudG8uIE5vIGVzIHBvc2libGUgc3VibGljZW5jaWFyIGxhIE9icmEuIFVzdGVkIGRlYmUgbWFudGVuZXIgaW50YWN0b3MgdG9kb3MgbG9zIGF2aXNvcyBxdWUgaGFnYW4gcmVmZXJlbmNpYSBhIGVzdGEgTGljZW5jaWEgeSBhIGxhIGNsw6F1c3VsYSBkZSBsaW1pdGFjacOzbiBkZSBnYXJhbnTDrWFzLiBVc3RlZCBubyBwdWVkZSBkaXN0cmlidWlyLCBleGhpYmlyIHDDumJsaWNhbWVudGUsIGVqZWN1dGFyIHDDumJsaWNhbWVudGUsIG8gcG9uZXIgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBjb24gYWxndW5hIG1lZGlkYSB0ZWNub2zDs2dpY2EgcXVlIGNvbnRyb2xlIGVsIGFjY2VzbyBvIGxhIHV0aWxpemFjacOzbiBkZSBlbGxhIGRlIHVuYSBmb3JtYSBxdWUgc2VhIGluY29uc2lzdGVudGUgY29uIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBMbyBhbnRlcmlvciBzZSBhcGxpY2EgYSBsYSBPYnJhIGluY29ycG9yYWRhIGEgdW5hIE9icmEgQ29sZWN0aXZhLCBwZXJvIGVzdG8gbm8gZXhpZ2UgcXVlIGxhIE9icmEgQ29sZWN0aXZhIGFwYXJ0ZSBkZSBsYSBvYnJhIG1pc21hIHF1ZWRlIHN1amV0YSBhIGxhcyBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhLiBTaSBVc3RlZCBjcmVhIHVuYSBPYnJhIENvbGVjdGl2YSwgcHJldmlvIGF2aXNvIGRlIGN1YWxxdWllciBMaWNlbmNpYW50ZSBkZWJlLCBlbiBsYSBtZWRpZGEgZGUgbG8gcG9zaWJsZSwgZWxpbWluYXIgZGUgbGEgT2JyYSBDb2xlY3RpdmEgY3VhbHF1aWVyIHJlZmVyZW5jaWEgYSBkaWNobyBMaWNlbmNpYW50ZSBvIGFsIEF1dG9yIE9yaWdpbmFsLCBzZWfDum4gbG8gc29saWNpdGFkbyBwb3IgZWwgTGljZW5jaWFudGUgeSBjb25mb3JtZSBsbyBleGlnZSBsYSBjbMOhdXN1bGEgNChjKS4KCmIuCVVzdGVkIG5vIHB1ZWRlIGVqZXJjZXIgbmluZ3VubyBkZSBsb3MgZGVyZWNob3MgcXVlIGxlIGhhbiBzaWRvIG90b3JnYWRvcyBlbiBsYSBTZWNjacOzbiAzIHByZWNlZGVudGUgZGUgbW9kbyBxdWUgZXN0w6luIHByaW5jaXBhbG1lbnRlIGRlc3RpbmFkb3MgbyBkaXJlY3RhbWVudGUgZGlyaWdpZG9zIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLiBFbCBpbnRlcmNhbWJpbyBkZSBsYSBPYnJhIHBvciBvdHJhcyBvYnJhcyBwcm90ZWdpZGFzIHBvciBkZXJlY2hvcyBkZSBhdXRvciwgeWEgc2VhIGEgdHJhdsOpcyBkZSB1biBzaXN0ZW1hIHBhcmEgY29tcGFydGlyIGFyY2hpdm9zIGRpZ2l0YWxlcyAoZGlnaXRhbCBmaWxlLXNoYXJpbmcpIG8gZGUgY3VhbHF1aWVyIG90cmEgbWFuZXJhIG5vIHNlcsOhIGNvbnNpZGVyYWRvIGNvbW8gZXN0YXIgZGVzdGluYWRvIHByaW5jaXBhbG1lbnRlIG8gZGlyaWdpZG8gZGlyZWN0YW1lbnRlIGEgY29uc2VndWlyIHVuIHByb3ZlY2hvIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLCBzaWVtcHJlIHF1ZSBubyBzZSByZWFsaWNlIHVuIHBhZ28gbWVkaWFudGUgdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIGVuIHJlbGFjacOzbiBjb24gZWwgaW50ZXJjYW1iaW8gZGUgb2JyYXMgcHJvdGVnaWRhcyBwb3IgZWwgZGVyZWNobyBkZSBhdXRvci4KCmMuCVNpIHVzdGVkIGRpc3RyaWJ1eWUsIGV4aGliZSBww7pibGljYW1lbnRlLCBlamVjdXRhIHDDumJsaWNhbWVudGUgbyBlamVjdXRhIHDDumJsaWNhbWVudGUgZW4gZm9ybWEgZGlnaXRhbCBsYSBPYnJhIG8gY3VhbHF1aWVyIE9icmEgRGVyaXZhZGEgdSBPYnJhIENvbGVjdGl2YSwgVXN0ZWQgZGViZSBtYW50ZW5lciBpbnRhY3RhIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGRlIGRlcmVjaG8gZGUgYXV0b3IgZGUgbGEgT2JyYSB5IHByb3BvcmNpb25hciwgZGUgZm9ybWEgcmF6b25hYmxlIHNlZ8O6biBlbCBtZWRpbyBvIG1hbmVyYSBxdWUgVXN0ZWQgZXN0w6kgdXRpbGl6YW5kbzogKGkpIGVsIG5vbWJyZSBkZWwgQXV0b3IgT3JpZ2luYWwgc2kgZXN0w6EgcHJvdmlzdG8gKG8gc2V1ZMOzbmltbywgc2kgZnVlcmUgYXBsaWNhYmxlKSwgeS9vIChpaSkgZWwgbm9tYnJlIGRlIGxhIHBhcnRlIG8gbGFzIHBhcnRlcyBxdWUgZWwgQXV0b3IgT3JpZ2luYWwgeS9vIGVsIExpY2VuY2lhbnRlIGh1YmllcmVuIGRlc2lnbmFkbyBwYXJhIGxhIGF0cmlidWNpw7NuICh2LmcuLCB1biBpbnN0aXR1dG8gcGF0cm9jaW5hZG9yLCBlZGl0b3JpYWwsIHB1YmxpY2FjacOzbikgZW4gbGEgaW5mb3JtYWNpw7NuIGRlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBkZWwgTGljZW5jaWFudGUsIHTDqXJtaW5vcyBkZSBzZXJ2aWNpb3MgbyBkZSBvdHJhcyBmb3JtYXMgcmF6b25hYmxlczsgZWwgdMOtdHVsbyBkZSBsYSBPYnJhIHNpIGVzdMOhIHByb3Zpc3RvOyBlbiBsYSBtZWRpZGEgZGUgbG8gcmF6b25hYmxlbWVudGUgZmFjdGlibGUgeSwgc2kgZXN0w6EgcHJvdmlzdG8sIGVsIElkZW50aWZpY2Fkb3IgVW5pZm9ybWUgZGUgUmVjdXJzb3MgKFVuaWZvcm0gUmVzb3VyY2UgSWRlbnRpZmllcikgcXVlIGVsIExpY2VuY2lhbnRlIGVzcGVjaWZpY2EgcGFyYSBzZXIgYXNvY2lhZG8gY29uIGxhIE9icmEsIHNhbHZvIHF1ZSB0YWwgVVJJIG5vIHNlIHJlZmllcmEgYSBsYSBub3RhIHNvYnJlIGxvcyBkZXJlY2hvcyBkZSBhdXRvciBvIGEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIGxpY2VuY2lhbWllbnRvIGRlIGxhIE9icmE7IHkgZW4gZWwgY2FzbyBkZSB1bmEgT2JyYSBEZXJpdmFkYSwgYXRyaWJ1aXIgZWwgY3LDqWRpdG8gaWRlbnRpZmljYW5kbyBlbCB1c28gZGUgbGEgT2JyYSBlbiBsYSBPYnJhIERlcml2YWRhICh2LmcuLCAiVHJhZHVjY2nDs24gRnJhbmNlc2EgZGUgbGEgT2JyYSBkZWwgQXV0b3IgT3JpZ2luYWwsIiBvICJHdWnDs24gQ2luZW1hdG9ncsOhZmljbyBiYXNhZG8gZW4gbGEgT2JyYSBvcmlnaW5hbCBkZWwgQXV0b3IgT3JpZ2luYWwiKS4gVGFsIGNyw6lkaXRvIHB1ZWRlIHNlciBpbXBsZW1lbnRhZG8gZGUgY3VhbHF1aWVyIGZvcm1hIHJhem9uYWJsZTsgZW4gZWwgY2Fzbywgc2luIGVtYmFyZ28sIGRlIE9icmFzIERlcml2YWRhcyB1IE9icmFzIENvbGVjdGl2YXMsIHRhbCBjcsOpZGl0byBhcGFyZWNlcsOhLCBjb21vIG3DrW5pbW8sIGRvbmRlIGFwYXJlY2UgZWwgY3LDqWRpdG8gZGUgY3VhbHF1aWVyIG90cm8gYXV0b3IgY29tcGFyYWJsZSB5IGRlIHVuYSBtYW5lcmEsIGFsIG1lbm9zLCB0YW4gZGVzdGFjYWRhIGNvbW8gZWwgY3LDqWRpdG8gZGUgb3RybyBhdXRvciBjb21wYXJhYmxlLgoKZC4JUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBlcyB1bmEgY29tcG9zaWNpw7NuIG11c2ljYWw6CgppLglSZWdhbMOtYXMgcG9yIGludGVycHJldGFjacOzbiB5IGVqZWN1Y2nDs24gYmFqbyBsaWNlbmNpYXMgZ2VuZXJhbGVzLiBFbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gbGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGRlIGxhIG9icmEgeSBkZSByZWNvbGVjdGFyLCBzZWEgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgU0FZQ08pLCBsYXMgcmVnYWzDrWFzIHBvciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIG8gcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbyBXZWJjYXN0KSBsaWNlbmNpYWRhIGJham8gbGljZW5jaWFzIGdlbmVyYWxlcywgc2kgbGEgaW50ZXJwcmV0YWNpw7NuIG8gZWplY3VjacOzbiBkZSBsYSBvYnJhIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBvcmllbnRhZGEgcG9yIG8gZGlyaWdpZGEgYSBsYSBvYnRlbmNpw7NuIGRlIHVuYSB2ZW50YWphIGNvbWVyY2lhbCBvIHVuYSBjb21wZW5zYWNpw7NuIG1vbmV0YXJpYSBwcml2YWRhLgoKaWkuCVJlZ2Fsw61hcyBwb3IgRm9ub2dyYW1hcy4gRWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGV4Y2x1c2l2byBkZSByZWNvbGVjdGFyLCBpbmRpdmlkdWFsbWVudGUgbyBhIHRyYXbDqXMgZGUgdW5hIHNvY2llZGFkIGRlIGdlc3Rpw7NuIGNvbGVjdGl2YSBkZSBkZXJlY2hvcyBkZSBhdXRvciB5IGRlcmVjaG9zIGNvbmV4b3MgKHBvciBlamVtcGxvLCBsb3MgY29uc2FncmFkb3MgcG9yIGxhIFNBWUNPKSwgdW5hIGFnZW5jaWEgZGUgZGVyZWNob3MgbXVzaWNhbGVzIG8gYWxnw7puIGFnZW50ZSBkZXNpZ25hZG8sIGxhcyByZWdhbMOtYXMgcG9yIGN1YWxxdWllciBmb25vZ3JhbWEgcXVlIFVzdGVkIGNyZWUgYSBwYXJ0aXIgZGUgbGEgb2JyYSAo4oCcdmVyc2nDs24gY292ZXLigJ0pIHkgZGlzdHJpYnV5YSwgZW4gbG9zIHTDqXJtaW5vcyBkZWwgcsOpZ2ltZW4gZGUgZGVyZWNob3MgZGUgYXV0b3IsIHNpIGxhIGNyZWFjacOzbiBvIGRpc3RyaWJ1Y2nDs24gZGUgZXNhIHZlcnNpw7NuIGNvdmVyIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkZXN0aW5hZGEgbyBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgplLglHZXN0acOzbiBkZSBEZXJlY2hvcyBkZSBBdXRvciBzb2JyZSBJbnRlcnByZXRhY2lvbmVzIHkgRWplY3VjaW9uZXMgRGlnaXRhbGVzIChXZWJDYXN0aW5nKS4gUGFyYSBldml0YXIgdG9kYSBjb25mdXNpw7NuLCBlbCBMaWNlbmNpYW50ZSBhY2xhcmEgcXVlLCBjdWFuZG8gbGEgb2JyYSBzZWEgdW4gZm9ub2dyYW1hLCBlbCBMaWNlbmNpYW50ZSBzZSByZXNlcnZhIGVsIGRlcmVjaG8gZXhjbHVzaXZvIGRlIGF1dG9yaXphciBsYSBlamVjdWNpw7NuIHDDumJsaWNhIGRpZ2l0YWwgZGUgbGEgb2JyYSAocG9yIGVqZW1wbG8sIHdlYmNhc3QpIHkgZGUgcmVjb2xlY3RhciwgaW5kaXZpZHVhbG1lbnRlIG8gYSB0cmF2w6lzIGRlIHVuYSBzb2NpZWRhZCBkZSBnZXN0acOzbiBjb2xlY3RpdmEgZGUgZGVyZWNob3MgZGUgYXV0b3IgeSBkZXJlY2hvcyBjb25leG9zIChwb3IgZWplbXBsbywgQUNJTlBSTyksIGxhcyByZWdhbMOtYXMgcG9yIGxhIGVqZWN1Y2nDs24gcMO6YmxpY2EgZGlnaXRhbCBkZSBsYSBvYnJhIChwb3IgZWplbXBsbywgd2ViY2FzdCksIHN1amV0YSBhIGxhcyBkaXNwb3NpY2lvbmVzIGFwbGljYWJsZXMgZGVsIHLDqWdpbWVuIGRlIERlcmVjaG8gZGUgQXV0b3IsIHNpIGVzdGEgZWplY3VjacOzbiBww7pibGljYSBkaWdpdGFsIGVzdMOhIHByaW1vcmRpYWxtZW50ZSBkaXJpZ2lkYSBhIG9idGVuZXIgdW5hIHZlbnRhamEgY29tZXJjaWFsIG8gdW5hIGNvbXBlbnNhY2nDs24gbW9uZXRhcmlhIHByaXZhZGEuCgo1LiBSZXByZXNlbnRhY2lvbmVzLCBHYXJhbnTDrWFzIHkgTGltaXRhY2lvbmVzIGRlIFJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTEFTIFBBUlRFUyBMTyBBQ09SREFSQU4gREUgT1RSQSBGT1JNQSBQT1IgRVNDUklUTywgRUwgTElDRU5DSUFOVEUgT0ZSRUNFIExBIE9CUkEgKEVOIEVMIEVTVEFETyBFTiBFTCBRVUUgU0UgRU5DVUVOVFJBKSDigJxUQUwgQ1VBTOKAnSwgU0lOIEJSSU5EQVIgR0FSQU5Uw41BUyBERSBDTEFTRSBBTEdVTkEgUkVTUEVDVE8gREUgTEEgT0JSQSwgWUEgU0VBIEVYUFJFU0EsIElNUEzDjUNJVEEsIExFR0FMIE8gQ1VBTFFVSUVSQSBPVFJBLCBJTkNMVVlFTkRPLCBTSU4gTElNSVRBUlNFIEEgRUxMQVMsIEdBUkFOVMONQVMgREUgVElUVUxBUklEQUQsIENPTUVSQ0lBQklMSURBRCwgQURBUFRBQklMSURBRCBPIEFERUNVQUNJw5NOIEEgUFJPUMOTU0lUTyBERVRFUk1JTkFETywgQVVTRU5DSUEgREUgSU5GUkFDQ0nDk04sIERFIEFVU0VOQ0lBIERFIERFRkVDVE9TIExBVEVOVEVTIE8gREUgT1RSTyBUSVBPLCBPIExBIFBSRVNFTkNJQSBPIEFVU0VOQ0lBIERFIEVSUk9SRVMsIFNFQU4gTyBOTyBERVNDVUJSSUJMRVMgKFBVRURBTiBPIE5PIFNFUiBFU1RPUyBERVNDVUJJRVJUT1MpLiBBTEdVTkFTIEpVUklTRElDQ0lPTkVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgR0FSQU5Uw41BUyBJTVBMw41DSVRBUywgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjYuIExpbWl0YWNpw7NuIGRlIHJlc3BvbnNhYmlsaWRhZC4KQSBNRU5PUyBRVUUgTE8gRVhJSkEgRVhQUkVTQU1FTlRFIExBIExFWSBBUExJQ0FCTEUsIEVMIExJQ0VOQ0lBTlRFIE5PIFNFUsOBIFJFU1BPTlNBQkxFIEFOVEUgVVNURUQgUE9SIERBw5FPIEFMR1VOTywgU0VBIFBPUiBSRVNQT05TQUJJTElEQUQgRVhUUkFDT05UUkFDVFVBTCwgUFJFQ09OVFJBQ1RVQUwgTyBDT05UUkFDVFVBTCwgT0JKRVRJVkEgTyBTVUJKRVRJVkEsIFNFIFRSQVRFIERFIERBw5FPUyBNT1JBTEVTIE8gUEFUUklNT05JQUxFUywgRElSRUNUT1MgTyBJTkRJUkVDVE9TLCBQUkVWSVNUT1MgTyBJTVBSRVZJU1RPUyBQUk9EVUNJRE9TIFBPUiBFTCBVU08gREUgRVNUQSBMSUNFTkNJQSBPIERFIExBIE9CUkEsIEFVTiBDVUFORE8gRUwgTElDRU5DSUFOVEUgSEFZQSBTSURPIEFEVkVSVElETyBERSBMQSBQT1NJQklMSURBRCBERSBESUNIT1MgREHDkU9TLiBBTEdVTkFTIExFWUVTIE5PIFBFUk1JVEVOIExBIEVYQ0xVU0nDk04gREUgQ0lFUlRBIFJFU1BPTlNBQklMSURBRCwgRU4gQ1VZTyBDQVNPIEVTVEEgRVhDTFVTScOTTiBQVUVERSBOTyBBUExJQ0FSU0UgQSBVU1RFRC4KCjcuIFTDqXJtaW5vLgoKYS4JRXN0YSBMaWNlbmNpYSB5IGxvcyBkZXJlY2hvcyBvdG9yZ2Fkb3MgZW4gdmlydHVkIGRlIGVsbGEgdGVybWluYXLDoW4gYXV0b23DoXRpY2FtZW50ZSBzaSBVc3RlZCBpbmZyaW5nZSBhbGd1bmEgY29uZGljacOzbiBlc3RhYmxlY2lkYSBlbiBlbGxhLiBTaW4gZW1iYXJnbywgbG9zIGluZGl2aWR1b3MgbyBlbnRpZGFkZXMgcXVlIGhhbiByZWNpYmlkbyBPYnJhcyBEZXJpdmFkYXMgbyBDb2xlY3RpdmFzIGRlIFVzdGVkIGRlIGNvbmZvcm1pZGFkIGNvbiBlc3RhIExpY2VuY2lhLCBubyB2ZXLDoW4gdGVybWluYWRhcyBzdXMgbGljZW5jaWFzLCBzaWVtcHJlIHF1ZSBlc3RvcyBpbmRpdmlkdW9zIG8gZW50aWRhZGVzIHNpZ2FuIGN1bXBsaWVuZG8gw61udGVncmFtZW50ZSBsYXMgY29uZGljaW9uZXMgZGUgZXN0YXMgbGljZW5jaWFzLiBMYXMgU2VjY2lvbmVzIDEsIDIsIDUsIDYsIDcsIHkgOCBzdWJzaXN0aXLDoW4gYSBjdWFscXVpZXIgdGVybWluYWNpw7NuIGRlIGVzdGEgTGljZW5jaWEuCgpiLglTdWpldGEgYSBsYXMgY29uZGljaW9uZXMgeSB0w6lybWlub3MgYW50ZXJpb3JlcywgbGEgbGljZW5jaWEgb3RvcmdhZGEgYXF1w60gZXMgcGVycGV0dWEgKGR1cmFudGUgZWwgcGVyw61vZG8gZGUgdmlnZW5jaWEgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGRlIGxhIG9icmEpLiBObyBvYnN0YW50ZSBsbyBhbnRlcmlvciwgZWwgTGljZW5jaWFudGUgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcHVibGljYXIgeS9vIGVzdHJlbmFyIGxhIE9icmEgYmFqbyBjb25kaWNpb25lcyBkZSBsaWNlbmNpYSBkaWZlcmVudGVzIG8gYSBkZWphciBkZSBkaXN0cmlidWlybGEgZW4gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIExpY2VuY2lhIGVuIGN1YWxxdWllciBtb21lbnRvOyBlbiBlbCBlbnRlbmRpZG8sIHNpbiBlbWJhcmdvLCBxdWUgZXNhIGVsZWNjacOzbiBubyBzZXJ2aXLDoSBwYXJhIHJldm9jYXIgZXN0YSBsaWNlbmNpYSBvIHF1ZSBkZWJhIHNlciBvdG9yZ2FkYSAsIGJham8gbG9zIHTDqXJtaW5vcyBkZSBlc3RhIGxpY2VuY2lhKSwgeSBlc3RhIGxpY2VuY2lhIGNvbnRpbnVhcsOhIGVuIHBsZW5vIHZpZ29yIHkgZWZlY3RvIGEgbWVub3MgcXVlIHNlYSB0ZXJtaW5hZGEgY29tbyBzZSBleHByZXNhIGF0csOhcy4gTGEgTGljZW5jaWEgcmV2b2NhZGEgY29udGludWFyw6Egc2llbmRvIHBsZW5hbWVudGUgdmlnZW50ZSB5IGVmZWN0aXZhIHNpIG5vIHNlIGxlIGRhIHTDqXJtaW5vIGVuIGxhcyBjb25kaWNpb25lcyBpbmRpY2FkYXMgYW50ZXJpb3JtZW50ZS4KCjguIFZhcmlvcy4KCmEuCUNhZGEgdmV6IHF1ZSBVc3RlZCBkaXN0cmlidXlhIG8gcG9uZ2EgYSBkaXNwb3NpY2nDs24gcMO6YmxpY2EgbGEgT2JyYSBvIHVuYSBPYnJhIENvbGVjdGl2YSwgZWwgTGljZW5jaWFudGUgb2ZyZWNlcsOhIGFsIGRlc3RpbmF0YXJpbyB1bmEgbGljZW5jaWEgZW4gbG9zIG1pc21vcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBxdWUgbGEgbGljZW5jaWEgb3RvcmdhZGEgYSBVc3RlZCBiYWpvIGVzdGEgTGljZW5jaWEuCgpiLglTaSBhbGd1bmEgZGlzcG9zaWNpw7NuIGRlIGVzdGEgTGljZW5jaWEgcmVzdWx0YSBpbnZhbGlkYWRhIG8gbm8gZXhpZ2libGUsIHNlZ8O6biBsYSBsZWdpc2xhY2nDs24gdmlnZW50ZSwgZXN0byBubyBhZmVjdGFyw6EgbmkgbGEgdmFsaWRleiBuaSBsYSBhcGxpY2FiaWxpZGFkIGRlbCByZXN0byBkZSBjb25kaWNpb25lcyBkZSBlc3RhIExpY2VuY2lhIHksIHNpbiBhY2Npw7NuIGFkaWNpb25hbCBwb3IgcGFydGUgZGUgbG9zIHN1amV0b3MgZGUgZXN0ZSBhY3VlcmRvLCBhcXXDqWxsYSBzZSBlbnRlbmRlcsOhIHJlZm9ybWFkYSBsbyBtw61uaW1vIG5lY2VzYXJpbyBwYXJhIGhhY2VyIHF1ZSBkaWNoYSBkaXNwb3NpY2nDs24gc2VhIHbDoWxpZGEgeSBleGlnaWJsZS4KCmMuCU5pbmfDum4gdMOpcm1pbm8gbyBkaXNwb3NpY2nDs24gZGUgZXN0YSBMaWNlbmNpYSBzZSBlc3RpbWFyw6EgcmVudW5jaWFkYSB5IG5pbmd1bmEgdmlvbGFjacOzbiBkZSBlbGxhIHNlcsOhIGNvbnNlbnRpZGEgYSBtZW5vcyBxdWUgZXNhIHJlbnVuY2lhIG8gY29uc2VudGltaWVudG8gc2VhIG90b3JnYWRvIHBvciBlc2NyaXRvIHkgZmlybWFkbyBwb3IgbGEgcGFydGUgcXVlIHJlbnVuY2llIG8gY29uc2llbnRhLgoKZC4JRXN0YSBMaWNlbmNpYSByZWZsZWphIGVsIGFjdWVyZG8gcGxlbm8gZW50cmUgbGFzIHBhcnRlcyByZXNwZWN0byBhIGxhIE9icmEgYXF1w60gbGljZW5jaWFkYS4gTm8gaGF5IGFycmVnbG9zLCBhY3VlcmRvcyBvIGRlY2xhcmFjaW9uZXMgcmVzcGVjdG8gYSBsYSBPYnJhIHF1ZSBubyBlc3TDqW4gZXNwZWNpZmljYWRvcyBlbiBlc3RlIGRvY3VtZW50by4gRWwgTGljZW5jaWFudGUgbm8gc2UgdmVyw6EgbGltaXRhZG8gcG9yIG5pbmd1bmEgZGlzcG9zaWNpw7NuIGFkaWNpb25hbCBxdWUgcHVlZGEgc3VyZ2lyIGVuIGFsZ3VuYSBjb211bmljYWNpw7NuIGVtYW5hZGEgZGUgVXN0ZWQuIEVzdGEgTGljZW5jaWEgbm8gcHVlZGUgc2VyIG1vZGlmaWNhZGEgc2luIGVsIGNvbnNlbnRpbWllbnRvIG11dHVvIHBvciBlc2NyaXRvIGRlbCBMaWNlbmNpYW50ZSB5IFVzdGVkLgo=