U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means

The automatic clustering differential evolution (ACDE) is one of the clustering methods that are able to determine the cluster number automatically. However, ACDE still makes use of the manual strategy to determine k activation threshold thereby affecting its performance. In this study, the ACDE pro...

Full description

Autores:
Silva, Jesús
Pineda Lezama, Omar Bonerge
Varela, Noel
García Guiliany, Jesús
Steffens Sanabria, Ernesto
Sánchez Otero, Madelin
Álvarez Rojas, Vladimir
Tipo de recurso:
http://purl.org/coar/resource_type/c_816b
Fecha de publicación:
2019
Institución:
Corporación Universidad de la Costa
Repositorio:
REDICUC - Repositorio CUC
Idioma:
eng
OAI Identifier:
oai:repositorio.cuc.edu.co:11323/5136
Acceso en línea:
https://hdl.handle.net/11323/5136
https://repositorio.cuc.edu.co/
Palabra clave:
K-means
Automatic clustering
Differential evolution
K activation threshold
U control chart
Academic efficiency (AE)
Rights
openAccess
License
CC0 1.0 Universal
id RCUC2_8fd6c06bd117200ba29526eb17e7015f
oai_identifier_str oai:repositorio.cuc.edu.co:11323/5136
network_acronym_str RCUC2
network_name_str REDICUC - Repositorio CUC
repository_id_str
dc.title.spa.fl_str_mv U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
title U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
spellingShingle U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
K-means
Automatic clustering
Differential evolution
K activation threshold
U control chart
Academic efficiency (AE)
title_short U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
title_full U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
title_fullStr U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
title_full_unstemmed U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
title_sort U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means
dc.creator.fl_str_mv Silva, Jesús
Pineda Lezama, Omar Bonerge
Varela, Noel
García Guiliany, Jesús
Steffens Sanabria, Ernesto
Sánchez Otero, Madelin
Álvarez Rojas, Vladimir
dc.contributor.author.spa.fl_str_mv Silva, Jesús
Pineda Lezama, Omar Bonerge
Varela, Noel
García Guiliany, Jesús
Steffens Sanabria, Ernesto
Sánchez Otero, Madelin
Álvarez Rojas, Vladimir
dc.subject.spa.fl_str_mv K-means
Automatic clustering
Differential evolution
K activation threshold
U control chart
Academic efficiency (AE)
topic K-means
Automatic clustering
Differential evolution
K activation threshold
U control chart
Academic efficiency (AE)
description The automatic clustering differential evolution (ACDE) is one of the clustering methods that are able to determine the cluster number automatically. However, ACDE still makes use of the manual strategy to determine k activation threshold thereby affecting its performance. In this study, the ACDE problem will be ameliorated using the u-control chart (UCC) then the cluster number generated from ACDE will be fed to k-means. The performance of the proposed method was tested using six public datasets from the UCI repository about academic efficiency (AE) and evaluated with Davies Bouldin Index (DBI) and Cosine Similarity (CS) measure. The results show that the proposed method yields excellent performance compared to prior researches.
publishDate 2019
dc.date.accessioned.none.fl_str_mv 2019-08-08T15:16:10Z
dc.date.available.none.fl_str_mv 2019-08-08T15:16:10Z
dc.date.issued.none.fl_str_mv 2019-04-27
dc.type.spa.fl_str_mv Pre-Publicación
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_816b
dc.type.content.spa.fl_str_mv Text
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/preprint
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/ARTOTR
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
format http://purl.org/coar/resource_type/c_816b
status_str acceptedVersion
dc.identifier.isbn.spa.fl_str_mv 978-3-030-19222-8
978-3-030-19223-5
dc.identifier.uri.spa.fl_str_mv https://hdl.handle.net/11323/5136
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 978-3-030-19222-8
978-3-030-19223-5
Corporación Universidad de la Costa
REDICUC - Repositorio CUC
url https://hdl.handle.net/11323/5136
https://repositorio.cuc.edu.co/
dc.language.iso.none.fl_str_mv eng
language eng
dc.relation.ispartof.spa.fl_str_mv https://doi.org/10.1007/978-3-030-19223-5_3
dc.relation.references.spa.fl_str_mv 1. Salem, S.B., Naouali, S., Chtourou, Z.: A fast and effective partitional clustering algorithm for large categorical datasets using a k-means based approach. Comput. Electr. Eng. 68, 463–483 (2018). https://doi.org/10.1016/j.compeleceng.2018.04.023 CrossRefGoogle Scholar 2. Chakraborty, S., Das, S.: Simultaneous variable weighting and determining the number of clusters—a weighted Gaussian means algorithm. Stat. Probab. Lett. 137, 148–156 (2018). https://doi.org/10.1016/j.spl.2018.01.015 MathSciNetCrossRefzbMATHGoogle Scholar 3. Masud, M.A, Huang, J.Z., Wei, C., Wang, J., Khan, I., Zhong, M.: I-nice: a new approach for identifying the number of clusters and initial cluster centres. Inf. Sci. (NY) (2018). https://doi.org/10.1016/j.ins.2018.07.034 4. Rahman, M.A., Islam, M.Z., Bossomaier, T.: ModEx and seed-detective: two novel techniques for high quality clustering by using good initial seeds in k-means. J. King Saud Univ. – Comput. Inf. Sci. 27, 113–128 (2015). https://doi.org/10.1016/j.jksuci.2014.04.002 CrossRefGoogle Scholar 5. Rahman, M.A., Islam, M.Z.: A hybrid clustering technique combining a novel genetic algorithm with k-means. Knowl.-Based Syst. 71, 345–365 (2014). https://doi.org/10.1016/j.knosys.2014.08.011 CrossRefGoogle Scholar 6. Ramadas, M., Abraham, A., Kumar, S.: FSDE-forced strategy differential evolution used for data clustering. J. King Saud Univ. - Comput. Inf. Sci. (2016). https://doi.org/10.1016/j.jksuci.2016.12.005 7. Yaqian, Z., Chai, Q.H., Boon, G.W.: Curvature-based method for determining the number of clusters. Inf. Sci. (NY) (2017). https://doi.org/10.1016/j.ins.2017.05.024 8. Tîrnăucă, C., Gómez-Pérez, D., Balcázar, J.L., Montaña, J.L.: Global optimality in k-means clustering. Inf. Sci. (NY) 439–440, 79–94 (2018). https://doi.org/10.1016/j.ins.2018.02.001 MathSciNetCrossRefGoogle Scholar 9. Xiang, W., Zhu, N., Ma, S., Meng, X., An, M.: A dynamic shuffled differential evolution algorithm for data clustering. Neurocomputing (2015). https://doi.org/10.1016/j.neucom.2015.01.058 10. Garcia, A.J., Flores, W.G.: Automatic clustering using nature-inspired metaheuristics: a survey. Appl. Soft Comput. (2016). https://doi.org/10.1016/j.asoc.2015.12.001 11. Das, S., Abraham, A., Konar, A.: Automatic clustering using an improved differential evolution algorithm. IEEE Trans. Syst. Man Cybern. - Part A Syst. Hum. 38, 218–237 (2008). https://doi.org/10.1109/TSMCA.2007.909595 CrossRefGoogle Scholar 12. Omran, M.G.H., Engelbrecht, A.P., Salman, A.: Dynamic clustering using particle swarm optimization with application in image segmentation. Pattern Anal. Appl. 332–344 (2006). https://doi.org/10.1007/s10044-005-0015-5 13. Bandyopadhyay, S., Maulik, U.: Genetic clustering for automatic evolution of clusters and application to image classification. Pattern Recogn. 35, 1197–1208 (2002) CrossRefGoogle Scholar 14. Tam, H., Ng, S., Lui, A.K., Leung, M.: Improved activation schema on automatic clustering using differential evolution algorithm. In: IEEE Congress on Evolutionary Computation (CEC), pp. 1749–1756 (2017). https://doi.org/10.1109/CEC.2017.7969513 15. Kuo, R., Suryani, E., Yasid, A.: Automatic clustering combining differential evolution algorithm and k-means algorithm. In: Proceedings of the Institute of Industrial Engineers Asian Conference 2013, pp. 1207–1215 (2013). https://doi.org/10.1007/978-981-4451-98-7 16. Piotrowski, A.P.: Review of differential evolution population size. Swarm Evol. Comput. 32, 1–24 (2017). https://doi.org/10.1016/j.swevo.2016.05.003 CrossRefGoogle Scholar 17. Kaya, I.: A genetic algorithm approach to determine the sample size for attribute control charts. Inf. Sci. (NY) 179, 1552–1566 (2009). https://doi.org/10.1016/j.ins.2008.09.024 CrossRefGoogle Scholar 18. Dobbie, G., Sing, Y., Riddle, P., Ur, S.: Research on particle swarm optimization based clustering: a systematic review of literature and techniques. Swarm Evol. Comput. 17, 1–13 (2014). https://doi.org/10.1016/j.swevo.2014.02.001 CrossRefGoogle Scholar 19. Departamento Administrativo Nacional de Estadística: Página principal. Recuperado de: DANE (2018). http://www.dane.gov.co/ 20. Torres-Samuel, M., Vásquez, C.L., Viloria, A., Varela, N., Hernández-Fernandez, L., Portillo-Medina, R.: Analysis of patterns in the university world rankings webometrics, Shanghai, QS and SIR-SCimago: case Latin America. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 188–199. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_18 CrossRefGoogle Scholar 21. Vásquez, C., Torres, M., Viloria, A.: Public policies in science and technology in Latin American countries with universities in the top 100 of web ranking. J. Eng. Appl. Sci. 12(11), 2963–2965 (2017) Google Scholar 22. Torres-Samuel, M., et al.: Efficiency analysis of the visibility of Latin American universities and their impact on the ranking web. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 235–243. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_22 CrossRefGoogle Scholar
dc.rights.spa.fl_str_mv CC0 1.0 Universal
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/publicdomain/zero/1.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 CC0 1.0 Universal
http://creativecommons.org/publicdomain/zero/1.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.publisher.spa.fl_str_mv International Conference on Green, Pervasive, and Cloud Computing
institution Corporación Universidad de la Costa
bitstream.url.fl_str_mv https://repositorio.cuc.edu.co/bitstreams/98d256a9-fb33-4b80-88a7-3557dfc09006/download
https://repositorio.cuc.edu.co/bitstreams/45b2ea73-aa82-4af9-804e-ecbdf83c8aca/download
https://repositorio.cuc.edu.co/bitstreams/bf6587b3-a61d-4d34-89fc-b5d459333909/download
https://repositorio.cuc.edu.co/bitstreams/700352aa-d2ba-4e3e-96e8-c2cf78b13844/download
https://repositorio.cuc.edu.co/bitstreams/35614b25-1554-4e04-8377-28822fc04f0c/download
bitstream.checksum.fl_str_mv 1259c35981dc13bfe8622a6e708cd589
42fd4ad1e89814f5e4a476b409eb708c
8a4605be74aa9ea9d79846c1fba20a33
c187ff3546a1d30d3dfef4c21b8ca143
0b27d3f5f4a025c09c561f7051b3b691
bitstream.checksumAlgorithm.fl_str_mv MD5
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_ 1811760758971695104
spelling Silva, JesúsPineda Lezama, Omar BonergeVarela, NoelGarcía Guiliany, JesúsSteffens Sanabria, ErnestoSánchez Otero, MadelinÁlvarez Rojas, Vladimir2019-08-08T15:16:10Z2019-08-08T15:16:10Z2019-04-27978-3-030-19222-8978-3-030-19223-5https://hdl.handle.net/11323/5136Corporación Universidad de la CostaREDICUC - Repositorio CUChttps://repositorio.cuc.edu.co/The automatic clustering differential evolution (ACDE) is one of the clustering methods that are able to determine the cluster number automatically. However, ACDE still makes use of the manual strategy to determine k activation threshold thereby affecting its performance. In this study, the ACDE problem will be ameliorated using the u-control chart (UCC) then the cluster number generated from ACDE will be fed to k-means. The performance of the proposed method was tested using six public datasets from the UCI repository about academic efficiency (AE) and evaluated with Davies Bouldin Index (DBI) and Cosine Similarity (CS) measure. The results show that the proposed method yields excellent performance compared to prior researches.Silva, JesúsPineda Lezama, Omar BonergeVarela, NoelGarcía Guiliany, JesúsSteffens Sanabria, ErnestoSánchez Otero, MadelinÁlvarez Rojas, VladimirengInternational Conference on Green, Pervasive, and Cloud Computinghttps://doi.org/10.1007/978-3-030-19223-5_31. Salem, S.B., Naouali, S., Chtourou, Z.: A fast and effective partitional clustering algorithm for large categorical datasets using a k-means based approach. Comput. Electr. Eng. 68, 463–483 (2018). https://doi.org/10.1016/j.compeleceng.2018.04.023 CrossRefGoogle Scholar 2. Chakraborty, S., Das, S.: Simultaneous variable weighting and determining the number of clusters—a weighted Gaussian means algorithm. Stat. Probab. Lett. 137, 148–156 (2018). https://doi.org/10.1016/j.spl.2018.01.015 MathSciNetCrossRefzbMATHGoogle Scholar 3. Masud, M.A, Huang, J.Z., Wei, C., Wang, J., Khan, I., Zhong, M.: I-nice: a new approach for identifying the number of clusters and initial cluster centres. Inf. Sci. (NY) (2018). https://doi.org/10.1016/j.ins.2018.07.034 4. Rahman, M.A., Islam, M.Z., Bossomaier, T.: ModEx and seed-detective: two novel techniques for high quality clustering by using good initial seeds in k-means. J. King Saud Univ. – Comput. Inf. Sci. 27, 113–128 (2015). https://doi.org/10.1016/j.jksuci.2014.04.002 CrossRefGoogle Scholar 5. Rahman, M.A., Islam, M.Z.: A hybrid clustering technique combining a novel genetic algorithm with k-means. Knowl.-Based Syst. 71, 345–365 (2014). https://doi.org/10.1016/j.knosys.2014.08.011 CrossRefGoogle Scholar 6. Ramadas, M., Abraham, A., Kumar, S.: FSDE-forced strategy differential evolution used for data clustering. J. King Saud Univ. - Comput. Inf. Sci. (2016). https://doi.org/10.1016/j.jksuci.2016.12.005 7. Yaqian, Z., Chai, Q.H., Boon, G.W.: Curvature-based method for determining the number of clusters. Inf. Sci. (NY) (2017). https://doi.org/10.1016/j.ins.2017.05.024 8. Tîrnăucă, C., Gómez-Pérez, D., Balcázar, J.L., Montaña, J.L.: Global optimality in k-means clustering. Inf. Sci. (NY) 439–440, 79–94 (2018). https://doi.org/10.1016/j.ins.2018.02.001 MathSciNetCrossRefGoogle Scholar 9. Xiang, W., Zhu, N., Ma, S., Meng, X., An, M.: A dynamic shuffled differential evolution algorithm for data clustering. Neurocomputing (2015). https://doi.org/10.1016/j.neucom.2015.01.058 10. Garcia, A.J., Flores, W.G.: Automatic clustering using nature-inspired metaheuristics: a survey. Appl. Soft Comput. (2016). https://doi.org/10.1016/j.asoc.2015.12.001 11. Das, S., Abraham, A., Konar, A.: Automatic clustering using an improved differential evolution algorithm. IEEE Trans. Syst. Man Cybern. - Part A Syst. Hum. 38, 218–237 (2008). https://doi.org/10.1109/TSMCA.2007.909595 CrossRefGoogle Scholar 12. Omran, M.G.H., Engelbrecht, A.P., Salman, A.: Dynamic clustering using particle swarm optimization with application in image segmentation. Pattern Anal. Appl. 332–344 (2006). https://doi.org/10.1007/s10044-005-0015-5 13. Bandyopadhyay, S., Maulik, U.: Genetic clustering for automatic evolution of clusters and application to image classification. Pattern Recogn. 35, 1197–1208 (2002) CrossRefGoogle Scholar 14. Tam, H., Ng, S., Lui, A.K., Leung, M.: Improved activation schema on automatic clustering using differential evolution algorithm. In: IEEE Congress on Evolutionary Computation (CEC), pp. 1749–1756 (2017). https://doi.org/10.1109/CEC.2017.7969513 15. Kuo, R., Suryani, E., Yasid, A.: Automatic clustering combining differential evolution algorithm and k-means algorithm. In: Proceedings of the Institute of Industrial Engineers Asian Conference 2013, pp. 1207–1215 (2013). https://doi.org/10.1007/978-981-4451-98-7 16. Piotrowski, A.P.: Review of differential evolution population size. Swarm Evol. Comput. 32, 1–24 (2017). https://doi.org/10.1016/j.swevo.2016.05.003 CrossRefGoogle Scholar 17. Kaya, I.: A genetic algorithm approach to determine the sample size for attribute control charts. Inf. Sci. (NY) 179, 1552–1566 (2009). https://doi.org/10.1016/j.ins.2008.09.024 CrossRefGoogle Scholar 18. Dobbie, G., Sing, Y., Riddle, P., Ur, S.: Research on particle swarm optimization based clustering: a systematic review of literature and techniques. Swarm Evol. Comput. 17, 1–13 (2014). https://doi.org/10.1016/j.swevo.2014.02.001 CrossRefGoogle Scholar 19. Departamento Administrativo Nacional de Estadística: Página principal. Recuperado de: DANE (2018). http://www.dane.gov.co/ 20. Torres-Samuel, M., Vásquez, C.L., Viloria, A., Varela, N., Hernández-Fernandez, L., Portillo-Medina, R.: Analysis of patterns in the university world rankings webometrics, Shanghai, QS and SIR-SCimago: case Latin America. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 188–199. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_18 CrossRefGoogle Scholar 21. Vásquez, C., Torres, M., Viloria, A.: Public policies in science and technology in Latin American countries with universities in the top 100 of web ranking. J. Eng. Appl. Sci. 12(11), 2963–2965 (2017) Google Scholar 22. Torres-Samuel, M., et al.: Efficiency analysis of the visibility of Latin American universities and their impact on the ranking web. In: Tan, Y., Shi, Y., Tang, Q. (eds.) DMBD 2018. LNCS, vol. 10943, pp. 235–243. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93803-5_22 CrossRefGoogle ScholarCC0 1.0 Universalhttp://creativecommons.org/publicdomain/zero/1.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2K-meansAutomatic clusteringDifferential evolutionK activation thresholdU control chartAcademic efficiency (AE)U-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-MeansPre-Publicaciónhttp://purl.org/coar/resource_type/c_816bTextinfo:eu-repo/semantics/preprinthttp://purl.org/redcol/resource_type/ARTOTRinfo:eu-repo/semantics/acceptedVersionPublicationORIGINALU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdfU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdfapplication/pdf473356https://repositorio.cuc.edu.co/bitstreams/98d256a9-fb33-4b80-88a7-3557dfc09006/download1259c35981dc13bfe8622a6e708cd589MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8701https://repositorio.cuc.edu.co/bitstreams/45b2ea73-aa82-4af9-804e-ecbdf83c8aca/download42fd4ad1e89814f5e4a476b409eb708cMD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.cuc.edu.co/bitstreams/bf6587b3-a61d-4d34-89fc-b5d459333909/download8a4605be74aa9ea9d79846c1fba20a33MD53THUMBNAILU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.jpgU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.jpgimage/jpeg44750https://repositorio.cuc.edu.co/bitstreams/700352aa-d2ba-4e3e-96e8-c2cf78b13844/downloadc187ff3546a1d30d3dfef4c21b8ca143MD55TEXTU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.txtU-Control Chart Based Differential Evolution Clustering for Determining the Number of Cluster in k-Means.pdf.txttext/plain26640https://repositorio.cuc.edu.co/bitstreams/35614b25-1554-4e04-8377-28822fc04f0c/download0b27d3f5f4a025c09c561f7051b3b691MD5611323/5136oai:repositorio.cuc.edu.co:11323/51362024-09-17 11:00:49.636http://creativecommons.org/publicdomain/zero/1.0/CC0 1.0 Universalopen.accesshttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.coTk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=